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 + } } }