Loading packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/editor/SettingsExposedDropdownMenuCheckBoxProvider.kt +9 −7 Original line number Diff line number Diff line Loading @@ -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 = {}, ) } } Loading packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/editor/SettingsExposedDropdownMenuCheckBox.kt +22 −18 Original line number Diff line number Diff line Loading @@ -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) } Loading @@ -70,7 +70,7 @@ fun SettingsExposedDropdownMenuCheckBox( .menuAnchor() .fillMaxWidth(), value = selectedOptionsState.joinToString(", "), onValueChange = onselectedOptionStateChange, onValueChange = {}, label = { Text(text = label) }, trailingIcon = { ExposedDropdownMenuDefaults.TrailingIcon( Loading @@ -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 Loading @@ -101,6 +103,7 @@ fun SettingsExposedDropdownMenuCheckBox( option ) } onSelectedOptionStateChange() }) { Row( modifier = Modifier Loading @@ -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) } } Loading @@ -131,6 +135,6 @@ private fun ActionButtonsPreview() { options = options, selectedOptionsState = selectedOptionsState, enabled = true, onselectedOptionStateChange = {}) onSelectedOptionStateChange = {}) } } No newline at end of file packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/editor/SettingsExposedDropdownMenuCheckBoxTest.kt +12 −8 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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) Loading @@ -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) Loading @@ -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) Loading Loading
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/editor/SettingsExposedDropdownMenuCheckBoxProvider.kt +9 −7 Original line number Diff line number Diff line Loading @@ -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 = {}, ) } } Loading
packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/editor/SettingsExposedDropdownMenuCheckBox.kt +22 −18 Original line number Diff line number Diff line Loading @@ -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) } Loading @@ -70,7 +70,7 @@ fun SettingsExposedDropdownMenuCheckBox( .menuAnchor() .fillMaxWidth(), value = selectedOptionsState.joinToString(", "), onValueChange = onselectedOptionStateChange, onValueChange = {}, label = { Text(text = label) }, trailingIcon = { ExposedDropdownMenuDefaults.TrailingIcon( Loading @@ -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 Loading @@ -101,6 +103,7 @@ fun SettingsExposedDropdownMenuCheckBox( option ) } onSelectedOptionStateChange() }) { Row( modifier = Modifier Loading @@ -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) } } Loading @@ -131,6 +135,6 @@ private fun ActionButtonsPreview() { options = options, selectedOptionsState = selectedOptionsState, enabled = true, onselectedOptionStateChange = {}) onSelectedOptionStateChange = {}) } } No newline at end of file
packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/editor/SettingsExposedDropdownMenuCheckBoxTest.kt +12 −8 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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) Loading @@ -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) Loading @@ -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) Loading