SecureBackupSetupCoordinator: Add a boolean at init to handle or not existing key backup before setup secure backup.

This commit is contained in:
SBiOSoftWhare
2020-10-13 18:02:35 +02:00
parent 7e7f5b1c95
commit c7a6c92904
@@ -29,6 +29,7 @@ final class SecureBackupSetupCoordinator: SecureBackupSetupCoordinatorType {
private let session: MXSession
private let recoveryService: MXRecoveryService
private let keyBackup: MXKeyBackup?
private let checkKeyBackup: Bool
// MARK: Public
@@ -39,10 +40,16 @@ final class SecureBackupSetupCoordinator: SecureBackupSetupCoordinatorType {
// MARK: - Setup
init(session: MXSession, navigationRouter: NavigationRouterType? = nil) {
/// Initializer
/// - Parameters:
/// - session: The MXSession.
/// - checkKeyBackup: Indicate false to ignore existing key backup.
/// - navigationRouter: Use existing navigation router to plug this flow or let nil to use new one.
init(session: MXSession, checkKeyBackup: Bool = true, navigationRouter: NavigationRouterType? = nil) {
self.session = session
self.recoveryService = session.crypto.recoveryService
self.keyBackup = session.crypto.backup
self.checkKeyBackup = checkKeyBackup
if let navigationRouter = navigationRouter {
self.navigationRouter = navigationRouter
@@ -70,9 +77,10 @@ final class SecureBackupSetupCoordinator: SecureBackupSetupCoordinatorType {
// MARK: - Private methods
private func createIntro() -> SecureBackupSetupIntroViewController {
let introViewController = SecureBackupSetupIntroViewController.instantiate()
// TODO: Use a coordinator
let viewModel = SecureBackupSetupIntroViewModel(keyBackup: self.keyBackup, checkKeyBackup: self.checkKeyBackup)
let introViewController = SecureBackupSetupIntroViewController.instantiate(with: viewModel)
introViewController.delegate = self
introViewController.keyBackup = self.keyBackup
return introViewController
}