From 98740beccd1a55dccad715678a72fb9cc4124beb Mon Sep 17 00:00:00 2001 From: Kevin Boulongne Date: Fri, 7 Mar 2025 09:35:53 +0100 Subject: [PATCH 1/3] refactor: Typo --- .../mail/data/cache/mailboxContent/RefreshController.kt | 4 ++-- .../refreshStrategies/DefaultRefreshStrategy.kt | 2 +- .../cache/mailboxContent/refreshStrategies/RefreshStrategy.kt | 2 +- .../mailboxContent/refreshStrategies/SnoozeRefreshStrategy.kt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/RefreshController.kt b/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/RefreshController.kt index fed84ce8c9..3fb868d5b0 100644 --- a/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/RefreshController.kt +++ b/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/RefreshController.kt @@ -518,7 +518,7 @@ class RefreshController @Inject constructor( initMessageLocalValues(remoteMessage, folder) addedMessagesUids.add(remoteMessage.shortUid) - refreshStrategy.handleAddedMessages(scope, remoteMessage, isConversationMode, impactedThreadsManaged, realm = this) + refreshStrategy.handleAddedMessage(scope, remoteMessage, isConversationMode, impactedThreadsManaged, realm = this) } addSentryBreadcrumbForAddedUidsInFolder(addedMessagesUids) @@ -654,7 +654,7 @@ class RefreshController @Inject constructor( extraFolderUpdates?.invoke(currentFolder) } - // Some folders such as inbox and snooze require to query again the other folder's threads as well. For example, if a + // Some folders such as INBOX and Snooze require to query again the other folder's threads as well. For example, if a // message uid is returned as "added" or "deleted" in the snooze folder, it should disappear or appear from inbox as well. currentFolderRefreshStrategy.otherFolderRolesToQueryThreads().forEach { folderRole -> getUpToDateFolder(folderRole)?.let { otherFolder -> diff --git a/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/DefaultRefreshStrategy.kt b/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/DefaultRefreshStrategy.kt index c3c6847bea..321cf2b23b 100644 --- a/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/DefaultRefreshStrategy.kt +++ b/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/DefaultRefreshStrategy.kt @@ -75,7 +75,7 @@ interface DefaultRefreshStrategy : RefreshStrategy { private fun Thread.getNumberOfMessagesInFolder() = messages.count { message -> message.folderId == folderId } - override fun handleAddedMessages( + override fun handleAddedMessage( scope: CoroutineScope, remoteMessage: Message, isConversationMode: Boolean, diff --git a/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/RefreshStrategy.kt b/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/RefreshStrategy.kt index b625b6f59e..eb047f35fc 100644 --- a/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/RefreshStrategy.kt +++ b/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/RefreshStrategy.kt @@ -60,7 +60,7 @@ interface RefreshStrategy { * It represents all the Threads that will need to be recomputed to reflect the changes of the newly added Messages. * We need to pass down a reference to the MutableSet to enable both addition and removal of Threads in it. */ - fun handleAddedMessages( + fun handleAddedMessage( scope: CoroutineScope, remoteMessage: Message, isConversationMode: Boolean, 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 c740829b4b..2c559b9cdd 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 @@ -74,7 +74,7 @@ val snoozeRefreshStrategy = object : DefaultRefreshStrategy { * So we take the [remoteMessage] (because it contains the up-to-date data about the snooze state), * we give it the localMessage local values, then we upsert it into Realm. */ - override fun handleAddedMessages( + override fun handleAddedMessage( scope: CoroutineScope, remoteMessage: Message, isConversationMode: Boolean, From 4e54be7f4fd275f71b5331481c6e49de33f64919 Mon Sep 17 00:00:00 2001 From: Kevin Boulongne Date: Fri, 7 Mar 2025 11:12:25 +0100 Subject: [PATCH 2/3] refactor: Remove now unused parameter --- .../mail/data/cache/mailboxContent/ThreadController.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/ThreadController.kt b/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/ThreadController.kt index d38693d5a8..95efcc1ee1 100644 --- a/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/ThreadController.kt +++ b/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/ThreadController.kt @@ -97,7 +97,7 @@ class ThreadController @Inject constructor( filterFolder: Folder?, ): List = withContext(ioDispatcher) { - fun MutableRealm.keepOldMessagesAndAddToSearchFolder(remoteThread: Thread, searchFolder: Folder) { + fun MutableRealm.keepOldMessagesAndAddToSearchFolder(remoteThread: Thread) { remoteThread.messages.forEach { remoteMessage: Message -> ensureActive() @@ -145,7 +145,7 @@ class ThreadController @Inject constructor( } remoteThread.folderId = folderId - keepOldMessagesAndAddToSearchFolder(remoteThread, searchFolder) + keepOldMessagesAndAddToSearchFolder(remoteThread) return@map remoteThread }.also(searchFolder.threads::addAll) From f6a60cb41123b449d0c2b15fa8db2267c7d0ca3b Mon Sep 17 00:00:00 2001 From: Kevin Boulongne Date: Fri, 7 Mar 2025 11:21:12 +0100 Subject: [PATCH 3/3] refactor: Update FolderRole imports --- .../refreshStrategies/InboxRefreshStrategy.kt | 6 +++--- .../refreshStrategies/SnoozeRefreshStrategy.kt | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/InboxRefreshStrategy.kt b/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/InboxRefreshStrategy.kt index 92ef2e1664..56c74b1ff1 100644 --- a/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/InboxRefreshStrategy.kt +++ b/app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/refreshStrategies/InboxRefreshStrategy.kt @@ -19,7 +19,7 @@ package com.infomaniak.mail.data.cache.mailboxContent.refreshStrategies import com.infomaniak.mail.data.cache.mailboxContent.ImpactedFolders import com.infomaniak.mail.data.cache.mailboxContent.ThreadController -import com.infomaniak.mail.data.models.Folder +import com.infomaniak.mail.data.models.Folder.FolderRole import com.infomaniak.mail.data.models.thread.Thread import io.realm.kotlin.TypedRealm @@ -28,10 +28,10 @@ val inboxRefreshStrategy = object : DefaultRefreshStrategy { return ThreadController.getInboxThreadsWithSnoozeFilter(withSnooze = false, realm = realm) } - override fun otherFolderRolesToQueryThreads(): List = listOf(Folder.FolderRole.SNOOZED) + override fun otherFolderRolesToQueryThreads(): List = listOf(FolderRole.SNOOZED) override fun addFolderToImpactedFolders(folderId: String, impactedFolders: ImpactedFolders) { impactedFolders += folderId - impactedFolders += Folder.FolderRole.SNOOZED + impactedFolders += FolderRole.SNOOZED } } 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 2c559b9cdd..3f43d0c080 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 @@ -22,7 +22,7 @@ import com.infomaniak.mail.data.cache.mailboxContent.FolderController import com.infomaniak.mail.data.cache.mailboxContent.ImpactedFolders import com.infomaniak.mail.data.cache.mailboxContent.MessageController import com.infomaniak.mail.data.cache.mailboxContent.ThreadController -import com.infomaniak.mail.data.models.Folder +import com.infomaniak.mail.data.models.Folder.FolderRole import com.infomaniak.mail.data.models.mailbox.Mailbox import com.infomaniak.mail.data.models.message.Message import com.infomaniak.mail.data.models.message.Message.MessageInitialState @@ -36,12 +36,12 @@ val snoozeRefreshStrategy = object : DefaultRefreshStrategy { return ThreadController.getInboxThreadsWithSnoozeFilter(withSnooze = true, realm = realm) } - override fun otherFolderRolesToQueryThreads(): List = listOf(Folder.FolderRole.INBOX) + override fun otherFolderRolesToQueryThreads(): List = listOf(FolderRole.INBOX) override fun shouldHideEmptyFolder(): Boolean = true override fun getMessageFromShortUid(shortUid: String, folderId: String, realm: TypedRealm): Message? { - val inboxId = FolderController.getFolder(Folder.FolderRole.INBOX, realm)?.id ?: return null + val inboxId = FolderController.getFolder(FolderRole.INBOX, realm)?.id ?: return null return super.getMessageFromShortUid(shortUid, inboxId, realm) } @@ -61,7 +61,7 @@ val snoozeRefreshStrategy = object : DefaultRefreshStrategy { override fun addFolderToImpactedFolders(folderId: String, impactedFolders: ImpactedFolders) { impactedFolders += folderId - impactedFolders += Folder.FolderRole.INBOX + impactedFolders += FolderRole.INBOX } override fun processDeletedThread(thread: Thread, realm: MutableRealm) = thread.recomputeThread()