diff --git a/feature/widget/unread/src/main/kotlin/app/k9mail/feature/widget/unread/UnreadWidgetDataProvider.kt b/feature/widget/unread/src/main/kotlin/app/k9mail/feature/widget/unread/UnreadWidgetDataProvider.kt index 94a04ca311..0ee1ed1cae 100644 --- a/feature/widget/unread/src/main/kotlin/app/k9mail/feature/widget/unread/UnreadWidgetDataProvider.kt +++ b/feature/widget/unread/src/main/kotlin/app/k9mail/feature/widget/unread/UnreadWidgetDataProvider.kt @@ -4,13 +4,13 @@ import android.content.Context import android.content.Intent import app.k9mail.legacy.account.Account import app.k9mail.legacy.mailstore.FolderRepository +import app.k9mail.legacy.message.controller.MessageCountsProvider import app.k9mail.legacy.search.LocalSearch import app.k9mail.legacy.search.SearchAccount import app.k9mail.legacy.ui.folder.FolderNameFormatter import com.fsck.k9.CoreResourceProvider import com.fsck.k9.Preferences import com.fsck.k9.activity.MessageList -import com.fsck.k9.controller.MessageCountsProvider import com.fsck.k9.ui.messagelist.DefaultFolderProvider import timber.log.Timber diff --git a/feature/widget/unread/src/test/kotlin/app/k9mail/feature/widget/unread/UnreadWidgetDataProviderTest.kt b/feature/widget/unread/src/test/kotlin/app/k9mail/feature/widget/unread/UnreadWidgetDataProviderTest.kt index 3e394f9439..20645f6561 100644 --- a/feature/widget/unread/src/test/kotlin/app/k9mail/feature/widget/unread/UnreadWidgetDataProviderTest.kt +++ b/feature/widget/unread/src/test/kotlin/app/k9mail/feature/widget/unread/UnreadWidgetDataProviderTest.kt @@ -5,6 +5,8 @@ import app.k9mail.legacy.account.Account import app.k9mail.legacy.folder.Folder import app.k9mail.legacy.folder.FolderType import app.k9mail.legacy.mailstore.FolderRepository +import app.k9mail.legacy.message.controller.MessageCounts +import app.k9mail.legacy.message.controller.MessageCountsProvider import app.k9mail.legacy.search.SearchAccount import app.k9mail.legacy.ui.folder.FolderNameFormatter import assertk.assertThat @@ -12,8 +14,6 @@ import assertk.assertions.isEqualTo import assertk.assertions.isNull import com.fsck.k9.CoreResourceProvider import com.fsck.k9.Preferences -import com.fsck.k9.controller.MessageCounts -import com.fsck.k9.controller.MessageCountsProvider import com.fsck.k9.ui.messagelist.DefaultFolderProvider import org.junit.Before import org.junit.Test diff --git a/legacy/core/src/main/java/com/fsck/k9/controller/MessageCountsProvider.kt b/legacy/core/src/main/java/com/fsck/k9/controller/DefaultMessageCountsProvider.kt similarity index 89% rename from legacy/core/src/main/java/com/fsck/k9/controller/MessageCountsProvider.kt rename to legacy/core/src/main/java/com/fsck/k9/controller/DefaultMessageCountsProvider.kt index db80673a1d..c56616ba9f 100644 --- a/legacy/core/src/main/java/com/fsck/k9/controller/MessageCountsProvider.kt +++ b/legacy/core/src/main/java/com/fsck/k9/controller/DefaultMessageCountsProvider.kt @@ -3,6 +3,8 @@ package com.fsck.k9.controller import app.k9mail.legacy.account.Account import app.k9mail.legacy.account.AccountManager import app.k9mail.legacy.mailstore.MessageStoreManager +import app.k9mail.legacy.message.controller.MessageCounts +import app.k9mail.legacy.message.controller.MessageCountsProvider import app.k9mail.legacy.search.ConditionsTreeNode import app.k9mail.legacy.search.LocalSearch import app.k9mail.legacy.search.SearchAccount @@ -11,14 +13,6 @@ import com.fsck.k9.search.getAccounts import com.fsck.k9.search.limitToDisplayableFolders import timber.log.Timber -interface MessageCountsProvider { - fun getMessageCounts(account: Account): MessageCounts - fun getMessageCounts(searchAccount: SearchAccount): MessageCounts - fun getUnreadMessageCount(account: Account, folderId: Long): Int -} - -data class MessageCounts(val unread: Int, val starred: Int) - internal class DefaultMessageCountsProvider( private val accountManager: AccountManager, private val messageStoreManager: MessageStoreManager, diff --git a/legacy/core/src/main/java/com/fsck/k9/controller/KoinModule.kt b/legacy/core/src/main/java/com/fsck/k9/controller/KoinModule.kt index dabeb77123..1209741573 100644 --- a/legacy/core/src/main/java/com/fsck/k9/controller/KoinModule.kt +++ b/legacy/core/src/main/java/com/fsck/k9/controller/KoinModule.kt @@ -2,6 +2,7 @@ package com.fsck.k9.controller import android.content.Context import app.k9mail.legacy.mailstore.MessageStoreManager +import app.k9mail.legacy.message.controller.MessageCountsProvider import app.k9mail.legacy.message.controller.MessagingControllerRegistry import com.fsck.k9.Preferences import com.fsck.k9.backend.BackendManager diff --git a/legacy/message/build.gradle.kts b/legacy/message/build.gradle.kts index f6a9ed1f47..b578eca8be 100644 --- a/legacy/message/build.gradle.kts +++ b/legacy/message/build.gradle.kts @@ -8,6 +8,7 @@ android { dependencies { implementation(projects.legacy.account) + implementation(projects.legacy.search) implementation(projects.mail.common) implementation(projects.backend.api) diff --git a/legacy/message/src/main/java/app/k9mail/legacy/message/controller/MessageCountsProvider.kt b/legacy/message/src/main/java/app/k9mail/legacy/message/controller/MessageCountsProvider.kt new file mode 100644 index 0000000000..ccc7d8b50a --- /dev/null +++ b/legacy/message/src/main/java/app/k9mail/legacy/message/controller/MessageCountsProvider.kt @@ -0,0 +1,12 @@ +package app.k9mail.legacy.message.controller + +import app.k9mail.legacy.account.Account +import app.k9mail.legacy.search.SearchAccount + +interface MessageCountsProvider { + fun getMessageCounts(account: Account): MessageCounts + fun getMessageCounts(searchAccount: SearchAccount): MessageCounts + fun getUnreadMessageCount(account: Account, folderId: Long): Int +} + +data class MessageCounts(val unread: Int, val starred: Int) diff --git a/legacy/ui/legacy/src/main/java/com/fsck/k9/ui/account/AccountsViewModel.kt b/legacy/ui/legacy/src/main/java/com/fsck/k9/ui/account/AccountsViewModel.kt index 9ca4903fc2..f83e053e11 100644 --- a/legacy/ui/legacy/src/main/java/com/fsck/k9/ui/account/AccountsViewModel.kt +++ b/legacy/ui/legacy/src/main/java/com/fsck/k9/ui/account/AccountsViewModel.kt @@ -5,9 +5,9 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.asLiveData import app.k9mail.legacy.account.Account import app.k9mail.legacy.account.AccountManager +import app.k9mail.legacy.message.controller.MessageCounts +import app.k9mail.legacy.message.controller.MessageCountsProvider import app.k9mail.legacy.ui.account.DisplayAccount -import com.fsck.k9.controller.MessageCounts -import com.fsck.k9.controller.MessageCountsProvider import com.fsck.k9.mailstore.MessageListChangedListener import com.fsck.k9.mailstore.MessageListRepository import kotlinx.coroutines.Dispatchers diff --git a/legacy/ui/legacy/src/main/java/com/fsck/k9/ui/folders/FoldersViewModel.kt b/legacy/ui/legacy/src/main/java/com/fsck/k9/ui/folders/FoldersViewModel.kt index 0ededdcc07..ff6ece2cc0 100644 --- a/legacy/ui/legacy/src/main/java/com/fsck/k9/ui/folders/FoldersViewModel.kt +++ b/legacy/ui/legacy/src/main/java/com/fsck/k9/ui/folders/FoldersViewModel.kt @@ -6,10 +6,10 @@ import androidx.lifecycle.asLiveData import androidx.lifecycle.viewModelScope import app.k9mail.legacy.account.Account import app.k9mail.legacy.mailstore.FolderRepository +import app.k9mail.legacy.message.controller.MessageCountsProvider import app.k9mail.legacy.search.SearchAccount import app.k9mail.legacy.ui.folder.DisplayUnifiedInbox import app.k9mail.legacy.ui.folder.FolderList -import com.fsck.k9.controller.MessageCountsProvider import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.ExperimentalCoroutinesApi