mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-27 11:46:58 +02:00
Key verification: Update key verification screens title. Update SAS screen wordings.
This commit is contained in:
@@ -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()
|
||||
|
||||
|
||||
+4
-4
@@ -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
|
||||
|
||||
+1
-1
@@ -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()
|
||||
|
||||
+5
-2
@@ -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
|
||||
|
||||
+2
@@ -35,5 +35,7 @@ protocol KeyVerificationDataLoadingViewModelType {
|
||||
var viewDelegate: KeyVerificationDataLoadingViewModelViewDelegate? { get set }
|
||||
var coordinatorDelegate: KeyVerificationDataLoadingViewModelCoordinatorDelegate? { get set }
|
||||
|
||||
var verificationKind: KeyVerificationKind { get }
|
||||
|
||||
func process(viewAction: KeyVerificationDataLoadingViewAction)
|
||||
}
|
||||
|
||||
+3
-2
@@ -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
|
||||
|
||||
+2
-5
@@ -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
|
||||
|
||||
+7
-11
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
@@ -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
|
||||
}
|
||||
|
||||
+5
-2
@@ -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))
|
||||
|
||||
+1
@@ -19,6 +19,7 @@
|
||||
import Foundation
|
||||
|
||||
struct KeyVerificationVerifyByScanningViewData {
|
||||
let verificationKind: KeyVerificationKind
|
||||
let qrCodeData: Data?
|
||||
let showScanAction: Bool
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user