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

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

Merge pull request #9386 from shamim-emon/fix-issue-9385

Replace Direct Calls to K9.isUseMessageViewFixedWidthFont with PreferenceDataStore integration
parents 0fa385b6 3c677aba
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ data class GeneralSettings(
    val isUseBackgroundAsUnreadIndicator: Boolean,
    val isShowComposeButtonOnMessageList: Boolean,
    val isThreadedViewEnabled: Boolean,
    val isUseMessageViewFixedWidthFont: Boolean,
)

enum class BackgroundSync {
+1 −0
Original line number Diff line number Diff line
@@ -30,4 +30,5 @@ interface GeneralSettingsManager {
    fun setIsUseBackgroundAsUnreadIndicator(isUseBackgroundAsUnreadIndicator: Boolean)
    fun setIsShowComposeButtonOnMessageList(isShowComposeButtonOnMessageList: Boolean)
    fun setIsThreadedViewEnabled(isThreadedViewEnabled: Boolean)
    fun setIsUseMessageViewFixedWidthFont(isUseMessageViewFixedWidthFont: Boolean)
}
+6 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ class BuildSwipeActionsTest {
            isUseBackgroundAsUnreadIndicator = false,
            isShowComposeButtonOnMessageList = false,
            isThreadedViewEnabled = false,
            isUseMessageViewFixedWidthFont = false,
        )

    @Test
@@ -409,6 +410,7 @@ private class FakeGeneralSettingsManager(
    override fun setIsColorizeMissingContactPictures(isColorizeMissingContactPictures: Boolean) = error(
        "not implemented",
    )

    override fun setIsUseBackgroundAsUnreadIndicator(
        isUseBackgroundAsUnreadIndicator: Boolean,
    ) = error("not implemented")
@@ -420,6 +422,10 @@ private class FakeGeneralSettingsManager(
    override fun setIsThreadedViewEnabled(isThreadedViewEnabled: Boolean) = error(
        "not implemented",
    )

    override fun setIsUseMessageViewFixedWidthFont(isUseMessageViewFixedWidthFont: Boolean) = error(
        "not implemented",
    )
}

private class FakeStorage(
+0 −5
Original line number Diff line number Diff line
@@ -186,9 +186,6 @@ object K9 : KoinComponent {
    @JvmStatic
    var contactNameColor = 0xFF1093F5.toInt()

    @JvmStatic
    var isUseMessageViewFixedWidthFont = false

    var messageViewPostRemoveNavigation: PostRemoveNavigation = PostRemoveNavigation.ReturnToMessageList

    var messageViewPostMarkAsUnreadNavigation: PostMarkAsUnreadNavigation =
@@ -322,7 +319,6 @@ object K9 : KoinComponent {

        messageListDensity = storage.getEnum("messageListDensity", UiDensity.Default)
        contactNameColor = storage.getInt("registeredNameColor", 0xFF1093F5.toInt())
        isUseMessageViewFixedWidthFont = storage.getBoolean("messageViewFixedWidthFont", false)
        messageViewPostRemoveNavigation =
            storage.getEnum("messageViewPostDeleteAction", PostRemoveNavigation.ReturnToMessageList)
        messageViewPostMarkAsUnreadNavigation =
@@ -404,7 +400,6 @@ object K9 : KoinComponent {
        editor.putBoolean("showAccountSelector", isShowAccountSelector)
        editor.putInt("messageListPreviewLines", messageListPreviewLines)
        editor.putInt("registeredNameColor", contactNameColor)
        editor.putBoolean("messageViewFixedWidthFont", isUseMessageViewFixedWidthFont)
        editor.putEnum("messageViewPostDeleteAction", messageViewPostRemoveNavigation)
        editor.putEnum("messageViewPostMarkAsUnreadAction", messageViewPostMarkAsUnreadNavigation)
        editor.putBoolean("hideUserAgent", isHideUserAgent)
+7 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ internal const val KEY_COLORIZE_MISSING_CONTACT_PICTURE = "colorizeMissingContac
internal const val KEY_USE_BACKGROUND_AS_UNREAD_INDICATOR = "isUseBackgroundAsUnreadIndicator"
internal const val KEY_SHOW_COMPOSE_BUTTON_ON_MESSAGE_LIST = "showComposeButtonOnMessageList"
internal const val KEY_THREAD_VIEW_ENABLED = "isThreadedViewEnabled"
internal const val KEY_MESSAGE_VIEW_FIXED_WIDTH_FONT = "messageViewFixedWidthFont"

/**
 * Retrieve and modify general settings.
@@ -200,6 +201,10 @@ internal class RealGeneralSettingsManager(
        getSettings().copy(isThreadedViewEnabled = isThreadedViewEnabled).persist()
    }

    override fun setIsUseMessageViewFixedWidthFont(isUseMessageViewFixedWidthFont: Boolean) {
        getSettings().copy(isUseMessageViewFixedWidthFont = isUseMessageViewFixedWidthFont).persist()
    }

    private fun writeSettings(editor: StorageEditor, settings: GeneralSettings) {
        editor.putBoolean("showRecentChanges", settings.showRecentChanges)
        editor.putEnum("theme", settings.appTheme)
@@ -220,6 +225,7 @@ internal class RealGeneralSettingsManager(
        editor.putBoolean(KEY_USE_BACKGROUND_AS_UNREAD_INDICATOR, settings.isUseBackgroundAsUnreadIndicator)
        editor.putBoolean(KEY_SHOW_COMPOSE_BUTTON_ON_MESSAGE_LIST, settings.isShowComposeButtonOnMessageList)
        editor.putBoolean(KEY_THREAD_VIEW_ENABLED, settings.isThreadedViewEnabled)
        editor.putBoolean(KEY_MESSAGE_VIEW_FIXED_WIDTH_FONT, settings.isUseMessageViewFixedWidthFont)
    }

    private fun loadGeneralSettings(): GeneralSettings {
@@ -255,6 +261,7 @@ internal class RealGeneralSettingsManager(
            isUseBackgroundAsUnreadIndicator = storage.getBoolean(KEY_USE_BACKGROUND_AS_UNREAD_INDICATOR, false),
            isShowComposeButtonOnMessageList = storage.getBoolean(KEY_SHOW_COMPOSE_BUTTON_ON_MESSAGE_LIST, true),
            isThreadedViewEnabled = storage.getBoolean(KEY_THREAD_VIEW_ENABLED, true),
            isUseMessageViewFixedWidthFont = storage.getBoolean(KEY_MESSAGE_VIEW_FIXED_WIDTH_FONT, false),
        )

        updateSettingsFlow(settings)
Loading