Security settings: Reduce the number of secure backup section states

This commit is contained in:
manuroe
2021-06-16 13:52:27 +02:00
parent 495e19a32b
commit 2dcb6bc0bf
3 changed files with 9 additions and 20 deletions
@@ -142,9 +142,8 @@ private enum BackupRows {
.createSecureBackupAction,
.description(text: VectorL10n.securitySettingsSecureBackupDescription)
]
case .keyBackup(let keyBackupVersion, let keyBackupVersionTrust),
.keyBackupAndRunning(let keyBackupVersion, let keyBackupVersionTrust, _),
.keyBackupNotTrusted(let keyBackupVersion, let keyBackupVersionTrust):
case .keyBackup(let keyBackupVersion, _, _),
.keyBackupNotTrusted(let keyBackupVersion, _): // Manage the key backup in the same way for the moment
backupRows = [
.info(text: VectorL10n.securitySettingsSecureBackupInfoValid),
.restoreFromKeyBackupAction(keyBackupVersion: keyBackupVersion, title: VectorL10n.securitySettingsSecureBackupRestore),
@@ -165,9 +164,8 @@ private enum BackupRows {
.resetSecureBackupAction,
.description(text: VectorL10n.securitySettingsSecureBackupDescription)
]
case .keyBackup(let keyBackupVersion, let keyBackupVersionTrust),
.keyBackupAndRunning(let keyBackupVersion, let keyBackupVersionTrust, _),
.keyBackupNotTrusted(let keyBackupVersion, let keyBackupVersionTrust):
case .keyBackup(let keyBackupVersion, _, _),
.keyBackupNotTrusted(let keyBackupVersion, _): // Manage the key backup in the same way for the moment
backupRows = [
.info(text: VectorL10n.securitySettingsSecureBackupInfoValid),
.restoreFromKeyBackupAction(keyBackupVersion: keyBackupVersion, title: VectorL10n.securitySettingsSecureBackupRestore),
@@ -102,13 +102,7 @@ final class SettingsSecureBackupViewModel: SettingsSecureBackupViewModelType {
}
keyBackupState = .keyBackupNotTrusted(keyBackupVersion, keyBackupVersionTrust)
case MXKeyBackupStateReadyToBackUp:
guard let keyBackupVersion = self.keyBackup.keyBackupVersion, let keyBackupVersionTrust = keyBackupVersionTrust else {
return
}
keyBackupState = .keyBackup(keyBackupVersion, keyBackupVersionTrust)
case MXKeyBackupStateWillBackUp, MXKeyBackupStateBackingUp:
case MXKeyBackupStateReadyToBackUp, MXKeyBackupStateWillBackUp, MXKeyBackupStateBackingUp:
guard let keyBackupVersion = self.keyBackup.keyBackupVersion, let keyBackupVersionTrust = keyBackupVersionTrust else {
return
}
@@ -119,9 +113,8 @@ final class SettingsSecureBackupViewModel: SettingsSecureBackupViewModelType {
return
}
let keyBackupState: SettingsSecureBackupViewState.KeyBackupState = .keyBackupAndRunning(keyBackupVersion, keyBackupVersionTrust, progress)
let keyBackupState: SettingsSecureBackupViewState.KeyBackupState = .keyBackup(keyBackupVersion, keyBackupVersionTrust, progress)
let viewState: SettingsSecureBackupViewState = self.recoveryService.hasRecovery() ? .secureBackup(keyBackupState) : .noSecureBackup(keyBackupState)
self.viewDelegate?.settingsSecureBackupViewModel(self, didUpdateViewState: viewState)
}
default:
@@ -129,7 +122,7 @@ final class SettingsSecureBackupViewModel: SettingsSecureBackupViewModelType {
}
// Turn secure backup and key back states into view state
if viewState == nil, let keyBackupState = keyBackupState {
if let keyBackupState = keyBackupState {
viewState = recoveryService.hasRecovery() ? .secureBackup(keyBackupState) : .noSecureBackup(keyBackupState)
}
@@ -31,13 +31,11 @@ enum SettingsSecureBackupViewState {
/// Internal key backup state. It is independent from the secure backup state.
///
/// - noKeyBackup: There is no backup on the homeserver
/// - keyBackup: There is a valid backup on the homeserver. All keys have been backed up to it
/// - keyBackupAndRunning: There is a valid backup on the homeserver. Keys are being sent to it
/// - keyBackup: There is a valid running backup on the homeserver. Keys are being sent to it
/// - keyBackupNotTrusted: There is a backup on the homeserver but it is not trusted
enum KeyBackupState {
case noKeyBackup
case keyBackup(MXKeyBackupVersion, MXKeyBackupVersionTrust)
case keyBackupAndRunning(MXKeyBackupVersion, MXKeyBackupVersionTrust, Progress)
case keyBackup(MXKeyBackupVersion, MXKeyBackupVersionTrust, Progress)
case keyBackupNotTrusted(MXKeyBackupVersion, MXKeyBackupVersionTrust)
}
}