Skip to content

Commit a84fc92

Browse files
committed
fix:display Settings reset/mix up when toggling "Colorize contact pictures"
1 parent 464a54c commit a84fc92

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

core/preference/impl/src/commonMain/kotlin/net/thunderbird/core/preference/display/visualSettings/message/list/DefaultMessageListPreferencesManager.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ class DefaultMessageListPreferencesManager(
6767
storageEditor.putBoolean(KEY_SHOW_CORRESPONDENT_NAMES, preferences.isShowCorrespondentNames)
6868
storageEditor.putInt(KEY_MESSAGE_LIST_VIEW_PREVIEW_LINES, preferences.previewLines)
6969
storageEditor.putEnum(KEY_MESSAGE_LIST_VIEW_DENSITY, preferences.uiDensity)
70+
storageEditor.commit().also { commited ->
71+
logger.verbose(TAG) { "writeConfig: storageEditor.commit() resulted in: $commited" }
72+
}
7073
}
7174

7275
override fun getConfig(): DisplayMessageListSettings = preferences.value

legacy/core/src/main/java/com/fsck/k9/preferences/DefaultGeneralSettingsManager.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import kotlinx.coroutines.sync.Mutex
1515
import kotlinx.coroutines.sync.withLock
1616
import net.thunderbird.core.common.appConfig.PlatformConfigProvider
1717
import net.thunderbird.core.logging.config.DebugLogConfigurator
18+
import net.thunderbird.core.logging.legacy.Log.logger
1819
import net.thunderbird.core.preference.GeneralSettings
1920
import net.thunderbird.core.preference.GeneralSettingsManager
2021
import net.thunderbird.core.preference.PreferenceChangePublisher
@@ -24,6 +25,7 @@ import net.thunderbird.core.preference.display.coreSettings.DisplayCoreSettingsP
2425
import net.thunderbird.core.preference.display.inboxSettings.DisplayInboxSettingsPreferenceManager
2526
import net.thunderbird.core.preference.display.miscSettings.DisplayMiscSettingsPreferenceManager
2627
import net.thunderbird.core.preference.display.visualSettings.DisplayVisualSettingsPreferenceManager
28+
import net.thunderbird.core.preference.display.visualSettings.message.list.MessageListPreferencesManager
2729
import net.thunderbird.core.preference.interaction.InteractionSettingsPreferenceManager
2830
import net.thunderbird.core.preference.network.NetworkSettingsPreferenceManager
2931
import net.thunderbird.core.preference.notification.NotificationPreferenceManager
@@ -50,6 +52,7 @@ internal class DefaultGeneralSettingsManager(
5052
private val displayCoreSettingsPreferenceManager: DisplayCoreSettingsPreferenceManager,
5153
private val displayInboxSettingsPreferenceManager: DisplayInboxSettingsPreferenceManager,
5254
private val displayVisualSettingsPreferenceManager: DisplayVisualSettingsPreferenceManager,
55+
private val messageListPreferencesManager: MessageListPreferencesManager,
5356
private val displayMiscSettingsPreferenceManager: DisplayMiscSettingsPreferenceManager,
5457
private val networkSettingsPreferenceManager: NetworkSettingsPreferenceManager,
5558
private val debuggingSettingsPreferenceManager: DebuggingSettingsPreferenceManager,
@@ -93,6 +96,16 @@ internal class DefaultGeneralSettingsManager(
9396
display = generalSettings.display.copy(visualSettings = visualSettings),
9497
)
9598
}
99+
.combine(messageListPreferencesManager.getConfigFlow()) { generalSettings, messageListSettings ->
100+
logger.debug { "messageListSettings: $messageListSettings" }
101+
generalSettings.copy(
102+
display = generalSettings.display.copy(
103+
visualSettings = generalSettings.display.visualSettings.copy(
104+
messageListSettings = messageListSettings,
105+
),
106+
),
107+
)
108+
}
96109
.combine(displayMiscSettingsPreferenceManager.getConfigFlow()) { generalSettings, miscSettings ->
97110
generalSettings.copy(
98111
display = generalSettings.display.copy(miscSettings = miscSettings),
@@ -163,6 +176,7 @@ internal class DefaultGeneralSettingsManager(
163176
displayCoreSettingsPreferenceManager.save(config.display.coreSettings)
164177
displayInboxSettingsPreferenceManager.save(config.display.inboxSettings)
165178
displayVisualSettingsPreferenceManager.save(config.display.visualSettings)
179+
messageListPreferencesManager.save(config.display.visualSettings.messageListSettings)
166180
displayMiscSettingsPreferenceManager.save(config.display.miscSettings)
167181
networkSettingsPreferenceManager.save(config.network)
168182
debuggingSettingsPreferenceManager.save(config.debugging)

legacy/core/src/main/java/com/fsck/k9/preferences/KoinModule.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ val preferencesModule = module {
153153
displayCoreSettingsPreferenceManager = get(),
154154
displayInboxSettingsPreferenceManager = get(),
155155
displayVisualSettingsPreferenceManager = get(),
156+
messageListPreferencesManager = get(),
156157
displayMiscSettingsPreferenceManager = get(),
157158
networkSettingsPreferenceManager = get(),
158159
debuggingSettingsPreferenceManager = get(),

0 commit comments

Comments
 (0)