KeyVerificationVerifyByScanningViewModel: Improve cancelation.

This commit is contained in:
SBiOSoftWhare 2020-03-27 14:30:58 +01:00
parent 4d9a2d4e62
commit d7a7e37805

View file

@ -67,7 +67,7 @@ final class KeyVerificationVerifyByScanningViewModel: KeyVerificationVerifyBySca
case .acknowledgeOtherScannedMyCode(let acknowledgeOtherScannedMyCode):
self.acknowledgeOtherScannedMyCode(acknowledgeOtherScannedMyCode)
case .cancel:
self.coordinatorDelegate?.keyVerificationVerifyByScanningViewModelDidCancel(self)
self.cancel()
case .acknowledgeMyUserScannedOtherCode:
self.acknowledgeScanOtherCode()
}
@ -108,6 +108,20 @@ final class KeyVerificationVerifyByScanningViewModel: KeyVerificationVerifyBySca
return verificationMethods.contains(MXKeyVerificationMethodQRCodeScan)
}
private func cancel() {
self.cancelQRCodeTransaction()
self.keyVerificationRequest.cancel(with: MXTransactionCancelCode.user(), success: nil, failure: nil)
self.coordinatorDelegate?.keyVerificationVerifyByScanningViewModelDidCancel(self)
}
private func cancelQRCodeTransaction() {
guard let transaction = self.qrCodeTransaction else {
return
}
transaction.cancel(with: MXTransactionCancelCode.user())
}
private func update(viewState: KeyVerificationVerifyByScanningViewState) {
self.viewDelegate?.keyVerificationVerifyByScanningViewModel(self, didUpdateViewState: viewState)
}