From 69ab5e43d5789b06acf9df1cd148f965e55ad893 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 28 Jan 2020 11:48:36 +0100 Subject: [PATCH] QrCode: WIP --- .../matrix/android/api/session/crypto/sas/CancelCode.kt | 6 +++--- .../qrcode/DefaultQrCodeVerificationTransaction.kt | 2 +- .../features/crypto/verification/VerificationBottomSheet.kt | 3 ++- .../conclusion/VerificationConclusionViewModel.kt | 2 ++ 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/CancelCode.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/CancelCode.kt index a8ad1de421..79448de83f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/CancelCode.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/CancelCode.kt @@ -27,9 +27,9 @@ enum class CancelCode(val value: String, val humanReadable: String) { UnexpectedMessage("m.unexpected_message", "the device received an unexpected message"), InvalidMessage("m.invalid_message", "an invalid message was received"), MismatchedKeys("m.key_mismatch", "Key mismatch"), - UserError("m.user_error", "User mismatch"), - UserMismatchError("m.user_mismatch", "Key mismatch"), - QrCodeInvalid("m.qr_code.invalid", "User mismatch") + UserError("m.user_error", "User error"), + MismatchedUser("m.user_mismatch", "User mismatch"), + QrCodeInvalid("m.qr_code.invalid", "Invalid QR code") } fun safeValueOf(code: String?): CancelCode { diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/DefaultQrCodeVerificationTransaction.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/DefaultQrCodeVerificationTransaction.kt index d791a2c257..5ef2a787a5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/DefaultQrCodeVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/qrcode/DefaultQrCodeVerificationTransaction.kt @@ -74,7 +74,7 @@ internal class DefaultQrCodeVerificationTransaction( } if (otherQrCodeData.userId != otherUserId) { - cancel(CancelCode.UserMismatchError) + cancel(CancelCode.MismatchedUser) return } diff --git a/vector/src/main/java/im/vector/riotx/features/crypto/verification/VerificationBottomSheet.kt b/vector/src/main/java/im/vector/riotx/features/crypto/verification/VerificationBottomSheet.kt index b83e9b696d..702e79d451 100644 --- a/vector/src/main/java/im/vector/riotx/features/crypto/verification/VerificationBottomSheet.kt +++ b/vector/src/main/java/im/vector/riotx/features/crypto/verification/VerificationBottomSheet.kt @@ -156,11 +156,12 @@ class VerificationBottomSheet : VectorBaseBottomSheetDialogFragment() { it.qrTransactionState == VerificationTxState.Verified, it.cancelCode?.value)) }) + return@withState } else -> Unit } - // At this point there is no transaction for this request + // At this point there is no SAS transaction for this request // Transaction has not yet started if (it.pendingRequest.invoke()?.cancelConclusion != null) { diff --git a/vector/src/main/java/im/vector/riotx/features/crypto/verification/conclusion/VerificationConclusionViewModel.kt b/vector/src/main/java/im/vector/riotx/features/crypto/verification/conclusion/VerificationConclusionViewModel.kt index 9cf5c6466b..d2239e779f 100644 --- a/vector/src/main/java/im/vector/riotx/features/crypto/verification/conclusion/VerificationConclusionViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/crypto/verification/conclusion/VerificationConclusionViewModel.kt @@ -43,6 +43,8 @@ class VerificationConclusionViewModel(initialState: VerificationConclusionViewSt val args = viewModelContext.args() return when (safeValueOf(args.cancelReason)) { + CancelCode.QrCodeInvalid, + CancelCode.MismatchedUser, CancelCode.MismatchedSas, CancelCode.MismatchedCommitment, CancelCode.MismatchedKeys -> {