mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-18 23:48:29 +02:00
Listen for request changes and show QR reader on key verification
This commit is contained in:
@@ -132,9 +132,11 @@ final class KeyVerificationSelfVerifyWaitViewModel: KeyVerificationSelfVerifyWai
|
||||
self.registerKeyVerificationManagerNewRequestNotification(for: self.verificationManager)
|
||||
self.update(viewState: .loaded(viewData))
|
||||
self.registerTransactionDidStateChangeNotification()
|
||||
self.registerKeyVerificationRequestChangeNotification()
|
||||
}
|
||||
|
||||
private func cancel() {
|
||||
self.unregisterKeyVerificationRequestChangeNotification()
|
||||
self.unregisterKeyVerificationManagerNewRequestNotification()
|
||||
self.cancelKeyVerificationRequest()
|
||||
self.coordinatorDelegate?.keyVerificationSelfVerifyWaitViewModelDidCancel(self)
|
||||
@@ -193,6 +195,37 @@ final class KeyVerificationSelfVerifyWaitViewModel: KeyVerificationSelfVerifyWai
|
||||
self.acceptKeyVerificationRequest(keyVerificationRequest)
|
||||
}
|
||||
|
||||
// MARK: MXKeyVerificationRequestDidChangeNotification
|
||||
|
||||
private func registerKeyVerificationRequestChangeNotification() {
|
||||
NotificationCenter.default.addObserver(self,
|
||||
selector: #selector(keyVerificationRequestChangeNotification(notification:)),
|
||||
name: .MXKeyVerificationRequestDidChange,
|
||||
object: nil)
|
||||
}
|
||||
|
||||
private func unregisterKeyVerificationRequestChangeNotification() {
|
||||
NotificationCenter.default.removeObserver(self,
|
||||
name: .MXKeyVerificationRequestDidChange,
|
||||
object: nil)
|
||||
}
|
||||
|
||||
@objc private func keyVerificationRequestChangeNotification(notification: Notification) {
|
||||
guard let request = notification.object as? MXKeyVerificationRequest else {
|
||||
return
|
||||
}
|
||||
guard let keyVerificationRequest = keyVerificationRequest,
|
||||
keyVerificationRequest.requestId == request.requestId else {
|
||||
return
|
||||
}
|
||||
|
||||
if keyVerificationRequest.state == MXKeyVerificationRequestStateReady {
|
||||
self.unregisterKeyVerificationRequestChangeNotification()
|
||||
self.coordinatorDelegate?.keyVerificationSelfVerifyWaitViewModel(self,
|
||||
didAcceptKeyVerificationRequest: keyVerificationRequest)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: MXKeyVerificationTransactionDidChange
|
||||
|
||||
private func registerTransactionDidStateChangeNotification() {
|
||||
|
||||
Reference in New Issue
Block a user