Merge branch 'develop' into element_4471

This commit is contained in:
ismailgulek
2021-08-06 13:34:09 +03:00
352 changed files with 6900 additions and 1540 deletions
@@ -18,7 +18,7 @@
import Foundation
protocol KeyVerificationCoordinatorDelegate: class {
protocol KeyVerificationCoordinatorDelegate: AnyObject {
func keyVerificationCoordinatorDidComplete(_ coordinator: KeyVerificationCoordinatorType, otherUserId: String, otherDeviceId: String)
func keyVerificationCoordinatorDidCancel(_ coordinator: KeyVerificationCoordinatorType)
}
@@ -18,7 +18,7 @@
import Foundation
protocol KeyVerificationDataLoadingCoordinatorDelegate: class {
protocol KeyVerificationDataLoadingCoordinatorDelegate: AnyObject {
func keyVerificationDataLoadingCoordinator(_ coordinator: KeyVerificationDataLoadingCoordinatorType, didLoadUser user: MXUser, device: MXDeviceInfo)
func keyVerificationDataLoadingCoordinator(_ coordinator: KeyVerificationDataLoadingCoordinatorType, didAcceptKeyVerificationRequestWithTransaction transaction: MXKeyVerificationTransaction)
func keyVerificationDataLoadingCoordinator(_ coordinator: KeyVerificationDataLoadingCoordinatorType, didAcceptKeyVerificationRequest keyVerificationRequest: MXKeyVerificationRequest)
@@ -18,11 +18,11 @@
import Foundation
protocol KeyVerificationDataLoadingViewModelViewDelegate: class {
protocol KeyVerificationDataLoadingViewModelViewDelegate: AnyObject {
func keyVerificationDataLoadingViewModel(_ viewModel: KeyVerificationDataLoadingViewModelType, didUpdateViewState viewSate: KeyVerificationDataLoadingViewState)
}
protocol KeyVerificationDataLoadingViewModelCoordinatorDelegate: class {
protocol KeyVerificationDataLoadingViewModelCoordinatorDelegate: AnyObject {
func keyVerificationDataLoadingViewModel(_ viewModel: KeyVerificationDataLoadingViewModelType, didLoadUser user: MXUser, device: MXDeviceInfo)
func keyVerificationDataLoadingViewModel(_ viewModel: KeyVerificationDataLoadingViewModelType, didAcceptKeyVerificationWithTransaction transaction: MXKeyVerificationTransaction)
func keyVerificationDataLoadingViewModel(_ viewModel: KeyVerificationDataLoadingViewModelType, didAcceptKeyVerificationRequest keyVerificationRequest: MXKeyVerificationRequest)
@@ -18,7 +18,7 @@
import Foundation
protocol KeyVerificationScanConfirmationCoordinatorDelegate: class {
protocol KeyVerificationScanConfirmationCoordinatorDelegate: AnyObject {
func keyVerificationScanConfirmationCoordinatorDidComplete(_ coordinator: KeyVerificationScanConfirmationCoordinatorType)
func keyVerificationScanConfirmationCoordinatorDidCancel(_ coordinator: KeyVerificationScanConfirmationCoordinatorType)
}
@@ -18,11 +18,11 @@
import Foundation
protocol KeyVerificationScanConfirmationViewModelViewDelegate: class {
protocol KeyVerificationScanConfirmationViewModelViewDelegate: AnyObject {
func keyVerificationScanConfirmationViewModel(_ viewModel: KeyVerificationScanConfirmationViewModelType, didUpdateViewState viewSate: KeyVerificationScanConfirmationViewState)
}
protocol KeyVerificationScanConfirmationViewModelCoordinatorDelegate: class {
protocol KeyVerificationScanConfirmationViewModelCoordinatorDelegate: AnyObject {
func keyVerificationScanConfirmationViewModelDidComplete(_ viewModel: KeyVerificationScanConfirmationViewModelType)
func keyVerificationScanConfirmationViewModelDidCancel(_ viewModel: KeyVerificationScanConfirmationViewModelType)
}
@@ -18,7 +18,7 @@
import UIKit
protocol KeyVerificationVerifiedViewControllerDelegate: class {
protocol KeyVerificationVerifiedViewControllerDelegate: AnyObject {
func keyVerificationVerifiedViewControllerDidTapSetupAction(_ viewController: KeyVerificationVerifiedViewController)
func keyVerificationVerifiedViewControllerDidCancel(_ viewController: KeyVerificationVerifiedViewController)
}
@@ -18,7 +18,7 @@
import Foundation
protocol KeyVerificationVerifyBySASCoordinatorDelegate: class {
protocol KeyVerificationVerifyBySASCoordinatorDelegate: AnyObject {
func keyVerificationVerifyBySASCoordinatorDidComplete(_ coordinator: KeyVerificationVerifyBySASCoordinatorType)
func keyVerificationVerifyBySASCoordinatorDidCancel(_ coordinator: KeyVerificationVerifyBySASCoordinatorType)
}
@@ -18,11 +18,11 @@
import Foundation
protocol KeyVerificationVerifyBySASViewModelViewDelegate: class {
protocol KeyVerificationVerifyBySASViewModelViewDelegate: AnyObject {
func keyVerificationVerifyBySASViewModel(_ viewModel: KeyVerificationVerifyBySASViewModelType, didUpdateViewState viewSate: KeyVerificationVerifyViewState)
}
protocol KeyVerificationVerifyBySASViewModelCoordinatorDelegate: class {
protocol KeyVerificationVerifyBySASViewModelCoordinatorDelegate: AnyObject {
func keyVerificationVerifyViewModelDidComplete(_ viewModel: KeyVerificationVerifyBySASViewModelType)
func keyVerificationVerifyViewModelDidCancel(_ viewModel: KeyVerificationVerifyBySASViewModelType)
}
@@ -18,7 +18,7 @@
import Foundation
protocol KeyVerificationVerifyByScanningCoordinatorDelegate: class {
protocol KeyVerificationVerifyByScanningCoordinatorDelegate: AnyObject {
func keyVerificationVerifyByScanningCoordinatorDidCancel(_ coordinator: KeyVerificationVerifyByScanningCoordinatorType)
func keyVerificationVerifyByScanningCoordinator(_ coordinator: KeyVerificationVerifyByScanningCoordinatorType, didScanOtherQRCodeData qrCodeData: MXQRCodeData, withTransaction transaction: MXQRCodeTransaction)
func keyVerificationVerifyByScanningCoordinator(_ coordinator: KeyVerificationVerifyByScanningCoordinatorType, qrCodeDidScannedByOtherWithTransaction transaction: MXQRCodeTransaction)
@@ -143,7 +143,9 @@ final class KeyVerificationVerifyByScanningViewController: UIViewController {
self.titleLabel.text = VectorL10n.keyVerificationVerifyQrCodeTitle
self.informationLabel.text = VectorL10n.keyVerificationVerifyQrCodeInformation
self.scanCodeButton.setTitle(VectorL10n.keyVerificationVerifyQrCodeScanCodeAction, for: .normal)
// Hide until we have the type of the verification request
self.scanCodeButton.isHidden = true
self.cannotScanButton.setTitle(VectorL10n.keyVerificationVerifyQrCodeCannotScanAction, for: .normal)
}
@@ -157,8 +159,8 @@ final class KeyVerificationVerifyByScanningViewController: UIViewController {
self.render(error: error)
case .scannedCodeValidated(let isValid):
self.renderScannedCode(valid: isValid)
case .cancelled(let reason):
self.renderCancelled(reason: reason)
case .cancelled(let reason, let verificationKind):
self.renderCancelled(reason: reason, verificationKind: verificationKind)
case .cancelledByMe(let reason):
self.renderCancelledByMe(reason: reason)
}
@@ -195,10 +197,13 @@ final class KeyVerificationVerifyByScanningViewController: UIViewController {
switch viewData.verificationKind {
case .user:
informationText = VectorL10n.keyVerificationVerifyQrCodeInformation
self.scanCodeButton.setTitle(VectorL10n.keyVerificationVerifyQrCodeScanCodeAction, for: .normal)
default:
informationText = VectorL10n.keyVerificationVerifyQrCodeInformationOtherDevice
self.scanCodeButton.setTitle(VectorL10n.keyVerificationVerifyQrCodeScanCodeOtherDeviceAction, for: .normal)
}
self.scanCodeButton.isHidden = false
self.informationLabel.text = informationText
}
}
@@ -231,12 +236,21 @@ final class KeyVerificationVerifyByScanningViewController: UIViewController {
}
}
private func renderCancelled(reason: MXTransactionCancelCode) {
private func renderCancelled(reason: MXTransactionCancelCode,
verificationKind: KeyVerificationKind) {
self.activityPresenter.removeCurrentActivityIndicator(animated: true)
self.stopQRCodeScanningIfPresented()
self.errorPresenter.presentError(from: self.alertPresentingViewController, title: "", message: VectorL10n.deviceVerificationCancelled, animated: true) {
// if we're verifying with someone else, let the user know they cancelled.
// if we're verifying our own device, assume the user probably knows since it was them who
// cancelled on their other device
if verificationKind == .user {
self.errorPresenter.presentError(from: self.alertPresentingViewController, title: "", message: VectorL10n.deviceVerificationCancelled, animated: true) {
self.dismissQRCodeScanningIfPresented(animated: false)
self.viewModel.process(viewAction: .cancel)
}
} else {
self.dismissQRCodeScanningIfPresented(animated: false)
self.viewModel.process(viewAction: .cancel)
}
@@ -225,7 +225,7 @@ final class KeyVerificationVerifyByScanningViewModel: KeyVerificationVerifyBySca
return
}
self.unregisterTransactionDidStateChangeNotification()
self.update(viewState: .cancelled(reason))
self.update(viewState: .cancelled(cancelCode: reason, verificationKind: verificationKind))
case MXSASTransactionStateCancelledByMe:
guard let reason = transaction.reasonCancelCode else {
return
@@ -251,7 +251,7 @@ final class KeyVerificationVerifyByScanningViewModel: KeyVerificationVerifyBySca
return
}
self.unregisterTransactionDidStateChangeNotification()
self.update(viewState: .cancelled(reason))
self.update(viewState: .cancelled(cancelCode: reason, verificationKind: verificationKind))
case .cancelledByMe:
guard let reason = transaction.reasonCancelCode else {
return
@@ -18,11 +18,11 @@
import Foundation
protocol KeyVerificationVerifyByScanningViewModelViewDelegate: class {
protocol KeyVerificationVerifyByScanningViewModelViewDelegate: AnyObject {
func keyVerificationVerifyByScanningViewModel(_ viewModel: KeyVerificationVerifyByScanningViewModelType, didUpdateViewState viewSate: KeyVerificationVerifyByScanningViewState)
}
protocol KeyVerificationVerifyByScanningViewModelCoordinatorDelegate: class {
protocol KeyVerificationVerifyByScanningViewModelCoordinatorDelegate: AnyObject {
func keyVerificationVerifyByScanningViewModelDidCancel(_ viewModel: KeyVerificationVerifyByScanningViewModelType)
func keyVerificationVerifyByScanningViewModel(_ viewModel: KeyVerificationVerifyByScanningViewModelType, didScanOtherQRCodeData qrCodeData: MXQRCodeData, withTransaction transaction: MXQRCodeTransaction)
@@ -29,7 +29,7 @@ enum KeyVerificationVerifyByScanningViewState {
case loading
case loaded(viewData: KeyVerificationVerifyByScanningViewData)
case scannedCodeValidated(isValid: Bool)
case cancelled(MXTransactionCancelCode)
case cancelled(cancelCode: MXTransactionCancelCode, verificationKind: KeyVerificationKind)
case cancelledByMe(MXTransactionCancelCode)
case error(Error)
}
@@ -18,7 +18,7 @@
import Foundation
protocol DeviceVerificationIncomingCoordinatorDelegate: class {
protocol DeviceVerificationIncomingCoordinatorDelegate: AnyObject {
func deviceVerificationIncomingCoordinator(_ coordinator: DeviceVerificationIncomingCoordinatorType, didAcceptTransaction message: MXSASTransaction)
func deviceVerificationIncomingCoordinatorDidCancel(_ coordinator: DeviceVerificationIncomingCoordinatorType)
}
@@ -18,11 +18,11 @@
import Foundation
protocol DeviceVerificationIncomingViewModelViewDelegate: class {
protocol DeviceVerificationIncomingViewModelViewDelegate: AnyObject {
func deviceVerificationIncomingViewModel(_ viewModel: DeviceVerificationIncomingViewModelType, didUpdateViewState viewSate: DeviceVerificationIncomingViewState)
}
protocol DeviceVerificationIncomingViewModelCoordinatorDelegate: class {
protocol DeviceVerificationIncomingViewModelCoordinatorDelegate: AnyObject {
func deviceVerificationIncomingViewModel(_ viewModel: DeviceVerificationIncomingViewModelType, didAcceptTransaction transaction: MXSASTransaction)
func deviceVerificationIncomingViewModelDidCancel(_ viewModel: DeviceVerificationIncomingViewModelType)
}
@@ -18,7 +18,7 @@
import Foundation
protocol KeyVerificationManuallyVerifyCoordinatorDelegate: class {
protocol KeyVerificationManuallyVerifyCoordinatorDelegate: AnyObject {
func keyVerificationManuallyVerifyCoordinator(_ coordinator: KeyVerificationManuallyVerifyCoordinatorType, didVerifiedDeviceWithId deviceId: String, of userId: String)
func keyVerificationManuallyVerifyCoordinatorDidCancel(_ coordinator: KeyVerificationManuallyVerifyCoordinatorType)
}
@@ -18,11 +18,11 @@
import Foundation
protocol KeyVerificationManuallyVerifyViewModelViewDelegate: class {
protocol KeyVerificationManuallyVerifyViewModelViewDelegate: AnyObject {
func keyVerificationManuallyVerifyViewModel(_ viewModel: KeyVerificationManuallyVerifyViewModelType, didUpdateViewState viewSate: KeyVerificationManuallyVerifyViewState)
}
protocol KeyVerificationManuallyVerifyViewModelCoordinatorDelegate: class {
protocol KeyVerificationManuallyVerifyViewModelCoordinatorDelegate: AnyObject {
func keyVerificationManuallyVerifyViewModel(_ viewModel: KeyVerificationManuallyVerifyViewModelType, didVerifiedDeviceWithId deviceId: String, of userId: String)
func keyVerificationManuallyVerifyViewModelDidCancel(_ viewModel: KeyVerificationManuallyVerifyViewModelType)
}
@@ -18,7 +18,7 @@
import Foundation
protocol KeyVerificationSelfVerifyStartCoordinatorDelegate: class {
protocol KeyVerificationSelfVerifyStartCoordinatorDelegate: AnyObject {
func keyVerificationSelfVerifyStartCoordinator(_ coordinator: KeyVerificationSelfVerifyStartCoordinatorType, otherDidAcceptRequest request: MXKeyVerificationRequest)
@@ -18,11 +18,11 @@
import Foundation
protocol KeyVerificationSelfVerifyStartViewModelViewDelegate: class {
protocol KeyVerificationSelfVerifyStartViewModelViewDelegate: AnyObject {
func keyVerificationSelfVerifyStartViewModel(_ viewModel: KeyVerificationSelfVerifyStartViewModelType, didUpdateViewState viewSate: KeyVerificationSelfVerifyStartViewState)
}
protocol KeyVerificationSelfVerifyStartViewModelCoordinatorDelegate: class {
protocol KeyVerificationSelfVerifyStartViewModelCoordinatorDelegate: AnyObject {
func keyVerificationSelfVerifyStartViewModel(_ viewModel: KeyVerificationSelfVerifyStartViewModelType, otherDidAcceptRequest request: MXKeyVerificationRequest)
func keyVerificationSelfVerifyStartViewModelDidCancel(_ viewModel: KeyVerificationSelfVerifyStartViewModelType)
}
@@ -18,7 +18,7 @@
import Foundation
protocol KeyVerificationSelfVerifyWaitCoordinatorDelegate: class {
protocol KeyVerificationSelfVerifyWaitCoordinatorDelegate: AnyObject {
func keyVerificationSelfVerifyWaitCoordinator(_ coordinator: KeyVerificationSelfVerifyWaitCoordinatorType, didAcceptKeyVerificationRequest keyVerificationRequest: MXKeyVerificationRequest)
func keyVerificationSelfVerifyWaitCoordinator(_ coordinator: KeyVerificationSelfVerifyWaitCoordinatorType, didAcceptIncomingSASTransaction incomingSASTransaction: MXIncomingSASTransaction)
func keyVerificationSelfVerifyWaitCoordinatorDidCancel(_ coordinator: KeyVerificationSelfVerifyWaitCoordinatorType)
@@ -18,11 +18,11 @@
import Foundation
protocol KeyVerificationSelfVerifyWaitViewModelViewDelegate: class {
protocol KeyVerificationSelfVerifyWaitViewModelViewDelegate: AnyObject {
func keyVerificationSelfVerifyWaitViewModel(_ viewModel: KeyVerificationSelfVerifyWaitViewModelType, didUpdateViewState viewSate: KeyVerificationSelfVerifyWaitViewState)
}
protocol KeyVerificationSelfVerifyWaitViewModelCoordinatorDelegate: class {
protocol KeyVerificationSelfVerifyWaitViewModelCoordinatorDelegate: AnyObject {
func keyVerificationSelfVerifyWaitViewModel(_ viewModel: KeyVerificationSelfVerifyWaitViewModelType, didAcceptKeyVerificationRequest keyVerificationRequest: MXKeyVerificationRequest)
func keyVerificationSelfVerifyWaitViewModel(_ viewModel: KeyVerificationSelfVerifyWaitViewModelType, didAcceptIncomingSASTransaction incomingSASTransaction: MXIncomingSASTransaction)
func keyVerificationSelfVerifyWaitViewModelDidCancel(_ viewModel: KeyVerificationSelfVerifyWaitViewModelType)
@@ -18,7 +18,7 @@
import Foundation
protocol DeviceVerificationStartCoordinatorDelegate: class {
protocol DeviceVerificationStartCoordinatorDelegate: AnyObject {
func deviceVerificationStartCoordinator(_ coordinator: DeviceVerificationStartCoordinatorType, didCompleteWithOutgoingTransaction transaction: MXSASTransaction)
func deviceVerificationStartCoordinator(_ coordinator: DeviceVerificationStartCoordinatorType, didTransactionCancelled transaction: MXSASTransaction)
@@ -18,11 +18,11 @@
import Foundation
protocol DeviceVerificationStartViewModelViewDelegate: class {
protocol DeviceVerificationStartViewModelViewDelegate: AnyObject {
func deviceVerificationStartViewModel(_ viewModel: DeviceVerificationStartViewModelType, didUpdateViewState viewSate: DeviceVerificationStartViewState)
}
protocol DeviceVerificationStartViewModelCoordinatorDelegate: class {
protocol DeviceVerificationStartViewModelCoordinatorDelegate: AnyObject {
func deviceVerificationStartViewModelDidUseLegacyVerification(_ viewModel: DeviceVerificationStartViewModelType)
func deviceVerificationStartViewModel(_ viewModel: DeviceVerificationStartViewModelType, didCompleteWithOutgoingTransaction transaction: MXSASTransaction)
@@ -18,7 +18,7 @@
import Foundation
protocol UserVerificationSessionStatusCoordinatorDelegate: class {
protocol UserVerificationSessionStatusCoordinatorDelegate: AnyObject {
func userVerificationSessionStatusCoordinator(_ coordinator: UserVerificationSessionStatusCoordinatorType, wantsToVerifyDeviceWithId deviceId: String, for userId: String)
func userVerificationSessionStatusCoordinator(_ coordinator: UserVerificationSessionStatusCoordinatorType, wantsToManuallyVerifyDeviceWithId deviceId: String, for userId: String)
func userVerificationSessionStatusCoordinatorDidClose(_ coordinator: UserVerificationSessionStatusCoordinatorType)
@@ -18,11 +18,11 @@
import Foundation
protocol UserVerificationSessionStatusViewModelViewDelegate: class {
protocol UserVerificationSessionStatusViewModelViewDelegate: AnyObject {
func userVerificationSessionStatusViewModel(_ viewModel: UserVerificationSessionStatusViewModelType, didUpdateViewState viewSate: UserVerificationSessionStatusViewState)
}
protocol UserVerificationSessionStatusViewModelCoordinatorDelegate: class {
protocol UserVerificationSessionStatusViewModelCoordinatorDelegate: AnyObject {
func userVerificationSessionStatusViewModel(_ viewModel: UserVerificationSessionStatusViewModelType, wantsToVerifyDeviceWithId deviceId: String, for userId: String)
func userVerificationSessionStatusViewModel(_ viewModel: UserVerificationSessionStatusViewModelType, wantsToManuallyVerifyDeviceWithId deviceId: String, for userId: String)
func userVerificationSessionStatusViewModelDidClose(_ viewModel: UserVerificationSessionStatusViewModelType)
@@ -18,7 +18,7 @@
import Foundation
protocol UserVerificationSessionsStatusCoordinatorDelegate: class {
protocol UserVerificationSessionsStatusCoordinatorDelegate: AnyObject {
func userVerificationSessionsStatusCoordinatorDidClose(_ coordinator: UserVerificationSessionsStatusCoordinatorType)
func userVerificationSessionsStatusCoordinator(_ coordinator: UserVerificationSessionsStatusCoordinatorType, didSelectDeviceWithId deviceId: String, for userId: String)
}
@@ -18,11 +18,11 @@
import Foundation
protocol UserVerificationSessionsStatusViewModelViewDelegate: class {
protocol UserVerificationSessionsStatusViewModelViewDelegate: AnyObject {
func userVerificationSessionsStatusViewModel(_ viewModel: UserVerificationSessionsStatusViewModelType, didUpdateViewState viewSate: UserVerificationSessionsStatusViewState)
}
protocol UserVerificationSessionsStatusViewModelCoordinatorDelegate: class {
protocol UserVerificationSessionsStatusViewModelCoordinatorDelegate: AnyObject {
func userVerificationSessionsStatusViewModel(_ viewModel: UserVerificationSessionsStatusViewModelType, didSelectDeviceWithId deviceId: String, for userId: String)
func userVerificationSessionsStatusViewModelDidClose(_ viewModel: UserVerificationSessionsStatusViewModelType)
}
@@ -18,7 +18,7 @@
import Foundation
protocol UserVerificationStartCoordinatorDelegate: class {
protocol UserVerificationStartCoordinatorDelegate: AnyObject {
func userVerificationStartCoordinator(_ coordinator: UserVerificationStartCoordinatorType, otherDidAcceptRequest request: MXKeyVerificationRequest)
@@ -18,11 +18,11 @@
import Foundation
protocol UserVerificationStartViewModelViewDelegate: class {
protocol UserVerificationStartViewModelViewDelegate: AnyObject {
func userVerificationStartViewModel(_ viewModel: UserVerificationStartViewModelType, didUpdateViewState viewSate: UserVerificationStartViewState)
}
protocol UserVerificationStartViewModelCoordinatorDelegate: class {
protocol UserVerificationStartViewModelCoordinatorDelegate: AnyObject {
func userVerificationStartViewModel(_ viewModel: UserVerificationStartViewModelType, otherDidAcceptRequest request: MXKeyVerificationRequest)
@@ -18,7 +18,7 @@
import Foundation
protocol UserVerificationCoordinatorDelegate: class {
protocol UserVerificationCoordinatorDelegate: AnyObject {
func userVerificationCoordinatorDidComplete(_ coordinator: UserVerificationCoordinatorType)
}