diff --git a/Riot/Assets/en.lproj/Vector.strings b/Riot/Assets/en.lproj/Vector.strings index e33eb5f23..0ce59a41b 100644 --- a/Riot/Assets/en.lproj/Vector.strings +++ b/Riot/Assets/en.lproj/Vector.strings @@ -1023,12 +1023,12 @@ "key_backup_recover_success_info" = "Backup Restored!"; "key_backup_recover_done_action" = "Done"; -// MARK: Secure Key backup banners +// MARK: Secure backup banners // Setup -"secure_key_backup_setup_banner_title" = "Secure Backup"; -"secure_key_backup_setup_banner_subtitle" = "Safeguard against losing access to encrypted messages & data"; +"secure_backup_setup_banner_title" = "Secure Backup"; +"secure_backup_setup_banner_subtitle" = "Safeguard against losing access to encrypted messages & data"; // MARK: Key backup banners diff --git a/Riot/Generated/Strings.swift b/Riot/Generated/Strings.swift index b00eb3ff1..812209514 100644 --- a/Riot/Generated/Strings.swift +++ b/Riot/Generated/Strings.swift @@ -3051,12 +3051,12 @@ internal enum VectorL10n { return VectorL10n.tr("Vector", "secrets_setup_recovery_passphrase_validate_action") } /// Safeguard against losing access to encrypted messages & data - internal static var secureKeyBackupSetupBannerSubtitle: String { - return VectorL10n.tr("Vector", "secure_key_backup_setup_banner_subtitle") + internal static var secureBackupSetupBannerSubtitle: String { + return VectorL10n.tr("Vector", "secure_backup_setup_banner_subtitle") } /// Secure Backup - internal static var secureKeyBackupSetupBannerTitle: String { - return VectorL10n.tr("Vector", "secure_key_backup_setup_banner_title") + internal static var secureBackupSetupBannerTitle: String { + return VectorL10n.tr("Vector", "secure_backup_setup_banner_title") } /// If you cancel now, you may lose encrypted messages & data if you lose access to your logins.\n\nYou can also set up Secure Backup & manage your keys in Settings. internal static var secureKeyBackupSetupCancelAlertMessage: String { diff --git a/Riot/Modules/Common/Recents/DataSources/RecentsDataSource.h b/Riot/Modules/Common/Recents/DataSources/RecentsDataSource.h index 28ecb49de..364cc4f5d 100644 --- a/Riot/Modules/Common/Recents/DataSources/RecentsDataSource.h +++ b/Riot/Modules/Common/Recents/DataSources/RecentsDataSource.h @@ -33,13 +33,13 @@ typedef enum : NSUInteger } RecentsDataSourceMode; /** - List the different secure key backup banners that could be displayed. + List the different secure backup banners that could be displayed. */ -typedef NS_ENUM(NSInteger, SecureKeyBackupBannerDisplay) +typedef NS_ENUM(NSInteger, SecureBackupBannerDisplay) { - SecureKeyBackupBannerDisplayNone, - SecureKeyBackupBannerDisplaySetup, - SecureKeyBackupBannerDisplayRecover + SecureBackupBannerDisplayNone, + SecureBackupBannerDisplaySetup, + SecureBackupBannerDisplayRecover }; /** @@ -55,7 +55,7 @@ extern NSString *const kRecentsDataSourceTapOnDirectoryServerChange; */ @interface RecentsDataSource : MXKInterleavedRecentsDataSource -@property (nonatomic) NSInteger keyBackupBannerSection; +@property (nonatomic) NSInteger secureBackupBannerSection; @property (nonatomic) NSInteger directorySection; @property (nonatomic) NSInteger invitesSection; @property (nonatomic) NSInteger favoritesSection; @@ -71,7 +71,7 @@ extern NSString *const kRecentsDataSourceTapOnDirectoryServerChange; @property (nonatomic, readonly) NSArray* lowPriorityCellDataArray; @property (nonatomic, readonly) NSArray* serverNoticeCellDataArray; -@property (nonatomic, readonly) SecureKeyBackupBannerDisplay secureKeyBackupBannerDisplay; +@property (nonatomic, readonly) SecureBackupBannerDisplay secureBackupBannerDisplay; /** Set the delegate by specifying the selected display mode. diff --git a/Riot/Modules/Common/Recents/DataSources/RecentsDataSource.m b/Riot/Modules/Common/Recents/DataSources/RecentsDataSource.m index c9bebe066..4d16d7cb5 100644 --- a/Riot/Modules/Common/Recents/DataSources/RecentsDataSource.m +++ b/Riot/Modules/Common/Recents/DataSources/RecentsDataSource.m @@ -64,12 +64,12 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou NSTimer *publicRoomsTriggerTimer; } -@property (nonatomic, assign, readwrite) SecureKeyBackupBannerDisplay secureKeyBackupBannerDisplay; +@property (nonatomic, assign, readwrite) SecureBackupBannerDisplay secureBackupBannerDisplay; @end @implementation RecentsDataSource -@synthesize directorySection, invitesSection, favoritesSection, peopleSection, conversationSection, lowPrioritySection, serverNoticeSection, keyBackupBannerSection; +@synthesize directorySection, invitesSection, favoritesSection, peopleSection, conversationSection, lowPrioritySection, serverNoticeSection, secureBackupBannerSection; @synthesize hiddenCellIndexPath, droppingCellIndexPath, droppingCellBackGroundView; @synthesize invitesCellDataArray, favoriteCellDataArray, peopleCellDataArray, conversationCellDataArray, lowPriorityCellDataArray, serverNoticeCellDataArray; @@ -86,8 +86,8 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou conversationCellDataArray = [[NSMutableArray alloc] init]; - _secureKeyBackupBannerDisplay = SecureKeyBackupBannerDisplayNone; - keyBackupBannerSection = -1; + _secureBackupBannerDisplay = SecureBackupBannerDisplayNone; + secureBackupBannerSection = -1; directorySection = -1; invitesSection = -1; favoritesSection = -1; @@ -177,7 +177,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou - (BOOL)updateSecureKeyBackupBanner { - SecureKeyBackupBannerDisplay keyBackupBanner = SecureKeyBackupBannerDisplayNone; + SecureBackupBannerDisplay keyBackupBanner = SecureBackupBannerDisplayNone; if (self.recentsDataSourceMode == RecentsDataSourceModeHome) { @@ -185,26 +185,26 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou if (!keyBackupBannersPreferences.hideSetupBanner && [self.mxSession vc_canSetupSecureKeyBackup]) { - keyBackupBanner = SecureKeyBackupBannerDisplaySetup; + keyBackupBanner = SecureBackupBannerDisplaySetup; } } - BOOL updated = (self.secureKeyBackupBannerDisplay != keyBackupBanner); + BOOL updated = (self.secureBackupBannerDisplay != keyBackupBanner); - self.secureKeyBackupBannerDisplay = keyBackupBanner; + self.secureBackupBannerDisplay = keyBackupBanner; return updated; } -- (void)hideKeyBackupBannerWithDisplay:(SecureKeyBackupBannerDisplay)secureKeyBackupBannerDisplay +- (void)hideKeyBackupBannerWithDisplay:(SecureBackupBannerDisplay)secureKeyBackupBannerDisplay { KeyBackupBannerPreferences *keyBackupBannersPreferences = KeyBackupBannerPreferences.shared; switch (secureKeyBackupBannerDisplay) { - case SecureKeyBackupBannerDisplaySetup: + case SecureBackupBannerDisplaySetup: keyBackupBannersPreferences.hideSetupBanner = YES; break; - case SecureKeyBackupBannerDisplayRecover: + case SecureBackupBannerDisplayRecover: { NSString *keyBackupVersion = self.mxSession.crypto.backup.keyBackupVersion.version; if (keyBackupVersion) @@ -335,11 +335,11 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou // Check whether all data sources are ready before rendering recents if (self.state == MXKDataSourceStateReady) { - keyBackupBannerSection = directorySection = favoritesSection = peopleSection = conversationSection = lowPrioritySection = invitesSection = serverNoticeSection = -1; + secureBackupBannerSection = directorySection = favoritesSection = peopleSection = conversationSection = lowPrioritySection = invitesSection = serverNoticeSection = -1; - if (self.secureKeyBackupBannerDisplay != SecureKeyBackupBannerDisplayNone) + if (self.secureBackupBannerDisplay != SecureBackupBannerDisplayNone) { - self.keyBackupBannerSection = sectionsCount++; + self.secureBackupBannerSection = sectionsCount++; } if (invitesCellDataArray.count > 0) @@ -394,7 +394,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou NSUInteger count = 0; - if (section == self.keyBackupBannerSection && self.secureKeyBackupBannerDisplay != SecureKeyBackupBannerDisplayNone) + if (section == self.secureBackupBannerSection && self.secureBackupBannerDisplay != SecureBackupBannerDisplayNone) { count = 1; } @@ -443,7 +443,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou - (CGFloat)heightForHeaderInSection:(NSInteger)section { - if (section == self.keyBackupBannerSection) + if (section == self.secureBackupBannerSection) { return 0.0; } @@ -607,7 +607,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou - (UIView *)viewForHeaderInSection:(NSInteger)section withFrame:(CGRect)frame { // No header view in key backup banner section - if (section == self.keyBackupBannerSection) + if (section == self.secureBackupBannerSection) { return nil; } @@ -755,10 +755,10 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou return [[UITableViewCell alloc] init]; } - if (indexPath.section == self.keyBackupBannerSection) + if (indexPath.section == self.secureBackupBannerSection) { KeyBackupBannerCell* keyBackupBannerCell = [tableView dequeueReusableCellWithIdentifier:KeyBackupBannerCell.defaultReuseIdentifier forIndexPath:indexPath]; - [keyBackupBannerCell configureFor:self.secureKeyBackupBannerDisplay]; + [keyBackupBannerCell configureFor:self.secureBackupBannerDisplay]; keyBackupBannerCell.delegate = self; return keyBackupBannerCell; } @@ -1066,7 +1066,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou _missedDirectDiscussionsCount = _missedHighlightDirectDiscussionsCount = 0; _missedGroupDiscussionsCount = _missedHighlightGroupDiscussionsCount = 0; - keyBackupBannerSection = directorySection = favoritesSection = peopleSection = conversationSection = lowPrioritySection = serverNoticeSection = invitesSection = -1; + secureBackupBannerSection = directorySection = favoritesSection = peopleSection = conversationSection = lowPrioritySection = serverNoticeSection = invitesSection = -1; if (displayedRecentsDataSourceArray.count > 0) { @@ -1555,7 +1555,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou - (void)keyBackupBannerCellDidTapCloseAction:(KeyBackupBannerCell * _Nonnull)cell { - [self hideKeyBackupBannerWithDisplay:self.secureKeyBackupBannerDisplay]; + [self hideKeyBackupBannerWithDisplay:self.secureBackupBannerDisplay]; } @end diff --git a/Riot/Modules/Home/HomeViewController.m b/Riot/Modules/Home/HomeViewController.m index b940982b2..fc26c5350 100644 --- a/Riot/Modules/Home/HomeViewController.m +++ b/Riot/Modules/Home/HomeViewController.m @@ -27,7 +27,7 @@ #import "MXRoom+Riot.h" -@interface HomeViewController () +@interface HomeViewController () { RecentsDataSource *recentsDataSource; @@ -42,7 +42,6 @@ } @property (nonatomic, strong) SecureKeyBackupSetupCoordinatorBridgePresenter *keyBackupSetupCoordinatorBridgePresenter; -@property (nonatomic, strong) KeyBackupRecoverCoordinatorBridgePresenter *keyBackupRecoverCoordinatorBridgePresenter; @property (nonatomic, strong) KeyBackupBannerCell *keyBackupBannerPrototypeCell; @end @@ -154,7 +153,7 @@ return _keyBackupBannerPrototypeCell; } -- (void)presentKeyBackupSetup +- (void)presentSecureBackupSetup { SecureKeyBackupSetupCoordinatorBridgePresenter *keyBackupSetupCoordinatorBridgePresenter = [[SecureKeyBackupSetupCoordinatorBridgePresenter alloc] initWithSession:self.mainSession]; keyBackupSetupCoordinatorBridgePresenter.delegate = self; @@ -164,18 +163,9 @@ self.keyBackupSetupCoordinatorBridgePresenter = keyBackupSetupCoordinatorBridgePresenter; } -- (void)presentKeyBackupRecover +- (void)presentSecureBackupRecover { - MXKeyBackupVersion *keyBackupVersion = self.mainSession.crypto.backup.keyBackupVersion; - if (keyBackupVersion) - { - KeyBackupRecoverCoordinatorBridgePresenter *keyBackupRecoverCoordinatorBridgePresenter = [[KeyBackupRecoverCoordinatorBridgePresenter alloc] initWithSession:self.mainSession keyBackupVersion:keyBackupVersion]; - keyBackupRecoverCoordinatorBridgePresenter.delegate = self; - - [keyBackupRecoverCoordinatorBridgePresenter presentFrom:self animated:YES]; - - self.keyBackupRecoverCoordinatorBridgePresenter = keyBackupRecoverCoordinatorBridgePresenter; - } + // TODO: Handle secure backup recover } #pragma mark - Override RecentsViewController @@ -304,7 +294,7 @@ { if ((indexPath.section == recentsDataSource.conversationSection && !recentsDataSource.conversationCellDataArray.count) || (indexPath.section == recentsDataSource.peopleSection && !recentsDataSource.peopleCellDataArray.count) - || (indexPath.section == recentsDataSource.keyBackupBannerSection)) + || (indexPath.section == recentsDataSource.secureBackupBannerSection)) { return [recentsDataSource tableView:tableView cellForRowAtIndexPath:indexPath]; } @@ -380,12 +370,12 @@ { return [recentsDataSource cellHeightAtIndexPath:indexPath]; } - else if (indexPath.section == recentsDataSource.keyBackupBannerSection) + else if (indexPath.section == recentsDataSource.secureBackupBannerSection) { CGFloat height = 0.0; KeyBackupBannerCell *sizingCell = self.keyBackupBannerPrototypeCell; - [sizingCell configureFor:recentsDataSource.secureKeyBackupBannerDisplay]; + [sizingCell configureFor:recentsDataSource.secureBackupBannerDisplay]; [sizingCell layoutIfNeeded]; @@ -423,7 +413,7 @@ - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { // No header in key banner section - if (section == recentsDataSource.keyBackupBannerSection) + if (section == recentsDataSource.secureBackupBannerSection) { return 0.0; } @@ -435,14 +425,14 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - if (indexPath.section == recentsDataSource.keyBackupBannerSection) + if (indexPath.section == recentsDataSource.secureBackupBannerSection) { - switch (recentsDataSource.secureKeyBackupBannerDisplay) { - case SecureKeyBackupBannerDisplaySetup: - [self presentKeyBackupSetup]; + switch (recentsDataSource.secureBackupBannerDisplay) { + case SecureBackupBannerDisplaySetup: + [self presentSecureBackupSetup]; break; - case SecureKeyBackupBannerDisplayRecover: - [self presentKeyBackupRecover]; + case SecureBackupBannerDisplayRecover: + [self presentSecureBackupRecover]; break; default: break; @@ -709,16 +699,4 @@ self.keyBackupSetupCoordinatorBridgePresenter = nil; } -#pragma mark - KeyBackupSetupCoordinatorBridgePresenterDelegate - -- (void)keyBackupRecoverCoordinatorBridgePresenterDidCancel:(KeyBackupRecoverCoordinatorBridgePresenter * _Nonnull)keyBackupRecoverCoordinatorBridgePresenter { - [keyBackupRecoverCoordinatorBridgePresenter dismissWithAnimated:YES]; - self.keyBackupRecoverCoordinatorBridgePresenter = nil; -} - -- (void)keyBackupRecoverCoordinatorBridgePresenterDidRecover:(KeyBackupRecoverCoordinatorBridgePresenter * _Nonnull)keyBackupRecoverCoordinatorBridgePresenter { - [keyBackupRecoverCoordinatorBridgePresenter dismissWithAnimated:YES]; - self.keyBackupRecoverCoordinatorBridgePresenter = nil; -} - @end diff --git a/Riot/Modules/KeyBackup/Banners/KeyBackupBannerCell.swift b/Riot/Modules/KeyBackup/Banners/KeyBackupBannerCell.swift index 492becd4d..45e93f823 100644 --- a/Riot/Modules/KeyBackup/Banners/KeyBackupBannerCell.swift +++ b/Riot/Modules/KeyBackup/Banners/KeyBackupBannerCell.swift @@ -72,15 +72,15 @@ final class KeyBackupBannerCell: MXKTableViewCell { // MARK: - Public - func configure(for bannerDisplay: SecureKeyBackupBannerDisplay) { + func configure(for bannerDisplay: SecureBackupBannerDisplay) { let title: String? let subtitle: String? switch bannerDisplay { case .setup: - title = VectorL10n.secureKeyBackupSetupBannerTitle - subtitle = VectorL10n.secureKeyBackupSetupBannerSubtitle + title = VectorL10n.secureBackupSetupBannerTitle + subtitle = VectorL10n.secureBackupSetupBannerSubtitle case .recover: title = VectorL10n.keyBackupRecoverBannerTitle subtitle = VectorL10n.keyBackupRecoverConnentBannerSubtitle