Loading core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/GeneralSettings.kt +4 −0 Original line number Original line Diff line number Diff line Loading @@ -33,6 +33,10 @@ data class GeneralSettings( val isThreadedViewEnabled: Boolean, val isThreadedViewEnabled: Boolean, val isUseMessageViewFixedWidthFont: Boolean, val isUseMessageViewFixedWidthFont: Boolean, val isAutoFitWidth: Boolean, val isAutoFitWidth: Boolean, val quietTimeEnds: String, val quietTimeStarts: String, val isQuietTimeEnabled: Boolean, val isQuietTime: Boolean, ) ) enum class BackgroundSync { enum class BackgroundSync { Loading core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/GeneralSettingsManager.kt +3 −0 Original line number Original line Diff line number Diff line Loading @@ -32,4 +32,7 @@ interface GeneralSettingsManager { fun setIsThreadedViewEnabled(isThreadedViewEnabled: Boolean) fun setIsThreadedViewEnabled(isThreadedViewEnabled: Boolean) fun setIsUseMessageViewFixedWidthFont(isUseMessageViewFixedWidthFont: Boolean) fun setIsUseMessageViewFixedWidthFont(isUseMessageViewFixedWidthFont: Boolean) fun setIsAutoFitWidth(isAutoFitWidth: Boolean) fun setIsAutoFitWidth(isAutoFitWidth: Boolean) fun setQuietTimeEnds(quietTimeEnds: String) fun setQuietTimeStarts(quietTimeStarts: String) fun setIsQuietTimeEnabled(isQuietTimeEnabled: Boolean) } } feature/mail/message/list/src/test/kotlin/net/thunderbird/feature/mail/message/list/domain/usecase/BuildSwipeActionsTest.kt +16 −0 Original line number Original line Diff line number Diff line Loading @@ -50,6 +50,10 @@ class BuildSwipeActionsTest { isThreadedViewEnabled = false, isThreadedViewEnabled = false, isUseMessageViewFixedWidthFont = false, isUseMessageViewFixedWidthFont = false, isAutoFitWidth = false, isAutoFitWidth = false, quietTimeStarts = "7:00", quietTimeEnds = "7:00", isQuietTime = false, isQuietTimeEnabled = false, ) ) @Test @Test Loading Loading @@ -431,6 +435,18 @@ private class FakeGeneralSettingsManager( override fun setIsAutoFitWidth(isAutoFitWidth: Boolean) = error( override fun setIsAutoFitWidth(isAutoFitWidth: Boolean) = error( "not implemented", "not implemented", ) ) override fun setQuietTimeEnds(quietTimeEnds: String) = error( "not implemented", ) override fun setQuietTimeStarts(quietTimeStarts: String) = error( "not implemented", ) override fun setIsQuietTimeEnabled(isQuietTimeEnabled: Boolean) = error( "not implemented", ) } } private class FakeStorage( private class FakeStorage( Loading legacy/common/src/main/java/com/fsck/k9/notification/K9NotificationStrategy.kt +3 −1 Original line number Original line 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.android.account.LegacyAccount import net.thunderbird.core.common.mail.toEmailAddressOrNull import net.thunderbird.core.common.mail.toEmailAddressOrNull import net.thunderbird.core.logging.legacy.Log import net.thunderbird.core.logging.legacy.Log import net.thunderbird.core.preference.GeneralSettingsManager class K9NotificationStrategy( class K9NotificationStrategy( private val contactRepository: ContactRepository, private val contactRepository: ContactRepository, private val generalSettingsManager: GeneralSettingsManager, ) : NotificationStrategy { ) : NotificationStrategy { @Suppress("ReturnCount") @Suppress("ReturnCount") Loading @@ -22,7 +24,7 @@ class K9NotificationStrategy( message: LocalMessage, message: LocalMessage, isOldMessage: Boolean, isOldMessage: Boolean, ): Boolean { ): Boolean { if (!K9.isNotificationDuringQuietTimeEnabled && K9.isQuietTime) { if (!K9.isNotificationDuringQuietTimeEnabled && generalSettingsManager.getSettings().isQuietTime) { Log.v("No notification: Quiet time is active") Log.v("No notification: Quiet time is active") return false return false } } Loading legacy/common/src/main/java/com/fsck/k9/notification/KoinModule.kt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -12,5 +12,5 @@ val notificationModule = module { ) ) } } single<NotificationResourceProvider> { K9NotificationResourceProvider(get()) } single<NotificationResourceProvider> { K9NotificationResourceProvider(get()) } single<NotificationStrategy> { K9NotificationStrategy(get()) } single<NotificationStrategy> { K9NotificationStrategy(get(), generalSettingsManager = get()) } } } Loading
core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/GeneralSettings.kt +4 −0 Original line number Original line Diff line number Diff line Loading @@ -33,6 +33,10 @@ data class GeneralSettings( val isThreadedViewEnabled: Boolean, val isThreadedViewEnabled: Boolean, val isUseMessageViewFixedWidthFont: Boolean, val isUseMessageViewFixedWidthFont: Boolean, val isAutoFitWidth: Boolean, val isAutoFitWidth: Boolean, val quietTimeEnds: String, val quietTimeStarts: String, val isQuietTimeEnabled: Boolean, val isQuietTime: Boolean, ) ) enum class BackgroundSync { enum class BackgroundSync { Loading
core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/GeneralSettingsManager.kt +3 −0 Original line number Original line Diff line number Diff line Loading @@ -32,4 +32,7 @@ interface GeneralSettingsManager { fun setIsThreadedViewEnabled(isThreadedViewEnabled: Boolean) fun setIsThreadedViewEnabled(isThreadedViewEnabled: Boolean) fun setIsUseMessageViewFixedWidthFont(isUseMessageViewFixedWidthFont: Boolean) fun setIsUseMessageViewFixedWidthFont(isUseMessageViewFixedWidthFont: Boolean) fun setIsAutoFitWidth(isAutoFitWidth: Boolean) fun setIsAutoFitWidth(isAutoFitWidth: Boolean) fun setQuietTimeEnds(quietTimeEnds: String) fun setQuietTimeStarts(quietTimeStarts: String) fun setIsQuietTimeEnabled(isQuietTimeEnabled: Boolean) } }
feature/mail/message/list/src/test/kotlin/net/thunderbird/feature/mail/message/list/domain/usecase/BuildSwipeActionsTest.kt +16 −0 Original line number Original line Diff line number Diff line Loading @@ -50,6 +50,10 @@ class BuildSwipeActionsTest { isThreadedViewEnabled = false, isThreadedViewEnabled = false, isUseMessageViewFixedWidthFont = false, isUseMessageViewFixedWidthFont = false, isAutoFitWidth = false, isAutoFitWidth = false, quietTimeStarts = "7:00", quietTimeEnds = "7:00", isQuietTime = false, isQuietTimeEnabled = false, ) ) @Test @Test Loading Loading @@ -431,6 +435,18 @@ private class FakeGeneralSettingsManager( override fun setIsAutoFitWidth(isAutoFitWidth: Boolean) = error( override fun setIsAutoFitWidth(isAutoFitWidth: Boolean) = error( "not implemented", "not implemented", ) ) override fun setQuietTimeEnds(quietTimeEnds: String) = error( "not implemented", ) override fun setQuietTimeStarts(quietTimeStarts: String) = error( "not implemented", ) override fun setIsQuietTimeEnabled(isQuietTimeEnabled: Boolean) = error( "not implemented", ) } } private class FakeStorage( private class FakeStorage( Loading
legacy/common/src/main/java/com/fsck/k9/notification/K9NotificationStrategy.kt +3 −1 Original line number Original line 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.android.account.LegacyAccount import net.thunderbird.core.common.mail.toEmailAddressOrNull import net.thunderbird.core.common.mail.toEmailAddressOrNull import net.thunderbird.core.logging.legacy.Log import net.thunderbird.core.logging.legacy.Log import net.thunderbird.core.preference.GeneralSettingsManager class K9NotificationStrategy( class K9NotificationStrategy( private val contactRepository: ContactRepository, private val contactRepository: ContactRepository, private val generalSettingsManager: GeneralSettingsManager, ) : NotificationStrategy { ) : NotificationStrategy { @Suppress("ReturnCount") @Suppress("ReturnCount") Loading @@ -22,7 +24,7 @@ class K9NotificationStrategy( message: LocalMessage, message: LocalMessage, isOldMessage: Boolean, isOldMessage: Boolean, ): Boolean { ): Boolean { if (!K9.isNotificationDuringQuietTimeEnabled && K9.isQuietTime) { if (!K9.isNotificationDuringQuietTimeEnabled && generalSettingsManager.getSettings().isQuietTime) { Log.v("No notification: Quiet time is active") Log.v("No notification: Quiet time is active") return false return false } } Loading
legacy/common/src/main/java/com/fsck/k9/notification/KoinModule.kt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -12,5 +12,5 @@ val notificationModule = module { ) ) } } single<NotificationResourceProvider> { K9NotificationResourceProvider(get()) } single<NotificationResourceProvider> { K9NotificationResourceProvider(get()) } single<NotificationStrategy> { K9NotificationStrategy(get()) } single<NotificationStrategy> { K9NotificationStrategy(get(), generalSettingsManager = get()) } } }