Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit b1825c26 authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé
Browse files

Add `MessagingControllerMailChecker` to hide `MessagingController´ from `K9Drawer

parent 49a273e5
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import app.k9mail.legacy.account.Account;
import app.k9mail.legacy.account.Account.DeletePolicy;
import app.k9mail.legacy.di.DI;
import app.k9mail.legacy.message.controller.MessageReference;
import app.k9mail.legacy.message.controller.MessagingControllerMailChecker;
import app.k9mail.legacy.message.controller.MessagingControllerRegistry;
import app.k9mail.legacy.message.controller.MessagingListener;
import app.k9mail.legacy.message.controller.SimpleMessagingListener;
@@ -106,7 +107,7 @@ import static com.fsck.k9.mail.Flag.X_REMOTE_COPY_STARTED;
 * it removes itself. Thus, any commands that that activity submitted are
 * removed from the queue once the activity is no longer active.
 */
public class MessagingController implements MessagingControllerRegistry {
public class MessagingController implements MessagingControllerRegistry, MessagingControllerMailChecker {
    public static final Set<Flag> SYNC_FLAGS = EnumSet.of(Flag.SEEN, Flag.FLAGGED, Flag.ANSWERED, Flag.FORWARDED);

    private static final long FOLDER_LIST_STALENESS_THRESHOLD = 30 * 60 * 1000L;
+13 −0
Original line number Diff line number Diff line
package app.k9mail.legacy.message.controller

import app.k9mail.legacy.account.Account

interface MessagingControllerMailChecker {
    fun checkMail(
        account: Account?,
        ignoreLastCheckedTime: Boolean,
        useManualWakeLock: Boolean,
        notify: Boolean,
        listener: MessagingListener?,
    )
}
+7 −7
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
import app.k9mail.legacy.account.Account
import app.k9mail.legacy.folder.DisplayFolder
import app.k9mail.legacy.folder.Folder
import app.k9mail.legacy.message.controller.MessagingControllerMailChecker
import app.k9mail.legacy.message.controller.SimpleMessagingListener
import app.k9mail.legacy.ui.account.AccountsViewModel
import app.k9mail.legacy.ui.account.DisplayAccount
@@ -27,7 +28,6 @@ import app.k9mail.legacy.ui.theme.Theme
import app.k9mail.legacy.ui.theme.ThemeManager
import com.fsck.k9.K9
import com.fsck.k9.activity.MessageList
import com.fsck.k9.controller.MessagingController
import com.fsck.k9.ui.account.AccountImageLoader
import com.fsck.k9.ui.base.livedata.observeNotNull
import com.fsck.k9.ui.settings.SettingsActivity
@@ -69,7 +69,7 @@ class K9Drawer(private val parent: MessageList, savedInstanceState: Bundle?) : K
    private val folderNameFormatter: FolderNameFormatter by inject()
    private val themeManager: ThemeManager by inject()
    private val resources: Resources by inject()
    private val messagingController: MessagingController by inject()
    private val messagingController: MessagingControllerMailChecker by inject()
    private val accountImageLoader: AccountImageLoader by inject()
    private val folderIconProvider: FolderIconProvider by inject()

@@ -310,11 +310,11 @@ class K9Drawer(private val parent: MessageList, savedInstanceState: Bundle?) : K
        swipeRefreshLayout.setOnRefreshListener {
            val accountToRefresh = if (headerView.selectionListShown) null else account
            messagingController.checkMail(
                accountToRefresh,
                true,
                true,
                true,
                object : SimpleMessagingListener() {
                account = accountToRefresh,
                ignoreLastCheckedTime = true,
                useManualWakeLock = true,
                notify = true,
                listener = object : SimpleMessagingListener() {
                    override fun checkMailFinished(context: Context?, account: Account?) {
                        swipeRefreshLayout.post {
                            swipeRefreshLayout.isRefreshing = false
+3 −0
Original line number Diff line number Diff line
package com.fsck.k9.ui

import android.content.Context
import app.k9mail.legacy.message.controller.MessagingControllerMailChecker
import app.k9mail.legacy.ui.theme.ThemeProvider
import com.fsck.k9.controller.MessagingController
import com.fsck.k9.ui.helper.DisplayHtmlUiFactory
import com.fsck.k9.ui.helper.HtmlSettingsProvider
import com.fsck.k9.ui.helper.SizeFormatter
@@ -14,6 +16,7 @@ val uiModule = module {
    single<ThemeProvider> { K9ThemeProvider() }
    single { HtmlSettingsProvider(get()) }
    single { DisplayHtmlUiFactory(get()) }
    single<MessagingControllerMailChecker> { get<MessagingController>() }
    factory(named("MessageView")) { get<DisplayHtmlUiFactory>().createForMessageView() }
    factory { (context: Context) -> SizeFormatter(context.resources) }
    factory { ShareIntentBuilder(resourceProvider = get(), textPartFinder = get(), quoteDateFormatter = get()) }