diff --git a/core/preference/impl/src/commonMain/kotlin/net/thunderbird/core/preference/display/visualSettings/message/list/DefaultMessageListPreferencesManager.kt b/core/preference/impl/src/commonMain/kotlin/net/thunderbird/core/preference/display/visualSettings/message/list/DefaultMessageListPreferencesManager.kt index b3263061837..897f446b82c 100644 --- a/core/preference/impl/src/commonMain/kotlin/net/thunderbird/core/preference/display/visualSettings/message/list/DefaultMessageListPreferencesManager.kt +++ b/core/preference/impl/src/commonMain/kotlin/net/thunderbird/core/preference/display/visualSettings/message/list/DefaultMessageListPreferencesManager.kt @@ -67,6 +67,9 @@ class DefaultMessageListPreferencesManager( storageEditor.putBoolean(KEY_SHOW_CORRESPONDENT_NAMES, preferences.isShowCorrespondentNames) storageEditor.putInt(KEY_MESSAGE_LIST_VIEW_PREVIEW_LINES, preferences.previewLines) storageEditor.putEnum(KEY_MESSAGE_LIST_VIEW_DENSITY, preferences.uiDensity) + storageEditor.commit().also { commited -> + logger.verbose(TAG) { "writeConfig: storageEditor.commit() resulted in: $commited" } + } } override fun getConfig(): DisplayMessageListSettings = preferences.value diff --git a/legacy/core/src/main/java/com/fsck/k9/preferences/DefaultGeneralSettingsManager.kt b/legacy/core/src/main/java/com/fsck/k9/preferences/DefaultGeneralSettingsManager.kt index aeb6e62b68a..e1a1a42e58c 100644 --- a/legacy/core/src/main/java/com/fsck/k9/preferences/DefaultGeneralSettingsManager.kt +++ b/legacy/core/src/main/java/com/fsck/k9/preferences/DefaultGeneralSettingsManager.kt @@ -14,6 +14,7 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import net.thunderbird.core.common.appConfig.PlatformConfigProvider +import net.thunderbird.core.logging.Logger import net.thunderbird.core.logging.config.DebugLogConfigurator import net.thunderbird.core.preference.GeneralSettings import net.thunderbird.core.preference.GeneralSettingsManager @@ -24,6 +25,7 @@ import net.thunderbird.core.preference.display.coreSettings.DisplayCoreSettingsP import net.thunderbird.core.preference.display.inboxSettings.DisplayInboxSettingsPreferenceManager import net.thunderbird.core.preference.display.miscSettings.DisplayMiscSettingsPreferenceManager import net.thunderbird.core.preference.display.visualSettings.DisplayVisualSettingsPreferenceManager +import net.thunderbird.core.preference.display.visualSettings.message.list.MessageListPreferencesManager import net.thunderbird.core.preference.interaction.InteractionSettingsPreferenceManager import net.thunderbird.core.preference.network.NetworkSettingsPreferenceManager import net.thunderbird.core.preference.notification.NotificationPreferenceManager @@ -50,6 +52,7 @@ internal class DefaultGeneralSettingsManager( private val displayCoreSettingsPreferenceManager: DisplayCoreSettingsPreferenceManager, private val displayInboxSettingsPreferenceManager: DisplayInboxSettingsPreferenceManager, private val displayVisualSettingsPreferenceManager: DisplayVisualSettingsPreferenceManager, + private val messageListPreferencesManager: MessageListPreferencesManager, private val displayMiscSettingsPreferenceManager: DisplayMiscSettingsPreferenceManager, private val networkSettingsPreferenceManager: NetworkSettingsPreferenceManager, private val debuggingSettingsPreferenceManager: DebuggingSettingsPreferenceManager, @@ -57,6 +60,7 @@ internal class DefaultGeneralSettingsManager( private val debugLogConfigurator: DebugLogConfigurator, private val backgroundDispatcher: CoroutineDispatcher = Dispatchers.IO, private val platformConfigProvider: PlatformConfigProvider, + private val logger: Logger, ) : GeneralSettingsManager { val mutex = Mutex() private val generalSettings = privacySettingsPreferenceManager.getConfigFlow() @@ -93,6 +97,16 @@ internal class DefaultGeneralSettingsManager( display = generalSettings.display.copy(visualSettings = visualSettings), ) } + .combine(messageListPreferencesManager.getConfigFlow()) { generalSettings, messageListSettings -> + logger.debug { "messageListSettings: $messageListSettings" } + generalSettings.copy( + display = generalSettings.display.copy( + visualSettings = generalSettings.display.visualSettings.copy( + messageListSettings = messageListSettings, + ), + ), + ) + } .combine(displayMiscSettingsPreferenceManager.getConfigFlow()) { generalSettings, miscSettings -> generalSettings.copy( display = generalSettings.display.copy(miscSettings = miscSettings), @@ -163,6 +177,7 @@ internal class DefaultGeneralSettingsManager( displayCoreSettingsPreferenceManager.save(config.display.coreSettings) displayInboxSettingsPreferenceManager.save(config.display.inboxSettings) displayVisualSettingsPreferenceManager.save(config.display.visualSettings) + messageListPreferencesManager.save(config.display.visualSettings.messageListSettings) displayMiscSettingsPreferenceManager.save(config.display.miscSettings) networkSettingsPreferenceManager.save(config.network) debuggingSettingsPreferenceManager.save(config.debugging) diff --git a/legacy/core/src/main/java/com/fsck/k9/preferences/KoinModule.kt b/legacy/core/src/main/java/com/fsck/k9/preferences/KoinModule.kt index 8a8eac287df..37973d9a39a 100644 --- a/legacy/core/src/main/java/com/fsck/k9/preferences/KoinModule.kt +++ b/legacy/core/src/main/java/com/fsck/k9/preferences/KoinModule.kt @@ -153,12 +153,14 @@ val preferencesModule = module { displayCoreSettingsPreferenceManager = get(), displayInboxSettingsPreferenceManager = get(), displayVisualSettingsPreferenceManager = get(), + messageListPreferencesManager = get(), displayMiscSettingsPreferenceManager = get(), networkSettingsPreferenceManager = get(), debuggingSettingsPreferenceManager = get(), interactionSettingsPreferenceManager = get(), debugLogConfigurator = get(), platformConfigProvider = get(), + logger = get(), ) } bind GeneralSettingsManager::class single {