Remove the language change dialog (#4658)

This commit is contained in:
David Perez
2025-03-11 09:33:22 -05:00
committed by GitHub
parent 409529b9ca
commit 3fca61ad3e
2 changed files with 1 additions and 26 deletions

View File

@@ -14,10 +14,7 @@ import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.rememberTopAppBarState import androidx.compose.material3.rememberTopAppBarState
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
@@ -30,7 +27,6 @@ import com.x8bit.bitwarden.R
import com.x8bit.bitwarden.ui.platform.base.util.EventsEffect import com.x8bit.bitwarden.ui.platform.base.util.EventsEffect
import com.x8bit.bitwarden.ui.platform.base.util.standardHorizontalMargin import com.x8bit.bitwarden.ui.platform.base.util.standardHorizontalMargin
import com.x8bit.bitwarden.ui.platform.components.appbar.BitwardenTopAppBar import com.x8bit.bitwarden.ui.platform.components.appbar.BitwardenTopAppBar
import com.x8bit.bitwarden.ui.platform.components.dialog.BitwardenBasicDialog
import com.x8bit.bitwarden.ui.platform.components.dropdown.BitwardenMultiSelectButton import com.x8bit.bitwarden.ui.platform.components.dropdown.BitwardenMultiSelectButton
import com.x8bit.bitwarden.ui.platform.components.model.CardStyle import com.x8bit.bitwarden.ui.platform.components.model.CardStyle
import com.x8bit.bitwarden.ui.platform.components.scaffold.BitwardenScaffold import com.x8bit.bitwarden.ui.platform.components.scaffold.BitwardenScaffold
@@ -128,7 +124,6 @@ private fun LanguageSelectionRow(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
resources: Resources = LocalContext.current.resources, resources: Resources = LocalContext.current.resources,
) { ) {
var languageChangedDialogOption: String? by rememberSaveable { mutableStateOf(value = null) }
BitwardenMultiSelectButton( BitwardenMultiSelectButton(
label = stringResource(id = R.string.language), label = stringResource(id = R.string.language),
options = AppLanguage.entries.map { it.text() }.toImmutableList(), options = AppLanguage.entries.map { it.text() }.toImmutableList(),
@@ -137,19 +132,10 @@ private fun LanguageSelectionRow(
onLanguageSelection( onLanguageSelection(
AppLanguage.entries.first { selectedLanguage == it.text.toString(resources) }, AppLanguage.entries.first { selectedLanguage == it.text.toString(resources) },
) )
languageChangedDialogOption = selectedLanguage
}, },
cardStyle = CardStyle.Full, cardStyle = CardStyle.Full,
modifier = modifier, modifier = modifier,
) )
languageChangedDialogOption?.let {
BitwardenBasicDialog(
title = stringResource(id = R.string.language),
message = stringResource(id = R.string.language_change_x_description, it),
onDismissRequest = { languageChangedDialogOption = null },
)
}
} }
@Composable @Composable

View File

@@ -64,7 +64,7 @@ class AppearanceScreenTest : BaseComposeTest() {
} }
@Test @Test
fun `on language selection dialog item click should send LanguageChange and show dialog`() { fun `on language selection dialog item click should send LanguageChange`() {
// Clicking the Language row shows the language selection dialog // Clicking the Language row shows the language selection dialog
composeTestRule composeTestRule
.onNodeWithContentDescription(label = "Default (System). Language") .onNodeWithContentDescription(label = "Default (System). Language")
@@ -80,17 +80,6 @@ class AppearanceScreenTest : BaseComposeTest() {
.filterToOne(hasAnyAncestor(isDialog())) .filterToOne(hasAnyAncestor(isDialog()))
.assertIsNotDisplayed() .assertIsNotDisplayed()
// Should show confirmation dialog
composeTestRule
.onAllNodesWithText("Ok")
.filterToOne(hasAnyAncestor(isDialog()))
.assertIsDisplayed()
// Clicking "Ok" should dismiss confirmation dialog
composeTestRule.onAllNodesWithText("Ok")
.filterToOne(hasAnyAncestor(isDialog()))
.performClick()
composeTestRule.assertNoDialogExists()
verify { verify {
viewModel.trySendAction( viewModel.trySendAction(
AppearanceAction.LanguageChange( AppearanceAction.LanguageChange(