From 3f0b73cc847053c5d034f8397f9d2062d349fb80 Mon Sep 17 00:00:00 2001 From: Kevin Boulongne Date: Fri, 7 Mar 2025 14:54:56 +0100 Subject: [PATCH] feat: Don't forget to create a new Thread if we receive a snoozed Message for the 1st time --- .../refreshStrategies/SnoozeRefreshStrategy.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/SnoozeRefreshStrategy.kt b/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/SnoozeRefreshStrategy.kt index 920ce0634e..c859d5cd57 100644 --- a/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/SnoozeRefreshStrategy.kt +++ b/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/SnoozeRefreshStrategy.kt @@ -80,8 +80,11 @@ val snoozeRefreshStrategy = object : DefaultRefreshStrategy { impactedThreadsManaged: MutableSet, realm: MutableRealm, ) { + val localMessage = MessageController.getMessage(remoteMessage.uid, realm) - MessageController.getMessage(remoteMessage.uid, realm)?.let { localMessage -> + if (localMessage == null) { + super.handleAddedMessage(scope, remoteMessage, isConversationMode, impactedThreadsManaged, realm) + } else { remoteMessage.initLocalValues( date = localMessage.date, isFullyDownloaded = localMessage.isFullyDownloaded(), @@ -93,11 +96,11 @@ val snoozeRefreshStrategy = object : DefaultRefreshStrategy { latestCalendarEventResponse = localMessage.latestCalendarEventResponse, swissTransferFiles = localMessage.swissTransferFiles, ) - remoteMessage.keepHeavyData(localMessage) - } - val updatedMessage = MessageController.upsertMessage(remoteMessage, realm) + remoteMessage.keepHeavyData(localMessage) - impactedThreadsManaged += updatedMessage.threads + val updatedMessage = MessageController.upsertMessage(remoteMessage, realm) + impactedThreadsManaged += updatedMessage.threads + } } }