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

Commit 273046f8 authored by shamim-emon's avatar shamim-emon
Browse files

refactor: move over quietTime related settings from K9 to GeneralSettings

parent 616705c1
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -33,6 +33,10 @@ data class GeneralSettings(
    val isThreadedViewEnabled: Boolean,
    val isUseMessageViewFixedWidthFont: Boolean,
    val isAutoFitWidth: Boolean,
    val quietTimeEnds: String,
    val quietTimeStarts: String,
    val isQuietTimeEnabled: Boolean,
    val isQuietTime: Boolean,
)

enum class BackgroundSync {
+3 −0
Original line number Diff line number Diff line
@@ -32,4 +32,7 @@ interface GeneralSettingsManager {
    fun setIsThreadedViewEnabled(isThreadedViewEnabled: Boolean)
    fun setIsUseMessageViewFixedWidthFont(isUseMessageViewFixedWidthFont: Boolean)
    fun setIsAutoFitWidth(isAutoFitWidth: Boolean)
    fun setQuietTimeEnds(quietTimeEnds: String)
    fun setQuietTimeStarts(quietTimeStarts: String)
    fun setIsQuietTimeEnabled(isQuietTimeEnabled: Boolean)
}
+3 −1
Original line number Diff line number Diff line
@@ -10,9 +10,11 @@ import com.fsck.k9.mailstore.LocalMessage
import net.thunderbird.core.android.account.LegacyAccount
import net.thunderbird.core.common.mail.toEmailAddressOrNull
import net.thunderbird.core.logging.legacy.Log
import net.thunderbird.core.preference.GeneralSettingsManager

class K9NotificationStrategy(
    private val contactRepository: ContactRepository,
    private val generalSettingsManager: GeneralSettingsManager,
) : NotificationStrategy {

    @Suppress("ReturnCount")
@@ -22,7 +24,7 @@ class K9NotificationStrategy(
        message: LocalMessage,
        isOldMessage: Boolean,
    ): Boolean {
        if (!K9.isNotificationDuringQuietTimeEnabled && K9.isQuietTime) {
        if (!K9.isNotificationDuringQuietTimeEnabled && generalSettingsManager.getSettings().isQuietTime) {
            Log.v("No notification: Quiet time is active")
            return false
        }
+1 −1
Original line number Diff line number Diff line
@@ -12,5 +12,5 @@ val notificationModule = module {
        )
    }
    single<NotificationResourceProvider> { K9NotificationResourceProvider(get()) }
    single<NotificationStrategy> { K9NotificationStrategy(get()) }
    single<NotificationStrategy> { K9NotificationStrategy(get(), generalSettingsManager = get()) }
}
+0 −23
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@ package com.fsck.k9
import android.content.Context
import android.content.SharedPreferences
import app.k9mail.feature.telemetry.api.TelemetryManager
import app.k9mail.legacy.di.DI
import com.fsck.k9.K9.DATABASE_VERSION_CACHE
import com.fsck.k9.K9.areDatabasesUpToDate
import com.fsck.k9.K9.checkCachedDatabaseVersion
@@ -12,7 +11,6 @@ import com.fsck.k9.core.BuildConfig
import com.fsck.k9.mail.K9MailLib
import com.fsck.k9.mailstore.LocalStore
import com.fsck.k9.preferences.RealGeneralSettingsManager
import kotlinx.datetime.Clock
import net.thunderbird.core.android.account.AccountDefaultsProvider
import net.thunderbird.core.android.account.SortType
import net.thunderbird.core.common.action.SwipeAction
@@ -197,10 +195,7 @@ object K9 : KoinComponent {
    @JvmStatic
    var isShowAccountSelector = true

    var isQuietTimeEnabled = false
    var isNotificationDuringQuietTimeEnabled = true
    var quietTimeStarts: String? = null
    var quietTimeEnds: String? = null

    @JvmStatic
    var isHideUserAgent = false
@@ -257,17 +252,6 @@ object K9 : KoinComponent {
    var fundingReminderShownTimestamp: Long = 0
    var fundingActivityCounterInMillis: Long = 0

    val isQuietTime: Boolean
        get() {
            if (!isQuietTimeEnabled) {
                return false
            }

            val clock = DI.get<Clock>()
            val quietTimeChecker = QuietTimeChecker(clock, quietTimeStarts, quietTimeEnds)
            return quietTimeChecker.isQuietTime
        }

    @Synchronized
    @JvmStatic
    fun isSortAscending(sortType: SortType): Boolean {
@@ -307,10 +291,7 @@ object K9 : KoinComponent {
        isShowAccountSelector = storage.getBoolean("showAccountSelector", true)
        messageListPreviewLines = storage.getInt("messageListPreviewLines", 2)

        isQuietTimeEnabled = storage.getBoolean("quietTimeEnabled", false)
        isNotificationDuringQuietTimeEnabled = storage.getBoolean("notificationDuringQuietTimeEnabled", true)
        quietTimeStarts = storage.getStringOrDefault("quietTimeStarts", "21:00")
        quietTimeEnds = storage.getStringOrDefault("quietTimeEnds", "7:00")

        messageListDensity = storage.getEnum("messageListDensity", UiDensity.Default)
        contactNameColor = storage.getInt("registeredNameColor", 0xFF1093F5.toInt())
@@ -385,11 +366,7 @@ object K9 : KoinComponent {
        editor.putBoolean("enableSensitiveLogging", isSensitiveDebugLoggingEnabled)
        editor.putEnum("backgroundOperations", backgroundOps)
        editor.putBoolean("useVolumeKeysForNavigation", isUseVolumeKeysForNavigation)
        editor.putBoolean("quietTimeEnabled", isQuietTimeEnabled)
        editor.putBoolean("notificationDuringQuietTimeEnabled", isNotificationDuringQuietTimeEnabled)
        editor.putString("quietTimeStarts", quietTimeStarts)
        editor.putString("quietTimeEnds", quietTimeEnds)

        editor.putEnum("messageListDensity", messageListDensity)
        editor.putBoolean("showAccountSelector", isShowAccountSelector)
        editor.putInt("messageListPreviewLines", messageListPreviewLines)
Loading