diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/button/ActionButtonsPage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/button/ActionButtonsPage.kt index decc2923cd26b..df1d7d18555a8 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/button/ActionButtonsPage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/button/ActionButtonsPage.kt @@ -24,8 +24,8 @@ import androidx.compose.material.icons.outlined.WarningAmber import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntryBuilder -import com.android.settingslib.spa.framework.common.SettingsPage 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.theme.SettingsTheme import com.android.settingslib.spa.widget.button.ActionButton @@ -39,13 +39,24 @@ private const val TITLE = "Sample ActionButton" object ActionButtonPageProvider : SettingsPageProvider { override val name = "ActionButton" + override fun getTitle(arguments: Bundle?): String { + return TITLE + } + @Composable override fun Page(arguments: Bundle?) { - ActionButtonPage() + RegularScaffold(title = TITLE) { + val actionButtons = listOf( + ActionButton(text = "Open", imageVector = Icons.Outlined.Launch) {}, + ActionButton(text = "Uninstall", imageVector = Icons.Outlined.Delete) {}, + ActionButton(text = "Force stop", imageVector = Icons.Outlined.WarningAmber) {}, + ) + ActionButtons(actionButtons) + } } fun buildInjectEntry(): SettingsEntryBuilder { - return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) + return SettingsEntryBuilder.createInject(owner = createSettingsPage()) .setUiLayoutFn { Preference(object : PreferenceModel { override val title = TITLE @@ -55,22 +66,10 @@ object ActionButtonPageProvider : SettingsPageProvider { } } -@Composable -fun ActionButtonPage() { - RegularScaffold(title = TITLE) { - val actionButtons = listOf( - ActionButton(text = "Open", imageVector = Icons.Outlined.Launch) {}, - ActionButton(text = "Uninstall", imageVector = Icons.Outlined.Delete) {}, - ActionButton(text = "Force stop", imageVector = Icons.Outlined.WarningAmber) {}, - ) - ActionButtons(actionButtons) - } -} - @Preview(showBackground = true) @Composable private fun ActionButtonPagePreview() { SettingsTheme { - ActionButtonPage() + ActionButtonPageProvider.Page(null) } } diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ChartPage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ChartPage.kt index 7f21a4dd4e7cf..eeab085bc14ca 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ChartPage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ChartPage.kt @@ -21,8 +21,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsEntryBuilder -import com.android.settingslib.spa.framework.common.SettingsPage 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.theme.SettingsTheme import com.android.settingslib.spa.widget.chart.BarChart @@ -36,7 +36,6 @@ import com.android.settingslib.spa.widget.chart.PieChartData import com.android.settingslib.spa.widget.chart.PieChartModel import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel -import com.android.settingslib.spa.widget.scaffold.RegularScaffold import com.github.mikephil.charting.formatter.IAxisValueFormatter import java.text.NumberFormat @@ -47,9 +46,13 @@ private const val TITLE = "Sample Chart" object ChartPageProvider : SettingsPageProvider { override val name = "Chart" + val owner = createSettingsPage() + + override fun getTitle(arguments: Bundle?): String { + return TITLE + } override fun buildEntry(arguments: Bundle?): List { - val owner = SettingsPage.create(name) val entryList = mutableListOf() entryList.add( SettingsEntryBuilder.create("Line Chart", owner) @@ -133,7 +136,7 @@ object ChartPageProvider : SettingsPageProvider { } fun buildInjectEntry(): SettingsEntryBuilder { - return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) + return SettingsEntryBuilder.createInject(owner) .setUiLayoutFn { Preference(object : PreferenceModel { override val title = TITLE @@ -141,15 +144,6 @@ object ChartPageProvider : SettingsPageProvider { }) } } - - @Composable - override fun Page(arguments: Bundle?) { - RegularScaffold(title = TITLE) { - for (entry in buildEntry(arguments)) { - entry.UiLayout(arguments) - } - } - } } @Preview(showBackground = true) diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/FooterPage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/FooterPage.kt index 9f24ea9a2b6da..2328fcbd570f1 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/FooterPage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/FooterPage.kt @@ -23,8 +23,8 @@ import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.EntrySearchData import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsEntryBuilder -import com.android.settingslib.spa.framework.common.SettingsPage 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.stateOf import com.android.settingslib.spa.framework.theme.SettingsTheme @@ -37,9 +37,9 @@ private const val TITLE = "Sample Footer" object FooterPageProvider : SettingsPageProvider { override val name = "Footer" + val owner = createSettingsPage() override fun buildEntry(arguments: Bundle?): List { - val owner = SettingsPage.create(name) val entryList = mutableListOf() entryList.add( SettingsEntryBuilder.create( "Some Preference", owner) @@ -58,7 +58,7 @@ object FooterPageProvider : SettingsPageProvider { } fun buildInjectEntry(): SettingsEntryBuilder { - return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) + return SettingsEntryBuilder.createInject(owner) .setUiLayoutFn { Preference(object : PreferenceModel { override val title = TITLE diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/IllustrationPage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/IllustrationPage.kt index 44f0343e4d2d3..45b79890a662c 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/IllustrationPage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/IllustrationPage.kt @@ -21,8 +21,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsEntryBuilder -import com.android.settingslib.spa.framework.common.SettingsPage 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.theme.SettingsTheme import com.android.settingslib.spa.gallery.R @@ -36,9 +36,9 @@ private const val TITLE = "Sample Illustration" object IllustrationPageProvider : SettingsPageProvider { override val name = "Illustration" + val owner = createSettingsPage() override fun buildEntry(arguments: Bundle?): List { - val owner = SettingsPage.create(name) val entryList = mutableListOf() entryList.add( SettingsEntryBuilder.create( "Lottie Illustration", owner) @@ -71,7 +71,7 @@ object IllustrationPageProvider : SettingsPageProvider { } fun buildInjectEntry(): SettingsEntryBuilder { - return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) + return SettingsEntryBuilder.createInject(owner) .setUiLayoutFn { Preference(object : PreferenceModel { override val title = TITLE diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/LoadingBarPage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/LoadingBarPage.kt index 4332a81e088ce..247990c69cd8e 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/LoadingBarPage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/LoadingBarPage.kt @@ -29,8 +29,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.android.settingslib.spa.framework.common.SettingsEntryBuilder -import com.android.settingslib.spa.framework.common.SettingsPage 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.theme.SettingsTheme import com.android.settingslib.spa.widget.preference.Preference @@ -45,7 +45,7 @@ object LoadingBarPageProvider : SettingsPageProvider { override val name = "LoadingBar" fun buildInjectEntry(): SettingsEntryBuilder { - return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) + return SettingsEntryBuilder.createInject(owner = createSettingsPage()) .setUiLayoutFn { Preference(object : PreferenceModel { override val title = TITLE diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ProgressBarPage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ProgressBarPage.kt index 20d90dd0ee7a0..9026a240a04a5 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ProgressBarPage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ProgressBarPage.kt @@ -28,8 +28,8 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntryBuilder -import com.android.settingslib.spa.framework.common.SettingsPage 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.theme.SettingsTheme import com.android.settingslib.spa.widget.preference.Preference @@ -47,7 +47,7 @@ object ProgressBarPageProvider : SettingsPageProvider { override val name = "ProgressBar" fun buildInjectEntry(): SettingsEntryBuilder { - return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) + return SettingsEntryBuilder.createInject(owner = createSettingsPage()) .setUiLayoutFn { Preference(object : PreferenceModel { override val title = TITLE diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/SettingsPagerPage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/SettingsPagerPage.kt index c0d0abc5786e3..dc45e6da0bc12 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/SettingsPagerPage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/SettingsPagerPage.kt @@ -23,8 +23,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntryBuilder -import com.android.settingslib.spa.framework.common.SettingsPage 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.theme.SettingsTheme import com.android.settingslib.spa.widget.preference.Preference @@ -39,7 +39,7 @@ object SettingsPagerPageProvider : SettingsPageProvider { override val name = "SettingsPager" fun buildInjectEntry(): SettingsEntryBuilder { - return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) + return SettingsEntryBuilder.createInject(owner = createSettingsPage()) .setUiLayoutFn { Preference(object : PreferenceModel { override val title = TITLE diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/SliderPage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/SliderPage.kt index a62ec7b0925c2..74e49a6c88e9a 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/SliderPage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/SliderPage.kt @@ -29,8 +29,8 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsEntryBuilder -import com.android.settingslib.spa.framework.common.SettingsPage 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.theme.SettingsTheme import com.android.settingslib.spa.widget.preference.SliderPreference @@ -42,9 +42,9 @@ private const val TITLE = "Sample Slider" object SliderPageProvider : SettingsPageProvider { override val name = "Slider" + val owner = createSettingsPage() override fun buildEntry(arguments: Bundle?): List { - val owner = SettingsPage.create(name) val entryList = mutableListOf() entryList.add( SettingsEntryBuilder.create("Simple Slider", owner) @@ -104,7 +104,7 @@ object SliderPageProvider : SettingsPageProvider { } fun buildInjectEntry(): SettingsEntryBuilder { - return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) + return SettingsEntryBuilder.createInject(owner) .setUiLayoutFn { Preference(object : PreferenceModel { override val title = TITLE diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/MainSwitchPreferencePage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/MainSwitchPreferencePage.kt index 67e35dc37b503..d100d9d08572a 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/MainSwitchPreferencePage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/MainSwitchPreferencePage.kt @@ -24,8 +24,8 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsEntryBuilder -import com.android.settingslib.spa.framework.common.SettingsPage 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.stateOf import com.android.settingslib.spa.framework.theme.SettingsTheme @@ -38,9 +38,9 @@ private const val TITLE = "Sample MainSwitchPreference" object MainSwitchPreferencePageProvider : SettingsPageProvider { override val name = "MainSwitchPreference" + val owner = createSettingsPage() override fun buildEntry(arguments: Bundle?): List { - val owner = SettingsPage.create(name) val entryList = mutableListOf() entryList.add( SettingsEntryBuilder.create( "MainSwitchPreference", owner) @@ -59,7 +59,7 @@ object MainSwitchPreferencePageProvider : SettingsPageProvider { } fun buildInjectEntry(): SettingsEntryBuilder { - return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) + return SettingsEntryBuilder.createInject(owner) .setUiLayoutFn { Preference(object : PreferenceModel { override val title = TITLE diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/SwitchPreferencePage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/SwitchPreferencePage.kt index 067911cf4b9db..6ad4bd89245c5 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/SwitchPreferencePage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/SwitchPreferencePage.kt @@ -27,8 +27,8 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsEntryBuilder -import com.android.settingslib.spa.framework.common.SettingsPage 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.stateOf import com.android.settingslib.spa.framework.theme.SettingsTheme @@ -43,9 +43,9 @@ private const val TITLE = "Sample SwitchPreference" object SwitchPreferencePageProvider : SettingsPageProvider { override val name = "SwitchPreference" + val owner = createSettingsPage() override fun buildEntry(arguments: Bundle?): List { - val owner = SettingsPage.create(name) val entryList = mutableListOf() entryList.add( SettingsEntryBuilder.create( "SwitchPreference", owner) @@ -82,7 +82,7 @@ object SwitchPreferencePageProvider : SettingsPageProvider { } fun buildInjectEntry(): SettingsEntryBuilder { - return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) + return SettingsEntryBuilder.createInject(owner) .setUiLayoutFn { Preference(object : PreferenceModel { override val title = TITLE diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/TwoTargetSwitchPreferencePage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/TwoTargetSwitchPreferencePage.kt index 33e5e8d6d31a6..770f9a03aaf73 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/TwoTargetSwitchPreferencePage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/TwoTargetSwitchPreferencePage.kt @@ -25,8 +25,8 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsEntryBuilder -import com.android.settingslib.spa.framework.common.SettingsPage 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.stateOf import com.android.settingslib.spa.framework.theme.SettingsTheme @@ -40,9 +40,9 @@ private const val TITLE = "Sample TwoTargetSwitchPreference" object TwoTargetSwitchPreferencePageProvider : SettingsPageProvider { override val name = "TwoTargetSwitchPreference" + val owner = createSettingsPage() override fun buildEntry(arguments: Bundle?): List { - val owner = SettingsPage.create(name) val entryList = mutableListOf() entryList.add( SettingsEntryBuilder.create( "TwoTargetSwitchPreference", owner) @@ -73,7 +73,7 @@ object TwoTargetSwitchPreferencePageProvider : SettingsPageProvider { } fun buildInjectEntry(): SettingsEntryBuilder { - return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) + return SettingsEntryBuilder.createInject(owner) .setUiLayoutFn { Preference(object : PreferenceModel { override val title = TITLE diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/SpinnerPage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/SpinnerPage.kt index 8fdc22f7bb3cf..aeba6eabe82d1 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/SpinnerPage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/SpinnerPage.kt @@ -26,8 +26,8 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntryBuilder -import com.android.settingslib.spa.framework.common.SettingsPage 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.theme.SettingsTheme import com.android.settingslib.spa.widget.preference.Preference @@ -42,7 +42,7 @@ object SpinnerPageProvider : SettingsPageProvider { override val name = "Spinner" fun buildInjectEntry(): SettingsEntryBuilder { - return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) + return SettingsEntryBuilder.createInject(owner = createSettingsPage()) .setUiLayoutFn { Preference(object : PreferenceModel { override val title = TITLE