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

Commit 39895981 authored by shamim-emon's avatar shamim-emon
Browse files

refactor: replace direct calls to k9.isMessageListSenderAboveSubject with...

refactor: replace direct calls to k9.isMessageListSenderAboveSubject with preferenceDataStore integration
parent dd7033cb
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ data class GeneralSettings(
    val isShowAnimations: Boolean,
    val isShowCorrespondentNames: Boolean,
    val shouldShowSetupArchiveFolderDialog: Boolean,
    val isMessageListSenderAboveSubject: Boolean,
)

enum class BackgroundSync {
+1 −0
Original line number Diff line number Diff line
@@ -22,4 +22,5 @@ interface GeneralSettingsManager {
    fun setIsShowAnimations(isShowAnimations: Boolean)
    fun setIsShowCorrespondentNames(isShowCorrespondentNames: Boolean)
    fun setSetupArchiveShouldNotShowAgain(shouldShowSetupArchiveFolderDialog: Boolean)
    fun setIsMessageListSenderAboveSubject(isMessageListSenderAboveSubject: Boolean)
}
+3 −1
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ import com.fsck.k9.CoreResourceProvider
import com.fsck.k9.K9
import com.fsck.k9.activity.MessageList
import net.thunderbird.core.android.account.SortType
import net.thunderbird.core.preference.GeneralSettingsManager
import net.thunderbird.feature.search.LocalSearch
import net.thunderbird.feature.search.SearchAccount
import org.koin.core.component.KoinComponent
@@ -21,6 +22,7 @@ import org.koin.core.component.inject
internal class MessageListRemoteViewFactory(private val context: Context) : RemoteViewsFactory, KoinComponent {
    private val messageListLoader: MessageListLoader by inject()
    private val coreResourceProvider: CoreResourceProvider by inject()
    private val generalSettingsManager: GeneralSettingsManager by inject()

    private lateinit var unifiedInboxSearch: LocalSearch

@@ -35,7 +37,7 @@ internal class MessageListRemoteViewFactory(private val context: Context) : Remo
            unifiedInboxDetail = coreResourceProvider.searchUnifiedInboxDetail(),
        ).relatedSearch

        senderAboveSubject = K9.isMessageListSenderAboveSubject
        senderAboveSubject = generalSettingsManager.getSettings().isMessageListSenderAboveSubject
        readTextColor = ContextCompat.getColor(context, R.color.message_list_widget_text_read)
        unreadTextColor = ContextCompat.getColor(context, R.color.message_list_widget_text_unread)
    }
+0 −5
Original line number Diff line number Diff line
@@ -180,9 +180,6 @@ object K9 : KoinComponent {
    @JvmStatic
    var messageListPreviewLines = 2

    @JvmStatic
    var isMessageListSenderAboveSubject = false

    @JvmStatic
    var isShowContactName = false

@@ -334,7 +331,6 @@ object K9 : KoinComponent {
        isSensitiveDebugLoggingEnabled = storage.getBoolean("enableSensitiveLogging", false)
        isUseVolumeKeysForNavigation = storage.getBoolean("useVolumeKeysForNavigation", false)
        isShowAccountSelector = storage.getBoolean("showAccountSelector", true)
        isMessageListSenderAboveSubject = storage.getBoolean("messageListSenderAboveSubject", false)
        messageListPreviewLines = storage.getInt("messageListPreviewLines", 2)

        isAutoFitWidth = storage.getBoolean("autofitWidth", true)
@@ -434,7 +430,6 @@ object K9 : KoinComponent {
        editor.putString("quietTimeEnds", quietTimeEnds)

        editor.putEnum("messageListDensity", messageListDensity)
        editor.putBoolean("messageListSenderAboveSubject", isMessageListSenderAboveSubject)
        editor.putBoolean("showAccountSelector", isShowAccountSelector)
        editor.putInt("messageListPreviewLines", messageListPreviewLines)
        editor.putBoolean("showContactName", isShowContactName)
+6 −0
Original line number Diff line number Diff line
@@ -163,6 +163,10 @@ internal class RealGeneralSettingsManager(
        getSettings().copy(shouldShowSetupArchiveFolderDialog = shouldShowSetupArchiveFolderDialog).persist()
    }

    override fun setIsMessageListSenderAboveSubject(isMessageListSenderAboveSubject: Boolean) {
        getSettings().copy(isMessageListSenderAboveSubject = isMessageListSenderAboveSubject).persist()
    }

    private fun writeSettings(editor: StorageEditor, settings: GeneralSettings) {
        editor.putBoolean("showRecentChanges", settings.showRecentChanges)
        editor.putEnum("theme", settings.appTheme)
@@ -175,6 +179,7 @@ internal class RealGeneralSettingsManager(
        editor.putBoolean("animations", settings.isShowAnimations)
        editor.putBoolean("showCorrespondentNames", settings.isShowCorrespondentNames)
        editor.putBoolean(KEY_SHOULD_SHOW_SETUP_ARCHIVE_FOLDER_DIALOG, settings.shouldShowSetupArchiveFolderDialog)
        editor.putBoolean("messageListSenderAboveSubject", settings.isMessageListSenderAboveSubject)
    }

    private fun loadGeneralSettings(): GeneralSettings {
@@ -202,6 +207,7 @@ internal class RealGeneralSettingsManager(
                key = KEY_SHOULD_SHOW_SETUP_ARCHIVE_FOLDER_DIALOG,
                defValue = true,
            ),
            isMessageListSenderAboveSubject = storage.getBoolean("messageListSenderAboveSubject", false),
        )

        updateSettingsFlow(settings)
Loading