mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-05-04 23:17:43 +02:00
Key verification: Add new state for complete security flow.
This commit is contained in:
+2
-2
@@ -38,10 +38,10 @@ final class KeyVerificationSelfVerifyWaitCoordinator: KeyVerificationSelfVerifyW
|
||||
|
||||
// MARK: - Setup
|
||||
|
||||
init(session: MXSession) {
|
||||
init(session: MXSession, isNewSignIn: Bool) {
|
||||
self.session = session
|
||||
|
||||
let keyVerificationSelfVerifyWaitViewModel = KeyVerificationSelfVerifyWaitViewModel(session: self.session)
|
||||
let keyVerificationSelfVerifyWaitViewModel = KeyVerificationSelfVerifyWaitViewModel(session: self.session, isNewSignIn: isNewSignIn)
|
||||
let keyVerificationSelfVerifyWaitViewController = KeyVerificationSelfVerifyWaitViewController.instantiate(with: keyVerificationSelfVerifyWaitViewModel)
|
||||
self.keyVerificationSelfVerifyWaitViewModel = keyVerificationSelfVerifyWaitViewModel
|
||||
self.keyVerificationSelfVerifyWaitViewController = keyVerificationSelfVerifyWaitViewController
|
||||
|
||||
+8
-3
@@ -35,6 +35,8 @@ final class KeyVerificationSelfVerifyWaitViewController: UIViewController {
|
||||
private var theme: Theme!
|
||||
private var errorPresenter: MXKErrorPresentation!
|
||||
private var activityPresenter: ActivityIndicatorPresenter!
|
||||
|
||||
private weak var cancelBarButtonItem: UIBarButtonItem?
|
||||
|
||||
// MARK: - Setup
|
||||
|
||||
@@ -97,6 +99,7 @@ final class KeyVerificationSelfVerifyWaitViewController: UIViewController {
|
||||
}
|
||||
|
||||
self.navigationItem.rightBarButtonItem = cancelBarButtonItem
|
||||
self.cancelBarButtonItem = cancelBarButtonItem
|
||||
|
||||
self.title = VectorL10n.deviceVerificationSelfVerifyWaitTitle
|
||||
|
||||
@@ -108,8 +111,8 @@ final class KeyVerificationSelfVerifyWaitViewController: UIViewController {
|
||||
switch viewState {
|
||||
case .loading:
|
||||
self.renderLoading()
|
||||
case .loaded:
|
||||
self.renderLoaded()
|
||||
case .loaded(let isNewSignIn):
|
||||
self.renderLoaded(isNewSignIn: isNewSignIn)
|
||||
case .error(let error):
|
||||
self.render(error: error)
|
||||
}
|
||||
@@ -119,8 +122,10 @@ final class KeyVerificationSelfVerifyWaitViewController: UIViewController {
|
||||
self.activityPresenter.presentActivityIndicator(on: self.view, animated: true)
|
||||
}
|
||||
|
||||
private func renderLoaded() {
|
||||
private func renderLoaded(isNewSignIn: Bool) {
|
||||
self.activityPresenter.removeCurrentActivityIndicator(animated: true)
|
||||
|
||||
self.cancelBarButtonItem?.title = isNewSignIn ? VectorL10n.skip : VectorL10n.cancel
|
||||
}
|
||||
|
||||
private func render(error: Error) {
|
||||
|
||||
+4
-2
@@ -27,8 +27,8 @@ final class KeyVerificationSelfVerifyWaitViewModel: KeyVerificationSelfVerifyWai
|
||||
private let session: MXSession
|
||||
private let keyVerificationService: KeyVerificationService
|
||||
private let verificationManager: MXKeyVerificationManager
|
||||
private let isNewSignIn: Bool
|
||||
|
||||
// private var verificationManager: MXKeyVerificationManager?
|
||||
private var keyVerificationRequest: MXKeyVerificationRequest?
|
||||
|
||||
// MARK: Public
|
||||
@@ -38,10 +38,11 @@ final class KeyVerificationSelfVerifyWaitViewModel: KeyVerificationSelfVerifyWai
|
||||
|
||||
// MARK: - Setup
|
||||
|
||||
init(session: MXSession) {
|
||||
init(session: MXSession, isNewSignIn: Bool) {
|
||||
self.session = session
|
||||
self.verificationManager = session.crypto.keyVerificationManager
|
||||
self.keyVerificationService = KeyVerificationService()
|
||||
self.isNewSignIn = isNewSignIn
|
||||
}
|
||||
|
||||
deinit {
|
||||
@@ -62,6 +63,7 @@ final class KeyVerificationSelfVerifyWaitViewModel: KeyVerificationSelfVerifyWai
|
||||
|
||||
private func loadData() {
|
||||
self.registerKeyVerificationManagerNewRequestNotification(for: self.verificationManager)
|
||||
self.update(viewState: .loaded(self.isNewSignIn))
|
||||
}
|
||||
|
||||
private func cancel() {
|
||||
|
||||
+1
-1
@@ -21,6 +21,6 @@ import Foundation
|
||||
/// KeyVerificationSelfVerifyWaitViewController view state
|
||||
enum KeyVerificationSelfVerifyWaitViewState {
|
||||
case loading
|
||||
case loaded
|
||||
case loaded(_ isNewSignIn: Bool)
|
||||
case error(Error)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user