Loading packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/editor/EditorMainPageProvider.kt +18 −22 Original line number Original line Diff line number Diff line Loading @@ -18,41 +18,37 @@ package com.android.settingslib.spa.gallery.editor import android.os.Bundle import android.os.Bundle import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.scaffold.RegularScaffold import com.android.settingslib.spa.widget.ui.Category private const val TITLE = "Category: Editor" private const val TITLE = "Category: Editor" object EditorMainPageProvider : SettingsPageProvider { object EditorMainPageProvider : SettingsPageProvider { override val name = "EditorMain" override val name = "EditorMain" private val owner = createSettingsPage() override fun buildEntry(arguments: Bundle?): List<SettingsEntry> { return listOf( SettingsOutlinedTextFieldPageProvider.buildInjectEntry().setLink(fromPage = owner) .build(), SettingsDropdownBoxPageProvider.buildInjectEntry().setLink(fromPage = owner) .build(), SettingsDropdownCheckBoxProvider.buildInjectEntry().setLink(fromPage = owner) .build(), SettingsTextFieldPasswordPageProvider.buildInjectEntry().setLink(fromPage = owner) .build(), ) } @Composable @Composable fun Entry() { fun Entry() { Preference(object : PreferenceModel { Preference( object : PreferenceModel { override val title = TITLE override val title = TITLE override val onClick = navigator(name) override val onClick = navigator(name) }) } ) } } override fun getTitle(arguments: Bundle?): String { @Composable return TITLE override fun Page(arguments: Bundle?) { RegularScaffold(TITLE) { Category { SettingsOutlinedTextFieldPageProvider.Entry() SettingsDropdownBoxPageProvider.Entry() SettingsDropdownCheckBoxProvider.Entry() SettingsTextFieldPasswordPageProvider.Entry() } } } } } } packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/editor/SettingsDropdownBoxPageProvider.kt +17 −19 Original line number Original line Diff line number Diff line Loading @@ -23,9 +23,7 @@ import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.widget.editor.SettingsDropdownBox import com.android.settingslib.spa.widget.editor.SettingsDropdownBox Loading @@ -38,10 +36,6 @@ private const val TITLE = "Sample SettingsDropdownBox" object SettingsDropdownBoxPageProvider : SettingsPageProvider { object SettingsDropdownBoxPageProvider : SettingsPageProvider { override val name = "SettingsDropdownBox" override val name = "SettingsDropdownBox" override fun getTitle(arguments: Bundle?): String { return TITLE } @Composable @Composable override fun Page(arguments: Bundle?) { override fun Page(arguments: Bundle?) { RegularScaffold(title = TITLE) { RegularScaffold(title = TITLE) { Loading @@ -58,7 +52,9 @@ object SettingsDropdownBoxPageProvider : SettingsPageProvider { label = "SettingsDropdownBox", label = "SettingsDropdownBox", options = listOf("item1", "item2", "item3"), options = listOf("item1", "item2", "item3"), selectedOptionIndex = selectedItem, selectedOptionIndex = selectedItem, ) { selectedItem = it } ) { selectedItem = it } } } @Composable @Composable Loading @@ -69,7 +65,9 @@ object SettingsDropdownBoxPageProvider : SettingsPageProvider { options = listOf("item1", "item2", "item3"), options = listOf("item1", "item2", "item3"), enabled = false, enabled = false, selectedOptionIndex = selectedItem, selectedOptionIndex = selectedItem, ) { selectedItem = it } ) { selectedItem = it } } } @Composable @Composable Loading @@ -79,24 +77,24 @@ object SettingsDropdownBoxPageProvider : SettingsPageProvider { label = "Empty", label = "Empty", options = emptyList(), options = emptyList(), selectedOptionIndex = selectedItem, selectedOptionIndex = selectedItem, ) { selectedItem = it } ) { selectedItem = it } } } fun buildInjectEntry(): SettingsEntryBuilder { @Composable return SettingsEntryBuilder.createInject(owner = createSettingsPage()) fun Entry() { .setUiLayoutFn { Preference( Preference(object : PreferenceModel { object : PreferenceModel { override val title = TITLE override val title = TITLE override val onClick = navigator(name) override val onClick = navigator(name) }) } } ) } } } } @Preview(showBackground = true) @Preview(showBackground = true) @Composable @Composable private fun SettingsDropdownBoxPagePreview() { private fun SettingsDropdownBoxPagePreview() { SettingsTheme { SettingsTheme { SettingsDropdownBoxPageProvider.Page(null) } SettingsDropdownBoxPageProvider.Page(null) } } } packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/editor/SettingsDropdownCheckBoxProvider.kt +63 −65 Original line number Original line Diff line number Diff line Loading @@ -21,9 +21,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.remember import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.widget.editor.SettingsDropdownCheckBox import com.android.settingslib.spa.widget.editor.SettingsDropdownCheckBox Loading @@ -37,16 +35,13 @@ private const val TITLE = "Sample SettingsDropdownCheckBox" object SettingsDropdownCheckBoxProvider : SettingsPageProvider { object SettingsDropdownCheckBoxProvider : SettingsPageProvider { override val name = "SettingsDropdownCheckBox" override val name = "SettingsDropdownCheckBox" override fun getTitle(arguments: Bundle?): String { return TITLE } @Composable @Composable override fun Page(arguments: Bundle?) { override fun Page(arguments: Bundle?) { RegularScaffold(title = TITLE) { RegularScaffold(title = TITLE) { SettingsDropdownCheckBox( SettingsDropdownCheckBox( label = "SettingsDropdownCheckBox", label = "SettingsDropdownCheckBox", options = remember { options = remember { listOf( listOf( SettingsDropdownCheckOption("Item 1"), SettingsDropdownCheckOption("Item 1"), SettingsDropdownCheckOption("Item 2"), SettingsDropdownCheckOption("Item 2"), Loading @@ -54,13 +49,11 @@ object SettingsDropdownCheckBoxProvider : SettingsPageProvider { ) ) }, }, ) ) SettingsDropdownCheckBox( SettingsDropdownCheckBox(label = "Empty list", options = emptyList()) label = "Empty list", options = emptyList(), ) SettingsDropdownCheckBox( SettingsDropdownCheckBox( label = "Disabled", label = "Disabled", options = remember { options = remember { listOf( listOf( SettingsDropdownCheckOption("Item 1", selected = mutableStateOf(true)), SettingsDropdownCheckOption("Item 1", selected = mutableStateOf(true)), SettingsDropdownCheckOption("Item 2"), SettingsDropdownCheckOption("Item 2"), Loading @@ -71,7 +64,8 @@ object SettingsDropdownCheckBoxProvider : SettingsPageProvider { ) ) SettingsDropdownCheckBox( SettingsDropdownCheckBox( label = "With disabled item", label = "With disabled item", options = remember { options = remember { listOf( listOf( SettingsDropdownCheckOption("Enabled item 1"), SettingsDropdownCheckOption("Enabled item 1"), SettingsDropdownCheckOption("Enabled item 2"), SettingsDropdownCheckOption("Enabled item 2"), Loading @@ -86,7 +80,8 @@ object SettingsDropdownCheckBoxProvider : SettingsPageProvider { ) ) SettingsDropdownCheckBox( SettingsDropdownCheckBox( label = "With select all", label = "With select all", options = remember { options = remember { listOf( listOf( SettingsDropdownCheckOption("All", isSelectAll = true), SettingsDropdownCheckOption("All", isSelectAll = true), SettingsDropdownCheckOption("Item 1"), SettingsDropdownCheckOption("Item 1"), Loading @@ -100,7 +95,11 @@ object SettingsDropdownCheckBoxProvider : SettingsPageProvider { options = options = remember { remember { listOf( listOf( SettingsDropdownCheckOption("All", isSelectAll = true, changeable = false), SettingsDropdownCheckOption( "All", isSelectAll = true, changeable = false, ), SettingsDropdownCheckOption("Enabled item 1"), SettingsDropdownCheckOption("Enabled item 1"), SettingsDropdownCheckOption("Enabled item 2"), SettingsDropdownCheckOption("Enabled item 2"), SettingsDropdownCheckOption( SettingsDropdownCheckOption( Loading @@ -115,20 +114,19 @@ object SettingsDropdownCheckBoxProvider : SettingsPageProvider { } } } } fun buildInjectEntry(): SettingsEntryBuilder { @Composable return SettingsEntryBuilder.createInject(owner = createSettingsPage()).setUiLayoutFn { fun Entry() { Preference(object : PreferenceModel { Preference( object : PreferenceModel { override val title = TITLE override val title = TITLE override val onClick = navigator(name) override val onClick = navigator(name) }) } } ) } } } } @Preview(showBackground = true) @Preview(showBackground = true) @Composable @Composable private fun SettingsDropdownCheckBoxPagePreview() { private fun SettingsDropdownCheckBoxPagePreview() { SettingsTheme { SettingsTheme { SettingsDropdownCheckBoxProvider.Page(null) } SettingsDropdownCheckBoxProvider.Page(null) } } } packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/editor/SettingsOutlinedTextFieldPageProvider.kt +11 −18 Original line number Original line Diff line number Diff line Loading @@ -23,9 +23,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.widget.editor.SettingsOutlinedTextField import com.android.settingslib.spa.widget.editor.SettingsOutlinedTextField Loading @@ -38,10 +36,6 @@ private const val TITLE = "Sample SettingsOutlinedTextField" object SettingsOutlinedTextFieldPageProvider : SettingsPageProvider { object SettingsOutlinedTextFieldPageProvider : SettingsPageProvider { override val name = "SettingsOutlinedTextField" override val name = "SettingsOutlinedTextField" override fun getTitle(arguments: Bundle?): String { return TITLE } @Composable @Composable override fun Page(arguments: Bundle?) { override fun Page(arguments: Bundle?) { var value by remember { mutableStateOf("Enabled Value") } var value by remember { mutableStateOf("Enabled Value") } Loading @@ -50,25 +44,24 @@ object SettingsOutlinedTextFieldPageProvider : SettingsPageProvider { value = value, value = value, label = "OutlinedTextField Enabled", label = "OutlinedTextField Enabled", enabled = true, enabled = true, onTextChange = {value = it}) onTextChange = { value = it }, ) } } } } fun buildInjectEntry(): SettingsEntryBuilder { @Composable return SettingsEntryBuilder.createInject(owner = createSettingsPage()) fun Entry() { .setUiLayoutFn { Preference( Preference(object : PreferenceModel { object : PreferenceModel { override val title = TITLE override val title = TITLE override val onClick = navigator(name) override val onClick = navigator(name) }) } } ) } } } } @Preview(showBackground = true) @Preview(showBackground = true) @Composable @Composable private fun SettingsOutlinedTextFieldPagePreview() { private fun SettingsOutlinedTextFieldPagePreview() { SettingsTheme { SettingsTheme { SettingsOutlinedTextFieldPageProvider.Page(null) } SettingsOutlinedTextFieldPageProvider.Page(null) } } } packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/editor/SettingsTextFieldPasswordPageProvider.kt +10 −21 Original line number Original line Diff line number Diff line Loading @@ -23,9 +23,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.widget.editor.SettingsTextFieldPassword import com.android.settingslib.spa.widget.editor.SettingsTextFieldPassword Loading @@ -38,36 +36,27 @@ private const val TITLE = "Sample SettingsTextFieldPassword" object SettingsTextFieldPasswordPageProvider : SettingsPageProvider { object SettingsTextFieldPasswordPageProvider : SettingsPageProvider { override val name = "SettingsTextFieldPassword" override val name = "SettingsTextFieldPassword" override fun getTitle(arguments: Bundle?): String { return TITLE } @Composable @Composable override fun Page(arguments: Bundle?) { override fun Page(arguments: Bundle?) { var value by remember { mutableStateOf("value") } var value by remember { mutableStateOf("value") } RegularScaffold(title = TITLE) { RegularScaffold(title = TITLE) { SettingsTextFieldPassword( SettingsTextFieldPassword(value = value, label = "label", onTextChange = { value = it }) value = value, label = "label", onTextChange = { value = it }) } } } } fun buildInjectEntry(): SettingsEntryBuilder { @Composable return SettingsEntryBuilder.createInject(owner = createSettingsPage()) fun Entry() { .setUiLayoutFn { Preference( Preference(object : PreferenceModel { object : PreferenceModel { override val title = TITLE override val title = TITLE override val onClick = navigator(name) override val onClick = navigator(name) }) } } ) } } } } @Preview(showBackground = true) @Preview(showBackground = true) @Composable @Composable private fun SettingsTextFieldPasswordPagePreview() { private fun SettingsTextFieldPasswordPagePreview() { SettingsTheme { SettingsTheme { SettingsTextFieldPasswordPageProvider.Page(null) } SettingsTextFieldPasswordPageProvider.Page(null) } } } Loading
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/editor/EditorMainPageProvider.kt +18 −22 Original line number Original line Diff line number Diff line Loading @@ -18,41 +18,37 @@ package com.android.settingslib.spa.gallery.editor import android.os.Bundle import android.os.Bundle import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.scaffold.RegularScaffold import com.android.settingslib.spa.widget.ui.Category private const val TITLE = "Category: Editor" private const val TITLE = "Category: Editor" object EditorMainPageProvider : SettingsPageProvider { object EditorMainPageProvider : SettingsPageProvider { override val name = "EditorMain" override val name = "EditorMain" private val owner = createSettingsPage() override fun buildEntry(arguments: Bundle?): List<SettingsEntry> { return listOf( SettingsOutlinedTextFieldPageProvider.buildInjectEntry().setLink(fromPage = owner) .build(), SettingsDropdownBoxPageProvider.buildInjectEntry().setLink(fromPage = owner) .build(), SettingsDropdownCheckBoxProvider.buildInjectEntry().setLink(fromPage = owner) .build(), SettingsTextFieldPasswordPageProvider.buildInjectEntry().setLink(fromPage = owner) .build(), ) } @Composable @Composable fun Entry() { fun Entry() { Preference(object : PreferenceModel { Preference( object : PreferenceModel { override val title = TITLE override val title = TITLE override val onClick = navigator(name) override val onClick = navigator(name) }) } ) } } override fun getTitle(arguments: Bundle?): String { @Composable return TITLE override fun Page(arguments: Bundle?) { RegularScaffold(TITLE) { Category { SettingsOutlinedTextFieldPageProvider.Entry() SettingsDropdownBoxPageProvider.Entry() SettingsDropdownCheckBoxProvider.Entry() SettingsTextFieldPasswordPageProvider.Entry() } } } } } }
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/editor/SettingsDropdownBoxPageProvider.kt +17 −19 Original line number Original line Diff line number Diff line Loading @@ -23,9 +23,7 @@ import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.widget.editor.SettingsDropdownBox import com.android.settingslib.spa.widget.editor.SettingsDropdownBox Loading @@ -38,10 +36,6 @@ private const val TITLE = "Sample SettingsDropdownBox" object SettingsDropdownBoxPageProvider : SettingsPageProvider { object SettingsDropdownBoxPageProvider : SettingsPageProvider { override val name = "SettingsDropdownBox" override val name = "SettingsDropdownBox" override fun getTitle(arguments: Bundle?): String { return TITLE } @Composable @Composable override fun Page(arguments: Bundle?) { override fun Page(arguments: Bundle?) { RegularScaffold(title = TITLE) { RegularScaffold(title = TITLE) { Loading @@ -58,7 +52,9 @@ object SettingsDropdownBoxPageProvider : SettingsPageProvider { label = "SettingsDropdownBox", label = "SettingsDropdownBox", options = listOf("item1", "item2", "item3"), options = listOf("item1", "item2", "item3"), selectedOptionIndex = selectedItem, selectedOptionIndex = selectedItem, ) { selectedItem = it } ) { selectedItem = it } } } @Composable @Composable Loading @@ -69,7 +65,9 @@ object SettingsDropdownBoxPageProvider : SettingsPageProvider { options = listOf("item1", "item2", "item3"), options = listOf("item1", "item2", "item3"), enabled = false, enabled = false, selectedOptionIndex = selectedItem, selectedOptionIndex = selectedItem, ) { selectedItem = it } ) { selectedItem = it } } } @Composable @Composable Loading @@ -79,24 +77,24 @@ object SettingsDropdownBoxPageProvider : SettingsPageProvider { label = "Empty", label = "Empty", options = emptyList(), options = emptyList(), selectedOptionIndex = selectedItem, selectedOptionIndex = selectedItem, ) { selectedItem = it } ) { selectedItem = it } } } fun buildInjectEntry(): SettingsEntryBuilder { @Composable return SettingsEntryBuilder.createInject(owner = createSettingsPage()) fun Entry() { .setUiLayoutFn { Preference( Preference(object : PreferenceModel { object : PreferenceModel { override val title = TITLE override val title = TITLE override val onClick = navigator(name) override val onClick = navigator(name) }) } } ) } } } } @Preview(showBackground = true) @Preview(showBackground = true) @Composable @Composable private fun SettingsDropdownBoxPagePreview() { private fun SettingsDropdownBoxPagePreview() { SettingsTheme { SettingsTheme { SettingsDropdownBoxPageProvider.Page(null) } SettingsDropdownBoxPageProvider.Page(null) } } }
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/editor/SettingsDropdownCheckBoxProvider.kt +63 −65 Original line number Original line Diff line number Diff line Loading @@ -21,9 +21,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.remember import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.widget.editor.SettingsDropdownCheckBox import com.android.settingslib.spa.widget.editor.SettingsDropdownCheckBox Loading @@ -37,16 +35,13 @@ private const val TITLE = "Sample SettingsDropdownCheckBox" object SettingsDropdownCheckBoxProvider : SettingsPageProvider { object SettingsDropdownCheckBoxProvider : SettingsPageProvider { override val name = "SettingsDropdownCheckBox" override val name = "SettingsDropdownCheckBox" override fun getTitle(arguments: Bundle?): String { return TITLE } @Composable @Composable override fun Page(arguments: Bundle?) { override fun Page(arguments: Bundle?) { RegularScaffold(title = TITLE) { RegularScaffold(title = TITLE) { SettingsDropdownCheckBox( SettingsDropdownCheckBox( label = "SettingsDropdownCheckBox", label = "SettingsDropdownCheckBox", options = remember { options = remember { listOf( listOf( SettingsDropdownCheckOption("Item 1"), SettingsDropdownCheckOption("Item 1"), SettingsDropdownCheckOption("Item 2"), SettingsDropdownCheckOption("Item 2"), Loading @@ -54,13 +49,11 @@ object SettingsDropdownCheckBoxProvider : SettingsPageProvider { ) ) }, }, ) ) SettingsDropdownCheckBox( SettingsDropdownCheckBox(label = "Empty list", options = emptyList()) label = "Empty list", options = emptyList(), ) SettingsDropdownCheckBox( SettingsDropdownCheckBox( label = "Disabled", label = "Disabled", options = remember { options = remember { listOf( listOf( SettingsDropdownCheckOption("Item 1", selected = mutableStateOf(true)), SettingsDropdownCheckOption("Item 1", selected = mutableStateOf(true)), SettingsDropdownCheckOption("Item 2"), SettingsDropdownCheckOption("Item 2"), Loading @@ -71,7 +64,8 @@ object SettingsDropdownCheckBoxProvider : SettingsPageProvider { ) ) SettingsDropdownCheckBox( SettingsDropdownCheckBox( label = "With disabled item", label = "With disabled item", options = remember { options = remember { listOf( listOf( SettingsDropdownCheckOption("Enabled item 1"), SettingsDropdownCheckOption("Enabled item 1"), SettingsDropdownCheckOption("Enabled item 2"), SettingsDropdownCheckOption("Enabled item 2"), Loading @@ -86,7 +80,8 @@ object SettingsDropdownCheckBoxProvider : SettingsPageProvider { ) ) SettingsDropdownCheckBox( SettingsDropdownCheckBox( label = "With select all", label = "With select all", options = remember { options = remember { listOf( listOf( SettingsDropdownCheckOption("All", isSelectAll = true), SettingsDropdownCheckOption("All", isSelectAll = true), SettingsDropdownCheckOption("Item 1"), SettingsDropdownCheckOption("Item 1"), Loading @@ -100,7 +95,11 @@ object SettingsDropdownCheckBoxProvider : SettingsPageProvider { options = options = remember { remember { listOf( listOf( SettingsDropdownCheckOption("All", isSelectAll = true, changeable = false), SettingsDropdownCheckOption( "All", isSelectAll = true, changeable = false, ), SettingsDropdownCheckOption("Enabled item 1"), SettingsDropdownCheckOption("Enabled item 1"), SettingsDropdownCheckOption("Enabled item 2"), SettingsDropdownCheckOption("Enabled item 2"), SettingsDropdownCheckOption( SettingsDropdownCheckOption( Loading @@ -115,20 +114,19 @@ object SettingsDropdownCheckBoxProvider : SettingsPageProvider { } } } } fun buildInjectEntry(): SettingsEntryBuilder { @Composable return SettingsEntryBuilder.createInject(owner = createSettingsPage()).setUiLayoutFn { fun Entry() { Preference(object : PreferenceModel { Preference( object : PreferenceModel { override val title = TITLE override val title = TITLE override val onClick = navigator(name) override val onClick = navigator(name) }) } } ) } } } } @Preview(showBackground = true) @Preview(showBackground = true) @Composable @Composable private fun SettingsDropdownCheckBoxPagePreview() { private fun SettingsDropdownCheckBoxPagePreview() { SettingsTheme { SettingsTheme { SettingsDropdownCheckBoxProvider.Page(null) } SettingsDropdownCheckBoxProvider.Page(null) } } }
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/editor/SettingsOutlinedTextFieldPageProvider.kt +11 −18 Original line number Original line Diff line number Diff line Loading @@ -23,9 +23,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.widget.editor.SettingsOutlinedTextField import com.android.settingslib.spa.widget.editor.SettingsOutlinedTextField Loading @@ -38,10 +36,6 @@ private const val TITLE = "Sample SettingsOutlinedTextField" object SettingsOutlinedTextFieldPageProvider : SettingsPageProvider { object SettingsOutlinedTextFieldPageProvider : SettingsPageProvider { override val name = "SettingsOutlinedTextField" override val name = "SettingsOutlinedTextField" override fun getTitle(arguments: Bundle?): String { return TITLE } @Composable @Composable override fun Page(arguments: Bundle?) { override fun Page(arguments: Bundle?) { var value by remember { mutableStateOf("Enabled Value") } var value by remember { mutableStateOf("Enabled Value") } Loading @@ -50,25 +44,24 @@ object SettingsOutlinedTextFieldPageProvider : SettingsPageProvider { value = value, value = value, label = "OutlinedTextField Enabled", label = "OutlinedTextField Enabled", enabled = true, enabled = true, onTextChange = {value = it}) onTextChange = { value = it }, ) } } } } fun buildInjectEntry(): SettingsEntryBuilder { @Composable return SettingsEntryBuilder.createInject(owner = createSettingsPage()) fun Entry() { .setUiLayoutFn { Preference( Preference(object : PreferenceModel { object : PreferenceModel { override val title = TITLE override val title = TITLE override val onClick = navigator(name) override val onClick = navigator(name) }) } } ) } } } } @Preview(showBackground = true) @Preview(showBackground = true) @Composable @Composable private fun SettingsOutlinedTextFieldPagePreview() { private fun SettingsOutlinedTextFieldPagePreview() { SettingsTheme { SettingsTheme { SettingsOutlinedTextFieldPageProvider.Page(null) } SettingsOutlinedTextFieldPageProvider.Page(null) } } }
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/editor/SettingsTextFieldPasswordPageProvider.kt +10 −21 Original line number Original line Diff line number Diff line Loading @@ -23,9 +23,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.widget.editor.SettingsTextFieldPassword import com.android.settingslib.spa.widget.editor.SettingsTextFieldPassword Loading @@ -38,36 +36,27 @@ private const val TITLE = "Sample SettingsTextFieldPassword" object SettingsTextFieldPasswordPageProvider : SettingsPageProvider { object SettingsTextFieldPasswordPageProvider : SettingsPageProvider { override val name = "SettingsTextFieldPassword" override val name = "SettingsTextFieldPassword" override fun getTitle(arguments: Bundle?): String { return TITLE } @Composable @Composable override fun Page(arguments: Bundle?) { override fun Page(arguments: Bundle?) { var value by remember { mutableStateOf("value") } var value by remember { mutableStateOf("value") } RegularScaffold(title = TITLE) { RegularScaffold(title = TITLE) { SettingsTextFieldPassword( SettingsTextFieldPassword(value = value, label = "label", onTextChange = { value = it }) value = value, label = "label", onTextChange = { value = it }) } } } } fun buildInjectEntry(): SettingsEntryBuilder { @Composable return SettingsEntryBuilder.createInject(owner = createSettingsPage()) fun Entry() { .setUiLayoutFn { Preference( Preference(object : PreferenceModel { object : PreferenceModel { override val title = TITLE override val title = TITLE override val onClick = navigator(name) override val onClick = navigator(name) }) } } ) } } } } @Preview(showBackground = true) @Preview(showBackground = true) @Composable @Composable private fun SettingsTextFieldPasswordPagePreview() { private fun SettingsTextFieldPasswordPagePreview() { SettingsTheme { SettingsTheme { SettingsTextFieldPasswordPageProvider.Page(null) } SettingsTextFieldPasswordPageProvider.Page(null) } } }