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

Unverified Commit 2d245ca6 authored by Philipp Kewisch's avatar Philipp Kewisch Committed by GitHub
Browse files

Merge pull request #9405 from shamim-emon/fix-issue-9404

Replace All Direct Calls to QuietTime Related K9 Flags with PreferenceDataStore
parents 73cfe606 89908e6f
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -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 {
+3 −0
Original line number Original line Diff line number Diff line
@@ -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)
}
}
+16 −0
Original line number Original line Diff line number Diff line
@@ -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
@@ -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(
+3 −1
Original line number Original line 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.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")
@@ -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
        }
        }
+1 −1
Original line number Original line Diff line number Diff line
@@ -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