Loading packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/home/HomePage.kt +24 −11 Original line number Diff line number Diff line Loading @@ -18,14 +18,18 @@ package com.android.settingslib.spa.gallery.home import android.os.Bundle import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.util.getRuntimeArguments import com.android.settingslib.spa.framework.util.mergeArguments import com.android.settingslib.spa.gallery.R import com.android.settingslib.spa.gallery.SettingsPageProviderEnum import com.android.settingslib.spa.gallery.button.ActionButtonPageProvider import com.android.settingslib.spa.gallery.createSettingsPage import com.android.settingslib.spa.gallery.page.ArgumentPageModel import com.android.settingslib.spa.gallery.page.ArgumentPageProvider import com.android.settingslib.spa.gallery.page.FooterPageProvider Loading @@ -41,27 +45,36 @@ object HomePageProvider : SettingsPageProvider { override val name = SettingsPageProviderEnum.HOME.name override fun buildEntry(arguments: Bundle?): List<SettingsEntry> { val owner = createSettingsPage(SettingsPageProviderEnum.HOME) return listOf( PreferenceMainPageProvider.buildInjectEntry().build(), ArgumentPageProvider.buildInjectEntry("foo")!!.build(), SliderPageProvider.buildInjectEntry().build(), SpinnerPageProvider.buildInjectEntry().build(), SettingsPagerPageProvider.buildInjectEntry().build(), FooterPageProvider.buildInjectEntry().build(), IllustrationPageProvider.buildInjectEntry().build(), CategoryPageProvider.buildInjectEntry().build(), ActionButtonPageProvider.buildInjectEntry().build(), PreferenceMainPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), ArgumentPageProvider.buildInjectEntry("foo")!!.setLink(fromPage = owner).build(), SliderPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), SpinnerPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), SettingsPagerPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), FooterPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), IllustrationPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), CategoryPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), ActionButtonPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), ) } @Composable override fun Page(arguments: Bundle?) { val globalRuntimeArgs = remember { getRuntimeArguments(arguments) } HomeScaffold(title = stringResource(R.string.app_name)) { for (entry in buildEntry(arguments)) { if (entry.owner.isCreateBy(SettingsPageProviderEnum.ARGUMENT.name)) { entry.UiLayout(ArgumentPageModel.buildArgument(intParam = 0)) entry.UiLayout( mergeArguments( listOf( globalRuntimeArgs, ArgumentPageModel.buildArgument(intParam = 0) ) ) ) } else { entry.UiLayout() entry.UiLayout(globalRuntimeArgs) } } } Loading packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ArgumentPage.kt +14 −3 Original line number Diff line number Diff line Loading @@ -18,12 +18,15 @@ package com.android.settingslib.spa.gallery.page import android.os.Bundle import androidx.compose.runtime.Composable import androidx.compose.runtime.remember 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.theme.SettingsTheme import com.android.settingslib.spa.framework.util.getRuntimeArguments import com.android.settingslib.spa.framework.util.mergeArguments import com.android.settingslib.spa.gallery.SettingsPageProviderEnum import com.android.settingslib.spa.gallery.createSettingsPage import com.android.settingslib.spa.widget.preference.Preference Loading Loading @@ -98,12 +101,20 @@ object ArgumentPageProvider : SettingsPageProvider { @Composable override fun Page(arguments: Bundle?) { val globalRuntimeArgs = remember { getRuntimeArguments(arguments) } RegularScaffold(title = ArgumentPageModel.create(arguments).genPageTitle()) { for (entry in buildEntry(arguments)) { if (entry.owner.isCreateBy(SettingsPageProviderEnum.ARGUMENT.name)) { entry.UiLayout(ArgumentPageModel.buildNextArgument(arguments)) if (entry.toPage != null) { entry.UiLayout( mergeArguments( listOf( globalRuntimeArgs, ArgumentPageModel.buildNextArgument(arguments) ) ) ) } else { entry.UiLayout() entry.UiLayout(globalRuntimeArgs) } } } Loading packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ArgumentPageModel.kt +2 −4 Original line number Diff line number Diff line Loading @@ -22,7 +22,6 @@ import androidx.compose.runtime.Composable import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavType import androidx.navigation.navArgument import com.android.settingslib.spa.framework.BrowseActivity import com.android.settingslib.spa.framework.common.EntrySearchData import com.android.settingslib.spa.framework.common.PageModel import com.android.settingslib.spa.framework.compose.navigator Loading Loading @@ -92,14 +91,12 @@ class ArgumentPageModel : PageModel() { private var arguments: Bundle? = null private var stringParam: String? = null private var intParam: Int? = null private var highlightName: String? = null override fun initialize(arguments: Bundle?) { logMsg("init with args " + arguments.toString()) this.arguments = arguments stringParam = parameter.getStringArg(STRING_PARAM_NAME, arguments) intParam = parameter.getIntArg(INT_PARAM_NAME, arguments) highlightName = arguments?.getString(BrowseActivity.HIGHLIGHT_ENTRY_PARAM_NAME) } @Composable Loading Loading @@ -133,7 +130,8 @@ class ArgumentPageModel : PageModel() { override val title = genPageTitle() override val summary = stateOf(summaryArray.joinToString(", ")) override val onClick = navigator( SettingsPageProviderEnum.ARGUMENT.displayName + parameter.navLink(arguments)) SettingsPageProviderEnum.ARGUMENT.displayName + parameter.navLink(arguments) ) } } } Loading packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePage.kt +3 −1 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.util.getRuntimeArguments import com.android.settingslib.spa.gallery.SettingsPageProviderEnum import com.android.settingslib.spa.gallery.createSettingsPage import com.android.settingslib.spa.gallery.preference.PreferencePageModel.Companion.ASYNC_PREFERENCE_TITLE Loading Loading @@ -177,9 +178,10 @@ object PreferencePageProvider : SettingsPageProvider { @Composable override fun Page(arguments: Bundle?) { val globalRuntimeArgs = remember { getRuntimeArguments(arguments) } RegularScaffold(title = PAGE_TITLE) { for (entry in buildEntry(arguments)) { entry.UiLayout() entry.UiLayout(globalRuntimeArgs) } } } Loading packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/CategoryPage.kt +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ import com.android.settingslib.spa.widget.ui.CategoryTitle private const val TITLE = "Sample Category" object CategoryPageProvider : SettingsPageProvider { override val name = "Spinner" override val name = "Category" fun buildInjectEntry(): SettingsEntryBuilder { return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) Loading Loading
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/home/HomePage.kt +24 −11 Original line number Diff line number Diff line Loading @@ -18,14 +18,18 @@ package com.android.settingslib.spa.gallery.home import android.os.Bundle import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.util.getRuntimeArguments import com.android.settingslib.spa.framework.util.mergeArguments import com.android.settingslib.spa.gallery.R import com.android.settingslib.spa.gallery.SettingsPageProviderEnum import com.android.settingslib.spa.gallery.button.ActionButtonPageProvider import com.android.settingslib.spa.gallery.createSettingsPage import com.android.settingslib.spa.gallery.page.ArgumentPageModel import com.android.settingslib.spa.gallery.page.ArgumentPageProvider import com.android.settingslib.spa.gallery.page.FooterPageProvider Loading @@ -41,27 +45,36 @@ object HomePageProvider : SettingsPageProvider { override val name = SettingsPageProviderEnum.HOME.name override fun buildEntry(arguments: Bundle?): List<SettingsEntry> { val owner = createSettingsPage(SettingsPageProviderEnum.HOME) return listOf( PreferenceMainPageProvider.buildInjectEntry().build(), ArgumentPageProvider.buildInjectEntry("foo")!!.build(), SliderPageProvider.buildInjectEntry().build(), SpinnerPageProvider.buildInjectEntry().build(), SettingsPagerPageProvider.buildInjectEntry().build(), FooterPageProvider.buildInjectEntry().build(), IllustrationPageProvider.buildInjectEntry().build(), CategoryPageProvider.buildInjectEntry().build(), ActionButtonPageProvider.buildInjectEntry().build(), PreferenceMainPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), ArgumentPageProvider.buildInjectEntry("foo")!!.setLink(fromPage = owner).build(), SliderPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), SpinnerPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), SettingsPagerPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), FooterPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), IllustrationPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), CategoryPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), ActionButtonPageProvider.buildInjectEntry().setLink(fromPage = owner).build(), ) } @Composable override fun Page(arguments: Bundle?) { val globalRuntimeArgs = remember { getRuntimeArguments(arguments) } HomeScaffold(title = stringResource(R.string.app_name)) { for (entry in buildEntry(arguments)) { if (entry.owner.isCreateBy(SettingsPageProviderEnum.ARGUMENT.name)) { entry.UiLayout(ArgumentPageModel.buildArgument(intParam = 0)) entry.UiLayout( mergeArguments( listOf( globalRuntimeArgs, ArgumentPageModel.buildArgument(intParam = 0) ) ) ) } else { entry.UiLayout() entry.UiLayout(globalRuntimeArgs) } } } Loading
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ArgumentPage.kt +14 −3 Original line number Diff line number Diff line Loading @@ -18,12 +18,15 @@ package com.android.settingslib.spa.gallery.page import android.os.Bundle import androidx.compose.runtime.Composable import androidx.compose.runtime.remember 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.theme.SettingsTheme import com.android.settingslib.spa.framework.util.getRuntimeArguments import com.android.settingslib.spa.framework.util.mergeArguments import com.android.settingslib.spa.gallery.SettingsPageProviderEnum import com.android.settingslib.spa.gallery.createSettingsPage import com.android.settingslib.spa.widget.preference.Preference Loading Loading @@ -98,12 +101,20 @@ object ArgumentPageProvider : SettingsPageProvider { @Composable override fun Page(arguments: Bundle?) { val globalRuntimeArgs = remember { getRuntimeArguments(arguments) } RegularScaffold(title = ArgumentPageModel.create(arguments).genPageTitle()) { for (entry in buildEntry(arguments)) { if (entry.owner.isCreateBy(SettingsPageProviderEnum.ARGUMENT.name)) { entry.UiLayout(ArgumentPageModel.buildNextArgument(arguments)) if (entry.toPage != null) { entry.UiLayout( mergeArguments( listOf( globalRuntimeArgs, ArgumentPageModel.buildNextArgument(arguments) ) ) ) } else { entry.UiLayout() entry.UiLayout(globalRuntimeArgs) } } } Loading
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ArgumentPageModel.kt +2 −4 Original line number Diff line number Diff line Loading @@ -22,7 +22,6 @@ import androidx.compose.runtime.Composable import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavType import androidx.navigation.navArgument import com.android.settingslib.spa.framework.BrowseActivity import com.android.settingslib.spa.framework.common.EntrySearchData import com.android.settingslib.spa.framework.common.PageModel import com.android.settingslib.spa.framework.compose.navigator Loading Loading @@ -92,14 +91,12 @@ class ArgumentPageModel : PageModel() { private var arguments: Bundle? = null private var stringParam: String? = null private var intParam: Int? = null private var highlightName: String? = null override fun initialize(arguments: Bundle?) { logMsg("init with args " + arguments.toString()) this.arguments = arguments stringParam = parameter.getStringArg(STRING_PARAM_NAME, arguments) intParam = parameter.getIntArg(INT_PARAM_NAME, arguments) highlightName = arguments?.getString(BrowseActivity.HIGHLIGHT_ENTRY_PARAM_NAME) } @Composable Loading Loading @@ -133,7 +130,8 @@ class ArgumentPageModel : PageModel() { override val title = genPageTitle() override val summary = stateOf(summaryArray.joinToString(", ")) override val onClick = navigator( SettingsPageProviderEnum.ARGUMENT.displayName + parameter.navLink(arguments)) SettingsPageProviderEnum.ARGUMENT.displayName + parameter.navLink(arguments) ) } } } Loading
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePage.kt +3 −1 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.util.getRuntimeArguments import com.android.settingslib.spa.gallery.SettingsPageProviderEnum import com.android.settingslib.spa.gallery.createSettingsPage import com.android.settingslib.spa.gallery.preference.PreferencePageModel.Companion.ASYNC_PREFERENCE_TITLE Loading Loading @@ -177,9 +178,10 @@ object PreferencePageProvider : SettingsPageProvider { @Composable override fun Page(arguments: Bundle?) { val globalRuntimeArgs = remember { getRuntimeArguments(arguments) } RegularScaffold(title = PAGE_TITLE) { for (entry in buildEntry(arguments)) { entry.UiLayout() entry.UiLayout(globalRuntimeArgs) } } } Loading
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/CategoryPage.kt +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ import com.android.settingslib.spa.widget.ui.CategoryTitle private const val TITLE = "Sample Category" object CategoryPageProvider : SettingsPageProvider { override val name = "Spinner" override val name = "Category" fun buildInjectEntry(): SettingsEntryBuilder { return SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)) Loading