Add cancellable property to secureBackup/recovery coordinators

This commit is contained in:
Arnaud Ringenbach
2022-03-09 10:41:48 +01:00
parent 1c11fc7243
commit 4c5ae7e4da
21 changed files with 93 additions and 43 deletions
@@ -27,6 +27,7 @@ final class SecretsSetupRecoveryKeyCoordinator: SecretsSetupRecoveryKeyCoordinat
private var secretsSetupRecoveryKeyViewModel: SecretsSetupRecoveryKeyViewModelType
private let secretsSetupRecoveryKeyViewController: SecretsSetupRecoveryKeyViewController
private let cancellable: Bool
// MARK: Public
@@ -40,11 +41,13 @@ final class SecretsSetupRecoveryKeyCoordinator: SecretsSetupRecoveryKeyCoordinat
init(recoveryService: MXRecoveryService,
passphrase: String?,
passphraseOnly: Bool,
allowOverwrite: Bool = false) {
allowOverwrite: Bool = false,
cancellable: Bool) {
let secretsSetupRecoveryKeyViewModel = SecretsSetupRecoveryKeyViewModel(recoveryService: recoveryService, passphrase: passphrase, passphraseOnly: passphraseOnly, allowOverwrite: allowOverwrite)
let secretsSetupRecoveryKeyViewController = SecretsSetupRecoveryKeyViewController.instantiate(with: secretsSetupRecoveryKeyViewModel)
let secretsSetupRecoveryKeyViewController = SecretsSetupRecoveryKeyViewController.instantiate(with: secretsSetupRecoveryKeyViewModel, cancellable: cancellable)
self.secretsSetupRecoveryKeyViewModel = secretsSetupRecoveryKeyViewModel
self.secretsSetupRecoveryKeyViewController = secretsSetupRecoveryKeyViewController
self.cancellable = cancellable
}
// MARK: - Public methods
@@ -55,6 +58,7 @@ final class SecretsSetupRecoveryKeyCoordinator: SecretsSetupRecoveryKeyCoordinat
func toPresentable() -> UIViewController {
return self.secretsSetupRecoveryKeyViewController
.vc_setModalFullScreen(!self.cancellable)
}
}
@@ -44,7 +44,7 @@ final class SecretsSetupRecoveryKeyViewController: UIViewController {
// MARK: - Setup
class func instantiate(with viewModel: SecretsSetupRecoveryKeyViewModelType, cancellable: Bool = true) -> SecretsSetupRecoveryKeyViewController {
class func instantiate(with viewModel: SecretsSetupRecoveryKeyViewModelType, cancellable: Bool) -> SecretsSetupRecoveryKeyViewController {
let viewController = StoryboardScene.SecretsSetupRecoveryKeyViewController.initialScene.instantiate()
viewController.viewModel = viewModel
viewController.cancellable = cancellable
@@ -27,6 +27,7 @@ final class SecretsSetupRecoveryPassphraseCoordinator: SecretsSetupRecoveryPassp
private var secretsSetupRecoveryPassphraseViewModel: SecretsSetupRecoveryPassphraseViewModelType
private let secretsSetupRecoveryPassphraseViewController: SecretsSetupRecoveryPassphraseViewController
private let cancellable: Bool
// MARK: Public
@@ -37,12 +38,13 @@ final class SecretsSetupRecoveryPassphraseCoordinator: SecretsSetupRecoveryPassp
// MARK: - Setup
init(passphraseInput: SecretsSetupRecoveryPassphraseInput) {
init(passphraseInput: SecretsSetupRecoveryPassphraseInput, cancellable: Bool) {
let secretsSetupRecoveryPassphraseViewModel = SecretsSetupRecoveryPassphraseViewModel(passphraseInput: passphraseInput)
let secretsSetupRecoveryPassphraseViewController = SecretsSetupRecoveryPassphraseViewController.instantiate(with: secretsSetupRecoveryPassphraseViewModel)
let secretsSetupRecoveryPassphraseViewController = SecretsSetupRecoveryPassphraseViewController.instantiate(with: secretsSetupRecoveryPassphraseViewModel, cancellable: cancellable)
self.secretsSetupRecoveryPassphraseViewModel = secretsSetupRecoveryPassphraseViewModel
self.secretsSetupRecoveryPassphraseViewController = secretsSetupRecoveryPassphraseViewController
self.cancellable = cancellable
}
// MARK: - Public methods
@@ -53,6 +55,7 @@ final class SecretsSetupRecoveryPassphraseCoordinator: SecretsSetupRecoveryPassp
func toPresentable() -> UIViewController {
return self.secretsSetupRecoveryPassphraseViewController
.vc_setModalFullScreen(!self.cancellable)
}
}
@@ -65,7 +65,7 @@ final class SecretsSetupRecoveryPassphraseViewController: UIViewController {
// MARK: - Setup
class func instantiate(with viewModel: SecretsSetupRecoveryPassphraseViewModelType, cancellable: Bool = true) -> SecretsSetupRecoveryPassphraseViewController {
class func instantiate(with viewModel: SecretsSetupRecoveryPassphraseViewModelType, cancellable: Bool) -> SecretsSetupRecoveryPassphraseViewController {
let viewController = StoryboardScene.SecretsSetupRecoveryPassphraseViewController.initialScene.instantiate()
viewController.viewModel = viewModel
viewController.cancellable = cancellable