From 70b2b87513871023f392469531b9cb299c896a6e Mon Sep 17 00:00:00 2001 From: xan-m Date: Sat, 21 Aug 2021 15:20:18 -0700 Subject: [PATCH] Last commit before TestFlight! --- Infini-iOS.xcodeproj/project.pbxproj | 14 +++++----- .../AppIcon.appiconset/Icon-1024.png | Bin 31622 -> 38693 bytes .../AppIcon.appiconset/Icon-120.png | Bin 2370 -> 2740 bytes .../AppIcon.appiconset/Icon-121.png | Bin 2370 -> 2740 bytes .../AppIcon.appiconset/Icon-152.png | Bin 3206 -> 3537 bytes .../AppIcon.appiconset/Icon-167.png | Bin 3299 -> 3768 bytes .../AppIcon.appiconset/Icon-180.png | Bin 3809 -> 4227 bytes .../AppIcon.appiconset/Icon-20.png | Bin 274 -> 709 bytes .../AppIcon.appiconset/Icon-29.png | Bin 501 -> 967 bytes .../AppIcon.appiconset/Icon-40.png | Bin 663 -> 1096 bytes .../AppIcon.appiconset/Icon-41.png | Bin 663 -> 1096 bytes .../AppIcon.appiconset/Icon-42.png | Bin 663 -> 1096 bytes .../AppIcon.appiconset/Icon-58.png | Bin 1074 -> 1498 bytes .../AppIcon.appiconset/Icon-59.png | Bin 1074 -> 1498 bytes .../AppIcon.appiconset/Icon-60.png | Bin 1111 -> 1543 bytes .../AppIcon.appiconset/Icon-76.png | Bin 1469 -> 1865 bytes .../AppIcon.appiconset/Icon-80.png | Bin 1506 -> 1876 bytes .../AppIcon.appiconset/Icon-81.png | Bin 1506 -> 1876 bytes .../AppIcon.appiconset/Icon-87.png | Bin 1637 -> 2009 bytes Infini-iOS/BLE/BLEDelegates.swift | 2 +- Infini-iOS/BLE/BLEManager.swift | 2 +- Infini-iOS/BLE/BLEManagerExtensions.swift | 2 +- Infini-iOS/ContentView.swift | 19 +++++++------- Infini-iOS/DFU/DFU.swift | 9 +++---- Infini-iOS/Infini_iOSApp.swift | 2 +- Infini-iOS/Music/BLEMusic.swift | 2 +- Infini-iOS/Music/MusicController.swift | 2 +- Infini-iOS/Notifications/Notifications.swift | 2 +- Infini-iOS/Persistence.swift | 2 +- .../PhoneNotificationsView.swift | 2 +- .../WatchNotificationsView.swift | 2 +- Infini-iOS/Settings/SettingsFunctions.swift | 24 +++++++++++++----- Infini-iOS/Utilities/ColorPalette.swift | 2 +- Infini-iOS/Utilities/HexStringToData.swift | 2 +- .../View Components/BLEConnectView.swift | 2 +- .../View Components/BLEStatusView.swift | 4 +-- .../View Components/DFU/DFUProgressBar.swift | 8 ++++-- Infini-iOS/View Components/DFU/DFUView.swift | 9 +++---- Infini-iOS/View Components/PageSwitcher.swift | 2 +- Infini-iOS/View Components/SettingsView.swift | 2 +- Infini-iOS/View Components/SideMenu.swift | 2 +- .../Status View Components/BatteryChart.swift | 2 +- .../Status View Components/HeartChart.swift | 2 +- .../StatusViewTabs.swift | 2 +- Infini-iOSTests/Infini_iOSTests.swift | 2 +- Infini-iOSUITests/Infini_iOSUITests.swift | 2 +- PrivacyPolicy.md | 4 +++ 47 files changed, 75 insertions(+), 58 deletions(-) create mode 100644 PrivacyPolicy.md diff --git a/Infini-iOS.xcodeproj/project.pbxproj b/Infini-iOS.xcodeproj/project.pbxproj index d296d3b..4ca61cd 100644 --- a/Infini-iOS.xcodeproj/project.pbxproj +++ b/Infini-iOS.xcodeproj/project.pbxproj @@ -83,6 +83,7 @@ 264BFE7726BCAAC00050A223 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = SOURCE_ROOT; }; 264DB80A26C62ED600E812C3 /* SideMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SideMenu.swift; sourceTree = ""; }; 264DB80C26C633CF00E812C3 /* PageSwitcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PageSwitcher.swift; sourceTree = ""; }; + 2656FD9A26D1B30C001EF20C /* PrivacyPolicy.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = PrivacyPolicy.md; sourceTree = ""; }; 26A6314C26BEFD2C005AE404 /* MusicController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MusicController.swift; sourceTree = ""; }; 26A6315126BF45E0005AE404 /* BLEMusic.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BLEMusic.swift; sourceTree = ""; }; 26A6315426C0297A005AE404 /* Notifications.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notifications.swift; sourceTree = ""; }; @@ -149,6 +150,7 @@ isa = PBXGroup; children = ( 264BFE7726BCAAC00050A223 /* README.md */, + 2656FD9A26D1B30C001EF20C /* PrivacyPolicy.md */, 264BFE4026BC51CE0050A223 /* Infini-iOS */, 264BFE5726BC51CF0050A223 /* Infini-iOSTests */, 264BFE6226BC51CF0050A223 /* Infini-iOSUITests */, @@ -611,7 +613,7 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_ASSET_PATHS = "\"Infini-iOS/Preview Content\""; - DEVELOPMENT_TEAM = T2VD6LADUL; + DEVELOPMENT_TEAM = 99BHY6DC82; ENABLE_PREVIEWS = YES; INFOPLIST_FILE = "Infini-iOS/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 14.0; @@ -619,8 +621,8 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.0.1; - PRODUCT_BUNDLE_IDENTIFIER = "com.xan-m.Infini-iOS"; + MARKETING_VERSION = 0.8; + PRODUCT_BUNDLE_IDENTIFIER = "com.alexemry.Infini-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -634,7 +636,7 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_ASSET_PATHS = "\"Infini-iOS/Preview Content\""; - DEVELOPMENT_TEAM = T2VD6LADUL; + DEVELOPMENT_TEAM = 99BHY6DC82; ENABLE_PREVIEWS = YES; INFOPLIST_FILE = "Infini-iOS/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 14.0; @@ -642,8 +644,8 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.0.1; - PRODUCT_BUNDLE_IDENTIFIER = "com.xan-m.Infini-iOS"; + MARKETING_VERSION = 0.8; + PRODUCT_BUNDLE_IDENTIFIER = "com.alexemry.Infini-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-1024.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-1024.png index c0acb6a90a92f2756007113ae9ef72e4e3a74b3d..6616f5e6e8cfd58754f3548d66fac4abd1acaebc 100644 GIT binary patch literal 38693 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 ZQSs04teL-WECT=3kLn!BI&6OB{{iqW;cx%| literal 31622 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 N{~$W7VqxNo{{%%twEX}8 diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-120.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-120.png index a7eed4b546c2c58c5ccf53c9f1199a1451a5f509..cc835c7dc27d3a5d0c79808467898aec6dceedce 100644 GIT binary patch literal 2740 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 literal 2370 zcma)8c{r5o8~$SK`x3HbD-=bMs3B_;l|l`sFq6^9nq-n}eS{g?Si;y%GETCL!>G}4 zY=^RivNX~dhv86J5-B=guHXN^{&?T#x}SHsuIG8~_qkufMF)hKu%a*k0AhA$Y@8q) z_G<|8L$fK?cnC5uoaK2-0HCFb{J`)*cvpxM!V0MFSDuG}n%5bp^8gU81pqN|0I&(U zV&(uK)BphfMFYTzTmX>2S-^0F1AyRPb~cum!U{eXvd+pnDtAR2GEU|-@LmD?>AuE0!sg&csC?xw5kSrpZ^|`3{VR z7J5odap;vzmG`dW#JRj8jF8!gfqopWpKRExr%j}E2P+E*m$kI0Ui0!IT%TJD@9yp0 zmuD$#W8?A1tv%IKCaKer?*;kYa?!6a;DH38a%HXDTfYNrMT*E|^&*UMJ^@Fv83d_R zDgl?Ak|H&rMxgLXh>1xJY7DrDt8H)m((jDJWLG!TJ6?C()jP$22`uyl~MSzM}p(c;CY z=mQe@{-hb+vWYn-yujq&A4bJoU$(XJMEu-Vk&~Bq&))hnp9wp(iMVs;c*ORPac|Ry z_Iv~aK}`^ZRo#-w60)|oR!~(<14`yxA|l}8Vq)LIL*9}4)ERWToG5>6O+F1H%Fp{| zWMq@E#~7>W`jVIYGkqABo`UAz^E-Kk(vJ;o{jfVdJ^kj_MYq@Uw`=dM2VVT+l7XQi zZ((8K>xl``fPerr&DA)o6j`aRt1GgyvZ8kE*zUHrHgs^X)aK@}<+QEXvRe zkC*G|>2Z{dyS#8vS9f)`d|a|lURhZ=S>LnyOU2ewujBOLZs&AGVyYtFMQtnn%Rk`8?S=H>cxcq}biv z9rN_59{XE#yIi4zK$_~Q_)P5!pbin%*v7xScHDmt?%vJdV46F*sAw+>WtNiL}~u+Xz53WLYft-om^QcDJX>UI4ZP_*)L{`HS6uF*8RHFk`}@@wpeh~~`{ z=t0)nKW=MoHfOC&O<^V){BnA%15qeNJRbkpK;^7K{F`R8O9GgalOA8z*Kwfxatk{-S+r^9!Gi~Z61gAD!>#)zuXc>cI@ZOb5MBb`uE%+E##p z0y-*ca{9zxvv8Q1nc32pdFQd`A=&^?My0l=C>>{WI+M^x$?UD~>w8E2Xs+z8G}YPw zmT?08mDqScwn~|NI4yP5`qCxYtehNc1R~)h^Vu_#iYHG%Hk%zf+EjP`?Afym)d@y* zyWu7#KHpE8oA0Ijk8=h$qoSfNy15Ar6q&{5WSOqM&RslYo=438YS&+RV^87qN8$|aKtRaI5u)YCy9nmd{I)=#`qk(W zz`(Du@jwY76%>e`C=?$W9#)6Lm7%C| z&uRJi`Ng`_cvSffb-L(SEggmE`m3Au_4Rcem6T#I7$udJNv`o(-FQmul*;cmOU~t*pkN96en){A%3}d@6yL=oHSrRYN2aGj>Gh=Iz_{Shrs?bD9Po zQxvOs>&r1c_)yr&$|@03EE>qm!=q+kKnhD$6Rf>4ti>@cg9Ivd8r_wu(h+j)+BJAo zM{EJ)0&2}>;`f!7mUbAPq4=~qC6_(kkWPn0_wm>Uq!a)1!ef$!zN$O*8XUMQCt@)L z8X6iBaQn2hq<0iK=pV*1@LQ3Jv}TVgq#l diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-121.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-121.png index a7eed4b546c2c58c5ccf53c9f1199a1451a5f509..cc835c7dc27d3a5d0c79808467898aec6dceedce 100644 GIT binary patch literal 2740 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 literal 2370 zcma)8c{r5o8~$SK`x3HbD-=bMs3B_;l|l`sFq6^9nq-n}eS{g?Si;y%GETCL!>G}4 zY=^RivNX~dhv86J5-B=guHXN^{&?T#x}SHsuIG8~_qkufMF)hKu%a*k0AhA$Y@8q) z_G<|8L$fK?cnC5uoaK2-0HCFb{J`)*cvpxM!V0MFSDuG}n%5bp^8gU81pqN|0I&(U zV&(uK)BphfMFYTzTmX>2S-^0F1AyRPb~cum!U{eXvd+pnDtAR2GEU|-@LmD?>AuE0!sg&csC?xw5kSrpZ^|`3{VR z7J5odap;vzmG`dW#JRj8jF8!gfqopWpKRExr%j}E2P+E*m$kI0Ui0!IT%TJD@9yp0 zmuD$#W8?A1tv%IKCaKer?*;kYa?!6a;DH38a%HXDTfYNrMT*E|^&*UMJ^@Fv83d_R zDgl?Ak|H&rMxgLXh>1xJY7DrDt8H)m((jDJWLG!TJ6?C()jP$22`uyl~MSzM}p(c;CY z=mQe@{-hb+vWYn-yujq&A4bJoU$(XJMEu-Vk&~Bq&))hnp9wp(iMVs;c*ORPac|Ry z_Iv~aK}`^ZRo#-w60)|oR!~(<14`yxA|l}8Vq)LIL*9}4)ERWToG5>6O+F1H%Fp{| zWMq@E#~7>W`jVIYGkqABo`UAz^E-Kk(vJ;o{jfVdJ^kj_MYq@Uw`=dM2VVT+l7XQi zZ((8K>xl``fPerr&DA)o6j`aRt1GgyvZ8kE*zUHrHgs^X)aK@}<+QEXvRe zkC*G|>2Z{dyS#8vS9f)`d|a|lURhZ=S>LnyOU2ewujBOLZs&AGVyYtFMQtnn%Rk`8?S=H>cxcq}biv z9rN_59{XE#yIi4zK$_~Q_)P5!pbin%*v7xScHDmt?%vJdV46F*sAw+>WtNiL}~u+Xz53WLYft-om^QcDJX>UI4ZP_*)L{`HS6uF*8RHFk`}@@wpeh~~`{ z=t0)nKW=MoHfOC&O<^V){BnA%15qeNJRbkpK;^7K{F`R8O9GgalOA8z*Kwfxatk{-S+r^9!Gi~Z61gAD!>#)zuXc>cI@ZOb5MBb`uE%+E##p z0y-*ca{9zxvv8Q1nc32pdFQd`A=&^?My0l=C>>{WI+M^x$?UD~>w8E2Xs+z8G}YPw zmT?08mDqScwn~|NI4yP5`qCxYtehNc1R~)h^Vu_#iYHG%Hk%zf+EjP`?Afym)d@y* zyWu7#KHpE8oA0Ijk8=h$qoSfNy15Ar6q&{5WSOqM&RslYo=438YS&+RV^87qN8$|aKtRaI5u)YCy9nmd{I)=#`qk(W zz`(Du@jwY76%>e`C=?$W9#)6Lm7%C| z&uRJi`Ng`_cvSffb-L(SEggmE`m3Au_4Rcem6T#I7$udJNv`o(-FQmul*;cmOU~t*pkN96en){A%3}d@6yL=oHSrRYN2aGj>Gh=Iz_{Shrs?bD9Po zQxvOs>&r1c_)yr&$|@03EE>qm!=q+kKnhD$6Rf>4ti>@cg9Ivd8r_wu(h+j)+BJAo zM{EJ)0&2}>;`f!7mUbAPq4=~qC6_(kkWPn0_wm>Uq!a)1!ef$!zN$O*8XUMQCt@)L z8X6iBaQn2hq<0iK=pV*1@LQ3Jv}TVgq#l diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-152.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-152.png index 03879839c0a51a77c82a7e553eff49730f6602ce..8f522034949c69a48f69e1caab3e05c8b9dd4b62 100644 GIT binary patch literal 3537 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 TPNuC}e>^r;j-(n3&%}QNi+c@c literal 3206 zcmbVPX*`r|7axpe#=exXjqF2)!DEsoTXqJiknAMNmVIY1BP~jdZ4{%LlI$MK43T9L zLm^c5LKyplRCw>6_xJwZFYlN4`EcLYeck6==ep0i&N=`8ebWwO#tjvPf$N~<;e=nnZnMQ8G$MX#Fv1{32*arHXu-}JP4GW z1_J#6UL}76fg(^K(6R>zqzzaT4k5PK>w-XBV2iVc=c9?M#m?6SX=3fK?wsn`&vki4+j4 zp#gFJJTr`s$tbzKC)A7jb0;Nfi#8t0=&GwLI!GKk)8#g}7jw`Tt*fCU^QKmr6MG`r zP%Hc!pR#jpniYdybgGkpbZP2ZV3H;we(_HA!dS~(mxZPve6C^ww>_W`Q&c)wCf^9l zZ!Oiq@${Yt*uflyRg{Hw2>pLzHKK>Ad)wFJpV#-oZqYeAA-ijnIzcs$^x}GuXjLwS z@dpaFP2Gvx3*3$4R20!8#UR;*;aKGs`nU4M3m3YPk%56oMCNPc8D1_qnDmXnt5(@( zu@SyL&bY!t(V$H^i@6^s3G6t5{`Ea$6zuD9N&eF2<^q>^ILs1dkzMlq`ORxQS#Z5M zQTISDx$#@Vs?lT+H#axc!S0wbq^Isd18Z5tpQ4u4%gX^%itXErgE8b1C7ggYC--%W z?C8Ir8MB>ussrfJAWet$f?AHprK=v-N{?RmITAM^^k$aD5}diC{>>Ih|JFlCYl z*$78uGDk#2ge>%n{7&4QygY@3n6MWgpwkI^68(?#CFL8xzohM0#W#P=^*`d*fnP)JXz6V|3!TQh(j zvAtk(x%r0N!omWn+slwLc{iw0?Dw8YM+c`YvxPJ-CM4)pI@L%o;JHCsQEQjuca|@V zs23I%Zp?I~Y6VZ}_V@J}<2zF>zBm>Z78W}HHaB{Efu1q;ruMdm-+*jK^gDtFAWJyo zKHglb>}_EIxui_U$2Ls{O*C8+W@Apth|VOFMdsMF5Ap$M`7NfaYRL{k~H5 z$_sbO{sg;FA_Kdc^?z*`QyK=zv}2uJ#0e{?jC2KdjQ zzI|)?M-d%zY9tUXwl>i$s2~5GkDpRm$wRg-z#jbA=>&YvSoC%7nNIx4y&4(!I@H0z zp{BN0y@CohRk&ZL7KM>4@#J8t*- z_**;>H>z7OzHb=Xvfg{N)u-BdnD}!y@EpOvC2AdhTSS9xcYT_7m~0!IaG4M6^eR#B z>*8W(8bq+9rA2gkd0AV+Hd{7&Z%x8UnJ`KNeA9MS2@ZEpO=vqJAu{h(e0Zj=p)tER zorHgsba+~Npua%FbMT>_r%^b8Q2MwsZH@J3JZ})tBwAy4mcyF`6)!YT&-{)!`` zqpu4!uSp+Ymr(Np0}0P$dRP48QglHy$ z=WmiYy1TpWE?#5_z(rBRw%4Ep$h$2EsY56?;w092|U-wa? z6LSh^qBX9ubKak=^(a#a%rrlu}zO;Ho0LyEM#R z<<=^?NhKkgl8zGl-@Gx`3ffzntSK*7s-OblayXU#ss6+Jmgvp7j4)nttz;6SXNRfC zTK;lNxZ>#OsA*0a0(!Vflk{xe=fSf8^$&}%u4!q}UMt`S0m`PiS2pLm?FSV)U_%5C z;FJIq6AwLnUuO1xHIl~I7Cn7KmXMccmiq+gJ9(<^@QAbRKI)$K_WWox+LVeR_$nij z-2iORa!x8Jumfo#zWHNitg3N;&=9L8JL(bT>FGJbOKEF^C+*J*6V-j8JR<5~JhvDQ zsGuI3BJ}JNtGrJ{=g`eL6J-SAY9pJdb~wU~5{V2D0jku*gf(cQiC@7wKe-dnOT%KB ziMlcBYg4T{0e3_=z#A{B+5$A-ke++HPgg2_H;41Y=&1k)2f?5zst6@w<#?3X+u4vA zTm1u}h<4rk;y%tjBoZmV#vFyKSI9rX(d5yAMU!W`q=lff_hrmN-jx_aP7S%-1vUck zDVnlPCrMcds9dVgkQd*Qol+cjs}i;)YVnV;OK`Dmj@NiY=*d@Yx9rPIXE(plWO~fY z_@U|56%}0UTrfVz{a8WkJ!6yi&&tcO{=-iVJw2uV?&vm!V0aceBI?fG`gG^c%Gm7J z-UlJyH#`A7%TJNW435RYNBE^-vhmU3f#(46Gz$0>82UO)OPmJ;;$Tai+1@XqQpFGV z7bTxnRE+FIs;MnyYC6^bZu4<}eM=D$5ebcQm)+(w;nz@CuQtnquVS#bBkZ`J+B2sZ z3C~S-_d`hu?sLEY`O7S-Vsr$ToFZ=b;DimAt{8NtRuc{_XA79^eq)U9r2y|~@4#cW!|7*r9RI&8+9#YjbYl_+WI%m zvgV}ZCA3M}JJJA=kIx2%>9UIOy3qM3|_hRIp9|H#>l@v9&iA83Z>H zlktXfhK^Q}^g=bL=M=24&>>&j|1Tpv##V`RzFUvt+eT^M|~W X=eh=I(UnNxM*(DEf;n4hcw(Fbsx4Doc#Dn6b=A_AN_=C|SC8W=zTwB@-oz zZV|)OSR#~dEG^b3z8~HDyZ86~>-+uZ`+Q!X&vTx0-p@JDInQ~PPddidLV#C>7X$(c zpe)TCfSR)R@~{KnZQ|%-pxWnWY-0=pHDvMq@Z<#AV4S6c4G0ve3j0yF`I zqm=C*X({{PQc5YuKlC0@B`L25P;xrJ(S_(@gGS;AK~PU`f|n08A}Dwd0Md^@0%VX6 z(GwgI6o?N)Mi@YTA&>yQ$A&?`zaYd51`rn;4A_(q>H|Iog+t*GLtZc#tRL#_i*ztE z|EoLDGJyCKiNQ!1?Bd0X(2H77LZ}}Mp{uJ4gKNSxH8lW)M%X1h(KA8=AEx-HlK<0V z<`aes4G1O%5b)qVy`EkK643wx*)#Na`E#7a0N;Ns;luuN3vdv&CxIcLaM<6vfv);{ zT%=uSfDd4KPro5T{}=M#cz@Z^hwT~ve}nnc(_dV`RYP8V*xz9@ zN2`!xIquCBUB9B;pHFwl6fzB;s@Hs;RczRpPpz#rq_ARWCZ|p@y?^}N-Y8k!9j1{M zs_iR?dAP0B`QhPVTANh82fLxBrY3*Hz!F49hZ)Z&b4Gmdp4ezJhK-CrD7JLki#4M3 zu%8XvEOcdE9YIQ+82JY9p>&d^9MH?T&#J$^2MJjaqSp%*KWYu&u~ z@j2sxbzm9Ce`m%hd26<>L_>@@ zqApyvGe=kC5Sjh-N$QJNJEt(qm$g-LB90%7m`LPVOBFmIBeXEndz-6OD%dy~$y~GC z-~}*SYk-2dADf7rC*jIuqo3Vb2fA2WbskR__eras6045e-T4WGDf>#1s~7lb+-__r z^9)IxlVyYtB=(ZVZjEldtvS_I{eeb$ealM{azKo=HQG$zD>G`c2D-{Gu^+)=OLwMT z@Zm;6-E@>m@fCi3#hjIvWAiYNCzWqpvQL*|m>=4r{LoLi1r?-Ls``XES^4^OmFwOG z3$#O)+46;Qy#)ndm>No#Y4}j>)JsO}oe{hYn|Eu>IuB9*PlLrssrck&W%`4x`BK3H zhL2JMWGtgt{scNp277?v@gzE+r%2f%!0zY#ASFfb%niXSXt#Uq&4ds9gs7lz#`bPA zCf(#1H=PqfCZ)Bzag^ZE*f+%nQC}vWU9WNOsq^V{U%mKwTtM+ml~wNj`}dLIi&DxB zbZviyhDMsf3E5+ThwVGMq7b@jhxx3$vs!I!HI2rKiy}Ec!hV zPWqN6&gsqKwSQ@W_@B|}*Key`#tRAxhJgv*FOSp?9I8hbXr?{OyXT@5^JDYt4Hdf- zSEqaZouW<;15c|5EswWFt<3Z;Fzd3WF++2UZ;JFJp{~b+C)(ShHiSO5yxiicaW+r= zZrczrNFIF{l(hOLQu{Mu!sBsx(CuSEycGuc3g6zsd+u#AH9DfGWc|gV29ArSrHVIS z-|mB4`>tZ2edUnd4&$mM%n;Ybe^*D~h7Nf6NlerYWgGVF2+>ko!uv@+tgbCE zb;D*hVbQ*B)X5ji9UHCVbWxhv&dQLaE5q8Sa>b0cA)5 z&8o5Wkr{(Njvv0S1asQ)h(2{KCh6;CM(&YQ^^0<;-)EEimqwc(hc6ZKq|1J237eJG z!SgVuxjm)V>)hLTJvJ>(=XoaRGA-|(gRp&h1F}|TF{^WQ2Mvpr$H9{((T9^{JLr;E zm{hFaKqX2N=6+M8Q~3Bj*OvRPEuj#8ook$&{C#fx2~hoN+tPcD+0 zr{-i;nb>RDvD#m|3`EF6)UDkD54|>#Vss;(OIk5_UVWWE;}iRa06)z<7#rEWf*yNo zA^gRGKrg>Mg!=e6yt$C(|C2+ioiN^dTARK5xa-qcgA~H%h+|JTu<*_^swW8;wai7ddk%7WVJWt2``_9Aew=>Csb*!iuk%G; z$q67B1^zo*6qNcIPG7ppQUeu(U58PwL6oR_oss73lap{`CBV1E0h z(u&%$gr}+R?w!5rJKK9(MX50(vV-l;&ClgXv!~0nuED(K*Tg<9u1tBo6loyi>aMDW z$a*4U2FW&?0-;mXFP^IlQ-&_fTJ8~iDcBKPxA!lFdtvP=DnbhFWOPBIhL3rsTnpiY zA>FdK@F=iJU8_CBN_%!Rk$D0Va7}0o8_pF-fiArpt+LKLM7)bB>i~``1`e)sJaR%A>XgP?z=-x?QaTf{(1*&2)~(%4;2*TAc;*v^?=y zjh3s@EzTP&ohbsh;hyX=A_#@a3X80FcbtyoZ26zGEkaI@7~|VSjUTQpJbW5vS_6F( zH>n`69}#S+_DG`Q!lK3^B!oTdz=`nle$DtXcm}NKq|J+$&`Q2TvWC%*B0SumL=SI+ z+ZjsPKuRniy-&ueD|dW4lYeR?-*4=}g}j%Yh(yX!_2HL37v^2wNZ{axsCaeNH<=d{Q?IK1;i*J2VhuN{dkv=kD*>Qjf^OS=I*K?&d<&e3C zDk>^{M%7PWzRgjxj`qEtPboZ zH~4Q!I|?v*14CvTRAGzDh8E8ww33v*<|hc^xEY=A4ps2(#n^v z_UEsJv038FyS%R%1(9;%X}E%xTCKI?YC_$bVQzk`5JzyP&kXGi<72gv-0L1v5w+Vs z;rOkB1td1Bf;~iCi%B9YSa43c_|`6<4KjJ3H}r(RCEc~^6h!Qokaz`Uxok-J#!**k z8kq79*pN+7_ELGK;BWQQd5<`Z&Rbs?mwA;a@;w^tX=we$pDA2R-EpK>W-`?aB^Co`GVJQ|n<)ERYMk$#M-!*R zL%Uijul6oVQg*p=3E@2_H23+crtd==6#6TV=KAYi%_(GGgX{5_)1SjMGMKw!)fQu; zqgm(sb!!)lc?*z)P%P{Qjwfa-#4U@g!Cdo?oVV`%8R;0L${+=P_n#@!@troo$4HAO zO|FVn<7S@E#?6s27|g7M;pIq)S7I}hy^hAMA69mbq?`D(r9sIUCcX7`LV|R};u%-7 zN{9Jd?4-GD;6`EPBr>F_i?|NvqoymH7|>6+qB1NmId}XZP+Oavca==W&>Gsh@|A0~ z2Tj~+%vY~zks{Ga*3TJ9N6YgPse?EfR|r|*u5g7a&t&M<&lvLv0jMxm@LifaFWELLAUHigvfg~v k0sfy&q*b*)ncC$L5HW3DJ?Q*!@5c^x($=ij$E0<{L!^r(FWCWrm) zU7SFm=%XOet-B!5Ca`qt3kVc$1Om-n1A)%uff{NioTlnUFWgh{d9{P^pzE^JZ^Ted6-pIG=}Hd|;xvslc{_bjMleiX61#%oYHzDK z{2^_R7KVR-1~TxG3746?RxdvqXxHi6`Dks6AUb(^RWwvI7`z%qB|tKLlsAJp=w8BR zFg=)_kIFx~qp`8E|G}ZNZbYlv)>VndrY4HI%}#yUj51XIoYiO1=b=-b#nGT!*JX5* z6Twyn3~@hAn9M%Roh!-m3~SP1#mSv@|M(OCsIKm1B1m)xJS!zFO;Nv{oZM4*wmf?0 zDVbSwJ^gZDWeQYA4AXN^S@{y=7g^bGJibcZN|Ir=U%%Wu8C#S^=yAw7+5i3fi@8&_ z=Sa2(QfzIXks2BrD4jApFmlddwX&N-HI?cK$;kmoWMysb#WiKE!!WJph{gO00;HOR zmC=>;ei`fOMw;y7-&O7pbX(i|GgxAG0tK3UI~yxKsa>3rA-GLbx+sDbgHcd(ZpC6ak((Bx~Y(vss7I)T`du<$HO|sPv znU+knjttagoOg9~Js^?jMwD$gl5CFKZk{`p)x8CN+JEeKEm@X7!$>m04hp?Yd;%Zu zG&46h2ou3Zy00FeB9M%YjkS4N!8dsTMI-kgn8){SYgJ<=6ImO)-X zep%%oUx#OrNF<8g9ByJ_QWAXtbHTv@*g0a*>4G_D#S>KmGu@*{10y4^09%=!me$8$ z+?_l1NV|%AJ-{!3<)56j&$6KUfqdA(|3?si%P4H}>Fc~clk~xAPn(P8yq&=#&r^;c zKVI?p@hualr`L?^*=+W=`C9rwoqs2~tBay0y=P-PZlpEJ__BwGtEZ>RDdWU;-_2Qa z{FjfFt{?mRt=ih!JVkY>X@Bsc2{unI*=giGqfjQ-*CV8p+EF2Al_gip$#L%vnxf(B z#HAbg9rHuAvqVc_Zcj~(!;(P)&5k}a>9Z$+K z4&;$YQ+N&`2cq6vTnwy_ef-Gaa=8vd5jrFUnbdw8tmB|mUWSVO()Xlf^x(bM2?+^m zdw0I5s!E00*?lrf%MuJTneF>6zF)KR9UL57<;05$S0kj_KLawgAZ(iK`DKT?s_F$Z zhnSeN^UV*yr5BWt{{H@N6tDpS_pW+*MFLf>MtQw&r}xfsl@PHRqVHT{N!2r7<<=06 zMZ}pxy=Bgg#?_m(ZI8Zbj+r=FU}q$kM;cSRySx2gxJJ}nU^s7+0)tSS$AG#xt& zW9VI`fKyXbH&&;+F{8Nf@DqU|=b`YLsw!?xO-+eFG#WzZjWphTxO7$cjd}4rb#ZBF zrn&h{(-i|0va-6`5#0Idld_V6f+j4*tb0)N5_kr znv(&$YAP!yghJunA#z^c#LUdh^QtAfp^lD@I9_Tzk}Ji~bFK$3M#R9?GVHavgtwx2 z+Vab-@9*=B#b=XkwSLxaFuV}IG}gsrGR150!XFztA1=ANwgcfar(>d{Gc97EBnh2V ze$UzEv{A&u!a|xSTM^5PG>={R{QB-zaT#hANhWjvopWqxNJ+4qv|nT9a+UjuufpG) zxFPiI(@RaJL7#4cOV2AJZES4D!pTuHc{+(0zF(u)Mrn@Eg-z|*Fa1wrhrIE;WxA;6 z{d-gN*k?d$zbzWiC;BvnaMbbS^z`&(*Zk|4)4%=p*4uP=uKrW^%!h&~9L{6{UVf20 z6SLfwvtQj@nQGbmv73$O9Ky%P2$nu{fw8OU8WAm!8M;*am32es?dcrEU&{jKa08Mn z3~s+C_0t%LSl+I19L`|=6welkZ}7tMPso|6%+h<~%I43g+^Y+shSXgN6fChn4i4I# zjaYbm1p0vC-8sKD0NBG`N=oWE38ChF>5_~R_uIE`_3W40W-7>H`2vfTS7O~^qlt-$ z&*MdLBh(O$pC*>puy7>Du8Oybgj*Q>66V(unrx-5>!I#2nreuO582*ai(Q@SdSM2f7aNu3MU#NLiptB%+0&#IP#wE z?j4+1zSDrIuNoveOaJ(Bza~9H!`X9(|6JMpSwo`5=CNttPTL#`g>pB^AHO(~jXTJw zyhH(epH#x*@twi)lDnfun}Sh@aXkZrsT@R{+1DE?>2|cn#_W9(5_0He+?kCw!MKC! z+RBO%edWzQ)P8@UGp((ysY&kUqMuT!rqk;{X1L`G(Nh^vuxffoFj9H9Xr+BW9D(Td zsm(bgy{CnZKB=$Ig=!G81j`(9Xm&FyH1tnu&~Ro%Bhw^ZBmM{Pt}h$+bwEe>Ibr|z zi6o7g%uKoUNb`j-+Nb%oFaiM*FJR-v#fWxKQOI*7i4#*FI-H!G^f-ZP>2^`Ev848i z&=EnH>b=*&!NDq)+FP*}7GYENBc|p+x0(petwqp_R)}*)nI;<_OgWA*bRgqI2C8BB zMQN$dv|)^9PZ6Y>2wA^k=X})b_uj&@)DpAe{$q5&a{D$bc2BwmJ|Sy1(>Q~pqXj$y z{6*+(GGTpq7s0?!Qz@tWZ7)PHRvbW!J{jaWgH1sc;@$?ZD>?F(b^3T|DoYXxHDUjaUO&Sy_D# zFIwdBBGidVO=x!hibFty6U@LYjvn7nPwVe@&cKYvi?+W3vH@7JvO4YxLRvvVfdaL! zsIPZf+xu>sKsuS@u(ns+*HRVZ5*0<8la&Ju0iaV@l!mT5jJ9e4Tfn}{7GMD8%EWnl zK8aAIlM7~?MPdg5P z-u?Uc-H0+`%g%)f;FQ3%Io5wMPY&N9j%rb%9EQDlr>8Kfy@0)t2u`VZ{@m?-%PpLD zX9|5r6P6#-KkApkd)gO%X#YI_`VYGUSQ^|9z$$$Y7b~mVe-o*RpuVTr+zsgzSU1tT!4zsO-)}71bUvt_|xGS(1ttdnCOE*A)+8qL<|UY0I(vKL7+e+2()q) z1VU$mKqq~3nvGQefsu=quB*O2NCKcCAQ~_`h!&v0zyl(>gXn(KAP`^)D75+Df2H{} z|43`|Y5%2rMTX$zdjtTf5YPbW5SEfCmO)rEdh+@WH#l&&wcXkO(XT91d5(JG-JyG;x2_fffdF zEg--bEh`%w94r%jPR0lCCVLizLdhcKWaZ?f0fe;w4etO4g0#24@ZU!M+m5D-zZ2fw zH^AM;8-8Th!O|@WW{6_u$B(gm4E*d#<@QbQXYp*%b;4|MAc6hNg z1($J$qM96jc%Z;^lTCWcab>*R@&TWFfV&PeR4KL>2JfwL8@dKq)6&4JgzUx=8kCgu zdSDMK66_~if;X4@{C-gn_oY9+GwCF6FLcm`)QaGTodlC`DpozCQqRw`qu4u>%Jz0X z4V9XGSp7~t45hNzUgVpzuxll#ZRP?qJ1n_pQ*?(y`0=%Jp7bR4CR1Oewspv-+14AT zFO~0lQ&g8!lELDFd3!&oF+j^(KG|8s?lXkK_HL4=lpn=99p^R+{Wk122OY<91qk=v z7c-2?f{TPHj)<_O8naRpOvo=Uh6fN=`wyeVs8CBD#@HN+Oem18=T3m8dfhB|kBs71CbWf9G#_84So8aKn&#KIg*EeRG zVi&*H*=7tgOvxTe9b429JJ>Y(v$1)RGNK^Z`biNXu{S)9wzkJGd7#? zkB_L9>UBUcxU{5b^~7+c8{d7j6OS|TT@`> zH~G7zNtmzASTqN?w?u%stE_8^FJ;JBN%_bVSK_%O4YJR#Z_Kuc?x<$nVdCdg7>`Qs zj7ckhWZVa)Uz=^291EMQvfYZ0Z!Ep{nvGlfGF?&@-;!9{EU_b|6dP85eSGE1hk=O$ zo}V)IZ8O#af4w?wI(_)#TX~m)JOfHkwdsI24VJ4Me16u*mqXmRFeb82qd@B}w|0_X z-AYeMK(XN?Zz%tw`piW{%WAg7BPGAWz|{%kTb^(3+A1QejkBG|Z`y8!nkxL{#FNf6 zNo$Mr0^J<@3M`y}Mp-LNq*~9~+nSd*zZWv7@y6IRcnhdpuDv$mGLXJFGHC{;yWHsO z@Z7PxLT)_~e(v~=8LE-PT9OfE7CVz(Nm0!L&pVh+C!M-5#}GUyoQn>OU)#)&SLgM6 z;`hEM_E+(HvWJVSYY(SKCDL_}$DC8H-Xi40ALVOfq?Ci*NOBSzXlsUE4}Yb*a!Bn@lk^K8 zVDgtChs)YFbDlQ(aXaT@+pQm4r&T;Aq-HK!R9$&nZYet>Foxb3m>QK*RGcKSykDKD z^!Q1!hj5@IEUPML_?pg)3+MHdeTQ;T{xgk!JW(VjHnaAm3|V_uXJ@@!^mu?pC2!5W zOow+KEmxZGXKl7iSw-_Djg%Tp2n_A4^3u6aDoloV3|d=Qr0W)4?sa)ffZ(kk znb#pxI(JcYgB_wYm?c)ZYzTW1F5y*G(n(o6GXdH@LRCkjw!VKU*USSUIzOGtxQNG8 zik$_K&@&vT(Se3nnwBJ@J0c_O%PlJRx4NZ%RoXP%^UhPbQ4LIza?lzwk>@s$_@_k_ zoyvOPCzMHig;!ex4Tw7t@_IGZjf|OsYM+K4of_3BW?+?b>F0zVgFez?SYTi;-TC;s zMihlyTL)4OtbymAyO}g{j&CIfCZXv)FhK?@%34=zdL`-J57}FJIJ3FMk>U!dOk9mC zSt`&VzB=?3oa3)9*6zqOFSoeS+`UjbF3&=g&l*23L|idy_&}muo2cN;Lz=TeesD>c zJ&W>2M@2+FZWJeSr`*rTAU@=*!{RBK{>F7Y3cycpLo^1C30WBvH>a^fbp3EDOV_a` z7Zg(JVQDZ>KzBTsC>!AztFEEsMvCy32#$v*^fK-7M0m31t=29Iuc&r~e)7pkWi?Uy z_;#Mhih4NQ>)cLtA>xTMmKWB^kxC9(H4#dB>5lK70E;}+O*>t{`ubpxL$TKvN*_VZ zNT7$Wd0V1qd8DW^8WimeInNVy^$shqLs1qgvBA3YIdk{@J5bq)Ha6% z@=Eu#su5orj&x!Pmz$LE%!up|@ws3@mAM^#Z5V##K(OnuoMBEc6A3o%h-E#?2+<u zV#j02FB}@P=e^!3k-Nl&w9S?sVfS>I;diq!bMh8$*h+Oj4z*fUT-RX+9ySwKyB2kf z5k8EzFgJf+KIQ*$&~Im1l49iNZxf`E7<-ZpnoQH1eS_zl12T35K~2u;s+CUVxOK4G zVKmY)@0TNCT09s5riH^;E*f!;K*o_E*M)JHZ`-=$#dOx|m~Rwh>)j6Ugcw47;h@KS zb*t80UiTS@%ZM(}h+!PrUatBVg>0{~TxSVg6;6sf3#O7iX|vf-TiV4bCdQerF5-S{ zwyLURA^B%os$>VogdA2pgx-^l6+fjeEEWTM1-7A!fz=O_PY4lx+quC)L}_`vI#~$z zzl1MbVvd@OMm5emU|bhIZi~>@KcC1uwG40ORXVW-1*8?uy#`@HL92c+0r_=mdzrnv zRa5s@nr@2(;8tR_yGET2Un^H@l2_Xk;eO{d@*4?-sLA#4mK}Pq55&(I=Exq*SV@C@k7rE8^izoIBC^VT30-DG0fb zTeMTo{ar<#@L=xb)E&;tH(6J?QLN|n=GWp_PCl*Ng7Np}8QRscPEIDkB3N3Q*rFkU znN|gsD-Af{bU9SLpO9sa#Y(zkc)kkrrP8(>jD(6LYoC7EQYwU6qP}rMSiP?)j+6iN z)qB%!% z!t!ID*pG(1l<0l*9dw`n>FkG8vc?_GQ6DNfQHJaO-ofk1qH;c5;xhB@&KVpk5*qMx zZS+_5-f8+f0%5cz{Vb=&%J~*dtqt*4X=cS*3*(ub&x@6b^kGP1s4HRL&srNTDSzr? z@4lD_9RCLgA8Vr8yXD$~ObzjbgZ5iX`xhxXFpU&eIlA3@Fd=^$OaI%jE11r986kRF zF<%8Wa>w{N=o&j7=}TkD5%Yg0GQ=-jGQR?5Nw96-y3j`+uy6WlntpUg*VQu6tWv)k F^lsPOpPEHXf8X=V0%tWJ^<0MZxma%Fz}8BKHBn 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 U*mm_&H+xpV%EHe42?`tgKk8H?KL7v# diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-20.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-20.png index 7c1985b1bb8372a8c7950c744edf157990bd5b1f..a28777910b660d00ff96493aa1e83ce7d66d6482 100644 GIT binary patch literal 709 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1SFYWcSQjymUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5ln6+T@J#ddWzYh$IT)B2 zg&3HDEJh$?XwPI|0katxfF=O}^8!YM>;fjZtjGdp1RJDq0mHq=Ktm!kLn2Bde0{8v z^K1^l#~=$>Fbx5m+O@q>*W`v>l<2H zTIw4Z=^Gj80#)c1SLT%@R_NvxD?a#8ycOWDy)d z+*y*DhOjBG80syc2lYWR`i6Q2`f#&>T5Uk0R{lkqsX&`S=Gz(CfK{T1LG7{82U(8f z7>G~7qCl_OaoOm@gUyahGVUQeFeLjuT^vI!1fK>vavf0Mi7x-B_RsbHgUd(syH{wl zSeeTD$!Cn#?OAVMUp7RuRJg&V{c20BYf#ig>sWwLYi>o(D oX8pcDZTe!>!lW5r@(#+kn{!51NJn`U?g7QJr>mdKI;Vst0D%|L5&!@I delta 199 zcmV;&0671}1(E`g83+ad0051N9SxBo6AA%yQb$4nuFf3kkufiSkV!;AR5*?8RLcqj zArOnDFgNjE^c&{W#9tQC^t94lI+nJuhq5`Dd4%YwjwG>wb8g4ql;gI{et}EycigSS zak|I2HSKe^tf~khOzyphs;(7jpp-%Y+)Bn6ljoeRHkuA=t#jRb-8cew#lKd;neMp8f78wNC&5002ovPDHLkV1mBE BT($rJ diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-29.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-29.png index 4af2f6029f8ac983c7289bde75cb14792e6ade25..64d0921f109dc13a5d29b1c8558c5b1c05ac2dfe 100644 GIT binary patch literal 967 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 delta 592 zcmV-W0Od5R|AEtxfGH^m95+qyJOU1n0*k=VhKu7BP$V^Y912OGeF+K)1jWVBBA~1-PD0LM zCoSy&g776HCbKSoS2Hs!!-$B$0b|T@oijWFT;6ZsE0CA3Kwdsupl#c(HkM`aq~H^{ z*=$^G7K;T>3O<2CvCMe&l7JpE$ci{DR-&prp=!Dk9&jA1sLfrwz+Hk!@mFPlcA zfy?CrB7&xA2n77q!k5>2y@qL;5Cj3~bQi7Fpuh)OA6A>}SNS5W-9Wzcyl7zuvfNHgh zP$=}Qu-+>OfDFSRUDrtzMat*%v|6obyWLVa9HvMlLc86L48x#YE=Qs$lBQ|2TrLT~ zdn%Ytr?K0A?Ql38Fr7}(>2wf_#b8+$Ow)uUN$7UF&~+V$!vXvK9?4|VR{=fU#s5+) z79H1BRfVdme#77R%yaOae3n4BXO36IU__7iKlcr5uh+w5GI8`N6bh)-YPb1I8`gW; z?Y3)!+G@3UQt;g*nM~#>HcouDz*H*r6dNZzZIXL0uGcGq!Jwm!ZQH(kL4Z>r@O@$Z e3gqT1ke46e5Qpp;zny9T0000&% diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-41.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-41.png index 97318f1f0bfb89d0dd57a18930fd870547cdae51..2f7bb40b8fc15ad219bf87c829bfbb40f386a557 100644 GIT binary patch literal 1096 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6PmUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5ln6+T@J#ddWzYh$IT)B2 zg&3HDEJh$?XwPI|0katxfF=O}^8!YM>;fjZti}Rn1RJCDSry^7odkOBsq3M(KpH?<^Dp&~aYuh^=>Rtc=a3djZt>nkaMm6T-LDnNc-DA*LGq*(>IxIwi8dA3R!B_#z``ugSN<$C4Ddih1^`i7R4 zmih)p`bI{&Koz>hm3bwJ6}oxF$`C_f=D4I5Cl_TFlw{`TDS*sPOv*1Uu~kw6Sp)|V zca~(PA#BPkhI$L=L4A;nzM-ChKHO}eRvVD0m48uYD$r(-`F4gjV3jChPEaj?!TC1Ay5G@J;_m6LmbL{KDz7g3uKz_V zs+H~Ii$APWgVqOY9)0Xzq2luNVueUtwV8R!A@kz&vV61MH?4aM&wZb3{Q2yincZc( z@7@cUwJbAb$Ev>Gke`efjQ%w$y%q~wd35Q%7`;6WhaVnT>=Co}%IT+*LKrRP`c;Z_ zu9oyy6Aog1P+{{dP-R`3PJnn%r%9c9pqR~Ezqe)4?pAa8yf^;M+b+$+R;n`9%Tk7K zn(8l$la_Qxlj}<&DOmXYQ6VxVm9!*+Mwp;el4a3e~ z5-WFzcDwqB8?N!vo6dYG$L#Y@n{H+ogPnI8tXlm3^UtWYVP>;St>*eqc@utk zVd9SqhdM2!dTr$Vl_t(O|9th;Q%{R_-hKDAidRdnzxj~V`7~pe*_O#Vx;EQx=kCA1 z{%Tg;e);bTViLjYufLWMUU4=}n5#8G=c-D&&eBqTqvB)bzL)Lx@7THT{r~RX%Kecn zlc#xB+DXPey&>M{w)o=fuW`u@Dw93uXj!G6>t@*fcJ)=Qms}fyR&JQsR=d@-&uy_y zGNbFVKZ1`7EPVLn7c?jZ_n3>%F54UTw#>TQ=GTtpPxX^iR!Y{ZMf~Tm=~{a&@b=ZL eTZdl!PyfT1oT^gqE~?Q5%4nXhelF{r5}E+V#EO9c delta 592 zcmV-W0Od5R|AEtxfGH^m95+qyJOU1n0*k=VhKu7BP$V^Y912OGeF+K)1jWVBBA~1-PD0LM zCoSy&g776HCbKSoS2Hs!!-$B$0b|T@oijWFT;6ZsE0CA3Kwdsupl#c(HkM`aq~H^{ z*=$^G7K;T>3O<2CvCMe&l7JpE$ci{DR-&prp=!Dk9&jA1sLfrwz+Hk!@mFPlcA zfy?CrB7&xA2n77q!k5>2y@qL;5Cj3~bQi7Fpuh)OA6A>}SNS5W-9Wzcyl7zuvfNHgh zP$=}Qu-+>OfDFSRUDrtzMat*%v|6obyWLVa9HvMlLc86L48x#YE=Qs$lBQ|2TrLT~ zdn%Ytr?K0A?Ql38Fr7}(>2wf_#b8+$Ow)uUN$7UF&~+V$!vXvK9?4|VR{=fU#s5+) z79H1BRfVdme#77R%yaOae3n4BXO36IU__7iKlcr5uh+w5GI8`N6bh)-YPb1I8`gW; z?Y3)!+G@3UQt;g*nM~#>HcouDz*H*r6dNZzZIXL0uGcGq!Jwm!ZQH(kL4Z>r@O@$Z e3gqT1ke46e5Qpp;zny9T0000&% diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-42.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-42.png index 97318f1f0bfb89d0dd57a18930fd870547cdae51..2f7bb40b8fc15ad219bf87c829bfbb40f386a557 100644 GIT binary patch literal 1096 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6PmUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5ln6+T@J#ddWzYh$IT)B2 zg&3HDEJh$?XwPI|0katxfF=O}^8!YM>;fjZti}Rn1RJCDSry^7odkOBsq3M(KpH?<^Dp&~aYuh^=>Rtc=a3djZt>nkaMm6T-LDnNc-DA*LGq*(>IxIwi8dA3R!B_#z``ugSN<$C4Ddih1^`i7R4 zmih)p`bI{&Koz>hm3bwJ6}oxF$`C_f=D4I5Cl_TFlw{`TDS*sPOv*1Uu~kw6Sp)|V zca~(PA#BPkhI$L=L4A;nzM-ChKHO}eRvVD0m48uYD$r(-`F4gjV3jChPEaj?!TC1Ay5G@J;_m6LmbL{KDz7g3uKz_V zs+H~Ii$APWgVqOY9)0Xzq2luNVueUtwV8R!A@kz&vV61MH?4aM&wZb3{Q2yincZc( z@7@cUwJbAb$Ev>Gke`efjQ%w$y%q~wd35Q%7`;6WhaVnT>=Co}%IT+*LKrRP`c;Z_ zu9oyy6Aog1P+{{dP-R`3PJnn%r%9c9pqR~Ezqe)4?pAa8yf^;M+b+$+R;n`9%Tk7K zn(8l$la_Qxlj}<&DOmXYQ6VxVm9!*+Mwp;el4a3e~ z5-WFzcDwqB8?N!vo6dYG$L#Y@n{H+ogPnI8tXlm3^UtWYVP>;St>*eqc@utk zVd9SqhdM2!dTr$Vl_t(O|9th;Q%{R_-hKDAidRdnzxj~V`7~pe*_O#Vx;EQx=kCA1 z{%Tg;e);bTViLjYufLWMUU4=}n5#8G=c-D&&eBqTqvB)bzL)Lx@7THT{r~RX%Kecn zlc#xB+DXPey&>M{w)o=fuW`u@Dw93uXj!G6>t@*fcJ)=Qms}fyR&JQsR=d@-&uy_y zGNbFVKZ1`7EPVLn7c?jZ_n3>%F54UTw#>TQ=GTtpPxX^iR!Y{ZMf~Tm=~{a&@b=ZL eTZdl!PyfT1oT^gqE~?Q5%4nXhelF{r5}E+V#EO9c delta 592 zcmV-W0Od5R|AEtxfGH^m95+qyJOU1n0*k=VhKu7BP$V^Y912OGeF+K)1jWVBBA~1-PD0LM zCoSy&g776HCbKSoS2Hs!!-$B$0b|T@oijWFT;6ZsE0CA3Kwdsupl#c(HkM`aq~H^{ z*=$^G7K;T>3O<2CvCMe&l7JpE$ci{DR-&prp=!Dk9&jA1sLfrwz+Hk!@mFPlcA zfy?CrB7&xA2n77q!k5>2y@qL;5Cj3~bQi7Fpuh)OA6A>}SNS5W-9Wzcyl7zuvfNHgh zP$=}Qu-+>OfDFSRUDrtzMat*%v|6obyWLVa9HvMlLc86L48x#YE=Qs$lBQ|2TrLT~ zdn%Ytr?K0A?Ql38Fr7}(>2wf_#b8+$Ow)uUN$7UF&~+V$!vXvK9?4|VR{=fU#s5+) z79H1BRfVdme#77R%yaOae3n4BXO36IU__7iKlcr5uh+w5GI8`N6bh)-YPb1I8`gW; z?Y3)!+G@3UQt;g*nM~#>HcouDz*H*r6dNZzZIXL0uGcGq!Jwm!ZQH(kL4Z>r@O@$Z e3gqT1ke46e5Qpp;zny9T0000&% diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-58.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-58.png index 4c139067f59215a48cdfb92134cbf9ba98ab114b..186e72674e89b77f72d2edc36359fcfae6d092de 100644 GIT binary patch literal 1498 zcmeAS@N?(olHy`uVBq!ia0vp^Rv^s51SIor-mM2xEa{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xg+_0C{m5HFasE6@fg5s(_;nda-upao=eFfcI+ zF)#yJj6lfHp2@%hW-~AVO#%Yu1&j#U1x#>Rs|CymHb~*dves8XLn1RnB1$5BeXNr6 zbM+Ea@{>~aDsl@z3K(oEtboki)RIJnirk#MVyg;UC9n!BAR8pCucQE0Qj%?}6yY17 z;GAESs$iyPpl6_D$EBd4U{jQmW)z9|8>y;bpKhp88yV>WRp=I1=9MH?=;jqGLkxkLMfuL^+7WFhI$72aI=A0Z9t+{{zaLoK$}74+Zoz`RicPN?Xl4ZS&rlw zh)=I z5i{N1=q}zU80`9&Jtrwy)g#AsL%^FO@(JP|f~y;DtXR-GYlcXtz`-A%_w8;>%zrO) z-%ri*;9R9WGrym$zF$}Q+i3U2d-w0xU$NN}_x|kJUIm}*?AM16H#0btmI z`&>M6W%kO`qCch`U9hCGn3J__nabqD4_Ab(USu-s+qZ9O3<9xSU5w&7&$zTicv?3y z?Rr`?bCTx#^T7#8Jxse=ogC*hS9Tf{YOt2%=jR`_oH3n4xIM^Wy2kChcjwOFI=Z@H z-H#V1Jf9R<=6Oq(b95wx^>G&j(>g-?-q$*<+*;r&h>51 z8o?_W&0=}3U%x*8;(}kQPBWKzKMj(fa zH>Xb*-`joLY<6x&2FH3SKR>^B@8AF2)swjGb8c?#Mw7DLwWXz^%Ok`X^KGY1pMKEO z|Io`4Jzd>{M-A4mU!R?wop9cOBh~Ep`pGL+9(mZu8!~ybkg4@?z4<^Gu{%uO%3)SkAP2?_S%fUI$A{O1A9VckkxSOa>l){=?R` zwz}@&nY5)u}yJSnk%=T6B45ySgQ=MHS0CAFrk)=s`m zRz@ac*0ImM{r%IuRKK))s2CX=GyDAtV&i!Lv?Axt+qXxz6dr9zIhi8V+27wExU9Ii z_)SG=VWA)g%MI2Am9eq0jLn}qjz8WQp)>hpLf5kc47^LZR|<6=xqMkzB4GjNne*ot z?>5wWBYe5Fl{Mpx0YftP`U!29Qd^>;q5>Ab@w+a3_4W>6vBVs)U(fM7zu}jS9cC;* zkBBxazJ2<1sf6OHgI>F3XzAEsn5Y|#8CyXe5b zozwNTR>a!W{r$^vQrLjmCHr|-0M`p8uBv^F^AocwP8n3Z3^px!`7_HUsw7(^V8`8{ la1H-nKkvIztRi{;IqSARQaGXD3@W`DJYD@<);T3K0RTi(R#*T4 delta 1006 zcmVrfcR-!y5ct!NhowF(V51??sxbkarKJNmUqovi)?E_HDd#I7PZRNSPs;8y6MlOQfu z&_Pq14k{S1wdr#QF_K_n8v+}s?}=`;YKR4QR|a?*$mhr>`+ z6#$S+6U{qo~ztC>Dzd zhr@O82L}fLfM77#enuA-761U_xUQ})WV2a+0Kmz~33hjP;rII+#*U4R0RR>k z7cDbt*{b{TzK7@ehV34Yhf1Xq9UUFf)YKHovP>>llvjYG) zJ3B*vG#W)L7BikauCK2#Iy!2^hC(6S-rfQLve_(FR#vdQyo}S+Qvg6Bk!a7w=p!5P zcpQ~V#b{Sm6|1YO5CoxaE((HxwY4>rN+lz{QmG&wkHh71wXe~SLli~GvTUrH|2sI2 zLogVGEXxo@v98?;qf9EJN~J=VmzSpF0np8V%?%4F20y0Ob&T2#$Ee+C*=QgTutEp( zYgqDqR8f?=pP^#07^PCFrpB3`o~Es>txxBCJ|Fe>_qQt1nl}uMgh-Oq^f;0v(eUuF z6_V;;Hb=jbg@J(q21?#xX0*4r_gngyg_+T>WXFoR_&1mt?dj=hx{s4l3t;y9&D+~e z8;PRWRG)IW+;ktaFw3ah?Iyq9Z#rHSMP??67?*%PpU-rxATW6}HgIZPyWtqM8;()C c@neks0)!dvF#P4{sQ>@~07*qoM6N<$g0Du_Q~&?~ diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-59.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-59.png index 4c139067f59215a48cdfb92134cbf9ba98ab114b..186e72674e89b77f72d2edc36359fcfae6d092de 100644 GIT binary patch literal 1498 zcmeAS@N?(olHy`uVBq!ia0vp^Rv^s51SIor-mM2xEa{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xg+_0C{m5HFasE6@fg5s(_;nda-upao=eFfcI+ zF)#yJj6lfHp2@%hW-~AVO#%Yu1&j#U1x#>Rs|CymHb~*dves8XLn1RnB1$5BeXNr6 zbM+Ea@{>~aDsl@z3K(oEtboki)RIJnirk#MVyg;UC9n!BAR8pCucQE0Qj%?}6yY17 z;GAESs$iyPpl6_D$EBd4U{jQmW)z9|8>y;bpKhp88yV>WRp=I1=9MH?=;jqGLkxkLMfuL^+7WFhI$72aI=A0Z9t+{{zaLoK$}74+Zoz`RicPN?Xl4ZS&rlw zh)=I z5i{N1=q}zU80`9&Jtrwy)g#AsL%^FO@(JP|f~y;DtXR-GYlcXtz`-A%_w8;>%zrO) z-%ri*;9R9WGrym$zF$}Q+i3U2d-w0xU$NN}_x|kJUIm}*?AM16H#0btmI z`&>M6W%kO`qCch`U9hCGn3J__nabqD4_Ab(USu-s+qZ9O3<9xSU5w&7&$zTicv?3y z?Rr`?bCTx#^T7#8Jxse=ogC*hS9Tf{YOt2%=jR`_oH3n4xIM^Wy2kChcjwOFI=Z@H z-H#V1Jf9R<=6Oq(b95wx^>G&j(>g-?-q$*<+*;r&h>51 z8o?_W&0=}3U%x*8;(}kQPBWKzKMj(fa zH>Xb*-`joLY<6x&2FH3SKR>^B@8AF2)swjGb8c?#Mw7DLwWXz^%Ok`X^KGY1pMKEO z|Io`4Jzd>{M-A4mU!R?wop9cOBh~Ep`pGL+9(mZu8!~ybkg4@?z4<^Gu{%uO%3)SkAP2?_S%fUI$A{O1A9VckkxSOa>l){=?R` zwz}@&nY5)u}yJSnk%=T6B45ySgQ=MHS0CAFrk)=s`m zRz@ac*0ImM{r%IuRKK))s2CX=GyDAtV&i!Lv?Axt+qXxz6dr9zIhi8V+27wExU9Ii z_)SG=VWA)g%MI2Am9eq0jLn}qjz8WQp)>hpLf5kc47^LZR|<6=xqMkzB4GjNne*ot z?>5wWBYe5Fl{Mpx0YftP`U!29Qd^>;q5>Ab@w+a3_4W>6vBVs)U(fM7zu}jS9cC;* zkBBxazJ2<1sf6OHgI>F3XzAEsn5Y|#8CyXe5b zozwNTR>a!W{r$^vQrLjmCHr|-0M`p8uBv^F^AocwP8n3Z3^px!`7_HUsw7(^V8`8{ la1H-nKkvIztRi{;IqSARQaGXD3@W`DJYD@<);T3K0RTi(R#*T4 delta 1006 zcmVrfcR-!y5ct!NhowF(V51??sxbkarKJNmUqovi)?E_HDd#I7PZRNSPs;8y6MlOQfu z&_Pq14k{S1wdr#QF_K_n8v+}s?}=`;YKR4QR|a?*$mhr>`+ z6#$S+6U{qo~ztC>Dzd zhr@O82L}fLfM77#enuA-761U_xUQ})WV2a+0Kmz~33hjP;rII+#*U4R0RR>k z7cDbt*{b{TzK7@ehV34Yhf1Xq9UUFf)YKHovP>>llvjYG) zJ3B*vG#W)L7BikauCK2#Iy!2^hC(6S-rfQLve_(FR#vdQyo}S+Qvg6Bk!a7w=p!5P zcpQ~V#b{Sm6|1YO5CoxaE((HxwY4>rN+lz{QmG&wkHh71wXe~SLli~GvTUrH|2sI2 zLogVGEXxo@v98?;qf9EJN~J=VmzSpF0np8V%?%4F20y0Ob&T2#$Ee+C*=QgTutEp( zYgqDqR8f?=pP^#07^PCFrpB3`o~Es>txxBCJ|Fe>_qQt1nl}uMgh-Oq^f;0v(eUuF z6_V;;Hb=jbg@J(q21?#xX0*4r_gngyg_+T>WXFoR_&1mt?dj=hx{s4l3t;y9&D+~e z8;PRWRG)IW+;ktaFw3ah?Iyq9Z#rHSMP??67?*%PpU-rxATW6}HgIZPyWtqM8;()C c@neks0)!dvF#P4{sQ>@~07*qoM6N<$g0Du_Q~&?~ diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-60.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-60.png index 003e7e73c7a5aa5db8541cd63d41dc35e0af5aa0..56903178227ffacd513b9da4c1fd0013929b5705 100644 GIT binary patch literal 1543 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1SGf4^HT*!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvnvo}P(W&gXPU1sgBFm@!N9~Q z#J~(>F#;h&dnN-5n9aZdGzkcp7ce4Z7cjwPZ5A*i*dT>7nT|UF4T;PQi71Ki^|4CM z&(%vz$xlkvtH>jfNYSkzLEl1NlCV?QiN}S zf^&XRs)CuGfu4bq9hZWFf=y9MnpKdC8&o@xXRDM^Qc_^0uU}qXu2*iXmtT~wZ)j<0 zsc&GUZ)BtkRH0j3nOBlnp_^B%3^4>|j!SBBa#3bMNoIbY0?6FNr2NtnTO}osMQ{Ld zXGvxn!lt}psJDO~)CbAv8|oS8!_5Y2wE>A*`4?rT0&NDFZ)a!&R*518wZ}#uWI2*! zAU*|)0=;U-Wup%dHajlKxQFb(IJxNQ;uw;_`ZmhiL)%frRObMltXWl;>gu;h}-MG;4lgFoC^9se9FS1{noe|+w4 z|X7^w&bwxMc%tb9OGbU__?YO}7?c29& z*RBb5vP4_i*raUh6YOD<*_dNwF3&F}M_H)YlS{{FGCcmMwV3$)|% zW#Rp&-b|V#wEcE$Y;0{&(WCFb_wUbn7nkth&Ye47s`fT8_6XPrv@j=|z5MyJa)YFl)T7e3@7^7I&iRL% zn|t!)$v0jV-YeJ{W5f1_amMV~zgaK+{{8!h$&sIp>MYViZBB|8Zr!{Y85y~9)v90I z4f8p8*qRNVOqnKM8DMB_?P~F_Mymh#_HEl1SXG60AFO@!=zR38-Iu;ES+Pp~K$v1m zVBp0UFEl%1TN`CMG_9{;XM9Sy@(gcHb&&Y}nLyKYH}YLE(UP@6C!nxAjlD zBch_Z_{HW_h>45;{`KqF@#DZuH}TbMb~_L-;8;| zadG!foZ$GJa4gw7-JVzC%f~g%Db{o965lvldA{&Adb=<+3>c=RS+<(}E2CyySlqVd z@I!$xCWhM2LhD_DS{M4ipDmmUH3kG?;v=StBv+>z2zeMNTn0 zmdKI;Vst0GJPUqW}N^ delta 1043 zcmV+u1nm2V4A%&d83+ad0027t*>aH~6AA%yQb$4nuFf3kkuffR1Jy}HK~!jg?V3MG z>s}PcPqhB2f)$Ca4sKQlK?)JHh)_g9go+l|Dk5%9&YcuQy6EKK;!sByT?C<4P&=th z)j>oNw5C>SAt1Kae&6)$%j>hhU+TS3V?K~2_nyP|o0H_+8zKMzapLv$mCRn2am!qPq8Nttj$v5u7>4zZVVEU~qG*nJd3oWWBnMZ+4-XHTV`N$8pd<%Z z!;g=Tnqy+I7zZUeO0L4++Hf%yF6JU>fve$SsuhpNIVj0da<_Ce8s(rQ2Uo+zREu|o zO)Qce930Tb#s+1xS=ITIlM~IkE-o%;W@bipP7nn0dcD+t*Vp$YokT4!Ek2B1q59cK{nW(?NpITd6>FMc-c6WCv znM@XpsjI7_!NEbY*=%%mbw$Boklx?l*^6V*+ayW)=$8(M1J~Ers_}F>jkUEkG&D5i z_1F6PdaSO0t|FaIt72|$Zs2e@KITc1#6l{V8Wu$ni9`aaR0=+y4^F2OqobqP+S&pD zJU>5UWMt&S#L&F z7i3um0QmiW%+Agto6RB~k7Hn9AaB0M;{gCHE-sdTuHnPOLnw*@K@k4AJQPI{;cyrL z5DJB`zP=8t)%xjjQc)Bf9UU<>%=9gt&1R{r?DLdnvzhMi?`daehg>cfIUJ5p=L>>B zf*|B=NWKbF!=X@!YHDg|a&j_n%;WLU+1VM5jg8Uf<|fU}%~5A(C!L?4)9~O+$_m_WH>RhjvA@3$0Jy!qRqd>tPABf}?f?M6 zU=UMNQ*gW8SYBR6CX+!d7K6oNDcxt7h|t#7hDao$8dnqr^YinluCC5|PR(XB78Vwu zD2gg35{aO_y`6bm5`eG&0npXerP}NZfb}Y~7h; z@%#N02n1AplZYq~2>fUN{hP|lN}8CMP@VhzA)X0Ln%gJ*xl;PShuv=HDT!|%ZftCF z)Er~AS~)1m!PRh6Q+!o^hU zTR+1c9UYouT3T8-D9ORqaCv#T=9ofXJy~FE9`uf3Snn8y_0Eqo{0pUUKXc3|ivIur N002ovPDHLkV1fxN`-cDk diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-76.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-76.png index d73675f80aff3baec250e5777c394c1013981fec..118c237f755ee03ba1f338f5de21c87a3c94eb84 100644 GIT binary patch literal 1865 zcmY*a4Ln=t9zM}%4QVuus+Nj0sFr+SJ|aO062wPPiQ<=3f=nbvNJxw7hlOG3^aG*V zxt*;wAFEK(D%BP1hqjbm+ltOL>sU}9b@keb_O|!F=XcKgywCr6pXdFb-}(KHJT%xJ zroT%c000<`N@0L=koMNo0iV>xAC7_(H1Qz)AOJL#8mw`2!8IzL%Af;4wlx6codkeY zkjncV05b3Z@CO?Jh!+6BBvsiSMgj|=JSHuHP6zgbSP#&FAb?FEf`AuLzz3ik7yv*g zaBQl9e5lswysrk;Z2Ew;LMV6oKcESVAHfte=|RMJQ3{sB6&>MWr75Xe0YH)xL72i5 zb5PP0fiRsYC8IYKL=bCf92&JD5hs(;OnNBFN0i1xIb-oyJlaDag+h_ixCulC#qZsA za79KZiN&cz98MyUU?q-NQCcF7;O6Fr!#m&{9PB}beR`Hq%#qp))AznL`L7R!mmZ(S zPZje;LX_5*b3~LOCZo~Xp!ehLImP^h4@tuGcWr?U;O{3^<=SFPd-zRra14uFxD{s zsG$=+)p$GLGDK%qiHX^jAQw-+BK%e#Q&UrG0;l7z3#_O%2>E>E0a>uxPQkur>*nI(5)u-ktZnJ$%GI5nogE!7 z5*JoivyUBnP&$0F%xZpq9`RQ}MO{+A`ig=lCy~iRJ)77NlZUokImzAq1=owS?rR+q z99+kahq20$)S^6tL^~z5_O|{Ma{4qm^brj4Nvm3|o}A>}4J*l1>MJpN_l2#p?CfSN z>RffT2bo--lt_qirsQALe1G%igO7{18eK8E;%~NyjjAuWl*fG2(h;Z7seK@6qEuL< zyE#Uemu-()@NaS8=iHyXzcTf;d;CR>Ml&%nF*3qbid^s6*w}P74CkLXVPIeo&R~#8 zq^0F$8*A&5($eC8aG$c~1VSOhyRQ4&t5-!L(N8*)?%Co)YR0a0~PG`eKs_-ZF6#Rvbni=RaF&eUB`Yb&B%z1i+jkx+1lP{Yx6Qe zY-L78nP^fmdk2Sy!yC8DKQAoIK6(^-SEX{6EI)cie1Nr;P!1DLU~DFQ){1ZpZ2 z3jItXsfNGDL`UnKu@3K~-f^y8S&=sOBrDpv_wxUoo&AAfW?>ORr^5^kUQSP!S5{V5 zRYmUW@$aoHFYnrYh`~719(8RpJy!lY9QVbE`iF+PP$=~C;^LW^8D9z|A~KTm_zCvZ z!OdY?0wGT|kL!MEQK@ziC7GFn#JT>WL4~~0jZUXS+#;lscH`OtdW z#{$V+bdSAj@8a^ZEGsMQ4^vZ9*Mxx*oTamIk{9xyqobCH;+0hnkAd%gJUm>GX@+?< z_$gX}iVh2ddfublUM z*LTuu)sa844c+q`V-r|QJATfi_$+PO(wVPw;7e=W=vAj|$8U0EPRi!?iDBZYc`L80 zxj{ienVHVNo()qp-CD^tjvxt&e0I+<)VbrjM0N%Jlf%RaSwq9c&r`iw+js6qf z2rqMAyR}u(Ou3Bys&m8@0|7G4+cYR$d^06KKrD9hwEUUAaH0imRX7;nyXRMgEl%~X z5&`eY&(a?&AN1F%M=IQ#&(hLg*o#!To?o^Z{To)Dc`3PTOv=;#X=uK|l<&OR`F{iW C75CTx delta 1404 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 HMWp@*f;}07 delta 1442 zcmZWpdoU}3ILNpjX-Z=5^{Cd@_;N$^e3>IH1p#@gNPYeovEHI(cd?BKQ5o8rh}lPk!D}QWB-DPBOEiDn3;PVp zzL&j<^$qRDG0DOtJi&BoC>E?gt5<&=^)AYX3d8DXoN%YC$J^`&+nG#BcMp%kzOv@_ zQ&i;BDuxj1?cFRcoq$WW)w9!5($2}){u(7s(1DmLh+h}MAu6QE$XDG8m)mfB>?bb# zgnPeiZc@_r*RMPhaxs&3lcQQ^wDKKowydnIIQ`YpbLEBK`GhkC@1LpaBXn?G*Ak?p zr0&c-muc((eK^=&vkMvk zpIzoK8D1~P>Ue^q)9HP~!*7XuH538QT+d#!MG~?A1FOV<#A4^YyEHZP2WM+w&4Ieb z$7mr`2b732^|*vj|6uTMRp8&U77=2YEj47 z=;Wz&#-x7dVtxG8Tl!m5?6iO9fjn)ri@v&?>yaZbG$%xliNBhWzF6B8*1tdEf}}NR z9%wly!|Cr2yzz5NO3Lc|*wHnvzi~Q^Mq8R-vt5*xl?hpo=yWH)Qr1m4B2LCJFPTD7 z0c;QLWZpP@Q7#EwoRn#b6H1P{4RE>YLqv;T5NdX%C%n1@0=QsiMjl+y)zy_wdkI_; zjbZX4qacb3B4NLVhl>O0_GP5ajh{yvqLZ4MtPKneX%c81g$B|>t5!LUCczF;Zn;0& z)`nhMULKzvtX1E!qjh7$8W^2om89b1bw!&B3kz>m1T!ZNIvv$lPGn7Wdfkq1)>Kkb z>M=7sot>1l1qsG38$1fTV<>dpx0~Giw#Y(WsDdu-?sg6i34xWc9C9(qs%mP}6Yb<` z1|#<2(0Ac$U(Uy@ubO=Q7Vqj#QB_q93J=e_%`P8X^)#>-9qFS5g?36`426Dl5B^Z%$^@#ow;N m0#-7~p41;J+$)|OZ*ekxU$*+ diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-81.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-81.png index 3ccd7148752d9c31abf7138c388312ec187f082b..2e3e6f8fd38640e20a120aa718c15c7df0a2560d 100644 GIT binary patch literal 1876 zcmY*a2~<;88h&Aoi9iXJ0g5(+vP%+#VF@8KKm?;n8c=CO@bCzMW+VwD5dw9gEJX%H zLfKJ549mc{(V6?sd-uEl|K0EV|9j3oFN;AB zG(cD&001zc93TfnGeh&jwV*Fd$lin|ofu!5F90YmBL4t&p*5OyAeaUK$+iHHk`4eG zO3E_;IE4oQbp!wqN&w(bahKYIh){yTW>TVQG{6zUa6k)&0<<9ngB~E01L$mH0DzRB zpb-vL@@z^T($^A zi@C8pAwlee*=7(RtO?^V=xvJVqz{HkW1#){0yf$mi^t+IBm^3bCJLgW3Blxm58I)Y z59V8uD2{-`B_<|f6J4=3bDc-%*AXe&_@C44R5upwuS zKFNi+&HTUE2OlC%WBxzIyzg{73bjf?5OE)mjf5~iF{2Lvx_c;O-y>q!Qs^Q31Yfh) zZK|T7Q)xdj1ldtm^R4o*e8F)PTgDvDH!#IY3NAmeFK7(TkFqXqskBF4FL<-{?#t0> z4q@Rf$EibV9=GUF7L8@Jb?>-2Aya&FG|cW|(D+9yMtAXo+>Q zp^3h+szh+k1I)D=1=l)ub$52&YQvc5+qT?_SzlUO+T1L2utbl%C=hQI{lU7IThR9^H z=H}+m3puG$>6ZmYaQJ$S5aw^8yd90qf9B_rx?X}rkK9*;hy1-Iy!2h&*+S)C3OOB{ zL5N3%8&dT*4tp^ZFJ8Q0#`5@lX+_1;M3KnN&TjDcc&NGY@o|;PmI_%i=v1nk$4uYHDgWHj+mn+PttO$B_Epu@jZIDYRA2S#>S{|%%fpAqg0DiZ z5{d6DNMH5#_6|+84D@tzLh9f>45xy=)Wu{0RXF1c}PRN6`T9=l)=Tt#kh=h zflzosrlYG%qtj8qKbjgE^46f*k57t!ytxZMsf{6nlB;fR4<9`E>v^$cpuhjlB_tAQ zWM~NQlSqt-KYQN#{$4ujL{Cyuk{ik0-ISh^>Cf%-%*A7VXuWvxBK(zFUEkBwQ(ax% z(eXtjD$+Bxv7w(_ht018Uc*_l(?aP8Wz2{U?a(8jA*WFu2MlwRrGyTQ~0@Z#>c zWnCZnl`G%2R$1=e?L#6N0v7_!7p}3{Y_}6|5SA%s(slIpCnTVsGFg7(hS^S;V^w)s z**Akg7b6XB$rID4M#rMwCgEsCZz2k^{BWnp>Wp;kVB7{s%Z*ER0?LXXu+95xb zdvh3knpOTNxh-8$p7`jW6r0SfEDzR?VM-SlmjUePNl)s?ZguE9N@XUsv?Ux=T^H;S z4)uePV~qQb#rVvyo;T*I^A*;C1cOojyyK^#-@doTIe2nA2kn(cgWb!zFT*;KuJFua3t*AW#u_owtx0+uO&o{=BGp1PbW9| HMWp@*f;}07 delta 1442 zcmZWpdoU}3ILNpjX-Z=5^{Cd@_;N$^e3>IH1p#@gNPYeovEHI(cd?BKQ5o8rh}lPk!D}QWB-DPBOEiDn3;PVp zzL&j<^$qRDG0DOtJi&BoC>E?gt5<&=^)AYX3d8DXoN%YC$J^`&+nG#BcMp%kzOv@_ zQ&i;BDuxj1?cFRcoq$WW)w9!5($2}){u(7s(1DmLh+h}MAu6QE$XDG8m)mfB>?bb# zgnPeiZc@_r*RMPhaxs&3lcQQ^wDKKowydnIIQ`YpbLEBK`GhkC@1LpaBXn?G*Ak?p zr0&c-muc((eK^=&vkMvk zpIzoK8D1~P>Ue^q)9HP~!*7XuH538QT+d#!MG~?A1FOV<#A4^YyEHZP2WM+w&4Ieb z$7mr`2b732^|*vj|6uTMRp8&U77=2YEj47 z=;Wz&#-x7dVtxG8Tl!m5?6iO9fjn)ri@v&?>yaZbG$%xliNBhWzF6B8*1tdEf}}NR z9%wly!|Cr2yzz5NO3Lc|*wHnvzi~Q^Mq8R-vt5*xl?hpo=yWH)Qr1m4B2LCJFPTD7 z0c;QLWZpP@Q7#EwoRn#b6H1P{4RE>YLqv;T5NdX%C%n1@0=QsiMjl+y)zy_wdkI_; zjbZX4qacb3B4NLVhl>O0_GP5ajh{yvqLZ4MtPKneX%c81g$B|>t5!LUCczF;Zn;0& z)`nhMULKzvtX1E!qjh7$8W^2om89b1bw!&B3kz>m1T!ZNIvv$lPGn7Wdfkq1)>Kkb z>M=7sot>1l1qsG38$1fTV<>dpx0~Giw#Y(WsDdu-?sg6i34xWc9C9(qs%mP}6Yb<` z1|#<2(0Ac$U(Uy@ubO=Q7Vqj#QB_q93J=e_%`P8X^)#>-9qFS5g?36`426Dl5B^Z%$^@#ow;N m0#-7~p41;J+$)|OZ*ekxU$*+ diff --git a/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-87.png b/Infini-iOS/Assets.xcassets/AppIcon.appiconset/Icon-87.png index 578d22c504ea1c4360e165beba2bc6f614b4b88d..34a6bf4136eda87847e8c45164685dcc2225ec68 100644 GIT binary patch literal 2009 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 cls9C*elg3Fd7m={d@~ diff --git a/Infini-iOS/BLE/BLEDelegates.swift b/Infini-iOS/BLE/BLEDelegates.swift index b44558a..6ad2a15 100644 --- a/Infini-iOS/BLE/BLEDelegates.swift +++ b/Infini-iOS/BLE/BLEDelegates.swift @@ -2,7 +2,7 @@ // BLEDelegates.swift // Infini-iOS // -// Created by xan-m on 8/15/21. +// Created by Alex Emry on 8/15/21. // // diff --git a/Infini-iOS/BLE/BLEManager.swift b/Infini-iOS/BLE/BLEManager.swift index 15b4f95..ed1f2c4 100644 --- a/Infini-iOS/BLE/BLEManager.swift +++ b/Infini-iOS/BLE/BLEManager.swift @@ -2,7 +2,7 @@ // BLEManager.swift // Infini-iOS // -// Created by xan-m on 8/3/21. +// Created by Alex Emry on 8/3/21. // import Foundation diff --git a/Infini-iOS/BLE/BLEManagerExtensions.swift b/Infini-iOS/BLE/BLEManagerExtensions.swift index 5f5ecf5..6763504 100644 --- a/Infini-iOS/BLE/BLEManagerExtensions.swift +++ b/Infini-iOS/BLE/BLEManagerExtensions.swift @@ -2,7 +2,7 @@ // BLEManagerExtensions.swift // Infini-iOS // -// Created by xan-m on 8/15/21. +// Created by Alex Emry on 8/15/21. // // diff --git a/Infini-iOS/ContentView.swift b/Infini-iOS/ContentView.swift index af35bd8..2b310cb 100644 --- a/Infini-iOS/ContentView.swift +++ b/Infini-iOS/ContentView.swift @@ -2,7 +2,7 @@ // ContentView.swift // Infini-iOS // -// Created by xan-m on 8/5/21. +// Created by Alex Emry on 8/5/21. // import SwiftUI @@ -13,9 +13,12 @@ struct ContentView: View { @EnvironmentObject var pageSwitcher: PageSwitcher @EnvironmentObject var bleManager: BLEManager + @ObservedObject var batteryNotifications = BatteryNotifications() @AppStorage("autoconnect") var autoconnect: Bool = false @AppStorage("autoconnectUUID") var autoconnectUUID: String = "" + @AppStorage("batteryNotification") var batteryNotification: Bool = false + init() { UINavigationBar.appearance().setBackgroundImage(UIImage(), for: UIBarMetrics.default) @@ -39,8 +42,7 @@ struct ContentView: View { } } } - // let timer = Timer.publish(every: 60, on: .main, in: .common).autoconnect() - + return NavigationView { GeometryReader { geometry in ZStack(alignment: .leading) { @@ -49,6 +51,9 @@ struct ContentView: View { // pop-up menu to connect to a device Connect().environmentObject(self.bleManager) }) + .onChange(of: bleManager.batteryLevel) { bat in + batteryNotifications.notify(bat: Int(bat), bleManager: bleManager) + } .frame(width: geometry.size.width, height: geometry.size.height) .offset(x: self.pageSwitcher.showMenu ? geometry.size.width/2 : 0) .disabled(self.pageSwitcher.showMenu ? true : false) @@ -64,12 +69,7 @@ struct ContentView: View { } } }) - // TODO: decide if this matters? I want the graph to show up because I spent a lot of time on it, but is it important enough to pollute it with a ton of data at the expense of the phone's processing power? - // P.S. don't forget timer above the navigation view - // - //.onReceive(timer) { _ in - // bleManager.batChartDataPoints.append(bleManager.updateChartInfo(data: bleManager.batteryLevel, heart: false)) - //} + .onAppear(){ // if autoconnect is set, start scan ASAP, but give bleManager half a second to start up DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, execute: { @@ -139,4 +139,3 @@ struct ContentView_Previews: PreviewProvider { .environmentObject(BLEManager()) } } - diff --git a/Infini-iOS/DFU/DFU.swift b/Infini-iOS/DFU/DFU.swift index 45b19e1..ad24561 100644 --- a/Infini-iOS/DFU/DFU.swift +++ b/Infini-iOS/DFU/DFU.swift @@ -2,7 +2,7 @@ // DFU.swift // Infini-iOS // -// Created by xan-m on 8/11/21. +// Created by Alex Emry on 8/11/21. // import Foundation @@ -15,9 +15,9 @@ class DFU_Updater: ObservableObject, DFUServiceDelegate, DFUProgressDelegate, Lo var deviceToUpgrade: BLEManager.Peripheral! var dfuController: DFUServiceController! - //@Published var dfuState: DFUState = DFUState.starting + @Published var dfuState: String = "" @Published var transferFailed = false - @Published var percentComplete: Double! + @Published var percentComplete: Double = 0 func prepare(location: URL, device: BLEManager) { @@ -50,8 +50,7 @@ class DFU_Updater: ObservableObject, DFUServiceDelegate, DFUProgressDelegate, Lo // stubs added automatically. func dfuStateDidChange(to state: DFUState) { - print(state.description()) - + dfuState = state.description() } func dfuError(_ error: DFUError, didOccurWithMessage message: String) { diff --git a/Infini-iOS/Infini_iOSApp.swift b/Infini-iOS/Infini_iOSApp.swift index e156d4f..525828c 100644 --- a/Infini-iOS/Infini_iOSApp.swift +++ b/Infini-iOS/Infini_iOSApp.swift @@ -2,7 +2,7 @@ // Infini_iOSApp.swift // Infini-iOS // -// Created by xan-m on 8/5/21. +// Created by Alex Emry on 8/5/21. // import SwiftUI diff --git a/Infini-iOS/Music/BLEMusic.swift b/Infini-iOS/Music/BLEMusic.swift index 2675fed..33e8e1f 100644 --- a/Infini-iOS/Music/BLEMusic.swift +++ b/Infini-iOS/Music/BLEMusic.swift @@ -2,7 +2,7 @@ // BLEMusic.swift // Infini-iOS // -// Created by xan-m on 8/7/21. +// Created by Alex Emry on 8/7/21. // import Foundation diff --git a/Infini-iOS/Music/MusicController.swift b/Infini-iOS/Music/MusicController.swift index fc250ac..00ab338 100644 --- a/Infini-iOS/Music/MusicController.swift +++ b/Infini-iOS/Music/MusicController.swift @@ -2,7 +2,7 @@ // MusicController.swift // Infini-iOS // -// Created by xan-m on 8/7/21. +// Created by Alex Emry on 8/7/21. // import Foundation diff --git a/Infini-iOS/Notifications/Notifications.swift b/Infini-iOS/Notifications/Notifications.swift index f0a5090..3a52722 100644 --- a/Infini-iOS/Notifications/Notifications.swift +++ b/Infini-iOS/Notifications/Notifications.swift @@ -2,7 +2,7 @@ // Notifications.swift // Infini-iOS // -// Created by xan-m on 8/8/21. +// Created by Alex Emry on 8/8/21. // import Foundation diff --git a/Infini-iOS/Persistence.swift b/Infini-iOS/Persistence.swift index 713cfda..87aacc2 100644 --- a/Infini-iOS/Persistence.swift +++ b/Infini-iOS/Persistence.swift @@ -2,7 +2,7 @@ // Persistence.swift // Infini-iOS // -// Created by xan-m on 8/5/21. +// Created by Alex Emry on 8/5/21. // import CoreData diff --git a/Infini-iOS/Settings/Notification Settings/PhoneNotificationsView.swift b/Infini-iOS/Settings/Notification Settings/PhoneNotificationsView.swift index 4111171..a87a2fb 100644 --- a/Infini-iOS/Settings/Notification Settings/PhoneNotificationsView.swift +++ b/Infini-iOS/Settings/Notification Settings/PhoneNotificationsView.swift @@ -2,7 +2,7 @@ // PhoneNotificationsView.swift // Infini-iOS // -// Created by xan-m on 8/16/21. +// Created by Alex Emry on 8/16/21. // // diff --git a/Infini-iOS/Settings/Notification Settings/WatchNotificationsView.swift b/Infini-iOS/Settings/Notification Settings/WatchNotificationsView.swift index 57e10b2..b078de0 100644 --- a/Infini-iOS/Settings/Notification Settings/WatchNotificationsView.swift +++ b/Infini-iOS/Settings/Notification Settings/WatchNotificationsView.swift @@ -2,7 +2,7 @@ // WatchNotificationsView.swift // Infini-iOS // -// Created by xan-m on 8/16/21. +// Created by Alex Emry on 8/16/21. // // diff --git a/Infini-iOS/Settings/SettingsFunctions.swift b/Infini-iOS/Settings/SettingsFunctions.swift index ed12947..74fec37 100644 --- a/Infini-iOS/Settings/SettingsFunctions.swift +++ b/Infini-iOS/Settings/SettingsFunctions.swift @@ -2,18 +2,30 @@ // SettingsFunctions.swift // Infini-iOS // -// Created by xan-m on 8/15/21. +// Created by Alex Emry on 8/15/21. // // import Foundation -class SettingsFunctions { - func batteryNotification(bat: Int, bleManager: BLEManager) { - if bat == 20 { - print("test") - bleManager.sendNotification(notification: "Battery at 20%") +class BatteryNotifications: ObservableObject { + + @Published var twenty: Bool = false + @Published var ten: Bool = false + + func notify(bat: Int, bleManager: BLEManager) { + if UserDefaults.standard.object(forKey: "batteryNotifications") as! Bool? == true{ + if bat > 20 { + twenty = false + ten = false + } else if (bat <= 20 && bat > 10) && twenty == false { + bleManager.sendNotification(notification: "Battery Low") + twenty = true + } else if (bat <= 10 && bat > 5) && ten == false { + bleManager.sendNotification(notification: "Battery Low") + ten = true + } } } } diff --git a/Infini-iOS/Utilities/ColorPalette.swift b/Infini-iOS/Utilities/ColorPalette.swift index d05e1b1..e87b8c9 100644 --- a/Infini-iOS/Utilities/ColorPalette.swift +++ b/Infini-iOS/Utilities/ColorPalette.swift @@ -2,7 +2,7 @@ // ColorPalette.swift // Infini-iOS // -// Created by xan-m on 8/16/21. +// Created by Alex Emry on 8/16/21. // // diff --git a/Infini-iOS/Utilities/HexStringToData.swift b/Infini-iOS/Utilities/HexStringToData.swift index a7e5fac..e9fc8fa 100644 --- a/Infini-iOS/Utilities/HexStringToData.swift +++ b/Infini-iOS/Utilities/HexStringToData.swift @@ -2,7 +2,7 @@ // HexStringToData.swift // Infini-iOS // -// Cloned by xan-m on 8/4/21 (with many thanks) from https://gist.github.com/gamako/94c8cb8873cabb97291b5a839ead50ca +// Cloned by Alex Emry on 8/4/21 (with many thanks) from https://gist.github.com/gamako/94c8cb8873cabb97291b5a839ead50ca // // extends String to add .hex and .hexData conversions to make my life a million times easier when writing to PineTime // diff --git a/Infini-iOS/View Components/BLEConnectView.swift b/Infini-iOS/View Components/BLEConnectView.swift index 31357fa..a3f7320 100644 --- a/Infini-iOS/View Components/BLEConnectView.swift +++ b/Infini-iOS/View Components/BLEConnectView.swift @@ -2,7 +2,7 @@ // BLEView.swift // Infini-iOS // -// Created by xan-m on 8/11/21. +// Created by Alex Emry on 8/11/21. // import Foundation diff --git a/Infini-iOS/View Components/BLEStatusView.swift b/Infini-iOS/View Components/BLEStatusView.swift index 3a53e28..1170b35 100644 --- a/Infini-iOS/View Components/BLEStatusView.swift +++ b/Infini-iOS/View Components/BLEStatusView.swift @@ -2,7 +2,7 @@ // BLEStatusView.swift // Infini-iOS // -// Created by xan-m on 8/13/21. +// Created by Alex Emry on 8/13/21. // import Foundation @@ -43,7 +43,7 @@ struct StatusView: View { .padding(.vertical, 7) .frame(maxWidth: .infinity, alignment: .center) .background(colorScheme == .dark ? Color.gray : Color.lightGray) - .foregroundColor(colorScheme == .dark ? Color.gray : Color.white) + .foregroundColor(Color.white) .cornerRadius(10) .padding(.horizontal, 20) .padding(.bottom) diff --git a/Infini-iOS/View Components/DFU/DFUProgressBar.swift b/Infini-iOS/View Components/DFU/DFUProgressBar.swift index c57f56e..7cebc68 100644 --- a/Infini-iOS/View Components/DFU/DFUProgressBar.swift +++ b/Infini-iOS/View Components/DFU/DFUProgressBar.swift @@ -2,7 +2,7 @@ // DFUProgressBar.swift // Infini-iOS // -// Created by xan-m on 8/19/21. +// Created by Alex Emry on 8/19/21. // // @@ -16,6 +16,9 @@ struct DFUProgressBar: View { @EnvironmentObject var dfuUpdater: DFU_Updater var body: some View { + VStack { + Text("DFU Status: " + dfuUpdater.dfuState) + Text("Progress:") ZStack { GeometryReader { geometry in Capsule() @@ -23,11 +26,12 @@ struct DFUProgressBar: View { .foregroundColor(colorScheme == .dark ? Color.darkGray : Color.gray) .padding(.horizontal) Capsule() - .frame(width: (geometry.size.width * CGFloat((dfuUpdater.percentComplete ?? 0.0)/100)) * 0.9, height: 10) + .frame(width: (geometry.size.width * CGFloat((dfuUpdater.percentComplete)/100)) * 0.9, height: 10) .foregroundColor(colorScheme == .dark ? Color.white : Color.black) .padding(.horizontal) .animation(.easeIn) } + } } } } diff --git a/Infini-iOS/View Components/DFU/DFUView.swift b/Infini-iOS/View Components/DFU/DFUView.swift index 0bdbaeb..11490de 100644 --- a/Infini-iOS/View Components/DFU/DFUView.swift +++ b/Infini-iOS/View Components/DFU/DFUView.swift @@ -2,7 +2,7 @@ // DFUView.swift // Infini-iOS // -// Created by xan-m on 8/11/21. +// Created by Alex Emry on 8/11/21. // import Foundation @@ -45,11 +45,8 @@ struct DFUView: View { Spacer() if updateStarted { - Text("Progress:") - .frame(maxWidth: .infinity, alignment: .center) - .padding(.horizontal) DFUProgressBar().environmentObject(dfuUpdater) - .frame(height: 20 ,alignment: .center) + .frame(height: 40 ,alignment: .center) .padding() } @@ -60,7 +57,7 @@ struct DFUView: View { .padding() .padding(.vertical, 7) .frame(maxWidth: .infinity, alignment: .center) - .background(Color.gray) + .background(colorScheme == .dark ? Color.darkGray : Color.gray) .foregroundColor(Color.white) .cornerRadius(10) .padding(.horizontal, 20) diff --git a/Infini-iOS/View Components/PageSwitcher.swift b/Infini-iOS/View Components/PageSwitcher.swift index 24d6191..65d8b55 100644 --- a/Infini-iOS/View Components/PageSwitcher.swift +++ b/Infini-iOS/View Components/PageSwitcher.swift @@ -2,7 +2,7 @@ // PageSwitcher.swift // Infini-iOS // -// Created by xan-m on 8/12/21. +// Created by Alex Emry on 8/12/21. // import Foundation diff --git a/Infini-iOS/View Components/SettingsView.swift b/Infini-iOS/View Components/SettingsView.swift index b9923dd..503cb3b 100644 --- a/Infini-iOS/View Components/SettingsView.swift +++ b/Infini-iOS/View Components/SettingsView.swift @@ -2,7 +2,7 @@ // SettingsView.swift // Infini-iOS // -// Created by xan-m on 8/15/21. +// Created by Alex Emry on 8/15/21. // // diff --git a/Infini-iOS/View Components/SideMenu.swift b/Infini-iOS/View Components/SideMenu.swift index ac58b04..f16b38f 100644 --- a/Infini-iOS/View Components/SideMenu.swift +++ b/Infini-iOS/View Components/SideMenu.swift @@ -2,7 +2,7 @@ // SideMenu.swift // Infini-iOS // -// Created by xan-m on 8/12/21. +// Created by Alex Emry on 8/12/21. // import SwiftUI diff --git a/Infini-iOS/View Components/Status View Components/BatteryChart.swift b/Infini-iOS/View Components/Status View Components/BatteryChart.swift index 30b1ad4..2413417 100644 --- a/Infini-iOS/View Components/Status View Components/BatteryChart.swift +++ b/Infini-iOS/View Components/Status View Components/BatteryChart.swift @@ -2,7 +2,7 @@ // File.swift // Infini-iOS // -// Created by xan-m on 8/18/21. +// Created by Alex Emry on 8/18/21. // // diff --git a/Infini-iOS/View Components/Status View Components/HeartChart.swift b/Infini-iOS/View Components/Status View Components/HeartChart.swift index 55e8221..b80974c 100644 --- a/Infini-iOS/View Components/Status View Components/HeartChart.swift +++ b/Infini-iOS/View Components/Status View Components/HeartChart.swift @@ -2,7 +2,7 @@ // File.swift // Infini-iOS // -// Created by xan-m on 8/18/21. +// Created by Alex Emry on 8/18/21. // // diff --git a/Infini-iOS/View Components/Status View Components/StatusViewTabs.swift b/Infini-iOS/View Components/Status View Components/StatusViewTabs.swift index 79b3f77..510366b 100644 --- a/Infini-iOS/View Components/Status View Components/StatusViewTabs.swift +++ b/Infini-iOS/View Components/Status View Components/StatusViewTabs.swift @@ -2,7 +2,7 @@ // StatusViewTabs.swift // Infini-iOS // -// Created by xan-m on 8/18/21. +// Created by Alex Emry on 8/18/21. // // diff --git a/Infini-iOSTests/Infini_iOSTests.swift b/Infini-iOSTests/Infini_iOSTests.swift index 3075db2..a29c723 100644 --- a/Infini-iOSTests/Infini_iOSTests.swift +++ b/Infini-iOSTests/Infini_iOSTests.swift @@ -2,7 +2,7 @@ // Infini_iOSTests.swift // Infini-iOSTests // -// Created by xan-m on 8/5/21. +// Created by Alex Emry on 8/5/21. // import XCTest diff --git a/Infini-iOSUITests/Infini_iOSUITests.swift b/Infini-iOSUITests/Infini_iOSUITests.swift index 9cf2d7b..8e9ca70 100644 --- a/Infini-iOSUITests/Infini_iOSUITests.swift +++ b/Infini-iOSUITests/Infini_iOSUITests.swift @@ -2,7 +2,7 @@ // Infini_iOSUITests.swift // Infini-iOSUITests // -// Created by xan-m on 8/5/21. +// Created by Alex Emry on 8/5/21. // import XCTest diff --git a/PrivacyPolicy.md b/PrivacyPolicy.md new file mode 100644 index 0000000..9296281 --- /dev/null +++ b/PrivacyPolicy.md @@ -0,0 +1,4 @@ +# Privacy Policy + +Your privacy is important to me. That's why I don't collect any personal information whatsoever. +