From b45b90dcdfd8a3c1d9f85ca8bda67afcc4faa34b Mon Sep 17 00:00:00 2001 From: valere <valeref@matrix.org> Date: Wed, 5 Apr 2023 12:12:40 +0200 Subject: [PATCH] Fix verification bottomsheet not updating --- .../internal/crypto/verification/RustVerificationService.kt | 4 ++++ .../crypto/verification/user/UserVerificationViewModel.kt | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/src/rustCrypto/java/org/matrix/android/sdk/internal/crypto/verification/RustVerificationService.kt b/matrix-sdk-android/src/rustCrypto/java/org/matrix/android/sdk/internal/crypto/verification/RustVerificationService.kt index b746039348..6afe25e4fb 100644 --- a/matrix-sdk-android/src/rustCrypto/java/org/matrix/android/sdk/internal/crypto/verification/RustVerificationService.kt +++ b/matrix-sdk-android/src/rustCrypto/java/org/matrix/android/sdk/internal/crypto/verification/RustVerificationService.kt @@ -173,6 +173,7 @@ internal class RustVerificationService @Inject constructor( Timber.d("## Verification: start for $sender") // update the request as the start updates it's state + verificationListenersHolder.dispatchRequestUpdated(request) verificationListenersHolder.dispatchTxUpdated(transaction) } else { // This didn't originate from a request, so tell our listeners that @@ -322,6 +323,9 @@ internal class RustVerificationService @Inject constructor( if (sas != null) { verificationListenersHolder.dispatchTxAdded(sas) + // we need to update the request as the state mapping depends on the + // sas or qr beeing started + verificationListenersHolder.dispatchRequestUpdated(request) sas.transactionId } else { Timber.w("Failed to start verification with method $method") diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/user/UserVerificationViewModel.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/user/UserVerificationViewModel.kt index ed813d8d2a..2d81c11de3 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/user/UserVerificationViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/user/UserVerificationViewModel.kt @@ -166,8 +166,8 @@ class UserVerificationViewModel @AssistedInject constructor( ) } } - it.getTransaction()?.let { - val dClass = it.toDataClass() + it.getTransaction()?.let { transaction -> + val dClass = transaction.toDataClass() if (dClass != null) { setState { copy(