Key verification: Update key verification screens title. Update SAS screen wordings.

This commit is contained in:
SBiOSoftWhare
2020-04-27 19:54:57 +02:00
parent a272338f59
commit 7070cbfb05
16 changed files with 59 additions and 44 deletions
@@ -91,17 +91,27 @@ final class KeyVerificationCoordinator: KeyVerificationCoordinatorType {
self.session = session
self.verificationFlow = flow
if case let .incomingRequest(request) = flow {
let verificationKind: KeyVerificationKind
switch flow {
case .incomingRequest(let request):
if request.isFromMyUser {
self.verificationKind = .device
// TODO: Check for .newSession case
verificationKind = .otherSession
} else {
self.verificationKind = .user
verificationKind = .user
}
} else if case .verifyUser = flow {
self.verificationKind = .user
} else {
self.verificationKind = .device
case .verifyUser:
verificationKind = .user
case .completeSecurity:
verificationKind = .thisSession
case .verifyDevice:
verificationKind = .otherSession
case .incomingSASTransaction:
verificationKind = .otherSession
}
self.verificationKind = verificationKind
}
// MARK: - Public methods
@@ -172,7 +182,7 @@ final class KeyVerificationCoordinator: KeyVerificationCoordinatorType {
}
private func createDataLoadingScreenCoordinator(otherUserId: String, otherDeviceId: String) -> KeyVerificationDataLoadingCoordinator {
let coordinator = KeyVerificationDataLoadingCoordinator(session: self.session, otherUserId: otherUserId, otherDeviceId: otherDeviceId)
let coordinator = KeyVerificationDataLoadingCoordinator(session: self.session, verificationKind: self.verificationKind, otherUserId: otherUserId, otherDeviceId: otherDeviceId)
coordinator.delegate = self
coordinator.start()
@@ -180,7 +190,7 @@ final class KeyVerificationCoordinator: KeyVerificationCoordinatorType {
}
private func createDataLoadingScreenCoordinator(with keyVerificationRequest: MXKeyVerificationRequest) -> KeyVerificationDataLoadingCoordinator {
let coordinator = KeyVerificationDataLoadingCoordinator(session: self.session, incomingKeyVerificationRequest: keyVerificationRequest)
let coordinator = KeyVerificationDataLoadingCoordinator(session: self.session, verificationKind: self.verificationKind, incomingKeyVerificationRequest: keyVerificationRequest)
coordinator.delegate = self
coordinator.start()
@@ -229,7 +239,7 @@ final class KeyVerificationCoordinator: KeyVerificationCoordinatorType {
}
private func showVerifyByScanning(keyVerificationRequest: MXKeyVerificationRequest, animated: Bool) {
let coordinator = KeyVerificationVerifyByScanningCoordinator(session: self.session, keyVerificationRequest: keyVerificationRequest)
let coordinator = KeyVerificationVerifyByScanningCoordinator(session: self.session, verificationKind: self.verificationKind, keyVerificationRequest: keyVerificationRequest)
coordinator.delegate = self
coordinator.start()
@@ -37,15 +37,15 @@ final class KeyVerificationDataLoadingCoordinator: KeyVerificationDataLoadingCoo
// MARK: - Setup
init(session: MXSession, otherUserId: String, otherDeviceId: String) {
let keyVerificationDataLoadingViewModel = KeyVerificationDataLoadingViewModel(session: session, otherUserId: otherUserId, otherDeviceId: otherDeviceId)
init(session: MXSession, verificationKind: KeyVerificationKind, otherUserId: String, otherDeviceId: String) {
let keyVerificationDataLoadingViewModel = KeyVerificationDataLoadingViewModel(session: session, verificationKind: verificationKind, otherUserId: otherUserId, otherDeviceId: otherDeviceId)
let keyVerificationDataLoadingViewController = KeyVerificationDataLoadingViewController.instantiate(with: keyVerificationDataLoadingViewModel)
self.keyVerificationDataLoadingViewModel = keyVerificationDataLoadingViewModel
self.keyVerificationDataLoadingViewController = keyVerificationDataLoadingViewController
}
init(session: MXSession, incomingKeyVerificationRequest: MXKeyVerificationRequest) {
let keyVerificationDataLoadingViewModel = KeyVerificationDataLoadingViewModel(session: session, keyVerificationRequest: incomingKeyVerificationRequest)
init(session: MXSession, verificationKind: KeyVerificationKind, incomingKeyVerificationRequest: MXKeyVerificationRequest) {
let keyVerificationDataLoadingViewModel = KeyVerificationDataLoadingViewModel(session: session, verificationKind: verificationKind, keyVerificationRequest: incomingKeyVerificationRequest)
let keyVerificationDataLoadingViewController = KeyVerificationDataLoadingViewController.instantiate(with: keyVerificationDataLoadingViewModel)
self.keyVerificationDataLoadingViewModel = keyVerificationDataLoadingViewModel
self.keyVerificationDataLoadingViewController = keyVerificationDataLoadingViewController
@@ -47,7 +47,7 @@ final class KeyVerificationDataLoadingViewController: UIViewController {
// Do any additional setup after loading the view.
self.title = VectorL10n.deviceVerificationTitle
self.title = self.viewModel.verificationKind.verificationTitle
self.vc_removeBackTitle()
self.setupViews()
@@ -31,6 +31,7 @@ final class KeyVerificationDataLoadingViewModel: KeyVerificationDataLoadingViewM
// MARK: Private
private let session: MXSession
private(set) var verificationKind: KeyVerificationKind
private let otherUserId: String?
private let otherDeviceId: String?
private let keyVerificationService = KeyVerificationService()
@@ -46,15 +47,17 @@ final class KeyVerificationDataLoadingViewModel: KeyVerificationDataLoadingViewM
// MARK: - Setup
init(session: MXSession, otherUserId: String, otherDeviceId: String) {
init(session: MXSession, verificationKind: KeyVerificationKind, otherUserId: String, otherDeviceId: String) {
self.session = session
self.verificationKind = verificationKind
self.otherUserId = otherUserId
self.otherDeviceId = otherDeviceId
self.keyVerificationRequest = nil
}
init(session: MXSession, keyVerificationRequest: MXKeyVerificationRequest) {
init(session: MXSession, verificationKind: KeyVerificationKind, keyVerificationRequest: MXKeyVerificationRequest) {
self.session = session
self.verificationKind = verificationKind
self.otherUserId = nil
self.otherDeviceId = nil
self.keyVerificationRequest = keyVerificationRequest
@@ -35,5 +35,7 @@ protocol KeyVerificationDataLoadingViewModelType {
var viewDelegate: KeyVerificationDataLoadingViewModelViewDelegate? { get set }
var coordinatorDelegate: KeyVerificationDataLoadingViewModelCoordinatorDelegate? { get set }
var verificationKind: KeyVerificationKind { get }
func process(viewAction: KeyVerificationDataLoadingViewAction)
}
@@ -169,7 +169,7 @@ final class KeyVerificationScanConfirmationViewController: UIViewController {
title = VectorL10n.keyVerificationScanConfirmationScanningTitle
switch viewData.verificationKind {
case .device:
case .otherSession, .thisSession, .newSession:
waitingInfo = VectorL10n.keyVerificationScanConfirmationScanningDeviceWaitingOther
case .user:
waitingInfo = VectorL10n.keyVerificationScanConfirmationScanningUserWaitingOther(viewData.otherDisplayName)
@@ -178,13 +178,14 @@ final class KeyVerificationScanConfirmationViewController: UIViewController {
title = VectorL10n.keyVerificationScanConfirmationScannedTitle
switch viewData.verificationKind {
case .device:
case .otherSession, .thisSession, .newSession:
scannedInfo = VectorL10n.keyVerificationScanConfirmationScannedDeviceInformation
case .user:
scannedInfo = VectorL10n.keyVerificationScanConfirmationScannedUserInformation(viewData.otherDisplayName)
}
}
self.title = viewData.verificationKind.verificationTitle
self.titleLabel.text = title
self.waitingLabel.text = waitingInfo
self.scannedInformationLabel.text = scannedInfo
@@ -82,25 +82,22 @@ final class KeyVerificationVerifiedViewController: UIViewController {
// MARK: - Private
private func setupViews() {
let title: String
let bodyTitle: String
let descriptionTextPart1: String
let descriptionTextPart2: String
switch self.verificationKind {
case .device:
title = VectorL10n.deviceVerificationTitle
case .otherSession, .thisSession, .newSession:
bodyTitle = VectorL10n.deviceVerificationVerifiedTitle
descriptionTextPart1 = VectorL10n.deviceVerificationVerifiedDescription1
descriptionTextPart2 = VectorL10n.deviceVerificationVerifiedDescription2
case .user:
title = VectorL10n.keyVerificationUserTitle
bodyTitle = VectorL10n.deviceVerificationVerifiedTitle
descriptionTextPart1 = VectorL10n.keyVerificationVerifiedUserDescription1
descriptionTextPart2 = VectorL10n.keyVerificationVerifiedUserDescription2
}
self.title = title
self.title = self.verificationKind.verificationTitle
self.titleLabel.text = bodyTitle
self.description1Label.text = descriptionTextPart1
self.description2Label.text = descriptionTextPart2
@@ -131,22 +131,18 @@ final class KeyVerificationVerifyBySASViewController: UIViewController {
self.decimalLabel.text = self.viewModel.decimal
}
let title: String
let instructionText: String
let adviceText: String
switch viewModel.verificationKind {
case .device:
title = VectorL10n.deviceVerificationTitle
instructionText = isVerificationByEmoji ? VectorL10n.deviceVerificationVerifyTitleEmoji : VectorL10n.deviceVerificationVerifyTitleNumber
adviceText = VectorL10n.deviceVerificationSecurityAdvice
case .user:
title = VectorL10n.keyVerificationUserTitle
instructionText = isVerificationByEmoji ? VectorL10n.keyVerificationVerifyUserTitleEmoji : VectorL10n.keyVerificationVerifyUserTitleNumber
adviceText = VectorL10n.deviceVerificationSecurityAdvice
if isVerificationByEmoji {
instructionText = VectorL10n.keyVerificationVerifyTitleEmoji
adviceText = VectorL10n.deviceVerificationSecurityAdviceEmoji
} else {
instructionText = VectorL10n.keyVerificationVerifyTitleNumber
adviceText = VectorL10n.deviceVerificationSecurityAdviceNumber
}
self.title = title
self.title = self.viewModel.verificationKind.verificationTitle
self.titleLabel.text = instructionText
self.informationLabel.text = adviceText
self.waitingPartnerLabel.text = VectorL10n.deviceVerificationVerifyWaitPartner
@@ -40,11 +40,11 @@ final class KeyVerificationVerifyByScanningCoordinator: KeyVerificationVerifyByS
// MARK: - Setup
init(session: MXSession, keyVerificationRequest: MXKeyVerificationRequest) {
init(session: MXSession, verificationKind: KeyVerificationKind, keyVerificationRequest: MXKeyVerificationRequest) {
self.session = session
self.keyVerificationRequest = keyVerificationRequest
let keyVerificationVerifyByScanningViewModel = KeyVerificationVerifyByScanningViewModel(session: self.session, keyVerificationRequest: keyVerificationRequest)
let keyVerificationVerifyByScanningViewModel = KeyVerificationVerifyByScanningViewModel(session: self.session, verificationKind: verificationKind, keyVerificationRequest: keyVerificationRequest)
let keyVerificationVerifyByScanningViewController = KeyVerificationVerifyByScanningViewController.instantiate(with: keyVerificationVerifyByScanningViewModel)
self.keyVerificationVerifyByScanningViewModel = keyVerificationVerifyByScanningViewModel
self.keyVerificationVerifyByScanningViewController = keyVerificationVerifyByScanningViewController
@@ -180,6 +180,8 @@ final class KeyVerificationVerifyByScanningViewController: UIViewController {
hideQRCodeImage = true
}
self.title = viewData.verificationKind.verificationTitle
self.titleLabel.text = viewData.verificationKind.verificationTitle
self.qrCodeContainerView.isHidden = hideQRCodeImage
self.scanButtonContainerView.isHidden = !viewData.showScanAction
}
@@ -29,6 +29,7 @@ final class KeyVerificationVerifyByScanningViewModel: KeyVerificationVerifyBySca
// MARK: Private
private let session: MXSession
private let verificationKind: KeyVerificationKind
private let keyVerificationRequest: MXKeyVerificationRequest
private let qrCodeDataCoder: MXQRCodeDataCoder
private let keyVerificationManager: MXKeyVerificationManager
@@ -43,8 +44,9 @@ final class KeyVerificationVerifyByScanningViewModel: KeyVerificationVerifyBySca
// MARK: - Setup
init(session: MXSession, keyVerificationRequest: MXKeyVerificationRequest) {
init(session: MXSession, verificationKind: KeyVerificationKind, keyVerificationRequest: MXKeyVerificationRequest) {
self.session = session
self.verificationKind = verificationKind
self.keyVerificationManager = self.session.crypto.keyVerificationManager
self.keyVerificationRequest = keyVerificationRequest
self.qrCodeDataCoder = MXQRCodeDataCoder()
@@ -94,7 +96,8 @@ final class KeyVerificationVerifyByScanningViewModel: KeyVerificationVerifyBySca
canShowScanAction = false
}
let viewData = KeyVerificationVerifyByScanningViewData(qrCodeData: qrCodePlayloadData,
let viewData = KeyVerificationVerifyByScanningViewData(verificationKind: self.verificationKind,
qrCodeData: qrCodePlayloadData,
showScanAction: canShowScanAction)
self.update(viewState: .loaded(viewData: viewData))
@@ -19,6 +19,7 @@
import Foundation
struct KeyVerificationVerifyByScanningViewData {
let verificationKind: KeyVerificationKind
let qrCodeData: Data?
let showScanAction: Bool
}