Finish v0.8.0

This commit is contained in:
manuroe 2019-02-15 21:53:23 +01:00
commit 200440143e
403 changed files with 15470 additions and 2182 deletions

View file

@ -1,9 +1,44 @@
Changes in 0.8.0 (2019-02-15)
===============================================
Improvements:
* Upgrade MatrixKit version (v0.9.5 - https://github.com/matrix-org/matrix-ios-kit/releases/tag/v0.9.5).
* Theming: Create ThemeService to make theming easier. Use it to reskin Riot.
* Use modern literals and array/dictionary syntax where possible (PR #2160).
* Add SwiftGen pod in order to generate Swift constants for assets (#2177).
* RoomVC: Remove the beta warning modal when opening an e2e room (#2239).
* RoomVC: `Redact` has been renamed to `Remove` to match riot/web (#2134).
* Clean up iOS version checking (#2190).
* Key backup: Implement setup screen (#2198).
* Key backup: Implement recover screen (#2196).
* Key backup: Add a dedicated section to settings (#2193).
* Key backup: Implement setup reminder (#2211).
* Key backup: Implement recover reminder (#2206).
* Key backup: Update key backup setup UI and UX (PR #2243).
* Key backup: Logout warning (#2245).
* Key backup: new recover method detected (#2230).
Bug fix:
* Use white scroll bar on dark themes (#2158).
* Registration: fix tap gesture on checkboxes in the terms screen.
* Registration: improve validation UX on the terms screen (#2164).
* Registration: improve scrolling on the reCaptcha screen (#2165).
* Infinite loading wheel when taping on a fake room alias (#679).
* Ban and kick reasons are silently discarded (#2162).
* Room Version Upgrade: Clicking the link in the room continuation event to go back to the old version of the room doesn't work (#2179).
* Share extension: Fail to send screenshot (#2168).
* Share extension: Handle rich item sharing (image + text + URL) (#2224).
* Share extension: Sharing pages from Firefox only shares their title (#2163).
* Share extension: Fix unloaded theme (PR #2235).
* Reskin: Jump to first unread message doesn't show up in 0.7.12 TF (#2218).
* Reskin: Sometimes the roomVC navigation bar is tranparent (#2252).
Changes in 0.7.11 (2019-01-08)
===============================================
Improvements:
* Upgrade MatrixKit version (v0.9.3).
* Fix almost all the warnings caused by -Wstrict-prototypes, thanks to @fridtjof (PR #2155).
* Upgrade MatrixKit version (v0.9.3).
* Fix almost all the warnings caused by -Wstrict-prototypes, thanks to @fridtjof (PR #2155).
Changes in 0.7.10 (2019-01-04)
===============================================
@ -15,10 +50,10 @@ Changes in 0.7.9 (2019-01-04)
===============================================
Improvements:
* Upgrade MatrixKit version (v0.9.2).
* Upgrade MatrixKit version (v0.9.2).
Bug fix:
* Registration: email or phone number is no more skippable (#2140).
* Registration: email or phone number is no more skippable (#2140).
Changes in 0.7.8 (2018-12-12)
===============================================

View file

@ -9,7 +9,7 @@ source 'https://github.com/CocoaPods/Specs.git'
# Different flavours of pods to MatrixKit
# The current MatrixKit pod version
$matrixKitVersion = '0.9.3'
$matrixKitVersion = '0.9.5'
# The develop branch version
#$matrixKitVersion = 'develop'
@ -76,7 +76,10 @@ abstract_target 'RiotPods' do
pod 'OLMKit', :inhibit_warnings => true
pod 'cmark', :inhibit_warnings => true
pod 'DTCoreText', :inhibit_warnings => true
pod 'zxcvbn-ios'
# Tools
pod 'SwiftGen', '~> 6.0'
target "Riot" do
import_MatrixKit

View file

@ -44,38 +44,38 @@ PODS:
- HPGrowingTextView (1.1)
- libbase58 (0.1.4)
- libPhoneNumber-iOS (0.9.13)
- MatrixKit (0.9.3):
- MatrixKit (0.9.5):
- cmark (~> 0.24.1)
- DTCoreText (~> 1.6.21)
- HPGrowingTextView (~> 1.1)
- libPhoneNumber-iOS (~> 0.9.13)
- MatrixKit/Core (= 0.9.3)
- MatrixSDK (= 0.12.1)
- MatrixKit/AppExtension (0.9.3):
- MatrixKit/Core (= 0.9.5)
- MatrixSDK (= 0.12.2)
- MatrixKit/AppExtension (0.9.5):
- cmark (~> 0.24.1)
- DTCoreText (~> 1.6.21)
- DTCoreText/Extension
- HPGrowingTextView (~> 1.1)
- libPhoneNumber-iOS (~> 0.9.13)
- MatrixSDK (= 0.12.1)
- MatrixKit/Core (0.9.3):
- MatrixSDK (= 0.12.2)
- MatrixKit/Core (0.9.5):
- cmark (~> 0.24.1)
- DTCoreText (~> 1.6.21)
- HPGrowingTextView (~> 1.1)
- libPhoneNumber-iOS (~> 0.9.13)
- MatrixSDK (= 0.12.1)
- MatrixSDK (0.12.1):
- MatrixSDK/Core (= 0.12.1)
- MatrixSDK/Core (0.12.1):
- MatrixSDK (= 0.12.2)
- MatrixSDK (0.12.2):
- MatrixSDK/Core (= 0.12.2)
- MatrixSDK/Core (0.12.2):
- AFNetworking (~> 3.2.0)
- GZIP (~> 1.2.2)
- libbase58 (~> 0.1.4)
- OLMKit (~> 3.0.0)
- Realm (~> 3.11.1)
- MatrixSDK/JingleCallStack (0.12.1):
- MatrixSDK/JingleCallStack (0.12.2):
- MatrixSDK/Core
- WebRTC (= 63.11.20455)
- MatrixSDK/SwiftSupport (0.12.1):
- MatrixSDK/SwiftSupport (0.12.2):
- MatrixSDK/Core
- OLMKit (3.0.0):
- OLMKit/olmc (= 3.0.0)
@ -93,19 +93,23 @@ PODS:
- Reusable/View (= 4.0.5)
- Reusable/Storyboard (4.0.5)
- Reusable/View (4.0.5)
- SwiftGen (6.0.2)
- WebRTC (63.11.20455)
- zxcvbn-ios (1.0.4)
DEPENDENCIES:
- cmark
- DTCoreText
- GBDeviceInfo (~> 5.2.0)
- MatrixKit (= 0.9.3)
- MatrixKit/AppExtension (= 0.9.3)
- MatrixKit (= 0.9.5)
- MatrixKit/AppExtension (= 0.9.5)
- MatrixSDK/JingleCallStack
- MatrixSDK/SwiftSupport
- OLMKit
- PiwikTracker (from `https://github.com/manuroe/matomo-sdk-ios.git`, branch `feature/CustomVariables`)
- Reusable (~> 4.0)
- SwiftGen (~> 6.0)
- zxcvbn-ios
SPEC REPOS:
https://github.com/cocoapods/specs.git:
@ -123,7 +127,9 @@ SPEC REPOS:
- OLMKit
- Realm
- Reusable
- SwiftGen
- WebRTC
- zxcvbn-ios
EXTERNAL SOURCES:
PiwikTracker:
@ -145,14 +151,16 @@ SPEC CHECKSUMS:
HPGrowingTextView: 88a716d97fb853bcb08a4a08e4727da17efc9b19
libbase58: 7c040313537b8c44b6e2d15586af8e21f7354efd
libPhoneNumber-iOS: e444379ac18bbfbdefad571da735b2cd7e096caa
MatrixKit: af9f94f36644bc21b63b114413f7bb510506b7d1
MatrixSDK: f1f510d467d127a5f7afafaafa1554ac5d602132
MatrixKit: 97bfda595111fe052ea8dbe74f5f65e2eca104a6
MatrixSDK: 60a9472eacdf51e5110b8bc7beba844debf992ef
OLMKit: 88eda69110489f817d59bcb4353b7c247570aa4f
PiwikTracker: 42862c7b13028065c3dfd36b4dc38db8a5765acf
Realm: 864477d028db77f7c5a0cba64a4892ad53db128a
Reusable: 188be1a54ac0691bc66e5bb24ec6eb91971b315b
SwiftGen: e5b047067aa84082826a0c4f1c4c2ddc95bcf74c
WebRTC: f2a6203584745fe53532633397557876b5d71640
zxcvbn-ios: fef98b7c80f1512ff0eec47ac1fa399fc00f7e3c
PODFILE CHECKSUM: fc0574145026734bcc9f3266b7b92f815ebf97e4
PODFILE CHECKSUM: e4a36bd00d4da77d377d00e5df6044e3ccce3b4c
COCOAPODS: 1.6.0.beta.2

View file

@ -10,17 +10,86 @@
24CBEC591F0EAD310093EABB /* RiotShareExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 24CBEC4E1F0EAD310093EABB /* RiotShareExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
24EEE5A21F23A8B400B3C705 /* MXRoom+Riot.m in Sources */ = {isa = PBXBuildFile; fileRef = F083BBE81E7009EC00A9B29C /* MXRoom+Riot.m */; };
24EEE5A31F23A8C300B3C705 /* AvatarGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = F083BC111E7009EC00A9B29C /* AvatarGenerator.m */; };
3209451221F1C1430088CAA2 /* BlackTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3209451121F1C1430088CAA2 /* BlackTheme.swift */; };
3209451321F1C1D50088CAA2 /* BlackTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3209451121F1C1430088CAA2 /* BlackTheme.swift */; };
32242F0921E8B05F00725742 /* UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32242F0821E8B05F00725742 /* UIColor.swift */; };
32242F0A21E8B21300725742 /* UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32242F0821E8B05F00725742 /* UIColor.swift */; };
32242F1221E8FBA900725742 /* ThemeService.m in Sources */ = {isa = PBXBuildFile; fileRef = 32242F0C21E8FBA900725742 /* ThemeService.m */; };
32242F1321E8FBA900725742 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32242F0D21E8FBA900725742 /* Theme.swift */; };
32242F1421E8FBA900725742 /* DefaultTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32242F0F21E8FBA900725742 /* DefaultTheme.swift */; };
32242F1521E8FBA900725742 /* DarkTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32242F1021E8FBA900725742 /* DarkTheme.swift */; };
32242F1621E8FBCC00725742 /* ThemeService.m in Sources */ = {isa = PBXBuildFile; fileRef = 32242F0C21E8FBA900725742 /* ThemeService.m */; };
32242F1721E8FBE500725742 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32242F0D21E8FBA900725742 /* Theme.swift */; };
32242F1821E8FBF800725742 /* DefaultTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32242F0F21E8FBA900725742 /* DefaultTheme.swift */; };
32242F1921E8FBFB00725742 /* DarkTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32242F1021E8FBA900725742 /* DarkTheme.swift */; };
3233F7461F3497E2006ACA81 /* JitsiMeet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3233F7441F3497DA006ACA81 /* JitsiMeet.framework */; };
3233F7471F3497E2006ACA81 /* JitsiMeet.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3233F7441F3497DA006ACA81 /* JitsiMeet.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
3275FD8C21A5A2C500B9C13D /* TermsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3275FD8B21A5A2C500B9C13D /* TermsView.swift */; };
3281BCF72201FA4200F4A383 /* UIControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3281BCF62201FA4200F4A383 /* UIControl.swift */; };
3284A35120A07C210044F922 /* postMessageAPI.js in Resources */ = {isa = PBXBuildFile; fileRef = 3284A35020A07C210044F922 /* postMessageAPI.js */; };
32B1FEDB21A46F2C00637127 /* TermsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 32B1FEDA21A46F2C00637127 /* TermsView.xib */; };
32BF994F21FA29A400698084 /* SettingsKeyBackupViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BF994E21FA29A400698084 /* SettingsKeyBackupViewModel.swift */; };
32BF995121FA29DC00698084 /* SettingsKeyBackupViewModelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BF995021FA29DC00698084 /* SettingsKeyBackupViewModelType.swift */; };
32BF995321FA2A1300698084 /* SettingsKeyBackupViewState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BF995221FA2A1300698084 /* SettingsKeyBackupViewState.swift */; };
32BF995521FA2AB700698084 /* SettingsKeyBackupViewAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BF995421FA2AB700698084 /* SettingsKeyBackupViewAction.swift */; };
32BF995721FB07A400698084 /* SettingsKeyBackupTableViewSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BF995621FB07A400698084 /* SettingsKeyBackupTableViewSection.swift */; };
358DB9429359F97520545D35 /* Pods_RiotPods_RiotShareExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5856BA7A55E53C0AEAFC084 /* Pods_RiotPods_RiotShareExtension.framework */; };
89C94E649229EA68AE787E9E /* Pods_RiotPods_Riot.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2510A69B4A681C1FEC36E848 /* Pods_RiotPods_Riot.framework */; };
926FA53F1F4C132000F826C2 /* MXSession+Riot.m in Sources */ = {isa = PBXBuildFile; fileRef = 926FA53E1F4C132000F826C2 /* MXSession+Riot.m */; };
92726A471F58737A004AD26F /* IntentHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 92726A461F58737A004AD26F /* IntentHandler.m */; };
92726A4B1F58737A004AD26F /* SiriIntents.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 92726A431F58737A004AD26F /* SiriIntents.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
92726A511F587410004AD26F /* Intents.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 92726A501F587410004AD26F /* Intents.framework */; };
B104C2942203773C00D9F496 /* KeyBackupBannerPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = B104C2932203773B00D9F496 /* KeyBackupBannerPreferences.swift */; };
B1057789221304EC00334B1E /* KeyBackupSetupSuccessFromPassphraseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1057788221304EB00334B1E /* KeyBackupSetupSuccessFromPassphraseViewController.swift */; };
B105778B221304FA00334B1E /* KeyBackupSetupSuccessFromPassphraseViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B105778A221304FA00334B1E /* KeyBackupSetupSuccessFromPassphraseViewController.storyboard */; };
B105778D2213051E00334B1E /* KeyBackupSetupSuccessFromRecoveryKeyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B105778C2213051E00334B1E /* KeyBackupSetupSuccessFromRecoveryKeyViewController.swift */; };
B105778F2213052A00334B1E /* KeyBackupSetupSuccessFromRecoveryKeyViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B105778E2213052A00334B1E /* KeyBackupSetupSuccessFromRecoveryKeyViewController.storyboard */; };
B1098BDF21ECE09F000DDA48 /* Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BDA21ECE09E000DDA48 /* Strings.swift */; };
B1098BE121ECE09F000DDA48 /* Images.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BDC21ECE09E000DDA48 /* Images.swift */; };
B1098BE321ECE09F000DDA48 /* RiotDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BDE21ECE09E000DDA48 /* RiotDefaults.swift */; };
B1098BE521ECE1FC000DDA48 /* Storyboards.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BE421ECE1FC000DDA48 /* Storyboards.swift */; };
B1098BE821ECFE52000DDA48 /* Coordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BE721ECFE51000DDA48 /* Coordinator.swift */; };
B1098BF621ECFE65000DDA48 /* KeyBackupSetupPassphraseCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BEA21ECFE64000DDA48 /* KeyBackupSetupPassphraseCoordinator.swift */; };
B1098BF721ECFE65000DDA48 /* PasswordStrength.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BEB21ECFE64000DDA48 /* PasswordStrength.swift */; };
B1098BF821ECFE65000DDA48 /* KeyBackupSetupPassphraseViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B1098BEC21ECFE64000DDA48 /* KeyBackupSetupPassphraseViewController.storyboard */; };
B1098BF921ECFE65000DDA48 /* KeyBackupSetupCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BED21ECFE64000DDA48 /* KeyBackupSetupCoordinator.swift */; };
B1098BFA21ECFE65000DDA48 /* KeyBackupSetupPassphraseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BEE21ECFE64000DDA48 /* KeyBackupSetupPassphraseViewModel.swift */; };
B1098BFB21ECFE65000DDA48 /* KeyBackupSetupCoordinatorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BEF21ECFE64000DDA48 /* KeyBackupSetupCoordinatorType.swift */; };
B1098BFC21ECFE65000DDA48 /* PasswordStrengthView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1098BF021ECFE64000DDA48 /* PasswordStrengthView.xib */; };
B1098BFD21ECFE65000DDA48 /* PasswordStrengthManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BF121ECFE64000DDA48 /* PasswordStrengthManager.swift */; };
B1098BFE21ECFE65000DDA48 /* KeyBackupSetupPassphraseViewModelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BF221ECFE64000DDA48 /* KeyBackupSetupPassphraseViewModelType.swift */; };
B1098BFF21ECFE65000DDA48 /* PasswordStrengthView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BF321ECFE64000DDA48 /* PasswordStrengthView.swift */; };
B1098C0021ECFE65000DDA48 /* KeyBackupSetupPassphraseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BF421ECFE64000DDA48 /* KeyBackupSetupPassphraseViewController.swift */; };
B1098C0121ECFE65000DDA48 /* KeyBackupSetupPassphraseCoordinatorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098BF521ECFE64000DDA48 /* KeyBackupSetupPassphraseCoordinatorType.swift */; };
B1098C0D21ED07E4000DDA48 /* NavigationRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098C0821ED07E4000DDA48 /* NavigationRouter.swift */; };
B1098C1021ED07E4000DDA48 /* Presentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098C0B21ED07E4000DDA48 /* Presentable.swift */; };
B1098C1121ED07E4000DDA48 /* NavigationRouterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1098C0C21ED07E4000DDA48 /* NavigationRouterType.swift */; };
B10B3B5B2201DD740072C76B /* KeyBackupBannerCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B10B3B592201DD740072C76B /* KeyBackupBannerCell.swift */; };
B10B3B5C2201DD740072C76B /* KeyBackupBannerCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B10B3B5A2201DD740072C76B /* KeyBackupBannerCell.xib */; };
B1107EC82200B0720038014B /* KeyBackupRecoverSuccessViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1107EC72200B0720038014B /* KeyBackupRecoverSuccessViewController.swift */; };
B1107ECA2200B09F0038014B /* KeyBackupRecoverSuccessViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B1107EC92200B09F0038014B /* KeyBackupRecoverSuccessViewController.storyboard */; };
B110871D21F087F4003554A5 /* KeyBackupSetupPassphraseViewState.swift in Sources */ = {isa = PBXBuildFile; fileRef = B110871C21F087F4003554A5 /* KeyBackupSetupPassphraseViewState.swift */; };
B110872321F098F0003554A5 /* ActivityIndicatorPresenterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B110871F21F098EF003554A5 /* ActivityIndicatorPresenterType.swift */; };
B110872421F098F0003554A5 /* ActivityIndicatorView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B110872021F098EF003554A5 /* ActivityIndicatorView.xib */; };
B110872521F098F0003554A5 /* ActivityIndicatorPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B110872121F098EF003554A5 /* ActivityIndicatorPresenter.swift */; };
B110872621F098F0003554A5 /* ActivityIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B110872221F098F0003554A5 /* ActivityIndicatorView.swift */; };
B139C21B21FE5B9200BB68EC /* KeyBackupRecoverFromPassphraseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B139C21A21FE5B9100BB68EC /* KeyBackupRecoverFromPassphraseViewModel.swift */; };
B139C21D21FE5BF500BB68EC /* KeyBackupRecoverFromPassphraseViewModelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B139C21C21FE5BF500BB68EC /* KeyBackupRecoverFromPassphraseViewModelType.swift */; };
B139C21F21FE5D6600BB68EC /* KeyBackupRecoverFromPassphraseViewAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B139C21E21FE5D6600BB68EC /* KeyBackupRecoverFromPassphraseViewAction.swift */; };
B139C22121FE5D9D00BB68EC /* KeyBackupRecoverFromPassphraseViewState.swift in Sources */ = {isa = PBXBuildFile; fileRef = B139C22021FE5D9D00BB68EC /* KeyBackupRecoverFromPassphraseViewState.swift */; };
B139C22321FF01B200BB68EC /* KeyBackupRecoverFromPassphraseCoordinatorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B139C22221FF01B200BB68EC /* KeyBackupRecoverFromPassphraseCoordinatorType.swift */; };
B139C22521FF01C100BB68EC /* KeyBackupRecoverFromPassphraseCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B139C22421FF01C100BB68EC /* KeyBackupRecoverFromPassphraseCoordinator.swift */; };
B140B4A221F87F7100E3F5FE /* OperationQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = B140B4A121F87F7100E3F5FE /* OperationQueue.swift */; };
B140B4A621F89E7600E3F5FE /* KeyBackupSetupCoordinatorBridgePresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B140B4A521F89E7600E3F5FE /* KeyBackupSetupCoordinatorBridgePresenter.swift */; };
B140B4A821F8AB4600E3F5FE /* KeyBackupRecoverCoordinatorBridgePresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B140B4A721F8AB4600E3F5FE /* KeyBackupRecoverCoordinatorBridgePresenter.swift */; };
B14F142E22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B14F142622144F6400FA0595 /* KeyBackupRecoverFromRecoveryKeyViewController.storyboard */; };
B14F142F22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewModelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B14F142722144F6400FA0595 /* KeyBackupRecoverFromRecoveryKeyViewModelType.swift */; };
B14F143022144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyCoordinatorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B14F142822144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyCoordinatorType.swift */; };
B14F143122144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewState.swift in Sources */ = {isa = PBXBuildFile; fileRef = B14F142922144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewState.swift */; };
B14F143222144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B14F142A22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyCoordinator.swift */; };
B14F143322144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B14F142B22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewModel.swift */; };
B14F143422144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B14F142C22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewAction.swift */; };
B14F143522144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B14F142D22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewController.swift */; };
B1664BC520F4E67600808783 /* FallbackViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1664BAD20F4E67500808783 /* FallbackViewController.xib */; };
B1664BC620F4E67600808783 /* FallbackViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1664BAE20F4E67500808783 /* FallbackViewController.m */; };
B1664BC720F4E67600808783 /* SharePresentingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1664BB220F4E67500808783 /* SharePresentingViewController.m */; };
@ -45,8 +114,6 @@
B169329B20F39E6300746532 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B169329520F39E6300746532 /* Main.storyboard */; };
B16932A320F3A21C00746532 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = B169329F20F3A21B00746532 /* main.m */; };
B16932A520F3A21C00746532 /* empty.mm in Sources */ = {isa = PBXBuildFile; fileRef = B16932A220F3A21B00746532 /* empty.mm */; };
B16932AC20F3A7B100746532 /* RiotDesignValues.m in Sources */ = {isa = PBXBuildFile; fileRef = B16932AB20F3A7B000746532 /* RiotDesignValues.m */; };
B16932AD20F3A7B100746532 /* RiotDesignValues.m in Sources */ = {isa = PBXBuildFile; fileRef = B16932AB20F3A7B000746532 /* RiotDesignValues.m */; };
B16932B120F3AC9200746532 /* RoomSearchDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = B16932AF20F3AC9200746532 /* RoomSearchDataSource.m */; };
B16932E720F3C37100746532 /* HomeMessagesSearchDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = B16932E620F3C37100746532 /* HomeMessagesSearchDataSource.m */; };
B16932EA20F3C39000746532 /* UnifiedSearchRecentsDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = B16932E920F3C39000746532 /* UnifiedSearchRecentsDataSource.m */; };
@ -64,6 +131,8 @@
B169331720F3CBE000746532 /* RecentCellData.m in Sources */ = {isa = PBXBuildFile; fileRef = B16932F920F3C51900746532 /* RecentCellData.m */; };
B17982FF2119FED2001FD722 /* GDPRConsentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B17982FE2119FED2001FD722 /* GDPRConsentViewController.swift */; };
B1798302211B13B3001FD722 /* OnBoardingManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1798301211B13B3001FD722 /* OnBoardingManager.swift */; };
B19EFA3921F8BB2C00FC070E /* KeyBackupRecoverCoordinatorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B19EFA3821F8BB2C00FC070E /* KeyBackupRecoverCoordinatorType.swift */; };
B19EFA3B21F8BB4100FC070E /* KeyBackupRecoverCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B19EFA3A21F8BB4100FC070E /* KeyBackupRecoverCoordinator.swift */; };
B1B5571820EE6C4D00210D55 /* CountryPickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1B5567A20EE6C4C00210D55 /* CountryPickerViewController.m */; };
B1B5571920EE6C4D00210D55 /* LanguagePickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1B5567C20EE6C4C00210D55 /* LanguagePickerViewController.m */; };
B1B5571A20EE6C4D00210D55 /* SettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1B5567E20EE6C4C00210D55 /* SettingsViewController.m */; };
@ -301,7 +370,19 @@
B1B5599320EFC5E400210D55 /* DecryptionFailure.m in Sources */ = {isa = PBXBuildFile; fileRef = B1B5598D20EFC5E400210D55 /* DecryptionFailure.m */; };
B1B5599420EFC5E400210D55 /* DecryptionFailureTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = B1B5599120EFC5E400210D55 /* DecryptionFailureTracker.m */; };
B1B9194C2118984300FE25B5 /* RoomPredecessorBubbleCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1B9194A2118984300FE25B5 /* RoomPredecessorBubbleCell.xib */; };
B1CA3A2721EF6914000D1D89 /* UIViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1CA3A2621EF6913000D1D89 /* UIViewController.swift */; };
B1CA3A2921EF692B000D1D89 /* UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1CA3A2821EF692B000D1D89 /* UIView.swift */; };
B1CE9EFD22148703000FAE6A /* SignOutAlertPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1CE9EFC22148703000FAE6A /* SignOutAlertPresenter.swift */; };
B1CE9F062216FB09000FAE6A /* EncryptionKeysExportPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1CE9F052216FB09000FAE6A /* EncryptionKeysExportPresenter.swift */; };
B1D250D82118AA0A000F4E93 /* RoomPredecessorBubbleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D250D72118AA0A000F4E93 /* RoomPredecessorBubbleCell.m */; };
B1D4752721EE4E630067973F /* KeyboardAvoider.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1D4752521EE4E620067973F /* KeyboardAvoider.swift */; };
B1D4752821EE4E630067973F /* KeyboardNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1D4752621EE4E620067973F /* KeyboardNotification.swift */; };
B1D4752A21EE52B10067973F /* KeyBackupSetupIntroViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1D4752921EE52B10067973F /* KeyBackupSetupIntroViewController.swift */; };
B1D4752C21EE52C30067973F /* KeyBackupSetupIntroViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B1D4752B21EE52C30067973F /* KeyBackupSetupIntroViewController.storyboard */; };
B1E5368921FB1E20001F3AFF /* UIButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1E5368821FB1E20001F3AFF /* UIButton.swift */; };
B1E5368D21FB7245001F3AFF /* KeyBackupRecoverFromPassphraseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1E5368C21FB7245001F3AFF /* KeyBackupRecoverFromPassphraseViewController.swift */; };
B1E5368F21FB7258001F3AFF /* KeyBackupRecoverFromPassphraseViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B1E5368E21FB7258001F3AFF /* KeyBackupRecoverFromPassphraseViewController.storyboard */; };
B1FDF56021F5FE5500BA3834 /* KeyBackupSetupPassphraseViewAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1FDF55F21F5FE5500BA3834 /* KeyBackupSetupPassphraseViewAction.swift */; };
CD9C4E21170ABE528E087A51 /* Pods_RiotPods_SiriIntents.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC0B9DB497F579AB1084E3DC /* Pods_RiotPods_SiriIntents.framework */; };
F05927C91FDED836009F2A68 /* MXGroup+Riot.m in Sources */ = {isa = PBXBuildFile; fileRef = F05927C71FDED835009F2A68 /* MXGroup+Riot.m */; };
F083BD1E1E7009ED00A9B29C /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F083BB0D1E7009EC00A9B29C /* AppDelegate.m */; };
@ -382,12 +463,20 @@
24CBEC4E1F0EAD310093EABB /* RiotShareExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = RiotShareExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
2510A69B4A681C1FEC36E848 /* Pods_RiotPods_Riot.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RiotPods_Riot.framework; sourceTree = BUILT_PRODUCTS_DIR; };
319CD7C67A47A3D35959E18F /* Pods-RiotPods-Riot.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RiotPods-Riot.release.xcconfig"; path = "Pods/Target Support Files/Pods-RiotPods-Riot/Pods-RiotPods-Riot.release.xcconfig"; sourceTree = "<group>"; };
3209451121F1C1430088CAA2 /* BlackTheme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlackTheme.swift; sourceTree = "<group>"; };
32242F0821E8B05F00725742 /* UIColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColor.swift; sourceTree = "<group>"; };
32242F0C21E8FBA900725742 /* ThemeService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ThemeService.m; sourceTree = "<group>"; };
32242F0D21E8FBA900725742 /* Theme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = "<group>"; };
32242F0F21E8FBA900725742 /* DefaultTheme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DefaultTheme.swift; sourceTree = "<group>"; };
32242F1021E8FBA900725742 /* DarkTheme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DarkTheme.swift; sourceTree = "<group>"; };
32242F1121E8FBA900725742 /* ThemeService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThemeService.h; sourceTree = "<group>"; };
3233F7441F3497DA006ACA81 /* JitsiMeet.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JitsiMeet.framework; sourceTree = "<group>"; };
3267EFB320E379FD00FF1CAA /* CHANGES.rst */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGES.rst; sourceTree = "<group>"; };
3267EFB420E379FD00FF1CAA /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; fileEncoding = 4; path = Podfile; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
3267EFB520E379FD00FF1CAA /* AUTHORS.rst */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AUTHORS.rst; sourceTree = "<group>"; };
3267EFB620E379FD00FF1CAA /* README.rst */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.rst; sourceTree = "<group>"; };
3275FD8B21A5A2C500B9C13D /* TermsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TermsView.swift; sourceTree = "<group>"; };
3281BCF62201FA4200F4A383 /* UIControl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIControl.swift; sourceTree = "<group>"; };
3284A35020A07C210044F922 /* postMessageAPI.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = postMessageAPI.js; sourceTree = "<group>"; };
32B1FEDA21A46F2C00637127 /* TermsView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TermsView.xib; sourceTree = "<group>"; };
32BDC9A1211C2C870064AF51 /* zh_Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_Hant; path = zh_Hant.lproj/InfoPlist.strings; sourceTree = "<group>"; };
@ -396,6 +485,11 @@
32BDC9A4211C34C90064AF51 /* sq */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sq; path = sq.lproj/InfoPlist.strings; sourceTree = "<group>"; };
32BDC9A5211C34C90064AF51 /* sq */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sq; path = sq.lproj/Localizable.strings; sourceTree = "<group>"; };
32BDC9A6211C34C90064AF51 /* sq */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sq; path = sq.lproj/Vector.strings; sourceTree = "<group>"; };
32BF994E21FA29A400698084 /* SettingsKeyBackupViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsKeyBackupViewModel.swift; sourceTree = "<group>"; };
32BF995021FA29DC00698084 /* SettingsKeyBackupViewModelType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsKeyBackupViewModelType.swift; sourceTree = "<group>"; };
32BF995221FA2A1300698084 /* SettingsKeyBackupViewState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsKeyBackupViewState.swift; sourceTree = "<group>"; };
32BF995421FA2AB700698084 /* SettingsKeyBackupViewAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsKeyBackupViewAction.swift; sourceTree = "<group>"; };
32BF995621FB07A400698084 /* SettingsKeyBackupTableViewSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsKeyBackupTableViewSection.swift; sourceTree = "<group>"; };
32D7159E2146CC6F00DF59C9 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Vector.strings; sourceTree = "<group>"; };
32D7159F2146CC7F00DF59C9 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = "<group>"; };
32D715A02146CC8800DF59C9 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = "<group>"; };
@ -415,6 +509,57 @@
92726A481F58737A004AD26F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
92726A4F1F587393004AD26F /* SiriIntents.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = SiriIntents.entitlements; sourceTree = "<group>"; };
92726A501F587410004AD26F /* Intents.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Intents.framework; path = System/Library/Frameworks/Intents.framework; sourceTree = SDKROOT; };
B104C2932203773B00D9F496 /* KeyBackupBannerPreferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupBannerPreferences.swift; sourceTree = "<group>"; };
B1057788221304EB00334B1E /* KeyBackupSetupSuccessFromPassphraseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupSuccessFromPassphraseViewController.swift; sourceTree = "<group>"; };
B105778A221304FA00334B1E /* KeyBackupSetupSuccessFromPassphraseViewController.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = KeyBackupSetupSuccessFromPassphraseViewController.storyboard; sourceTree = "<group>"; };
B105778C2213051E00334B1E /* KeyBackupSetupSuccessFromRecoveryKeyViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupSuccessFromRecoveryKeyViewController.swift; sourceTree = "<group>"; };
B105778E2213052A00334B1E /* KeyBackupSetupSuccessFromRecoveryKeyViewController.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = KeyBackupSetupSuccessFromRecoveryKeyViewController.storyboard; sourceTree = "<group>"; };
B1098BDA21ECE09E000DDA48 /* Strings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Strings.swift; sourceTree = "<group>"; };
B1098BDC21ECE09E000DDA48 /* Images.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Images.swift; sourceTree = "<group>"; };
B1098BDE21ECE09E000DDA48 /* RiotDefaults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RiotDefaults.swift; sourceTree = "<group>"; };
B1098BE421ECE1FC000DDA48 /* Storyboards.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Storyboards.swift; sourceTree = "<group>"; };
B1098BE721ECFE51000DDA48 /* Coordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Coordinator.swift; sourceTree = "<group>"; };
B1098BEA21ECFE64000DDA48 /* KeyBackupSetupPassphraseCoordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupPassphraseCoordinator.swift; sourceTree = "<group>"; };
B1098BEB21ECFE64000DDA48 /* PasswordStrength.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PasswordStrength.swift; sourceTree = "<group>"; };
B1098BEC21ECFE64000DDA48 /* KeyBackupSetupPassphraseViewController.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = KeyBackupSetupPassphraseViewController.storyboard; sourceTree = "<group>"; };
B1098BED21ECFE64000DDA48 /* KeyBackupSetupCoordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupCoordinator.swift; sourceTree = "<group>"; };
B1098BEE21ECFE64000DDA48 /* KeyBackupSetupPassphraseViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupPassphraseViewModel.swift; sourceTree = "<group>"; };
B1098BEF21ECFE64000DDA48 /* KeyBackupSetupCoordinatorType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupCoordinatorType.swift; sourceTree = "<group>"; };
B1098BF021ECFE64000DDA48 /* PasswordStrengthView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PasswordStrengthView.xib; sourceTree = "<group>"; };
B1098BF121ECFE64000DDA48 /* PasswordStrengthManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PasswordStrengthManager.swift; sourceTree = "<group>"; };
B1098BF221ECFE64000DDA48 /* KeyBackupSetupPassphraseViewModelType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupPassphraseViewModelType.swift; sourceTree = "<group>"; };
B1098BF321ECFE64000DDA48 /* PasswordStrengthView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PasswordStrengthView.swift; sourceTree = "<group>"; };
B1098BF421ECFE64000DDA48 /* KeyBackupSetupPassphraseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupPassphraseViewController.swift; sourceTree = "<group>"; };
B1098BF521ECFE64000DDA48 /* KeyBackupSetupPassphraseCoordinatorType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupPassphraseCoordinatorType.swift; sourceTree = "<group>"; };
B1098C0821ED07E4000DDA48 /* NavigationRouter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationRouter.swift; sourceTree = "<group>"; };
B1098C0B21ED07E4000DDA48 /* Presentable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Presentable.swift; sourceTree = "<group>"; };
B1098C0C21ED07E4000DDA48 /* NavigationRouterType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationRouterType.swift; sourceTree = "<group>"; };
B10B3B592201DD740072C76B /* KeyBackupBannerCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupBannerCell.swift; sourceTree = "<group>"; };
B10B3B5A2201DD740072C76B /* KeyBackupBannerCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KeyBackupBannerCell.xib; sourceTree = "<group>"; };
B1107EC72200B0720038014B /* KeyBackupRecoverSuccessViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverSuccessViewController.swift; sourceTree = "<group>"; };
B1107EC92200B09F0038014B /* KeyBackupRecoverSuccessViewController.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = KeyBackupRecoverSuccessViewController.storyboard; sourceTree = "<group>"; };
B110871C21F087F4003554A5 /* KeyBackupSetupPassphraseViewState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupPassphraseViewState.swift; sourceTree = "<group>"; };
B110871F21F098EF003554A5 /* ActivityIndicatorPresenterType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActivityIndicatorPresenterType.swift; sourceTree = "<group>"; };
B110872021F098EF003554A5 /* ActivityIndicatorView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ActivityIndicatorView.xib; sourceTree = "<group>"; };
B110872121F098EF003554A5 /* ActivityIndicatorPresenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActivityIndicatorPresenter.swift; sourceTree = "<group>"; };
B110872221F098F0003554A5 /* ActivityIndicatorView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActivityIndicatorView.swift; sourceTree = "<group>"; };
B139C21A21FE5B9100BB68EC /* KeyBackupRecoverFromPassphraseViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromPassphraseViewModel.swift; sourceTree = "<group>"; };
B139C21C21FE5BF500BB68EC /* KeyBackupRecoverFromPassphraseViewModelType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromPassphraseViewModelType.swift; sourceTree = "<group>"; };
B139C21E21FE5D6600BB68EC /* KeyBackupRecoverFromPassphraseViewAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromPassphraseViewAction.swift; sourceTree = "<group>"; };
B139C22021FE5D9D00BB68EC /* KeyBackupRecoverFromPassphraseViewState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromPassphraseViewState.swift; sourceTree = "<group>"; };
B139C22221FF01B200BB68EC /* KeyBackupRecoverFromPassphraseCoordinatorType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromPassphraseCoordinatorType.swift; sourceTree = "<group>"; };
B139C22421FF01C100BB68EC /* KeyBackupRecoverFromPassphraseCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromPassphraseCoordinator.swift; sourceTree = "<group>"; };
B140B4A121F87F7100E3F5FE /* OperationQueue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OperationQueue.swift; sourceTree = "<group>"; };
B140B4A521F89E7600E3F5FE /* KeyBackupSetupCoordinatorBridgePresenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupCoordinatorBridgePresenter.swift; sourceTree = "<group>"; };
B140B4A721F8AB4600E3F5FE /* KeyBackupRecoverCoordinatorBridgePresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverCoordinatorBridgePresenter.swift; sourceTree = "<group>"; };
B14F142622144F6400FA0595 /* KeyBackupRecoverFromRecoveryKeyViewController.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = KeyBackupRecoverFromRecoveryKeyViewController.storyboard; sourceTree = "<group>"; };
B14F142722144F6400FA0595 /* KeyBackupRecoverFromRecoveryKeyViewModelType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromRecoveryKeyViewModelType.swift; sourceTree = "<group>"; };
B14F142822144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyCoordinatorType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromRecoveryKeyCoordinatorType.swift; sourceTree = "<group>"; };
B14F142922144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewState.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromRecoveryKeyViewState.swift; sourceTree = "<group>"; };
B14F142A22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyCoordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromRecoveryKeyCoordinator.swift; sourceTree = "<group>"; };
B14F142B22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromRecoveryKeyViewModel.swift; sourceTree = "<group>"; };
B14F142C22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewAction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromRecoveryKeyViewAction.swift; sourceTree = "<group>"; };
B14F142D22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromRecoveryKeyViewController.swift; sourceTree = "<group>"; };
B1664BAD20F4E67500808783 /* FallbackViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FallbackViewController.xib; sourceTree = "<group>"; };
B1664BAE20F4E67500808783 /* FallbackViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FallbackViewController.m; sourceTree = "<group>"; };
B1664BAF20F4E67500808783 /* FallbackViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FallbackViewController.h; sourceTree = "<group>"; };
@ -475,8 +620,6 @@
B16932A020F3A21B00746532 /* Riot.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Riot.entitlements; sourceTree = "<group>"; };
B16932A120F3A21B00746532 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
B16932A220F3A21B00746532 /* empty.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = empty.mm; sourceTree = "<group>"; };
B16932AA20F3A7B000746532 /* RiotDesignValues.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RiotDesignValues.h; sourceTree = "<group>"; };
B16932AB20F3A7B000746532 /* RiotDesignValues.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RiotDesignValues.m; sourceTree = "<group>"; };
B16932AF20F3AC9200746532 /* RoomSearchDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RoomSearchDataSource.m; sourceTree = "<group>"; };
B16932B020F3AC9200746532 /* RoomSearchDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RoomSearchDataSource.h; sourceTree = "<group>"; };
B16932E520F3C37100746532 /* HomeMessagesSearchDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeMessagesSearchDataSource.h; sourceTree = "<group>"; };
@ -506,6 +649,8 @@
B169331320F3CAFC00746532 /* PublicRoomsDirectoryDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PublicRoomsDirectoryDataSource.h; sourceTree = "<group>"; };
B17982FE2119FED2001FD722 /* GDPRConsentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDPRConsentViewController.swift; sourceTree = "<group>"; };
B1798301211B13B3001FD722 /* OnBoardingManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnBoardingManager.swift; sourceTree = "<group>"; };
B19EFA3821F8BB2C00FC070E /* KeyBackupRecoverCoordinatorType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverCoordinatorType.swift; sourceTree = "<group>"; };
B19EFA3A21F8BB4100FC070E /* KeyBackupRecoverCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverCoordinator.swift; sourceTree = "<group>"; };
B1B5567920EE6C4C00210D55 /* CountryPickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CountryPickerViewController.h; sourceTree = "<group>"; };
B1B5567A20EE6C4C00210D55 /* CountryPickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CountryPickerViewController.m; sourceTree = "<group>"; };
B1B5567C20EE6C4C00210D55 /* LanguagePickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LanguagePickerViewController.m; sourceTree = "<group>"; };
@ -879,8 +1024,20 @@
B1B5599020EFC5E400210D55 /* Analytics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Analytics.h; sourceTree = "<group>"; };
B1B5599120EFC5E400210D55 /* DecryptionFailureTracker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DecryptionFailureTracker.m; sourceTree = "<group>"; };
B1B9194A2118984300FE25B5 /* RoomPredecessorBubbleCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RoomPredecessorBubbleCell.xib; sourceTree = "<group>"; };
B1CA3A2621EF6913000D1D89 /* UIViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIViewController.swift; sourceTree = "<group>"; };
B1CA3A2821EF692B000D1D89 /* UIView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIView.swift; sourceTree = "<group>"; };
B1CE9EFC22148703000FAE6A /* SignOutAlertPresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignOutAlertPresenter.swift; sourceTree = "<group>"; };
B1CE9F052216FB09000FAE6A /* EncryptionKeysExportPresenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EncryptionKeysExportPresenter.swift; sourceTree = "<group>"; };
B1D250D62118AA0A000F4E93 /* RoomPredecessorBubbleCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomPredecessorBubbleCell.h; sourceTree = "<group>"; };
B1D250D72118AA0A000F4E93 /* RoomPredecessorBubbleCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomPredecessorBubbleCell.m; sourceTree = "<group>"; };
B1D4752521EE4E620067973F /* KeyboardAvoider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardAvoider.swift; sourceTree = "<group>"; };
B1D4752621EE4E620067973F /* KeyboardNotification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardNotification.swift; sourceTree = "<group>"; };
B1D4752921EE52B10067973F /* KeyBackupSetupIntroViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupIntroViewController.swift; sourceTree = "<group>"; };
B1D4752B21EE52C30067973F /* KeyBackupSetupIntroViewController.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = KeyBackupSetupIntroViewController.storyboard; sourceTree = "<group>"; };
B1E5368821FB1E20001F3AFF /* UIButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIButton.swift; sourceTree = "<group>"; };
B1E5368C21FB7245001F3AFF /* KeyBackupRecoverFromPassphraseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupRecoverFromPassphraseViewController.swift; sourceTree = "<group>"; };
B1E5368E21FB7258001F3AFF /* KeyBackupRecoverFromPassphraseViewController.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = KeyBackupRecoverFromPassphraseViewController.storyboard; sourceTree = "<group>"; };
B1FDF55F21F5FE5500BA3834 /* KeyBackupSetupPassphraseViewAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyBackupSetupPassphraseViewAction.swift; sourceTree = "<group>"; };
B4B35D08E11507BEE733BBC4 /* Pods-RiotPods-SiriIntents.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RiotPods-SiriIntents.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RiotPods-SiriIntents/Pods-RiotPods-SiriIntents.debug.xcconfig"; sourceTree = "<group>"; };
BC0B9DB497F579AB1084E3DC /* Pods_RiotPods_SiriIntents.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RiotPods_SiriIntents.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D523D0ED52562EDD393BE0F0 /* Pods-RiotPods-RiotShareExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RiotPods-RiotShareExtension.release.xcconfig"; path = "Pods/Target Support Files/Pods-RiotPods-RiotShareExtension/Pods-RiotPods-RiotShareExtension.release.xcconfig"; sourceTree = "<group>"; };
@ -972,6 +1129,27 @@
path = RiotShareExtension;
sourceTree = "<group>";
};
32242F0B21E8FBA900725742 /* Theme */ = {
isa = PBXGroup;
children = (
32242F0C21E8FBA900725742 /* ThemeService.m */,
32242F0D21E8FBA900725742 /* Theme.swift */,
32242F1121E8FBA900725742 /* ThemeService.h */,
32242F0E21E8FBA900725742 /* Themes */,
);
path = Theme;
sourceTree = "<group>";
};
32242F0E21E8FBA900725742 /* Themes */ = {
isa = PBXGroup;
children = (
32242F0F21E8FBA900725742 /* DefaultTheme.swift */,
32242F1021E8FBA900725742 /* DarkTheme.swift */,
3209451121F1C1430088CAA2 /* BlackTheme.swift */,
);
path = Themes;
sourceTree = "<group>";
};
3233F7291F31F3B4006ACA81 /* libs */ = {
isa = PBXGroup;
children = (
@ -996,6 +1174,18 @@
path = js;
sourceTree = "<group>";
};
32BF994D21FA1C6300698084 /* KeyBackup */ = {
isa = PBXGroup;
children = (
32BF994E21FA29A400698084 /* SettingsKeyBackupViewModel.swift */,
32BF995021FA29DC00698084 /* SettingsKeyBackupViewModelType.swift */,
32BF995221FA2A1300698084 /* SettingsKeyBackupViewState.swift */,
32BF995421FA2AB700698084 /* SettingsKeyBackupViewAction.swift */,
32BF995621FB07A400698084 /* SettingsKeyBackupTableViewSection.swift */,
);
path = KeyBackup;
sourceTree = "<group>";
};
5FC42FA41F5186AFFB6A2404 /* Frameworks */ = {
isa = PBXGroup;
children = (
@ -1031,6 +1221,141 @@
name = Pods;
sourceTree = "<group>";
};
B1057787221304A200334B1E /* Success */ = {
isa = PBXGroup;
children = (
B1057788221304EB00334B1E /* KeyBackupSetupSuccessFromPassphraseViewController.swift */,
B105778A221304FA00334B1E /* KeyBackupSetupSuccessFromPassphraseViewController.storyboard */,
B105778C2213051E00334B1E /* KeyBackupSetupSuccessFromRecoveryKeyViewController.swift */,
B105778E2213052A00334B1E /* KeyBackupSetupSuccessFromRecoveryKeyViewController.storyboard */,
);
path = Success;
sourceTree = "<group>";
};
B1098BD921ECE09E000DDA48 /* Generated */ = {
isa = PBXGroup;
children = (
B1098BDA21ECE09E000DDA48 /* Strings.swift */,
B1098BDC21ECE09E000DDA48 /* Images.swift */,
B1098BDE21ECE09E000DDA48 /* RiotDefaults.swift */,
B1098BE421ECE1FC000DDA48 /* Storyboards.swift */,
);
path = Generated;
sourceTree = "<group>";
};
B1098BE621ECFE51000DDA48 /* Coordinators */ = {
isa = PBXGroup;
children = (
B1098BE721ECFE51000DDA48 /* Coordinator.swift */,
);
path = Coordinators;
sourceTree = "<group>";
};
B1098BE921ECFE64000DDA48 /* KeyBackup */ = {
isa = PBXGroup;
children = (
B1098C0221ECFEAF000DDA48 /* Setup */,
B1FDF56421F726AD00BA3834 /* Recover */,
B1107ECB2201BE800038014B /* Banners */,
B1CE9F042216FB09000FAE6A /* ManualExport */,
);
path = KeyBackup;
sourceTree = "<group>";
};
B1098C0221ECFEAF000DDA48 /* Setup */ = {
isa = PBXGroup;
children = (
B1098BEF21ECFE64000DDA48 /* KeyBackupSetupCoordinatorType.swift */,
B1098BED21ECFE64000DDA48 /* KeyBackupSetupCoordinator.swift */,
B140B4A521F89E7600E3F5FE /* KeyBackupSetupCoordinatorBridgePresenter.swift */,
B1098C0521ECFF5B000DDA48 /* Intro */,
B1098C0321ECFECC000DDA48 /* Passphrase */,
B1057787221304A200334B1E /* Success */,
);
path = Setup;
sourceTree = "<group>";
};
B1098C0321ECFECC000DDA48 /* Passphrase */ = {
isa = PBXGroup;
children = (
B1098BF521ECFE64000DDA48 /* KeyBackupSetupPassphraseCoordinatorType.swift */,
B1098BEA21ECFE64000DDA48 /* KeyBackupSetupPassphraseCoordinator.swift */,
B1098BF221ECFE64000DDA48 /* KeyBackupSetupPassphraseViewModelType.swift */,
B1098BEE21ECFE64000DDA48 /* KeyBackupSetupPassphraseViewModel.swift */,
B110871C21F087F4003554A5 /* KeyBackupSetupPassphraseViewState.swift */,
B1FDF55F21F5FE5500BA3834 /* KeyBackupSetupPassphraseViewAction.swift */,
B1098BF421ECFE64000DDA48 /* KeyBackupSetupPassphraseViewController.swift */,
B1098BEC21ECFE64000DDA48 /* KeyBackupSetupPassphraseViewController.storyboard */,
B1098BF321ECFE64000DDA48 /* PasswordStrengthView.swift */,
B1098BF021ECFE64000DDA48 /* PasswordStrengthView.xib */,
);
path = Passphrase;
sourceTree = "<group>";
};
B1098C0521ECFF5B000DDA48 /* Intro */ = {
isa = PBXGroup;
children = (
B1D4752921EE52B10067973F /* KeyBackupSetupIntroViewController.swift */,
B1D4752B21EE52C30067973F /* KeyBackupSetupIntroViewController.storyboard */,
);
path = Intro;
sourceTree = "<group>";
};
B1098C0721ED07E4000DDA48 /* Routers */ = {
isa = PBXGroup;
children = (
B1098C0B21ED07E4000DDA48 /* Presentable.swift */,
B1098C0C21ED07E4000DDA48 /* NavigationRouterType.swift */,
B1098C0821ED07E4000DDA48 /* NavigationRouter.swift */,
);
path = Routers;
sourceTree = "<group>";
};
B1107EC62200B0190038014B /* Success */ = {
isa = PBXGroup;
children = (
B1107EC72200B0720038014B /* KeyBackupRecoverSuccessViewController.swift */,
B1107EC92200B09F0038014B /* KeyBackupRecoverSuccessViewController.storyboard */,
);
path = Success;
sourceTree = "<group>";
};
B1107ECB2201BE800038014B /* Banners */ = {
isa = PBXGroup;
children = (
B104C2932203773B00D9F496 /* KeyBackupBannerPreferences.swift */,
B10B3B592201DD740072C76B /* KeyBackupBannerCell.swift */,
B10B3B5A2201DD740072C76B /* KeyBackupBannerCell.xib */,
);
path = Banners;
sourceTree = "<group>";
};
B110871E21F098EF003554A5 /* ActivityIndicator */ = {
isa = PBXGroup;
children = (
B110871F21F098EF003554A5 /* ActivityIndicatorPresenterType.swift */,
B110872121F098EF003554A5 /* ActivityIndicatorPresenter.swift */,
B110872221F098F0003554A5 /* ActivityIndicatorView.swift */,
B110872021F098EF003554A5 /* ActivityIndicatorView.xib */,
);
path = ActivityIndicator;
sourceTree = "<group>";
};
B14F142522144F6400FA0595 /* RecoveryKey */ = {
isa = PBXGroup;
children = (
B14F142622144F6400FA0595 /* KeyBackupRecoverFromRecoveryKeyViewController.storyboard */,
B14F142722144F6400FA0595 /* KeyBackupRecoverFromRecoveryKeyViewModelType.swift */,
B14F142822144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyCoordinatorType.swift */,
B14F142922144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewState.swift */,
B14F142A22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyCoordinator.swift */,
B14F142B22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewModel.swift */,
B14F142C22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewAction.swift */,
B14F142D22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewController.swift */,
);
path = RecoveryKey;
sourceTree = "<group>";
};
B1664BAB20F4E67500808783 /* Modules */ = {
isa = PBXGroup;
children = (
@ -1143,15 +1468,6 @@
path = SupportingFiles;
sourceTree = "<group>";
};
B16932A620F3A6FA00746532 /* Constants */ = {
isa = PBXGroup;
children = (
B16932AA20F3A7B000746532 /* RiotDesignValues.h */,
B16932AB20F3A7B000746532 /* RiotDesignValues.m */,
);
path = Constants;
sourceTree = "<group>";
};
B16932AE20F3AC9200746532 /* DataSources */ = {
isa = PBXGroup;
children = (
@ -1320,6 +1636,7 @@
B1B5596B20EFA85C00210D55 /* EncryptionInfo */,
B1B556FD20EE6C4C00210D55 /* RoomKeyRequest */,
B1B556B020EE6C4C00210D55 /* BugReport */,
B1098BE921ECFE64000DDA48 /* KeyBackup */,
B1B556CD20EE6C4C00210D55 /* Common */,
);
path = Modules;
@ -1331,9 +1648,11 @@
B1B5567F20EE6C4C00210D55 /* SettingsViewController.h */,
B1B5567E20EE6C4C00210D55 /* SettingsViewController.m */,
B1B5578120EF564900210D55 /* Views */,
32BF994D21FA1C6300698084 /* KeyBackup */,
B1B5567B20EE6C4C00210D55 /* Language */,
B1B5567820EE6C4C00210D55 /* PhoneCountry */,
B1B5568020EE6C4C00210D55 /* DeactivateAccount */,
B1CE9EFB22148681000FAE6A /* SignOut */,
);
path = Settings;
sourceTree = "<group>";
@ -1590,6 +1909,8 @@
B1B556D420EE6C4C00210D55 /* SegmentedViewController */,
B1B556D820EE6C4C00210D55 /* Recents */,
B1B5592720EF7A5D00210D55 /* Cells */,
B1D4752421EE4E620067973F /* KeyboardAvoiding */,
B110871E21F098EF003554A5 /* ActivityIndicator */,
);
path = Common;
sourceTree = "<group>";
@ -2329,10 +2650,12 @@
B1B5597C20EFC3DF00210D55 /* Managers */ = {
isa = PBXGroup;
children = (
B1FDF56321F68C0700BA3834 /* PasswordStrength */,
B1798300211B137B001FD722 /* OnBoarding */,
B1B5598B20EFC5E400210D55 /* Analytics */,
B1B5598920EFC41100210D55 /* BugReport */,
B1B5598A20EFC42100210D55 /* Settings */,
32242F0B21E8FBA900725742 /* Theme */,
B1B5598020EFC3DF00210D55 /* Widgets */,
);
path = Managers;
@ -2379,6 +2702,68 @@
path = Analytics;
sourceTree = "<group>";
};
B1CE9EFB22148681000FAE6A /* SignOut */ = {
isa = PBXGroup;
children = (
B1CE9EFC22148703000FAE6A /* SignOutAlertPresenter.swift */,
);
path = SignOut;
sourceTree = "<group>";
};
B1CE9F042216FB09000FAE6A /* ManualExport */ = {
isa = PBXGroup;
children = (
B1CE9F052216FB09000FAE6A /* EncryptionKeysExportPresenter.swift */,
);
path = ManualExport;
sourceTree = "<group>";
};
B1D4752421EE4E620067973F /* KeyboardAvoiding */ = {
isa = PBXGroup;
children = (
B1D4752521EE4E620067973F /* KeyboardAvoider.swift */,
B1D4752621EE4E620067973F /* KeyboardNotification.swift */,
);
path = KeyboardAvoiding;
sourceTree = "<group>";
};
B1E5368A21FB6FC0001F3AFF /* Passphrase */ = {
isa = PBXGroup;
children = (
B139C22221FF01B200BB68EC /* KeyBackupRecoverFromPassphraseCoordinatorType.swift */,
B139C22421FF01C100BB68EC /* KeyBackupRecoverFromPassphraseCoordinator.swift */,
B139C21C21FE5BF500BB68EC /* KeyBackupRecoverFromPassphraseViewModelType.swift */,
B139C21A21FE5B9100BB68EC /* KeyBackupRecoverFromPassphraseViewModel.swift */,
B139C21E21FE5D6600BB68EC /* KeyBackupRecoverFromPassphraseViewAction.swift */,
B139C22021FE5D9D00BB68EC /* KeyBackupRecoverFromPassphraseViewState.swift */,
B1E5368C21FB7245001F3AFF /* KeyBackupRecoverFromPassphraseViewController.swift */,
B1E5368E21FB7258001F3AFF /* KeyBackupRecoverFromPassphraseViewController.storyboard */,
);
path = Passphrase;
sourceTree = "<group>";
};
B1FDF56321F68C0700BA3834 /* PasswordStrength */ = {
isa = PBXGroup;
children = (
B1098BEB21ECFE64000DDA48 /* PasswordStrength.swift */,
B1098BF121ECFE64000DDA48 /* PasswordStrengthManager.swift */,
);
path = PasswordStrength;
sourceTree = "<group>";
};
B1FDF56421F726AD00BA3834 /* Recover */ = {
isa = PBXGroup;
children = (
B19EFA3821F8BB2C00FC070E /* KeyBackupRecoverCoordinatorType.swift */,
B19EFA3A21F8BB4100FC070E /* KeyBackupRecoverCoordinator.swift */,
B140B4A721F8AB4600E3F5FE /* KeyBackupRecoverCoordinatorBridgePresenter.swift */,
B1E5368A21FB6FC0001F3AFF /* Passphrase */,
B14F142522144F6400FA0595 /* RecoveryKey */,
B1107EC62200B0190038014B /* Success */,
);
path = Recover;
sourceTree = "<group>";
};
F083BB021E7005FD00A9B29C /* RiotTests */ = {
isa = PBXGroup;
children = (
@ -2401,8 +2786,10 @@
children = (
F083BB0C1E7009EC00A9B29C /* AppDelegate.h */,
F083BB0D1E7009EC00A9B29C /* AppDelegate.m */,
B16932A620F3A6FA00746532 /* Constants */,
B1098BD921ECE09E000DDA48 /* Generated */,
F083BBE41E7009EC00A9B29C /* Categories */,
B1098BE621ECFE51000DDA48 /* Coordinators */,
B1098C0721ED07E4000DDA48 /* Routers */,
F083BBF21E7009EC00A9B29C /* Model */,
B1B5597C20EFC3DF00210D55 /* Managers */,
B1B5567620EE6C4C00210D55 /* Modules */,
@ -2413,6 +2800,7 @@
);
path = Riot;
sourceTree = "<group>";
usesTabs = 0;
};
F083BB0E1E7009EC00A9B29C /* Assets */ = {
isa = PBXGroup;
@ -2460,6 +2848,12 @@
F083BBEC1E7009EC00A9B29C /* UIViewController+RiotSearch.m */,
926FA53D1F4C132000F826C2 /* MXSession+Riot.h */,
926FA53E1F4C132000F826C2 /* MXSession+Riot.m */,
32242F0821E8B05F00725742 /* UIColor.swift */,
B1CA3A2621EF6913000D1D89 /* UIViewController.swift */,
B1CA3A2821EF692B000D1D89 /* UIView.swift */,
B140B4A121F87F7100E3F5FE /* OperationQueue.swift */,
B1E5368821FB1E20001F3AFF /* UIButton.swift */,
3281BCF62201FA4200F4A383 /* UIControl.swift */,
);
path = Categories;
sourceTree = "<group>";
@ -2513,6 +2907,7 @@
A237FB70534FB8ADA0D7CFEE /* Pods */,
);
sourceTree = "<group>";
usesTabs = 0;
};
F094A9A31B78D8F000B1FBBF /* Products */ = {
isa = PBXGroup;
@ -2569,6 +2964,7 @@
buildConfigurationList = F094A9C81B78D8F000B1FBBF /* Build configuration list for PBXNativeTarget "Riot" */;
buildPhases = (
E34E30CD2CEE4A42FF8081D6 /* [CP] Check Pods Manifest.lock */,
B1098BD821ECD3ED000DDA48 /* 🛠 SwiftGen */,
F094A99E1B78D8F000B1FBBF /* Sources */,
F094A99F1B78D8F000B1FBBF /* Frameworks */,
F094A9A01B78D8F000B1FBBF /* Resources */,
@ -2646,6 +3042,9 @@
com.apple.Push = {
enabled = 1;
};
com.apple.iCloud = {
enabled = 1;
};
};
};
F094A9BD1B78D8F000B1FBBF = {
@ -2731,6 +3130,7 @@
B1B558BC20EF768F00210D55 /* RoomMembershipBubbleCell.xib in Resources */,
B1B5571F20EE6C4D00210D55 /* ContactDetailsViewController.xib in Resources */,
B1B558E220EF768F00210D55 /* RoomIncomingTextMsgBubbleCell.xib in Resources */,
B105778B221304FA00334B1E /* KeyBackupSetupSuccessFromPassphraseViewController.storyboard in Resources */,
B1664DA220F4F95800808783 /* Localizable.strings in Resources */,
B169328720F3954A00746532 /* SharedImages.xcassets in Resources */,
B1664DA120F4F94F00808783 /* InfoPlist.strings in Resources */,
@ -2756,10 +3156,12 @@
B1B558F620EF768F00210D55 /* RoomOutgoingTextMsgBubbleCell.xib in Resources */,
B1B5574D20EE6C4D00210D55 /* MediaPickerViewController.xib in Resources */,
B1B5575020EE6C4D00210D55 /* AuthenticationViewController.xib in Resources */,
B14F142E22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewController.storyboard in Resources */,
B1B5574320EE6C4D00210D55 /* CallViewController.xib in Resources */,
F083BDEA1E7009ED00A9B29C /* ringback.mp3 in Resources */,
F083BDF21E7009ED00A9B29C /* GoogleService-Info.plist in Resources */,
B1B558E320EF768F00210D55 /* RoomEmptyBubbleCell.xib in Resources */,
B1E5368F21FB7258001F3AFF /* KeyBackupRecoverFromPassphraseViewController.storyboard in Resources */,
B1B5590420EF768F00210D55 /* RoomOutgoingAttachmentBubbleCell.xib in Resources */,
B1B558F120EF768F00210D55 /* RoomIncomingAttachmentWithPaginationTitleBubbleCell.xib in Resources */,
B1B557CB20EF5D8000210D55 /* DirectoryServerTableViewCell.xib in Resources */,
@ -2767,9 +3169,12 @@
B1B558D720EF768F00210D55 /* RoomOutgoingEncryptedTextMsgWithPaginationTitleBubbleCell.xib in Resources */,
B1B5590820EF768F00210D55 /* RoomMembershipWithPaginationTitleBubbleCell.xib in Resources */,
F083BDE81E7009ED00A9B29C /* message.mp3 in Resources */,
B1107ECA2200B09F0038014B /* KeyBackupRecoverSuccessViewController.storyboard in Resources */,
B1B5579C20EF575B00210D55 /* ForgotPasswordInputsView.xib in Resources */,
F083BE011E7009ED00A9B29C /* third_party_licenses.html in Resources */,
B1098BFC21ECFE65000DDA48 /* PasswordStrengthView.xib in Resources */,
B1B5573720EE6C4D00210D55 /* GroupParticipantsViewController.xib in Resources */,
B110872421F098F0003554A5 /* ActivityIndicatorView.xib in Resources */,
B1B5573320EE6C4D00210D55 /* GroupHomeViewController.xib in Resources */,
B1B5593920EF7BAC00210D55 /* TableViewCellWithCheckBoxes.xib in Resources */,
B1B557C120EF5B4500210D55 /* DisabledRoomInputToolbarView.xib in Resources */,
@ -2801,6 +3206,7 @@
B1B5572D20EE6C4D00210D55 /* RoomParticipantsViewController.xib in Resources */,
B1B5577220EE702800210D55 /* JitsiViewController.xib in Resources */,
B1B557D720EF5EA900210D55 /* RoomActivitiesView.xib in Resources */,
B1098BF821ECFE65000DDA48 /* KeyBackupSetupPassphraseViewController.storyboard in Resources */,
F083BDF31E7009ED00A9B29C /* Images.xcassets in Resources */,
B1B5590720EF768F00210D55 /* RoomOutgoingTextMsgWithPaginationTitleWithoutSenderNameBubbleCell.xib in Resources */,
B169329920F39E6300746532 /* LaunchScreen.storyboard in Resources */,
@ -2814,6 +3220,7 @@
B1B557D220EF5E3500210D55 /* MediaAlbumTableCell.xib in Resources */,
B1B558C520EF768F00210D55 /* RoomOutgoingEncryptedTextMsgBubbleCell.xib in Resources */,
B1B5582B20EF666100210D55 /* DirectoryRecentTableViewCell.xib in Resources */,
B105778F2213052A00334B1E /* KeyBackupSetupSuccessFromRecoveryKeyViewController.storyboard in Resources */,
B1B5590F20EF782800210D55 /* TableViewCellWithPhoneNumberTextField.xib in Resources */,
B1B5578520EF564900210D55 /* GroupTableViewCellWithSwitch.xib in Resources */,
B1B557B320EF5AEF00210D55 /* EventDetailsView.xib in Resources */,
@ -2827,12 +3234,14 @@
3284A35120A07C210044F922 /* postMessageAPI.js in Resources */,
B1B557A220EF58AD00210D55 /* ContactTableViewCell.xib in Resources */,
B1B558EB20EF768F00210D55 /* RoomIncomingTextMsgWithPaginationTitleBubbleCell.xib in Resources */,
B10B3B5C2201DD740072C76B /* KeyBackupBannerCell.xib in Resources */,
B1B5581820EF625800210D55 /* PreviewRoomTitleView.xib in Resources */,
B1B5583020EF66BA00210D55 /* RoomIdOrAliasTableViewCell.xib in Resources */,
B1B558BF20EF768F00210D55 /* RoomOutgoingEncryptedTextMsgWithoutSenderNameBubbleCell.xib in Resources */,
B1B558FD20EF768F00210D55 /* RoomIncomingAttachmentBubbleCell.xib in Resources */,
B1B558DB20EF768F00210D55 /* RoomIncomingEncryptedTextMsgWithoutSenderNameBubbleCell.xib in Resources */,
B1B5572B20EE6C4D00210D55 /* RoomMemberDetailsViewController.xib in Resources */,
B1D4752C21EE52C30067973F /* KeyBackupSetupIntroViewController.storyboard in Resources */,
B1B558C620EF768F00210D55 /* RoomIncomingEncryptedAttachmentBubbleCell.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -2888,6 +3297,7 @@
"${BUILT_PRODUCTS_DIR}/cmark/cmark.framework",
"${BUILT_PRODUCTS_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework",
"${BUILT_PRODUCTS_DIR}/libbase58/libbase58.framework",
"${BUILT_PRODUCTS_DIR}/zxcvbn-ios/zxcvbn_ios.framework",
"${BUILT_PRODUCTS_DIR}/DTCoreText.default-Extension/DTCoreText.framework",
"${BUILT_PRODUCTS_DIR}/MatrixKit-AppExtension/MatrixKit.framework",
);
@ -2909,6 +3319,7 @@
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/cmark.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libPhoneNumber_iOS.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libbase58.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/zxcvbn_ios.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@ -2933,6 +3344,24 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
B1098BD821ECD3ED000DDA48 /* 🛠 SwiftGen */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "🛠 SwiftGen";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "${PODS_ROOT}/SwiftGen/bin/swiftgen config run --config Tools/SwiftGen/swiftgen-config.yml\n";
};
E34E30CD2CEE4A42FF8081D6 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@ -2959,15 +3388,20 @@
buildActionMask = 2147483647;
files = (
B169328420F38BE300746532 /* SegmentedViewController.m in Sources */,
B16932AD20F3A7B100746532 /* RiotDesignValues.m in Sources */,
32242F1821E8FBF800725742 /* DefaultTheme.swift in Sources */,
B1664BCA20F4E67600808783 /* ShareViewController.m in Sources */,
B1664BC620F4E67600808783 /* FallbackViewController.m in Sources */,
32242F1621E8FBCC00725742 /* ThemeService.m in Sources */,
24EEE5A31F23A8C300B3C705 /* AvatarGenerator.m in Sources */,
B1664BCF20F4E67600808783 /* ShareExtensionManager.m in Sources */,
3209451321F1C1D50088CAA2 /* BlackTheme.swift in Sources */,
24EEE5A21F23A8B400B3C705 /* MXRoom+Riot.m in Sources */,
B1664BC720F4E67600808783 /* SharePresentingViewController.m in Sources */,
F0A8955F1F7D1FEA00BD6C2A /* MXRoomSummary+Riot.m in Sources */,
32242F1721E8FBE500725742 /* Theme.swift in Sources */,
B169328320F38AE600746532 /* RiotSettings.swift in Sources */,
32242F0A21E8B21300725742 /* UIColor.swift in Sources */,
32242F1921E8FBFB00725742 /* DarkTheme.swift in Sources */,
B1664BC820F4E67600808783 /* ShareDataSource.m in Sources */,
B1664BCD20F4E67600808783 /* RecentRoomTableViewCell.m in Sources */,
B169331720F3CBE000746532 /* RecentCellData.m in Sources */,
@ -2988,19 +3422,21 @@
buildActionMask = 2147483647;
files = (
B1B557D120EF5E3500210D55 /* MediaAlbumTableCell.m in Sources */,
B16932AC20F3A7B100746532 /* RiotDesignValues.m in Sources */,
B1B557A120EF58AD00210D55 /* ContactTableViewCell.m in Sources */,
F083BE021E7009ED00A9B29C /* AvatarGenerator.m in Sources */,
B1B5573A20EE6C4D00210D55 /* GroupRoomsViewController.m in Sources */,
B1B558F920EF768F00210D55 /* RoomOutgoingTextMsgWithoutSenderNameBubbleCell.m in Sources */,
B1FDF56021F5FE5500BA3834 /* KeyBackupSetupPassphraseViewAction.swift in Sources */,
B1B5573120EE6C4D00210D55 /* BugReportViewController.m in Sources */,
B16932A520F3A21C00746532 /* empty.mm in Sources */,
B19EFA3B21F8BB4100FC070E /* KeyBackupRecoverCoordinator.swift in Sources */,
B16932FA20F3C51A00746532 /* RecentCellData.m in Sources */,
B16932F220F3C49E00746532 /* GroupsDataSource.m in Sources */,
B1B5581C20EF625800210D55 /* RoomAvatarTitleView.m in Sources */,
B169330820F3CA0E00746532 /* ContactsDataSource.m in Sources */,
B1B5574B20EE6C4D00210D55 /* MediaAlbumContentViewController.m in Sources */,
B1B5598820EFC3E000210D55 /* WidgetManager.m in Sources */,
B1057789221304EC00334B1E /* KeyBackupSetupSuccessFromPassphraseViewController.swift in Sources */,
B16932B120F3AC9200746532 /* RoomSearchDataSource.m in Sources */,
B16932A320F3A21C00746532 /* main.m in Sources */,
B1B5574520EE6C4D00210D55 /* StartChatViewController.m in Sources */,
@ -3009,10 +3445,14 @@
B1B5574820EE6C4D00210D55 /* PeopleViewController.m in Sources */,
B1B5598720EFC3E000210D55 /* Widget.m in Sources */,
B1B557E320EF60B900210D55 /* MessagesSearchResultAttachmentBubbleCell.m in Sources */,
B1CE9F062216FB09000FAE6A /* EncryptionKeysExportPresenter.swift in Sources */,
B1B5574420EE6C4D00210D55 /* CallViewController.m in Sources */,
B1B5572220EE6C4D00210D55 /* RoomSettingsViewController.m in Sources */,
B1B5577320EE702800210D55 /* JitsiViewController.m in Sources */,
B169331620F3CAFC00746532 /* PublicRoomsDirectoryDataSource.m in Sources */,
B110871D21F087F4003554A5 /* KeyBackupSetupPassphraseViewState.swift in Sources */,
B1098C0121ECFE65000DDA48 /* KeyBackupSetupPassphraseCoordinatorType.swift in Sources */,
32242F1221E8FBA900725742 /* ThemeService.m in Sources */,
B1B558E820EF768F00210D55 /* RoomIncomingAttachmentWithPaginationTitleBubbleCell.m in Sources */,
B1B558F320EF768F00210D55 /* RoomOutgoingAttachmentWithoutSenderInfoBubbleCell.m in Sources */,
B1B557BD20EF5B4500210D55 /* KeyboardGrowingTextView.m in Sources */,
@ -3021,29 +3461,44 @@
F083BDEE1E7009ED00A9B29C /* MXRoom+Riot.m in Sources */,
B1B5598620EFC3E000210D55 /* RiotSettings.swift in Sources */,
B1B5581720EF625800210D55 /* PreviewRoomTitleView.m in Sources */,
B1098BDF21ECE09F000DDA48 /* Strings.swift in Sources */,
B1B558C420EF768F00210D55 /* RoomIncomingEncryptedTextMsgWithPaginationTitleWithoutSenderNameBubbleCell.m in Sources */,
B1B5572F20EE6C4D00210D55 /* ReadReceiptsViewController.m in Sources */,
B1B558CB20EF768F00210D55 /* RoomIncomingEncryptedTextMsgWithoutSenderInfoBubbleCell.m in Sources */,
B169330B20F3CA3A00746532 /* Contact.m in Sources */,
B1D4752A21EE52B10067973F /* KeyBackupSetupIntroViewController.swift in Sources */,
B1B5599220EFC5E400210D55 /* Analytics.m in Sources */,
B14F143422144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewAction.swift in Sources */,
B1098BF621ECFE65000DDA48 /* KeyBackupSetupPassphraseCoordinator.swift in Sources */,
B1B558C320EF768F00210D55 /* RoomIncomingEncryptedTextMsgWithoutSenderNameBubbleCell.m in Sources */,
B110872521F098F0003554A5 /* ActivityIndicatorPresenter.swift in Sources */,
32242F1521E8FBA900725742 /* DarkTheme.swift in Sources */,
B140B4A621F89E7600E3F5FE /* KeyBackupSetupCoordinatorBridgePresenter.swift in Sources */,
B1B5577420EE702900210D55 /* WidgetViewController.m in Sources */,
B139C21B21FE5B9200BB68EC /* KeyBackupRecoverFromPassphraseViewModel.swift in Sources */,
B1B5574A20EE6C4D00210D55 /* MediaPickerViewController.m in Sources */,
B1B5598520EFC3E000210D55 /* RageShakeManager.m in Sources */,
B1B558D420EF768F00210D55 /* RoomOutgoingEncryptedTextMsgWithoutSenderInfoBubbleCell.m in Sources */,
B169331420F3CAFC00746532 /* PublicRoomTableViewCell.m in Sources */,
32BF995721FB07A400698084 /* SettingsKeyBackupTableViewSection.swift in Sources */,
B14F142F22144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewModelType.swift in Sources */,
B1B558E120EF768F00210D55 /* RoomMembershipCollapsedBubbleCell.m in Sources */,
B1B5571A20EE6C4D00210D55 /* SettingsViewController.m in Sources */,
B1CE9EFD22148703000FAE6A /* SignOutAlertPresenter.swift in Sources */,
B1B5594720EF7BD000210D55 /* RoomCollectionViewCell.m in Sources */,
B1B558C120EF768F00210D55 /* RoomIncomingEncryptedAttachmentWithPaginationTitleBubbleCell.m in Sources */,
B1B5573E20EE6C4D00210D55 /* RiotNavigationController.m in Sources */,
B1B5593B20EF7BAC00210D55 /* TableViewCellWithCheckBoxAndLabel.m in Sources */,
B1B5581A20EF625800210D55 /* ExpandedRoomTitleView.m in Sources */,
B1107EC82200B0720038014B /* KeyBackupRecoverSuccessViewController.swift in Sources */,
B1B558E920EF768F00210D55 /* RoomSelectedStickerBubbleCell.m in Sources */,
B1B558DF20EF768F00210D55 /* RoomOutgoingTextMsgWithoutSenderInfoBubbleCell.m in Sources */,
F083BE041E7009ED00A9B29C /* Tools.m in Sources */,
3275FD8C21A5A2C500B9C13D /* TermsView.swift in Sources */,
B14F143122144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewState.swift in Sources */,
B1098C1121ED07E4000DDA48 /* NavigationRouterType.swift in Sources */,
B1B5573D20EE6C4D00210D55 /* WebViewViewController.m in Sources */,
3209451221F1C1430088CAA2 /* BlackTheme.swift in Sources */,
B1B5572720EE6C4D00210D55 /* RoomSearchViewController.m in Sources */,
F05927C91FDED836009F2A68 /* MXGroup+Riot.m in Sources */,
B1B5594520EF7BD000210D55 /* TableViewCellWithCollectionView.m in Sources */,
@ -3054,8 +3509,13 @@
B1B5571920EE6C4D00210D55 /* LanguagePickerViewController.m in Sources */,
B1B5590520EF768F00210D55 /* RoomIncomingTextMsgWithoutSenderInfoBubbleCell.m in Sources */,
B1B558DD20EF768F00210D55 /* RoomIncomingEncryptedTextMsgBubbleCell.m in Sources */,
B1098BE521ECE1FC000DDA48 /* Storyboards.swift in Sources */,
B1D4752721EE4E630067973F /* KeyboardAvoider.swift in Sources */,
B1D4752821EE4E630067973F /* KeyboardNotification.swift in Sources */,
B1B5573C20EE6C4D00210D55 /* MasterTabBarController.m in Sources */,
B1B5592C20EF7A5D00210D55 /* TableViewCellWithButton.m in Sources */,
32242F1421E8FBA900725742 /* DefaultTheme.swift in Sources */,
32242F1321E8FBA900725742 /* Theme.swift in Sources */,
B1B5582520EF638A00210D55 /* RoomMemberTitleView.m in Sources */,
B1B5582C20EF666100210D55 /* DirectoryRecentTableViewCell.m in Sources */,
B1B558E420EF768F00210D55 /* RoomMembershipWithPaginationTitleBubbleCell.m in Sources */,
@ -3065,18 +3525,23 @@
B1B558C920EF768F00210D55 /* RoomIncomingEncryptedAttachmentWithoutSenderInfoBubbleCell.m in Sources */,
B1B5571B20EE6C4D00210D55 /* DeactivateAccountViewController.m in Sources */,
B1B5590620EF768F00210D55 /* RoomMembershipCollapsedWithPaginationTitleBubbleCell.m in Sources */,
B139C21D21FE5BF500BB68EC /* KeyBackupRecoverFromPassphraseViewModelType.swift in Sources */,
F083BE031E7009ED00A9B29C /* EventFormatter.m in Sources */,
B16932F720F3C50E00746532 /* RecentsDataSource.m in Sources */,
B1B558FC20EF768F00210D55 /* RoomIncomingTextMsgWithPaginationTitleBubbleCell.m in Sources */,
B1B5572920EE6C4D00210D55 /* RoomFilesViewController.m in Sources */,
B1098C1021ED07E4000DDA48 /* Presentable.swift in Sources */,
B1B558E020EF768F00210D55 /* RoomOutgoingTextMsgBubbleCell.m in Sources */,
B1B5593C20EF7BAC00210D55 /* TableViewCellWithCheckBoxes.m in Sources */,
B1CA3A2721EF6914000D1D89 /* UIViewController.swift in Sources */,
F0D2ADA11F6AA5FD00A7097D /* MXRoomSummary+Riot.m in Sources */,
B1B5596F20EFA85D00210D55 /* EncryptionInfoView.m in Sources */,
B1B5573820EE6C4D00210D55 /* GroupParticipantsViewController.m in Sources */,
B1B5583E20EF6E7F00210D55 /* GroupRoomTableViewCell.m in Sources */,
B14F143522144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewController.swift in Sources */,
B1B5574F20EE6C4D00210D55 /* RoomsViewController.m in Sources */,
B1B5572520EE6C4D00210D55 /* RoomMessagesSearchViewController.m in Sources */,
B139C22121FE5D9D00BB68EC /* KeyBackupRecoverFromPassphraseViewState.swift in Sources */,
B1B5579120EF568D00210D55 /* GroupInviteTableViewCell.m in Sources */,
B1B5579A20EF575B00210D55 /* ForgotPasswordInputsView.m in Sources */,
B1B558CC20EF768F00210D55 /* RoomOutgoingEncryptedAttachmentWithoutSenderInfoBubbleCell.m in Sources */,
@ -3085,11 +3550,15 @@
B1B557DE20EF5FBB00210D55 /* FilesSearchTableViewCell.m in Sources */,
B1B5574020EE6C4D00210D55 /* SegmentedViewController.m in Sources */,
B1B5599320EFC5E400210D55 /* DecryptionFailure.m in Sources */,
B1098BF921ECFE65000DDA48 /* KeyBackupSetupCoordinator.swift in Sources */,
B140B4A821F8AB4600E3F5FE /* KeyBackupRecoverCoordinatorBridgePresenter.swift in Sources */,
B1098BFE21ECFE65000DDA48 /* KeyBackupSetupPassphraseViewModelType.swift in Sources */,
B1B558BE20EF768F00210D55 /* RoomOutgoingEncryptedAttachmentWithPaginationTitleBubbleCell.m in Sources */,
F083BDED1E7009ED00A9B29C /* MXKRoomBubbleTableViewCell+Riot.m in Sources */,
B1B557A820EF5A1B00210D55 /* DeviceTableViewCell.m in Sources */,
B1B5572620EE6C4D00210D55 /* RoomFilesSearchViewController.m in Sources */,
B1B5583120EF66BA00210D55 /* RoomIdOrAliasTableViewCell.m in Sources */,
B1CA3A2921EF692B000D1D89 /* UIView.swift in Sources */,
F083BDFA1E7009ED00A9B29C /* RoomPreviewData.m in Sources */,
B1B557B420EF5AEF00210D55 /* EventDetailsView.m in Sources */,
B1B5577E20EE84BF00210D55 /* IncomingCallView.m in Sources */,
@ -3099,8 +3568,10 @@
B1B5574120EE6C4D00210D55 /* RecentsViewController.m in Sources */,
B1D250D82118AA0A000F4E93 /* RoomPredecessorBubbleCell.m in Sources */,
B1B5577120EE702800210D55 /* StickerPickerViewController.m in Sources */,
B104C2942203773C00D9F496 /* KeyBackupBannerPreferences.swift in Sources */,
B1B5572020EE6C4D00210D55 /* ContactsTableViewController.m in Sources */,
B1B5581920EF625800210D55 /* RoomTitleView.m in Sources */,
B1098BE321ECE09F000DDA48 /* RiotDefaults.swift in Sources */,
B1B557BE20EF5B4500210D55 /* RoomInputToolbarView.m in Sources */,
B1B5573B20EE6C4D00210D55 /* FavouritesViewController.m in Sources */,
B1B5579920EF575B00210D55 /* AuthInputsView.m in Sources */,
@ -3108,16 +3579,24 @@
B1B5571E20EE6C4D00210D55 /* ContactDetailsViewController.m in Sources */,
B1798302211B13B3001FD722 /* OnBoardingManager.swift in Sources */,
B1B5573520EE6C4D00210D55 /* GroupDetailsViewController.m in Sources */,
B10B3B5B2201DD740072C76B /* KeyBackupBannerCell.swift in Sources */,
B1098BFA21ECFE65000DDA48 /* KeyBackupSetupPassphraseViewModel.swift in Sources */,
B1B5575220EE6C4D00210D55 /* RoomKeyRequestViewController.m in Sources */,
F083BD1E1E7009ED00A9B29C /* AppDelegate.m in Sources */,
B1B558E620EF768F00210D55 /* RoomIncomingAttachmentWithoutSenderInfoBubbleCell.m in Sources */,
B1098BFB21ECFE65000DDA48 /* KeyBackupSetupCoordinatorType.swift in Sources */,
B1098BF721ECFE65000DDA48 /* PasswordStrength.swift in Sources */,
B105778D2213051E00334B1E /* KeyBackupSetupSuccessFromRecoveryKeyViewController.swift in Sources */,
B1B557D820EF5EA900210D55 /* RoomActivitiesView.m in Sources */,
B1B5596620EF9E9B00210D55 /* RoomTableViewCell.m in Sources */,
B14F143322144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyViewModel.swift in Sources */,
B1B558D020EF768F00210D55 /* RoomOutgoingEncryptedTextMsgWithPaginationTitleWithoutSenderNameBubbleCell.m in Sources */,
B1B558CF20EF768F00210D55 /* RoomIncomingEncryptedTextMsgWithPaginationTitleBubbleCell.m in Sources */,
B140B4A221F87F7100E3F5FE /* OperationQueue.swift in Sources */,
B1B5575120EE6C4D00210D55 /* AuthenticationViewController.m in Sources */,
B1B5571820EE6C4D00210D55 /* CountryPickerViewController.m in Sources */,
B17982FF2119FED2001FD722 /* GDPRConsentViewController.swift in Sources */,
B1098BE121ECE09F000DDA48 /* Images.swift in Sources */,
B1B5575A20EE6C4D00210D55 /* UnifiedSearchViewController.m in Sources */,
B1B5572820EE6C4D00210D55 /* RoomViewController.m in Sources */,
B1B558C720EF768F00210D55 /* RoomOutgoingEncryptedTextMsgWithPaginationTitleBubbleCell.m in Sources */,
@ -3127,12 +3606,22 @@
B1B558C820EF768F00210D55 /* RoomIncomingEncryptedAttachmentBubbleCell.m in Sources */,
B1B557C620EF5CD400210D55 /* DirectoryServerDetailTableViewCell.m in Sources */,
B1B5590920EF768F00210D55 /* RoomEmptyBubbleCell.m in Sources */,
B139C21F21FE5D6600BB68EC /* KeyBackupRecoverFromPassphraseViewAction.swift in Sources */,
B1B5574720EE6C4D00210D55 /* UsersDevicesViewController.m in Sources */,
B1098BFF21ECFE65000DDA48 /* PasswordStrengthView.swift in Sources */,
B1B558D220EF768F00210D55 /* RoomEncryptedDataBubbleCell.m in Sources */,
B1B558FA20EF768F00210D55 /* RoomMembershipBubbleCell.m in Sources */,
B1B557BF20EF5B4500210D55 /* DisabledRoomInputToolbarView.m in Sources */,
B1B5578620EF564900210D55 /* GroupTableViewCellWithSwitch.m in Sources */,
B1098BE821ECFE52000DDA48 /* Coordinator.swift in Sources */,
B1B557E920EF60F500210D55 /* MessagesSearchResultTextMsgBubbleCell.m in Sources */,
B1098C0D21ED07E4000DDA48 /* NavigationRouter.swift in Sources */,
B110872321F098F0003554A5 /* ActivityIndicatorPresenterType.swift in Sources */,
B139C22321FF01B200BB68EC /* KeyBackupRecoverFromPassphraseCoordinatorType.swift in Sources */,
B14F143222144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyCoordinator.swift in Sources */,
B110872621F098F0003554A5 /* ActivityIndicatorView.swift in Sources */,
B19EFA3921F8BB2C00FC070E /* KeyBackupRecoverCoordinatorType.swift in Sources */,
B1E5368D21FB7245001F3AFF /* KeyBackupRecoverFromPassphraseViewController.swift in Sources */,
B169330320F3C98900746532 /* RoomBubbleCellData.m in Sources */,
B1B557CC20EF5D8000210D55 /* DirectoryServerTableViewCell.m in Sources */,
B1B5575C20EE6C4D00210D55 /* DirectoryViewController.m in Sources */,
@ -3141,23 +3630,34 @@
B1B558D320EF768F00210D55 /* RoomOutgoingEncryptedTextMsgBubbleCell.m in Sources */,
B1B5576F20EE702800210D55 /* IntegrationManagerViewController.m in Sources */,
B1B557AC20EF5A6D00210D55 /* DeviceView.m in Sources */,
3281BCF72201FA4200F4A383 /* UIControl.swift in Sources */,
B16932EE20F3C3C900746532 /* FilesSearchCellData.m in Sources */,
B1B558E520EF768F00210D55 /* RoomMembershipExpandedBubbleCell.m in Sources */,
32BF995121FA29DC00698084 /* SettingsKeyBackupViewModelType.swift in Sources */,
32BF995321FA2A1300698084 /* SettingsKeyBackupViewState.swift in Sources */,
B1B5599420EFC5E400210D55 /* DecryptionFailureTracker.m in Sources */,
F083BDF01E7009ED00A9B29C /* UIViewController+RiotSearch.m in Sources */,
F083BDF91E7009ED00A9B29C /* RoomEmailInvitation.m in Sources */,
B1B5572C20EE6C4D00210D55 /* RoomParticipantsViewController.m in Sources */,
B1B558EE20EF768F00210D55 /* RoomOutgoingAttachmentBubbleCell.m in Sources */,
32BF994F21FA29A400698084 /* SettingsKeyBackupViewModel.swift in Sources */,
B1B5574920EE6C4D00210D55 /* RiotSplitViewController.m in Sources */,
B1B5574E20EE6C4D00210D55 /* DirectoryServerPickerViewController.m in Sources */,
B1B5575B20EE6C4D00210D55 /* HomeFilesSearchViewController.m in Sources */,
B139C22521FF01C100BB68EC /* KeyBackupRecoverFromPassphraseCoordinator.swift in Sources */,
B1098BFD21ECFE65000DDA48 /* PasswordStrengthManager.swift in Sources */,
B1B558F520EF768F00210D55 /* RoomOutgoingTextMsgWithPaginationTitleBubbleCell.m in Sources */,
B1B558F820EF768F00210D55 /* RoomIncomingTextMsgWithPaginationTitleWithoutSenderNameBubbleCell.m in Sources */,
32242F0921E8B05F00725742 /* UIColor.swift in Sources */,
B16932E720F3C37100746532 /* HomeMessagesSearchDataSource.m in Sources */,
B1B558CE20EF768F00210D55 /* RoomOutgoingEncryptedAttachmentBubbleCell.m in Sources */,
B1B5577D20EE84BF00210D55 /* CircleButton.m in Sources */,
32BF995521FA2AB700698084 /* SettingsKeyBackupViewAction.swift in Sources */,
B1B558FF20EF768F00210D55 /* RoomIncomingTextMsgBubbleCell.m in Sources */,
B1098C0021ECFE65000DDA48 /* KeyBackupSetupPassphraseViewController.swift in Sources */,
B1B5591020EF782800210D55 /* TableViewCellWithPhoneNumberTextField.m in Sources */,
B14F143022144F6500FA0595 /* KeyBackupRecoverFromRecoveryKeyCoordinatorType.swift in Sources */,
B1E5368921FB1E20001F3AFF /* UIButton.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View file

@ -24,7 +24,7 @@
#import "RageShakeManager.h"
#import "Analytics.h"
#import "RiotDesignValues.h"
#import "ThemeService.h"
#pragma mark - Notifications
/**
@ -90,6 +90,7 @@ extern NSString *const kAppDelegateNetworkStatusDidChangeNotification;
- (void)restoreEmptyDetailsViewController;
- (UIAlertController*)showErrorAsAlert:(NSError*)error;
- (UIAlertController*)showAlertWithTitle:(NSString*)title message:(NSString*)message;
#pragma mark - Matrix Sessions handling

View file

@ -200,7 +200,12 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
Prompt to ask the user to log in again.
*/
UIAlertController *cryptoDataCorruptedAlert;
/**
Prompt to warn the user about a new backup on the homeserver.
*/
UIAlertController *wrongBackupVersionAlert;
/**
The launch animation container view
*/
@ -277,7 +282,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
buildBranch = MAKE_NS_STRING(GIT_BRANCH);
#endif
#ifdef BUILD_NUMBER
buildNumber = [NSString stringWithFormat:@"#%d", BUILD_NUMBER];
buildNumber = [NSString stringWithFormat:@"#%@", @(BUILD_NUMBER)];
#endif
if (buildBranch && buildNumber)
{
@ -389,7 +394,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
NSLog(@"[AppDelegate] didFinishLaunchingWithOptions: isProtectedDataAvailable: %@", @([application isProtectedDataAvailable]));
// Log app information
NSString *appDisplayName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
NSString *appDisplayName = [[NSBundle mainBundle] infoDictionary][@"CFBundleDisplayName"];
NSString* appVersion = [AppDelegate theDelegate].appVersion;
NSString* build = [AppDelegate theDelegate].build;
@ -403,6 +408,9 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
[self setupUserDefaults];
// Set up theme
ThemeService.shared.themeId = RiotSettings.shared.userInterfaceTheme;
// Set up runtime language and fallback by considering the userDefaults object shared within the application group.
NSUserDefaults *sharedUserDefaults = [MXKAppSettings standardAppSettings].sharedUserDefaults;
NSString *language = [sharedUserDefaults objectForKey:@"appLanguage"];
@ -422,7 +430,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
[NSBundle mxk_setFallbackLanguage:@"en"];
// Define the navigation bar text color
[[UINavigationBar appearance] setTintColor:kRiotColorGreen];
[[UINavigationBar appearance] setTintColor:ThemeService.shared.theme.tintColor];
// Customize the localized string table
[NSBundle mxk_customizeLocalizedStringTableName:@"Vector"];
@ -437,15 +445,15 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
splitViewController.delegate = self;
_masterNavigationController = [splitViewController.viewControllers objectAtIndex:0];
_masterNavigationController = splitViewController.viewControllers[0];
_masterTabBarController = _masterNavigationController.viewControllers.firstObject;
// Force the background color of the fake view controller displayed when there is no details.
UINavigationController *secondNavController = self.secondaryNavigationController;
if (secondNavController)
{
secondNavController.navigationBar.barTintColor = kRiotPrimaryBgColor;
secondNavController.topViewController.view.backgroundColor = kRiotPrimaryBgColor;
[ThemeService.shared.theme applyStyleOnNavigationBar:secondNavController.navigationBar];
secondNavController.topViewController.view.backgroundColor = ThemeService.shared.theme.backgroundColor;
}
// on IOS 8 iPad devices, force to display the primary and the secondary viewcontroller
@ -515,6 +523,12 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
[cryptoDataCorruptedAlert dismissViewControllerAnimated:NO completion:nil];
cryptoDataCorruptedAlert = nil;
}
if (wrongBackupVersionAlert)
{
[wrongBackupVersionAlert dismissViewControllerAnimated:NO completion:nil];
wrongBackupVersionAlert = nil;
}
}
- (void)applicationDidEnterBackground:(UIApplication *)application
@ -647,7 +661,10 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
// Observe crypto data storage corruption
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onSessionCryptoDidCorruptData:) name:kMXSessionCryptoDidCorruptDataNotification object:nil];
// Observe wrong backup version
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBackupStateDidChangeNotification:) name:kMXKeyBackupDidStateChangeNotification object:nil];
// Resume all existing matrix sessions
NSArray *mxAccounts = [MXKAccountManager sharedManager].activeAccounts;
for (MXKAccount *account in mxAccounts)
@ -786,6 +803,12 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
NSLog(@"[AppDelegate] restoreInitialDisplay: keep visible log in again");
[self showNotificationAlert:cryptoDataCorruptedAlert];
}
else if (wrongBackupVersionAlert)
{
NSLog(@"[AppDelegate] restoreInitialDisplay: keep visible wrongBackupVersionAlert");
[self showNotificationAlert:wrongBackupVersionAlert];
}
// Check whether an error notification is pending
else if (_errorNotification)
{
@ -835,7 +858,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
UIViewController *emptyDetailsViewController = [storyboard instantiateViewControllerWithIdentifier:@"EmptyDetailsViewControllerStoryboardId"];
emptyDetailsViewController.view.backgroundColor = kRiotPrimaryBgColor;
emptyDetailsViewController.view.backgroundColor = ThemeService.shared.theme.backgroundColor;
splitViewController.viewControllers = @[mainViewController, emptyDetailsViewController];
}
@ -868,9 +891,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
return nil;
}
}
[_errorNotification dismissViewControllerAnimated:NO completion:nil];
NSString *title = [error.userInfo valueForKey:NSLocalizedFailureReasonErrorKey];
NSString *msg = [error.userInfo valueForKey:NSLocalizedDescriptionKey];
if (!title)
@ -886,13 +907,26 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
}
}
_errorNotification = [UIAlertController alertControllerWithTitle:title message:msg preferredStyle:UIAlertControllerStyleAlert];
// Switch in offline mode in case of network reachability error
if ([error.domain isEqualToString:NSURLErrorDomain] && error.code == NSURLErrorNotConnectedToInternet)
{
self.isOffline = YES;
}
return [self showAlertWithTitle:title message:msg];
}
- (UIAlertController*)showAlertWithTitle:(NSString*)title message:(NSString*)message
{
[_errorNotification dismissViewControllerAnimated:NO completion:nil];
_errorNotification = [UIAlertController alertControllerWithTitle:title message:message preferredStyle:UIAlertControllerStyleAlert];
[_errorNotification addAction:[UIAlertAction actionWithTitle:[NSBundle mxk_localizedStringForKey:@"ok"]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[AppDelegate theDelegate].errorNotification = nil;
}]];
// Display the error notification
if (!isErrorNotificationSuspended)
@ -900,13 +934,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
[_errorNotification mxk_setAccessibilityIdentifier:@"AppDelegateErrorAlert"];
[self showNotificationAlert:_errorNotification];
}
// Switch in offline mode in case of network reachability error
if ([error.domain isEqualToString:NSURLErrorDomain] && error.code == NSURLErrorNotConnectedToInternet)
{
self.isOffline = YES;
}
return self.errorNotification;
}
@ -974,6 +1002,47 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
}
}
- (void)keyBackupStateDidChangeNotification:(NSNotification *)notification
{
MXKeyBackup *keyBackup = notification.object;
if (keyBackup.state == MXKeyBackupStateWrongBackUpVersion)
{
if (wrongBackupVersionAlert)
{
[wrongBackupVersionAlert dismissViewControllerAnimated:NO completion:nil];
}
wrongBackupVersionAlert = [UIAlertController
alertControllerWithTitle:NSLocalizedStringFromTable(@"e2e_key_backup_wrong_version_title", @"Vector", nil)
message:NSLocalizedStringFromTable(@"e2e_key_backup_wrong_version", @"Vector", nil)
preferredStyle:UIAlertControllerStyleAlert];
MXWeakify(self);
[wrongBackupVersionAlert addAction:[UIAlertAction actionWithTitle:[NSBundle mxk_localizedStringForKey:@"e2e_key_backup_wrong_version_button_settings"]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
{
MXStrongifyAndReturnIfNil(self);
self->wrongBackupVersionAlert = nil;
// TODO: Open settings
}]];
[wrongBackupVersionAlert addAction:[UIAlertAction actionWithTitle:[NSBundle mxk_localizedStringForKey:@"e2e_key_backup_wrong_version_button_wasme"]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
{
MXStrongifyAndReturnIfNil(self);
self->wrongBackupVersionAlert = nil;
}]];
[self showNotificationAlert:wrongBackupVersionAlert];
}
}
#pragma mark
- (void)popToHomeViewControllerAnimated:(BOOL)animated completion:(void (^)(void))completion
@ -1069,20 +1138,18 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
if (!isPushRegistered)
{
NSMutableSet* notificationCategories = [NSMutableSet set];
if ([[UIMutableUserNotificationAction class] instancesRespondToSelector:@selector(behavior)])
{
UIMutableUserNotificationAction* quickReply = [[UIMutableUserNotificationAction alloc] init];
quickReply.title = NSLocalizedStringFromTable(@"room_message_short_placeholder", @"Vector", nil);
quickReply.identifier = @"inline-reply";
quickReply.activationMode = UIUserNotificationActivationModeBackground;
quickReply.authenticationRequired = true;
quickReply.behavior = UIUserNotificationActionBehaviorTextInput;
UIMutableUserNotificationCategory* quickReplyCategory = [[UIMutableUserNotificationCategory alloc] init];
quickReplyCategory.identifier = @"QUICK_REPLY";
[quickReplyCategory setActions:[NSArray arrayWithObjects:quickReply, nil] forContext:UIUserNotificationActionContextDefault];
[notificationCategories addObject:quickReplyCategory];
}
UIMutableUserNotificationAction* quickReply = [[UIMutableUserNotificationAction alloc] init];
quickReply.title = NSLocalizedStringFromTable(@"room_message_short_placeholder", @"Vector", nil);
quickReply.identifier = @"inline-reply";
quickReply.activationMode = UIUserNotificationActivationModeBackground;
quickReply.authenticationRequired = true;
quickReply.behavior = UIUserNotificationActionBehaviorTextInput;
UIMutableUserNotificationCategory* quickReplyCategory = [[UIMutableUserNotificationCategory alloc] init];
quickReplyCategory.identifier = @"QUICK_REPLY";
[quickReplyCategory setActions:@[quickReply] forContext:UIUserNotificationActionContextDefault];
[notificationCategories addObject:quickReplyCategory];
// Registration on iOS 8 and later
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeSound |UIUserNotificationTypeAlert) categories:notificationCategories];
@ -1144,7 +1211,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
else
{
[manager roomDataSourceForRoom:roomId create:YES onComplete:^(MXKRoomDataSource *roomDataSource) {
NSString* responseText = [responseInfo objectForKey:UIUserNotificationActionResponseTypedTextKey];
NSString* responseText = responseInfo[UIUserNotificationActionResponseTypedTextKey];
if (responseText != nil && responseText.length != 0)
{
NSLog(@"[AppDelegate][Push] handleActionWithIdentifier: sending message to room: %@", roomId);
@ -1914,6 +1981,12 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
} failure:^(NSError *error) {
NSLog(@"[AppDelegate] Universal link: Error: The home server failed to resolve the room alias (%@)", roomIdOrAlias);
[homeViewController stopActivityIndicator];
NSString *errorMessage = [NSString stringWithFormat:NSLocalizedStringFromTable(@"room_does_not_exist", @"Vector", nil), roomIdOrAlias];
[self showAlertWithTitle:nil message:errorMessage];
}];
}
else if ([roomIdOrAlias hasPrefix:@"!"] && ((MXKAccount*)accountManager.activeAccounts.firstObject).mxSession.state != MXSessionStateRunning)
@ -2144,10 +2217,10 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
for (NSString *keyValue in [fragments[1] componentsSeparatedByString:@"&"])
{
// Get the parameter name
NSString *key = [[keyValue componentsSeparatedByString:@"="] objectAtIndex:0];
NSString *key = [keyValue componentsSeparatedByString:@"="][0];
// Get the parameter value
NSString *value = [[keyValue componentsSeparatedByString:@"="] objectAtIndex:1];
NSString *value = [keyValue componentsSeparatedByString:@"="][1];
if (value.length)
{
value = [value stringByReplacingOccurrencesOfString:@"+" withString:@" "];
@ -2659,6 +2732,9 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
// Clear cache
[MXMediaManager clearCache];
// Reset key backup banner preferences
[KeyBackupBannerPreferences.shared reset];
#ifdef MX_CALL_STACK_ENDPOINT
// Erase all created certificates and private keys by MXEndpointCallStack
for (MXKAccount *account in MXKAccountManager.sharedManager.accounts)
@ -2825,7 +2901,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
if (!launchAnimationContainerView && window)
{
launchAnimationContainerView = [[UIView alloc] initWithFrame:window.bounds];
launchAnimationContainerView.backgroundColor = kRiotPrimaryBgColor;
launchAnimationContainerView.backgroundColor = ThemeService.shared.theme.backgroundColor;
launchAnimationContainerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[window addSubview:launchAnimationContainerView];
@ -3449,22 +3525,12 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
_jitsiViewController = nil;
NSError *theError = [NSError errorWithDomain:@""
code:0
userInfo:@{
NSLocalizedDescriptionKey: NSLocalizedStringFromTable(@"call_jitsi_error", @"Vector", nil)
}];
[self showErrorAsAlert:theError];
[self showAlertWithTitle:nil message:NSLocalizedStringFromTable(@"call_jitsi_error", @"Vector", nil)];
}];
}
else
{
NSError *error = [NSError errorWithDomain:@""
code:0
userInfo:@{
NSLocalizedDescriptionKey: NSLocalizedStringFromTable(@"call_already_displayed", @"Vector", nil)
}];
[self showErrorAsAlert:error];
[self showAlertWithTitle:nil message:NSLocalizedStringFromTable(@"call_already_displayed", @"Vector", nil)];
}
}
@ -3531,7 +3597,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
[_callStatusBarButton setTitle:buttonTitle forState:UIControlStateNormal];
[_callStatusBarButton setTitle:buttonTitle forState:UIControlStateHighlighted];
_callStatusBarButton.titleLabel.textColor = kRiotPrimaryBgColor;
_callStatusBarButton.titleLabel.textColor = ThemeService.shared.theme.backgroundColor;
if ([UIFont respondsToSelector:@selector(systemFontOfSize:weight:)])
{
@ -3542,7 +3608,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
_callStatusBarButton.titleLabel.font = [UIFont boldSystemFontOfSize:17];
}
[_callStatusBarButton setBackgroundColor:kRiotColorGreen];
[_callStatusBarButton setBackgroundColor:ThemeService.shared.theme.tintColor];
[_callStatusBarButton addTarget:self action:@selector(onCallStatusBarButtonPressed) forControlEvents:UIControlEventTouchUpInside];
// Place button into the new window
@ -3691,7 +3757,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
}
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
UIViewController *emptyDetailsViewController = [storyboard instantiateViewControllerWithIdentifier:@"EmptyDetailsViewControllerStoryboardId"];
emptyDetailsViewController.view.backgroundColor = kRiotPrimaryBgColor;
emptyDetailsViewController.view.backgroundColor = ThemeService.shared.theme.backgroundColor;
return emptyDetailsViewController;
}
@ -3777,7 +3843,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
callerDisplayname = event.sender;
}
NSString *appDisplayName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
NSString *appDisplayName = [[NSBundle mainBundle] infoDictionary][@"CFBundleDisplayName"];
NSString *message = [NSString stringWithFormat:NSLocalizedStringFromTable(@"no_voip", @"Vector", nil), callerDisplayname, appDisplayName];

Binary file not shown.

Before

Width:  |  Height:  |  Size: 956 B

After

Width:  |  Height:  |  Size: 890 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 B

After

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 744 B

After

Width:  |  Height:  |  Size: 722 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 963 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 662 B

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 879 B

After

Width:  |  Height:  |  Size: 817 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 967 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 602 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 838 B

After

Width:  |  Height:  |  Size: 853 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 B

After

Width:  |  Height:  |  Size: 692 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 863 B

After

Width:  |  Height:  |  Size: 965 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 621 B

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 769 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 571 B

After

Width:  |  Height:  |  Size: 708 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 871 B

After

Width:  |  Height:  |  Size: 965 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 795 B

After

Width:  |  Height:  |  Size: 920 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 B

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 511 B

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 726 B

After

Width:  |  Height:  |  Size: 733 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1,005 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 419 B

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 697 B

After

Width:  |  Height:  |  Size: 665 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 860 B

After

Width:  |  Height:  |  Size: 853 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 427 B

After

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 839 B

After

Width:  |  Height:  |  Size: 778 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 436 B

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 849 B

After

Width:  |  Height:  |  Size: 791 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View file

@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View file

@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "close_banner.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "close_banner@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "close_banner@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 B

View file

@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "import_files_button.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "import_files_button@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "import_files_button@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,26 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "key_backup_logo.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "key_backup_logo@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "key_backup_logo@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}

Some files were not shown because too many files have changed in this diff Show more