mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-20 16:42:44 +02:00
Device verification: Improve navigation flow and view states handling.
This commit is contained in:
@@ -81,8 +81,8 @@ final class DeviceVerificationStartViewModel: DeviceVerificationStartViewModelTy
|
||||
|
||||
sself.transaction = sasTransaction
|
||||
|
||||
sself.registerTransactionDidStateChangeNotification(transaction: sasTransaction)
|
||||
sself.update(viewState: .loaded)
|
||||
sself.registerTransactionDidStateChangeNotification(transaction: sasTransaction)
|
||||
}, failure: {[weak self] error in
|
||||
self?.update(viewState: .error(error))
|
||||
})
|
||||
@@ -106,11 +106,17 @@ final class DeviceVerificationStartViewModel: DeviceVerificationStartViewModelTy
|
||||
private func registerTransactionDidStateChangeNotification(transaction: MXOutgoingSASTransaction) {
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(transactionDidStateChange(notification:)), name: NSNotification.Name.MXDeviceVerificationTransactionDidChange, object: transaction)
|
||||
}
|
||||
|
||||
private func unregisterTransactionDidStateChangeNotification() {
|
||||
NotificationCenter.default.removeObserver(self, name: .MXDeviceVerificationTransactionDidChange, object: nil)
|
||||
}
|
||||
|
||||
@objc private func transactionDidStateChange(notification: Notification) {
|
||||
guard let transaction = notification.object as? MXOutgoingSASTransaction else {
|
||||
return
|
||||
}
|
||||
|
||||
self.unregisterTransactionDidStateChangeNotification()
|
||||
|
||||
switch transaction.state {
|
||||
case MXSASTransactionStateShowSAS:
|
||||
|
||||
Reference in New Issue
Block a user