mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-28 23:32:41 +00:00
Display only available secure backup methods on setup
This commit is contained in:
parent
90b79f2303
commit
6102927e9c
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 }
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ final class SecureBackupSetupCoordinator: SecureBackupSetupCoordinatorType {
|
|||
private let recoveryService: MXRecoveryService
|
||||
private let keyBackup: MXKeyBackup?
|
||||
private let checkKeyBackup: Bool
|
||||
private let homeserverEncryptionConfiguration: HomeserverEncryptionConfiguration
|
||||
private let allowOverwrite: Bool
|
||||
private let cancellable: Bool
|
||||
|
||||
|
@ -58,6 +59,7 @@ final class SecureBackupSetupCoordinator: SecureBackupSetupCoordinatorType {
|
|||
self.recoveryService = session.crypto.recoveryService
|
||||
self.keyBackup = session.crypto.backup
|
||||
self.checkKeyBackup = checkKeyBackup
|
||||
self.homeserverEncryptionConfiguration = session.vc_homeserverConfiguration().encryption
|
||||
self.allowOverwrite = allowOverwrite
|
||||
self.cancellable = cancellable
|
||||
|
||||
|
@ -90,7 +92,9 @@ final class SecureBackupSetupCoordinator: SecureBackupSetupCoordinatorType {
|
|||
|
||||
private func createIntro() -> SecureBackupSetupIntroViewController {
|
||||
// TODO: Use a coordinator
|
||||
let viewModel = SecureBackupSetupIntroViewModel(keyBackup: self.keyBackup, checkKeyBackup: self.checkKeyBackup)
|
||||
let viewModel = SecureBackupSetupIntroViewModel(keyBackup: self.keyBackup,
|
||||
checkKeyBackup: self.checkKeyBackup,
|
||||
homeserverEncryptionConfiguration: self.homeserverEncryptionConfiguration)
|
||||
let introViewController = SecureBackupSetupIntroViewController.instantiate(with: viewModel, cancellable: self.cancellable)
|
||||
introViewController.delegate = self
|
||||
return introViewController
|
||||
|
|
Loading…
Reference in a new issue