Add commodity methods on OperationQueue and use them in key backup setup view models.

This commit is contained in:
SBiOSoftWhare
2019-01-23 12:11:30 +01:00
parent eb03313dcd
commit 811b5c5b3a
4 changed files with 48 additions and 42 deletions
@@ -60,11 +60,7 @@ final class KeyBackupSetupPassphraseViewModel: KeyBackupSetupPassphraseViewModel
init(keyBackup: MXKeyBackup) {
self.passwordStrengthManager = PasswordStrengthManager()
self.keyBackup = keyBackup
let coordinatorDelegateQueue = OperationQueue()
coordinatorDelegateQueue.name = "KeyBackupSetupPassphraseViewModel.coordinatorDelegateQueue"
coordinatorDelegateQueue.maxConcurrentOperationCount = 1
self.coordinatorDelegateQueue = coordinatorDelegateQueue
self.coordinatorDelegateQueue = OperationQueue.vc_createSerialOperationQueue(name: "\(type(of: self)).coordinatorDelegateQueue")
}
// MARK: - Public
@@ -74,12 +70,12 @@ final class KeyBackupSetupPassphraseViewModel: KeyBackupSetupPassphraseViewModel
case .setupPassphrase:
self.setupPassphrase()
case .skip:
self.pauseCoordinatorOperations()
self.coordinatorDelegateQueue.vc_pause()
self.viewDelegate?.keyBackupSetupPassphraseViewModelShowSkipAlert(self)
case.skipAlertContinue:
self.resumeCoordinatorOperations()
case.skipAlertContinue:
self.coordinatorDelegateQueue.vc_resume()
case.skipAlertSkip:
self.cancelCoordinatorOperations()
self.coordinatorDelegateQueue.cancelAllOperations()
self.coordinatorDelegate?.keyBackupSetupPassphraseViewModelDidCancel(self)
}
}
@@ -123,16 +119,4 @@ final class KeyBackupSetupPassphraseViewModel: KeyBackupSetupPassphraseViewModel
}
return self.passwordStrengthManager.passwordStrength(for: password)
}
private func pauseCoordinatorOperations() {
self.coordinatorDelegateQueue.isSuspended = true
}
private func resumeCoordinatorOperations() {
self.coordinatorDelegateQueue.isSuspended = false
}
private func cancelCoordinatorOperations() {
self.coordinatorDelegateQueue.cancelAllOperations()
}
}