diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/SharedPreferencesViewModel.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/SharedPreferencesViewModel.kt index 68063f479..e8c7e8d4f 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/SharedPreferencesViewModel.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/SharedPreferencesViewModel.kt @@ -83,14 +83,6 @@ class SharedPreferencesViewModel : ViewModel() { } } - fun addDontTranslateFrom(languageCode: String) { - val newSet = sharedPrefs.dontTranslateFrom.plus(languageCode) - if (newSet != sharedPrefs.dontTranslateFrom) { - sharedPrefs.dontTranslateFrom = newSet - saveSharedSettings() - } - } - fun removeDontTranslateFrom(languageCode: String) { val newSet = sharedPrefs.dontTranslateFrom.minus(languageCode) if (newSet != sharedPrefs.dontTranslateFrom) { diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/settings/AppSettingsScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/settings/AppSettingsScreen.kt index 27293b754..ef85341a5 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/settings/AppSettingsScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/settings/AppSettingsScreen.kt @@ -32,14 +32,10 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Clear import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExposedDropdownMenuBox import androidx.compose.material3.ExposedDropdownMenuDefaults -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Text @@ -246,7 +242,7 @@ fun SettingsScreen(sharedPreferencesViewModel: SharedPreferencesViewModel) { Spacer(modifier = HalfVertSpacer) - DontTranslateFromSetting(sharedPreferencesViewModel, languageEntries) + DontTranslateFromSetting(sharedPreferencesViewModel) Spacer(modifier = HalfVertSpacer) @@ -341,10 +337,7 @@ fun SettingsScreen(sharedPreferencesViewModel: SharedPreferencesViewModel) { @OptIn(ExperimentalMaterial3Api::class) @Composable -fun DontTranslateFromSetting( - sharedPreferencesViewModel: SharedPreferencesViewModel, - languageEntries: ImmutableMap, -) { +fun DontTranslateFromSetting(sharedPreferencesViewModel: SharedPreferencesViewModel) { var expanded by remember { mutableStateOf(false) } val selectedLanguages = sharedPreferencesViewModel.sharedPrefs.dontTranslateFrom @@ -369,45 +362,18 @@ fun DontTranslateFromSetting( expanded = expanded, onDismissRequest = { expanded = false }, ) { - languageEntries.forEach { (displayName, languageCode) -> - if (!selectedLanguages.contains(languageCode)) { - DropdownMenuItem( - text = { Text(text = displayName) }, - onClick = { - sharedPreferencesViewModel.addDontTranslateFrom(languageCode) - expanded = false - }, - ) - } + selectedLanguages.forEach { languageCode -> + DropdownMenuItem( + text = { Text(text = JavaLocale.forLanguageTag(languageCode).displayName) }, + onClick = { + sharedPreferencesViewModel.removeDontTranslateFrom(languageCode) + expanded = false + }, + ) } } } } - - selectedLanguages.forEach { languageCode -> - val displayName = - languageEntries.entries.find { it.value == languageCode }?.key - ?: JavaLocale.forLanguageTag(languageCode).displayName - Row( - verticalAlignment = Alignment.CenterVertically, - modifier = - Modifier - .fillMaxWidth() - .padding(vertical = Size10dp), - ) { - Text( - text = displayName, - modifier = Modifier.weight(1f), - ) - IconButton(onClick = { sharedPreferencesViewModel.removeDontTranslateFrom(languageCode) }) { - Icon( - imageVector = Icons.Default.Clear, - contentDescription = stringRes(R.string.remove), - tint = MaterialTheme.colorScheme.onSurface, - ) - } - } - } } } diff --git a/amethyst/src/main/res/values/strings.xml b/amethyst/src/main/res/values/strings.xml index 67ce651af..c1f4d8aad 100644 --- a/amethyst/src/main/res/values/strings.xml +++ b/amethyst/src/main/res/values/strings.xml @@ -1180,6 +1180,6 @@ Search hashtag: #%1$s Don\'t Translate From - Languages selected here will not be translated - Add a language + Languages shown here will not be translated. Select a language to remove it and have it translated again. + Select to remove