Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec7ea00b authored by Charlotte Lu's avatar Charlotte Lu
Browse files

Enable checkBox check.

Fix: 298906347
Test: Unit Test
Change-Id: I16b70da255fcab26ad9d35e95324fbefec83159d
parent 35bfcec9
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -46,11 +46,13 @@ object SettingsExposedDropdownMenuCheckBoxProvider : SettingsPageProvider {
    @Composable
    override fun Page(arguments: Bundle?) {
        RegularScaffold(title = TITLE) {
            SettingsExposedDropdownMenuCheckBox(label = exposedDropdownMenuCheckBoxLabel,
            SettingsExposedDropdownMenuCheckBox(
                label = exposedDropdownMenuCheckBoxLabel,
                options = options,
                selectedOptionsState = remember { selectedOptionsState1 },
                enabled = true,
                onselectedOptionStateChange = {})
                onSelectedOptionStateChange = {},
            )
        }
    }

+22 −18
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ fun SettingsExposedDropdownMenuCheckBox(
    options: List<String>,
    selectedOptionsState: SnapshotStateList<String>,
    enabled: Boolean,
    onselectedOptionStateChange: (String) -> Unit,
    onSelectedOptionStateChange: () -> Unit,
) {
    var dropDownWidth by remember { mutableStateOf(0) }
    var expanded by remember { mutableStateOf(false) }
@@ -70,7 +70,7 @@ fun SettingsExposedDropdownMenuCheckBox(
                .menuAnchor()
                .fillMaxWidth(),
            value = selectedOptionsState.joinToString(", "),
            onValueChange = onselectedOptionStateChange,
            onValueChange = {},
            label = { Text(text = label) },
            trailingIcon = {
                ExposedDropdownMenuDefaults.TrailingIcon(
@@ -89,9 +89,11 @@ fun SettingsExposedDropdownMenuCheckBox(
                onDismissRequest = { expanded = false },
            ) {
                options.forEach { option ->
                    TextButton(modifier = Modifier
                    TextButton(
                        modifier = Modifier
                            .fillMaxHeight()
                        .fillMaxWidth(), onClick = {
                            .fillMaxWidth(),
                        onClick = {
                            if (selectedOptionsState.contains(option)) {
                                selectedOptionsState.remove(
                                    option
@@ -101,6 +103,7 @@ fun SettingsExposedDropdownMenuCheckBox(
                                    option
                                )
                            }
                            onSelectedOptionStateChange()
                    }) {
                        Row(
                            modifier = Modifier
@@ -109,9 +112,10 @@ fun SettingsExposedDropdownMenuCheckBox(
                            horizontalArrangement = Arrangement.Start,
                            verticalAlignment = Alignment.CenterVertically
                        ) {
                            Checkbox(checked = selectedOptionsState.contains(
                                option
                            ), onCheckedChange = {})
                            Checkbox(
                                checked = selectedOptionsState.contains(option),
                                onCheckedChange = null,
                            )
                            Text(text = option)
                        }
                    }
@@ -131,6 +135,6 @@ private fun ActionButtonsPreview() {
            options = options,
            selectedOptionsState = selectedOptionsState,
            enabled = true,
            onselectedOptionStateChange = {})
            onSelectedOptionStateChange = {})
    }
}
 No newline at end of file
+12 −8
Original line number Diff line number Diff line
@@ -45,11 +45,12 @@ class SettingsExposedDropdownMenuCheckBoxTest {
    @Test
    fun exposedDropdownMenuCheckBox_displayed() {
        composeTestRule.setContent {
            SettingsExposedDropdownMenuCheckBox(label = exposedDropdownMenuCheckBoxLabel,
            SettingsExposedDropdownMenuCheckBox(
                label = exposedDropdownMenuCheckBoxLabel,
                options = options,
                selectedOptionsState = remember { selectedOptionsState1 },
                enabled = true,
                onselectedOptionStateChange = {})
            ) {}
        }
        composeTestRule.onNodeWithText(
            exposedDropdownMenuCheckBoxLabel, substring = true
@@ -59,11 +60,12 @@ class SettingsExposedDropdownMenuCheckBoxTest {
    @Test
    fun exposedDropdownMenuCheckBox_expanded() {
        composeTestRule.setContent {
            SettingsExposedDropdownMenuCheckBox(label = exposedDropdownMenuCheckBoxLabel,
            SettingsExposedDropdownMenuCheckBox(
                label = exposedDropdownMenuCheckBoxLabel,
                options = options,
                selectedOptionsState = remember { selectedOptionsState1 },
                enabled = true,
                onselectedOptionStateChange = {})
            ) {}
        }
        composeTestRule.onNodeWithText(item3, substring = true).assertDoesNotExist()
        composeTestRule.onNodeWithText(exposedDropdownMenuCheckBoxLabel, substring = true)
@@ -74,11 +76,12 @@ class SettingsExposedDropdownMenuCheckBoxTest {
    @Test
    fun exposedDropdownMenuCheckBox_valueAdded() {
        composeTestRule.setContent {
            SettingsExposedDropdownMenuCheckBox(label = exposedDropdownMenuCheckBoxLabel,
            SettingsExposedDropdownMenuCheckBox(
                label = exposedDropdownMenuCheckBoxLabel,
                options = options,
                selectedOptionsState = remember { selectedOptionsState1 },
                enabled = true,
                onselectedOptionStateChange = {})
            ) {}
        }
        composeTestRule.onNodeWithText(item3, substring = true).assertDoesNotExist()
        composeTestRule.onNodeWithText(exposedDropdownMenuCheckBoxLabel, substring = true)
@@ -90,11 +93,12 @@ class SettingsExposedDropdownMenuCheckBoxTest {
    @Test
    fun exposedDropdownMenuCheckBox_valueDeleted() {
        composeTestRule.setContent {
            SettingsExposedDropdownMenuCheckBox(label = exposedDropdownMenuCheckBoxLabel,
            SettingsExposedDropdownMenuCheckBox(
                label = exposedDropdownMenuCheckBoxLabel,
                options = options,
                selectedOptionsState = remember { selectedOptionsState1 },
                enabled = true,
                onselectedOptionStateChange = {})
            ) {}
        }
        composeTestRule.onNodeWithText(item2, substring = true).assertIsDisplayed()
        composeTestRule.onNodeWithText(exposedDropdownMenuCheckBoxLabel, substring = true)