Secrets recovery: Restore only key backup on SecretsRecoveryGoal.keyBackup.

This commit is contained in:
SBiOSoftWhare
2020-06-15 16:19:44 +02:00
parent b58073ec44
commit b9b51efa2f
5 changed files with 23 additions and 5 deletions
@@ -99,7 +99,7 @@ final class SecretsRecoveryWithKeyViewController: UIViewController {
let informationText: String
switch self.viewModel.recoveryGoal {
case .default:
case .default, .keyBackup:
informationText = VectorL10n.secretsRecoveryWithKeyInformationDefault
case .verifyDevice:
informationText = VectorL10n.secretsRecoveryWithKeyInformationVerifyDevice
@@ -65,9 +65,17 @@ final class SecretsRecoveryWithKeyViewModel: SecretsRecoveryWithKeyViewModelType
self.update(viewState: .loading)
do {
let secretIds: [String]?
if case SecretsRecoveryGoal.keyBackup = self.recoveryGoal {
secretIds = [MXSecretId.keyBackup.takeUnretainedValue() as String]
} else {
secretIds = nil
}
let privateKey = try self.recoveryService.privateKey(fromRecoveryKey: recoveryKey)
self.recoveryService.recoverSecrets(nil, withPrivateKey: privateKey, recoverServices: true, success: { [weak self] _ in
self.recoveryService.recoverSecrets(secretIds, withPrivateKey: privateKey, recoverServices: true, success: { [weak self] _ in
guard let self = self else {
return
}