Skip to content

Commit 1a4b4de

Browse files
authored
Merge pull request #10244 from shamim-emon/fix-issue-10242
refactor: replace direct usage of K9.contactNameColor with PreferenceDataStore
2 parents 856914f + ae16d75 commit 1a4b4de

File tree

16 files changed

+58
-15
lines changed

16 files changed

+58
-15
lines changed

core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/display/inboxSettings/DisplayInboxSettings.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ data class DisplayInboxSettings(
1414
val isMessageListSenderAboveSubject: Boolean = DISPLAY_SETTINGS_DEFAULT_IS_MESSAGE_LIST_SENDER_ABOVE_SUBJECT,
1515
val isShowComposeButtonOnMessageList: Boolean = DISPLAY_SETTINGS_DEFAULT_IS_SHOW_COMPOSE_BUTTON_ON_MESSAGE_LIST,
1616
val isThreadedViewEnabled: Boolean = DISPLAY_SETTINGS_DEFAULT_IS_THREAD_VIEW_ENABLED,
17+
1718
)

core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/display/visualSettings/message/list/DisplayMessageListSettings.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const val MESSAGE_LIST_SETTINGS_DEFAULT_IS_COLORIZE_MISSING_CONTACT_PICTURE = tr
88
const val MESSAGE_LIST_SETTINGS_DEFAULT_IS_USE_BACKGROUND_AS_INDICATOR = false
99
const val MESSAGE_LIST_SETTINGS_DEFAULT_PREVIEW_LINES = 2
1010
val MESSAGE_LIST_SETTINGS_DEFAULT_UI_DENSITY = UiDensity.Default
11+
const val DISPLAY_SETTINGS_DEFAULT_CONTACT_NAME_COLOR = 0xFF1093F5.toInt()
1112

1213
data class DisplayMessageListSettings(
1314
val isShowCorrespondentNames: Boolean = MESSAGE_LIST_SETTINGS_DEFAULT_IS_SHOW_CORRESPONDENT_NAMES,
@@ -18,4 +19,5 @@ data class DisplayMessageListSettings(
1819
val isUseBackgroundAsUnreadIndicator: Boolean = MESSAGE_LIST_SETTINGS_DEFAULT_IS_USE_BACKGROUND_AS_INDICATOR,
1920
val previewLines: Int = MESSAGE_LIST_SETTINGS_DEFAULT_PREVIEW_LINES,
2021
val uiDensity: UiDensity = MESSAGE_LIST_SETTINGS_DEFAULT_UI_DENSITY,
22+
val contactNameColor: Int = DISPLAY_SETTINGS_DEFAULT_CONTACT_NAME_COLOR,
2123
)

core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/display/visualSettings/message/list/MessageListPreferencesManager.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@ const val KEY_SHOW_CONTACT_NAME = "showContactName"
1010
const val KEY_SHOW_CONTACT_PICTURE = "showContactPicture"
1111
const val KEY_MESSAGE_LIST_VIEW_PREVIEW_LINES = "messageListPreviewLines"
1212
const val KEY_MESSAGE_LIST_VIEW_DENSITY = "messageListDensity"
13+
const val KEY_REGISTERED_NAME_COLOR = "registeredNameColor"
1314

1415
interface MessageListPreferencesManager : PreferenceManager<DisplayMessageListSettings>

core/preference/impl/src/commonMain/kotlin/net/thunderbird/core/preference/display/visualSettings/DefaultDisplayVisualSettingsPreferenceManager.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ class DefaultDisplayVisualSettingsPreferenceManager(
7777
KEY_DRAWER_EXPAND_ALL_FOLDER,
7878
DISPLAY_SETTINGS_DEFAULT_DRAWER_EXPAND_ALL_FOLDER,
7979
),
80+
8081
)
8182

8283
private fun writeConfig(config: DisplayVisualSettings) {

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ class DefaultMessageListPreferencesManager(
5656
KEY_MESSAGE_LIST_VIEW_DENSITY,
5757
MESSAGE_LIST_SETTINGS_DEFAULT_UI_DENSITY,
5858
),
59+
contactNameColor = storage.getInt(
60+
KEY_REGISTERED_NAME_COLOR,
61+
DISPLAY_SETTINGS_DEFAULT_CONTACT_NAME_COLOR,
62+
),
5963
)
6064

6165
private fun write(preferences: DisplayMessageListSettings) {
@@ -66,6 +70,7 @@ class DefaultMessageListPreferencesManager(
6670
storageEditor.putBoolean(KEY_SHOW_CONTACT_NAME, preferences.isShowContactName)
6771
storageEditor.putBoolean(KEY_SHOW_CORRESPONDENT_NAMES, preferences.isShowCorrespondentNames)
6872
storageEditor.putInt(KEY_MESSAGE_LIST_VIEW_PREVIEW_LINES, preferences.previewLines)
73+
storageEditor.putInt(KEY_REGISTERED_NAME_COLOR, preferences.contactNameColor)
6974
storageEditor.putEnum(KEY_MESSAGE_LIST_VIEW_DENSITY, preferences.uiDensity)
7075
storageEditor.commit().also { commited ->
7176
logger.verbose(TAG) { "writeConfig: storageEditor.commit() resulted in: $commited" }

feature/widget/message-list-glance/src/main/kotlin/net/thunderbird/feature/widget/message/list/MessageListItemMapper.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ internal class MessageListItemMapper(
3333
addresses = toAddresses.toTypedArray(),
3434
isShowCorrespondentNames = settings.isShowCorrespondentNames,
3535
isChangeContactNameColor = settings.isChangeContactNameColor,
36+
contactNameColor = settings.contactNameColor,
3637
).toString()
3738
} else {
3839
messageHelper.getSenderDisplayName(displayAddress).toString()

feature/widget/message-list/src/main/kotlin/app/k9mail/feature/widget/message/list/MessageListItemMapper.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ internal class MessageListItemMapper(
3333
addresses = toAddresses.toTypedArray(),
3434
isShowCorrespondentNames = messageListSettings.isShowCorrespondentNames,
3535
isChangeContactNameColor = messageListSettings.isChangeContactNameColor,
36+
contactNameColor = messageListSettings.contactNameColor,
3637
).toString()
3738
} else {
3839
messageHelper.getSenderDisplayName(displayAddress).toString()

legacy/core/src/main/java/com/fsck/k9/K9.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,6 @@ object K9 : KoinComponent {
120120
@JvmStatic
121121
var lockScreenNotificationVisibility = LockScreenNotificationVisibility.MESSAGE_COUNT
122122

123-
@JvmStatic
124-
var contactNameColor = 0xFF1093F5.toInt()
125-
126123
var messageViewPostMarkAsUnreadNavigation: PostMarkAsUnreadNavigation =
127124
PostMarkAsUnreadNavigation.ReturnToMessageList
128125

@@ -201,8 +198,6 @@ object K9 : KoinComponent {
201198
@Suppress("LongMethod")
202199
fun loadPrefs(storage: Storage) {
203200
isShowAccountSelector = storage.getBoolean("showAccountSelector", true)
204-
205-
contactNameColor = storage.getInt("registeredNameColor", 0xFF1093F5.toInt())
206201
messageViewPostMarkAsUnreadNavigation =
207202
storage.getEnum("messageViewPostMarkAsUnreadAction", PostMarkAsUnreadNavigation.ReturnToMessageList)
208203

@@ -243,7 +238,6 @@ object K9 : KoinComponent {
243238
@Suppress("LongMethod")
244239
internal fun save(editor: StorageEditor) {
245240
editor.putBoolean("showAccountSelector", isShowAccountSelector)
246-
editor.putInt("registeredNameColor", contactNameColor)
247241
editor.putEnum("messageViewPostMarkAsUnreadAction", messageViewPostMarkAsUnreadNavigation)
248242

249243
editor.putEnum("sortTypeEnum", sortType)

legacy/core/src/main/java/com/fsck/k9/helper/MessageHelper.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import android.text.TextUtils
77
import android.text.style.ForegroundColorSpan
88
import app.k9mail.core.android.common.contact.ContactRepository
99
import com.fsck.k9.CoreResourceProvider
10-
import com.fsck.k9.K9.contactNameColor
1110
import com.fsck.k9.mail.Address
1211
import java.util.regex.Pattern
1312
import net.thunderbird.core.common.mail.toEmailAddressOrNull
@@ -33,6 +32,7 @@ class MessageHelper(
3332
address,
3433
messageListPreferences.isShowCorrespondentNames,
3534
messageListPreferences.isChangeContactNameColor,
35+
messageListPreferences.contactNameColor,
3636
repository,
3737
)
3838
}
@@ -41,13 +41,15 @@ class MessageHelper(
4141
addresses: Array<Address>?,
4242
isShowCorrespondentNames: Boolean,
4343
isChangeContactNameColor: Boolean,
44+
contactNameColor: Int,
4445
): CharSequence {
4546
if (addresses == null || addresses.isEmpty()) {
4647
return resourceProvider.contactUnknownRecipient()
4748
}
4849
val repository =
4950
if (messageListPreferences.isShowContactName) contactRepository else null
50-
val recipients = toFriendly(addresses, isShowCorrespondentNames, isChangeContactNameColor, repository)
51+
val recipients =
52+
toFriendly(addresses, isShowCorrespondentNames, isChangeContactNameColor, contactNameColor, repository)
5153
return SpannableStringBuilder(resourceProvider.contactDisplayNamePrefix()).append(' ').append(recipients)
5254
}
5355

@@ -78,6 +80,7 @@ class MessageHelper(
7880
address: Address,
7981
isShowCorrespondentNames: Boolean,
8082
isChangeContactNameColor: Boolean,
83+
contactNameColor: Int,
8184
contactRepository: ContactRepository?,
8285
): CharSequence {
8386
return toFriendly(
@@ -93,6 +96,7 @@ class MessageHelper(
9396
addresses: Array<Address>?,
9497
isShowCorrespondentNames: Boolean,
9598
isChangeContactNameColor: Boolean,
99+
contactNameColor: Int,
96100
contactRepository: ContactRepository?,
97101
): CharSequence? {
98102
var repository = contactRepository
@@ -110,6 +114,7 @@ class MessageHelper(
110114
addresses[i],
111115
isShowCorrespondentNames,
112116
isChangeContactNameColor,
117+
contactNameColor,
113118
repository,
114119
),
115120
)

legacy/core/src/main/java/com/fsck/k9/notification/NotificationContentCreator.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ internal class NotificationContentCreator(
8383
fromAddresses.first(),
8484
messageListPreferences.isShowCorrespondentNames,
8585
messageListPreferences.isChangeContactNameColor,
86+
messageListPreferences.contactNameColor,
8687
localContactRepository,
8788
).toString()
8889
}
@@ -98,6 +99,7 @@ internal class NotificationContentCreator(
9899
.isShowCorrespondentNames,
99100
isChangeContactNameColor = messageListPreferences
100101
.isChangeContactNameColor,
102+
contactNameColor = messageListPreferences.contactNameColor,
101103
contactRepository = localContactRepository,
102104
).toString()
103105
return resourceProvider.recipientDisplayName(recipientDisplayName)

0 commit comments

Comments
 (0)