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

Unverified Commit 46d3b7b9 authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé Committed by GitHub
Browse files

Merge pull request #9254 from shamim-emon/fix-issue-9233

refactor: Replace all direct usage of K9.isShowUnifiedInbox with GeneralSettingsDataStore
parents 2a6cc735 b4712aa0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ data class GeneralSettings(
    val messageViewTheme: SubTheme,
    val messageComposeTheme: SubTheme,
    val fixedMessageViewTheme: Boolean,
    val isShowUnifiedInbox: Boolean,
)

enum class BackgroundSync {
+1 −0
Original line number Diff line number Diff line
@@ -16,4 +16,5 @@ interface GeneralSettingsManager {
    fun setMessageViewTheme(subTheme: SubTheme)
    fun setMessageComposeTheme(subTheme: SubTheme)
    fun setFixedMessageViewTheme(fixedMessageViewTheme: Boolean)
    fun setIsShowUnifiedInbox(isShowUnifiedInbox: Boolean)
}
+7 −2
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ import com.fsck.k9.activity.compose.MessageActions
import com.fsck.k9.ui.messagelist.DefaultFolderProvider
import com.fsck.k9.ui.notification.DeleteConfirmationActivity
import net.thunderbird.core.android.account.LegacyAccount
import net.thunderbird.core.preferences.GeneralSettingsManager
import net.thunderbird.feature.search.LocalSearch

/**
@@ -35,10 +36,12 @@ internal class K9NotificationActionCreator(
    private val context: Context,
    private val defaultFolderProvider: DefaultFolderProvider,
    private val messageStoreManager: MessageStoreManager,
    private val generalSettingsManager: GeneralSettingsManager,
) : NotificationActionCreator {

    override fun createViewMessagePendingIntent(messageReference: MessageReference): PendingIntent {
        val openInUnifiedInbox = K9.isShowUnifiedInbox && isIncludedInUnifiedInbox(messageReference)
        val openInUnifiedInbox =
            generalSettingsManager.getSettings().isShowUnifiedInbox && isIncludedInUnifiedInbox(messageReference)
        val intent = createMessageViewIntent(messageReference, openInUnifiedInbox)

        return PendingIntentCompat.getActivity(context, 0, intent, FLAG_UPDATE_CURRENT, false)!!
@@ -55,7 +58,9 @@ internal class K9NotificationActionCreator(
    ): PendingIntent {
        val folderIds = extractFolderIds(messageReferences)

        val intent = if (K9.isShowUnifiedInbox && areAllIncludedInUnifiedInbox(account, folderIds)) {
        val intent = if (generalSettingsManager.getSettings().isShowUnifiedInbox &&
            areAllIncludedInUnifiedInbox(account, folderIds)
        ) {
            createUnifiedInboxIntent(account)
        } else if (folderIds.size == 1) {
            createMessageListIntent(account, folderIds.first())
+6 −1
Original line number Diff line number Diff line
@@ -4,7 +4,12 @@ import org.koin.dsl.module

val notificationModule = module {
    single<NotificationActionCreator> {
        K9NotificationActionCreator(context = get(), defaultFolderProvider = get(), messageStoreManager = get())
        K9NotificationActionCreator(
            context = get(),
            defaultFolderProvider = get(),
            messageStoreManager = get(),
            generalSettingsManager = get(),
        )
    }
    single<NotificationResourceProvider> { K9NotificationResourceProvider(get()) }
    single<NotificationStrategy> { K9NotificationStrategy(get()) }
+0 −5
Original line number Diff line number Diff line
@@ -209,9 +209,6 @@ object K9 : KoinComponent {
    @JvmStatic
    var isUseVolumeKeysForNavigation = false

    @JvmStatic
    var isShowUnifiedInbox = false

    @JvmStatic
    var isShowAccountSelector = true

@@ -342,7 +339,6 @@ object K9 : KoinComponent {
        isSensitiveDebugLoggingEnabled = storage.getBoolean("enableSensitiveLogging", false)
        isShowAnimations = storage.getBoolean("animations", true)
        isUseVolumeKeysForNavigation = storage.getBoolean("useVolumeKeysForNavigation", false)
        isShowUnifiedInbox = storage.getBoolean("showUnifiedInbox", false)
        isShowAccountSelector = storage.getBoolean("showAccountSelector", true)
        isShowStarredCount = storage.getBoolean("showStarredCount", false)
        isMessageListSenderAboveSubject = storage.getBoolean("messageListSenderAboveSubject", false)
@@ -443,7 +439,6 @@ object K9 : KoinComponent {

        editor.putEnum("messageListDensity", messageListDensity)
        editor.putBoolean("messageListSenderAboveSubject", isMessageListSenderAboveSubject)
        editor.putBoolean("showUnifiedInbox", isShowUnifiedInbox)
        editor.putBoolean("showAccountSelector", isShowAccountSelector)
        editor.putBoolean("showStarredCount", isShowStarredCount)
        editor.putBoolean("messageListStars", isShowMessageListStars)
Loading