Display only available secure backup methods on setup

This commit is contained in:
Arnaud Ringenbach
2022-03-09 11:36:49 +01:00
parent b4c128db30
commit 65db06a752
4 changed files with 25 additions and 3 deletions
@@ -123,6 +123,21 @@ final class SecureBackupSetupIntroViewController: UIViewController {
}
self.delegate?.secureBackupSetupIntroViewControllerDidTapUsePassphrase(self)
}
setupBackupMethods()
}
private func setupBackupMethods() {
let secureBackupSetupMethods = self.viewModel.homeserverEncryptionConfiguration.secureBackupSetupMethods
// Hide setup methods that are not listed
if !secureBackupSetupMethods.contains(.key) {
self.secureKeyCell.isHidden = true
}
if !secureBackupSetupMethods.contains(.passphrase) {
self.securePassphraseCell.isHidden = true
}
}
private func renderLoading() {
@@ -23,11 +23,13 @@ final class SecureBackupSetupIntroViewModel: SecureBackupSetupIntroViewModelType
// TODO: Make these properties private
let keyBackup: MXKeyBackup?
let checkKeyBackup: Bool
let homeserverEncryptionConfiguration: HomeserverEncryptionConfiguration
// MARK: - Setup
init(keyBackup: MXKeyBackup?, checkKeyBackup: Bool) {
init(keyBackup: MXKeyBackup?, checkKeyBackup: Bool, homeserverEncryptionConfiguration: HomeserverEncryptionConfiguration) {
self.keyBackup = keyBackup
self.checkKeyBackup = checkKeyBackup
}
self.homeserverEncryptionConfiguration = homeserverEncryptionConfiguration
}
}
@@ -22,4 +22,5 @@ protocol SecureBackupSetupIntroViewModelType {
// TODO: Hide these properties from interface and use same behavior as other view models
var keyBackup: MXKeyBackup? { get }
var checkKeyBackup: Bool { get }
var homeserverEncryptionConfiguration: HomeserverEncryptionConfiguration { get }
}