Removing Locale deprecations

This commit is contained in:
Vitor Pamplona
2026-03-15 20:29:05 -04:00
parent 49f5d9518e
commit e87ac7468d
6 changed files with 21 additions and 25 deletions
@@ -226,7 +226,6 @@ import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.launch
import java.math.BigDecimal
import java.util.Locale
import kotlin.coroutines.cancellation.CancellationException
@OptIn(DelicateCoroutinesApi::class)
@@ -508,7 +507,7 @@ class Account(
sendNewAppSpecificData()
}
suspend fun updateTranslateTo(languageCode: Locale) {
suspend fun updateTranslateTo(languageCode: String) {
if (settings.updateTranslateTo(languageCode)) {
sendNewAppSpecificData()
}
@@ -63,7 +63,6 @@ import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.update
import kotlinx.serialization.Serializable
import java.util.Locale
val DefaultChannels =
listOf(
@@ -332,11 +331,11 @@ class AccountSettings(
saveAccountSettings()
}
fun translateToContains(languageCode: Locale) =
fun translateToContains(languageCode: String) =
syncedSettings.languages.translateTo.value
.contains(languageCode.language)
.contains(languageCode)
fun updateTranslateTo(languageCode: Locale): Boolean {
fun updateTranslateTo(languageCode: String): Boolean {
if (syncedSettings.languages.updateTranslateTo(languageCode)) {
saveAccountSettings()
return true
@@ -27,7 +27,6 @@ import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.update
import java.util.Locale
@Stable
class AccountSyncedSettings(
@@ -165,11 +164,11 @@ class AccountLanguagePreferences(
dontTranslateFrom.update { it - languageCode }
}
fun translateToContains(languageCode: Locale) = translateTo.value.contains(languageCode.language)
fun translateToContains(languageCode: String) = translateTo.value.contains(languageCode)
fun updateTranslateTo(languageCode: Locale): Boolean {
if (translateTo.value != languageCode.language) {
translateTo.tryEmit(languageCode.language)
fun updateTranslateTo(languageCode: String): Boolean {
if (translateTo.value != languageCode) {
translateTo.tryEmit(languageCode)
return true
}
return false
@@ -158,7 +158,6 @@ import kotlinx.coroutines.flow.onStart
import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.util.Locale
@Stable
class AccountViewModel(
@@ -1009,7 +1008,7 @@ class AccountViewModel(
fun removeDontTranslateFrom(languageCode: String) = launchSigner { account.removeDontTranslateFrom(languageCode) }
fun updateTranslateTo(languageCode: Locale) = launchSigner { account.updateTranslateTo(languageCode) }
fun updateTranslateTo(languageCode: String) = launchSigner { account.updateTranslateTo(languageCode) }
fun prefer(
source: String,
@@ -213,7 +213,7 @@ fun TranslateToSetting(accountViewModel: AccountViewModel) {
verticalAlignment = Alignment.CenterVertically,
) {
Text(
text = JavaLocale(currentTranslateTo).displayName,
text = JavaLocale.forLanguageTag(currentTranslateTo).displayName,
style = MaterialTheme.typography.bodyMedium,
fontWeight = FontWeight.Medium,
)
@@ -227,7 +227,7 @@ fun TranslateToSetting(accountViewModel: AccountViewModel) {
SearchableLanguageList(
languages = allLanguages,
onSelect = { locale ->
accountViewModel.updateTranslateTo(locale)
accountViewModel.updateTranslateTo(locale.language)
showPicker = false
},
)
@@ -265,7 +265,7 @@ fun DontTranslateFromSetting(accountViewModel: AccountViewModel) {
InputChip(
selected = true,
onClick = { accountViewModel.removeDontTranslateFrom(languageCode) },
label = { Text(JavaLocale(languageCode).displayName) },
label = { Text(JavaLocale.forLanguageTag(languageCode).displayName) },
trailingIcon = {
Icon(
imageVector = Icons.Default.Close,
@@ -367,8 +367,8 @@ private fun LanguagePreferenceCard(
preference: String,
accountViewModel: AccountViewModel,
) {
val sourceName = JavaLocale(source).displayName
val targetName = JavaLocale(target).displayName
val sourceName = JavaLocale.forLanguageTag(source).displayName
val targetName = JavaLocale.forLanguageTag(target).displayName
OutlinedCard(modifier = Modifier.fillMaxWidth()) {
Column(modifier = Modifier.padding(12.dp)) {
@@ -178,9 +178,9 @@ private fun TranslationMessage(
buildAnnotatedString {
appendLink(stringRes(R.string.translations_auto), textColor) { langSettingsPopupExpanded = !langSettingsPopupExpanded }
append(" ${stringRes(R.string.translations_translated_from)} ")
appendLink(Locale(source).displayName, textColor) { onChangeWhatToShow(true) }
appendLink(Locale.forLanguageTag(source).displayName, textColor) { onChangeWhatToShow(true) }
append(" ${stringRes(R.string.translations_to)} ")
appendLink(Locale(target).displayName, textColor) { onChangeWhatToShow(false) }
appendLink(Locale.forLanguageTag(target).displayName, textColor) { onChangeWhatToShow(false) }
},
style =
LocalTextStyle.current.copy(
@@ -213,7 +213,7 @@ private fun TranslationMessage(
Text(
stringRes(
R.string.translations_never_translate_from_lang,
Locale(source).displayName,
Locale.forLanguageTag(source).displayName,
),
)
}
@@ -242,7 +242,7 @@ private fun TranslationMessage(
Text(
stringRes(
R.string.translations_show_in_lang_first,
Locale(source).displayName,
Locale.forLanguageTag(source).displayName,
),
)
}
@@ -272,7 +272,7 @@ private fun TranslationMessage(
Text(
stringRes(
R.string.translations_show_in_lang_first,
Locale(target).displayName,
Locale.forLanguageTag(target).displayName,
),
)
}
@@ -292,7 +292,7 @@ private fun TranslationMessage(
DropdownMenuItem(
text = {
Row(verticalAlignment = Alignment.CenterVertically) {
if (accountViewModel.account.settings.translateToContains(lang)) {
if (accountViewModel.account.settings.translateToContains(lang.language)) {
Icon(
imageVector = Icons.Default.Check,
contentDescription = null,
@@ -314,7 +314,7 @@ private fun TranslationMessage(
},
onClick = {
langSettingsPopupExpanded = false
accountViewModel.updateTranslateTo(lang)
accountViewModel.updateTranslateTo(lang.language)
},
)
}