From 245ca1304994bcee92425448d891702acfc98fb4 Mon Sep 17 00:00:00 2001 From: Florian Renaud Date: Wed, 1 Mar 2023 13:52:53 +0100 Subject: [PATCH] Improve encryption check condition --- .../matrix/android/sdk/internal/crypto/EventDecryptor.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/EventDecryptor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/EventDecryptor.kt index ff3ae1890d..ac9c61a32a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/EventDecryptor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/EventDecryptor.kt @@ -94,8 +94,10 @@ internal class EventDecryptor @Inject constructor( * @param timeline the id of the timeline where the event is decrypted. It is used to prevent replay attack. */ suspend fun decryptEventAndSaveResult(event: Event, timeline: String) { - if (event.type == EventType.ENCRYPTED && event.mxDecryptionResult != null) return - tryOrNull(message = "Unable to decrypt the event") { + // event is not encrypted or already decrypted + if (event.getClearType() != EventType.ENCRYPTED) return + + tryOrNull(message = "decryptEventAndSaveResult | Unable to decrypt the event") { decryptEvent(event, timeline) } ?.let { result ->