Loading core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/GeneralSettings.kt +4 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/GeneralSettingsManager.kt +3 −0 Original line number Diff line number Diff line Loading @@ -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) } legacy/common/src/main/java/com/fsck/k9/notification/K9NotificationStrategy.kt +3 −1 Original line number Diff line number Diff line Loading @@ -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") Loading @@ -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 } Loading legacy/common/src/main/java/com/fsck/k9/notification/KoinModule.kt +1 −1 Original line number Diff line number Diff line Loading @@ -12,5 +12,5 @@ val notificationModule = module { ) } single<NotificationResourceProvider> { K9NotificationResourceProvider(get()) } single<NotificationStrategy> { K9NotificationStrategy(get()) } single<NotificationStrategy> { K9NotificationStrategy(get(), generalSettingsManager = get()) } } legacy/core/src/main/java/com/fsck/k9/K9.kt +0 −23 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 { Loading Loading @@ -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()) Loading Loading @@ -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 Loading
core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/GeneralSettings.kt +4 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading
core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/GeneralSettingsManager.kt +3 −0 Original line number Diff line number Diff line Loading @@ -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) }
legacy/common/src/main/java/com/fsck/k9/notification/K9NotificationStrategy.kt +3 −1 Original line number Diff line number Diff line Loading @@ -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") Loading @@ -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 } Loading
legacy/common/src/main/java/com/fsck/k9/notification/KoinModule.kt +1 −1 Original line number Diff line number Diff line Loading @@ -12,5 +12,5 @@ val notificationModule = module { ) } single<NotificationResourceProvider> { K9NotificationResourceProvider(get()) } single<NotificationStrategy> { K9NotificationStrategy(get()) } single<NotificationStrategy> { K9NotificationStrategy(get(), generalSettingsManager = get()) } }
legacy/core/src/main/java/com/fsck/k9/K9.kt +0 −23 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 { Loading Loading @@ -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()) Loading Loading @@ -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