Merge "Use default Page() function in spa.HomePage"
This commit is contained in:
@@ -27,6 +27,8 @@ 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.SpaEnvironmentFactory
|
||||
import com.android.settingslib.spa.framework.common.createSettingsPage
|
||||
import com.android.settingslib.spa.framework.compose.navigator
|
||||
import com.android.settingslib.spa.framework.compose.toState
|
||||
import com.android.settingslib.spa.widget.preference.Preference
|
||||
@@ -36,14 +38,19 @@ import com.android.settingslib.spa.widget.ui.SettingsIcon
|
||||
|
||||
object AppsMainPageProvider : SettingsPageProvider {
|
||||
override val name = "AppsMain"
|
||||
private val owner = createSettingsPage()
|
||||
|
||||
@Composable
|
||||
override fun Page(arguments: Bundle?) {
|
||||
AppsMain()
|
||||
RegularScaffold(title = getTitle(arguments)) {
|
||||
AllAppListPageProvider.buildInjectEntry().build().UiLayout()
|
||||
SpecialAppAccessPageProvider.EntryItem()
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun EntryItem() {
|
||||
fun buildInjectEntry() =
|
||||
SettingsEntryBuilder.createInject(owner = owner).setIsAllowSearch(false)
|
||||
.setUiLayoutFn {
|
||||
Preference(object : PreferenceModel {
|
||||
override val title = stringResource(R.string.apps_dashboard_title)
|
||||
override val summary =
|
||||
@@ -55,22 +62,14 @@ object AppsMainPageProvider : SettingsPageProvider {
|
||||
})
|
||||
}
|
||||
|
||||
fun buildInjectEntry() =
|
||||
SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)).setIsAllowSearch(false)
|
||||
override fun getTitle(arguments: Bundle?): String {
|
||||
return SpaEnvironmentFactory.instance.appContext.getString(R.string.apps_dashboard_title)
|
||||
}
|
||||
|
||||
override fun buildEntry(arguments: Bundle?): List<SettingsEntry> {
|
||||
val owner = SettingsPage.create(name, parameter = parameter, arguments = arguments)
|
||||
return listOf(
|
||||
AllAppListPageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
|
||||
SpecialAppAccessPageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun AppsMain() {
|
||||
RegularScaffold(title = stringResource(R.string.apps_dashboard_title)) {
|
||||
AllAppListPageProvider.buildInjectEntry().build().UiLayout()
|
||||
SpecialAppAccessPageProvider.EntryItem()
|
||||
}
|
||||
}
|
||||
|
@@ -17,38 +17,28 @@
|
||||
package com.android.settings.spa.home
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import com.android.settings.R
|
||||
import com.android.settings.spa.app.AppsMainPageProvider
|
||||
import com.android.settings.spa.notification.NotificationMainPageProvider
|
||||
import com.android.settings.spa.system.SystemMainPageProvider
|
||||
import com.android.settingslib.spa.framework.common.SettingsEntry
|
||||
import com.android.settingslib.spa.framework.common.SettingsPage
|
||||
import com.android.settingslib.spa.framework.common.SettingsPageProvider
|
||||
import com.android.settingslib.spa.widget.scaffold.HomeScaffold
|
||||
import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
|
||||
import com.android.settingslib.spa.framework.common.createSettingsPage
|
||||
|
||||
object HomePageProvider : SettingsPageProvider {
|
||||
override val name = "Home"
|
||||
|
||||
@Composable
|
||||
override fun Page(arguments: Bundle?) {
|
||||
HomePage()
|
||||
}
|
||||
private val owner = createSettingsPage()
|
||||
|
||||
override fun buildEntry(arguments: Bundle?): List<SettingsEntry> {
|
||||
val owner = SettingsPage.create(name, parameter = parameter, arguments = arguments)
|
||||
return listOf(
|
||||
AppsMainPageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
|
||||
NotificationMainPageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
|
||||
SystemMainPageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun HomePage() {
|
||||
HomeScaffold(title = stringResource(R.string.settings_label)) {
|
||||
AppsMainPageProvider.EntryItem()
|
||||
NotificationMainPageProvider.EntryItem()
|
||||
SystemMainPageProvider.EntryItem()
|
||||
override fun getTitle(arguments: Bundle?): String {
|
||||
return SpaEnvironmentFactory.instance.appContext.getString(R.string.settings_label)
|
||||
}
|
||||
}
|
||||
|
@@ -22,24 +22,35 @@ import androidx.compose.material.icons.outlined.Notifications
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import com.android.settings.R
|
||||
import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
|
||||
import com.android.settingslib.spa.framework.common.SettingsPageProvider
|
||||
import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
|
||||
import com.android.settingslib.spa.framework.compose.navigator
|
||||
import com.android.settingslib.spa.framework.compose.toState
|
||||
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.android.settingslib.spa.widget.ui.SettingsIcon
|
||||
import com.android.settingslib.spa.framework.common.createSettingsPage
|
||||
|
||||
object NotificationMainPageProvider : SettingsPageProvider {
|
||||
override val name = "NotificationMain"
|
||||
private val owner = createSettingsPage()
|
||||
|
||||
@Composable
|
||||
override fun Page(arguments: Bundle?) {
|
||||
NotificationMain()
|
||||
RegularScaffold(title = getTitle(arguments)) {
|
||||
AppListNotificationsPageProvider.EntryItem()
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun EntryItem() {
|
||||
override fun getTitle(arguments: Bundle?): String {
|
||||
return SpaEnvironmentFactory.instance.appContext.getString(R.string.configure_notification_settings)
|
||||
}
|
||||
|
||||
fun buildInjectEntry(): SettingsEntryBuilder {
|
||||
return SettingsEntryBuilder.createInject(owner = owner).setIsAllowSearch(false)
|
||||
.setUiLayoutFn {
|
||||
Preference(object : PreferenceModel {
|
||||
override val title = stringResource(R.string.configure_notification_settings)
|
||||
override val summary = stringResource(R.string.notification_dashboard_summary).toState()
|
||||
@@ -50,10 +61,4 @@ object NotificationMainPageProvider : SettingsPageProvider {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun NotificationMain() {
|
||||
RegularScaffold(title = stringResource(R.string.configure_notification_settings)) {
|
||||
AppListNotificationsPageProvider.EntryItem()
|
||||
}
|
||||
}
|
||||
|
@@ -23,8 +23,9 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import com.android.settings.R
|
||||
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.SpaEnvironmentFactory
|
||||
import com.android.settingslib.spa.framework.common.createSettingsPage
|
||||
import com.android.settingslib.spa.framework.compose.navigator
|
||||
import com.android.settingslib.spa.framework.compose.toState
|
||||
import com.android.settingslib.spa.widget.preference.Preference
|
||||
@@ -34,14 +35,22 @@ import com.android.settingslib.spa.widget.ui.SettingsIcon
|
||||
|
||||
object SystemMainPageProvider : SettingsPageProvider {
|
||||
override val name = "SystemMain"
|
||||
private val owner = createSettingsPage()
|
||||
|
||||
@Composable
|
||||
override fun Page(arguments: Bundle?) {
|
||||
SystemMain()
|
||||
RegularScaffold(title = getTitle(arguments)) {
|
||||
LanguageAndInputPageProvider.EntryItem()
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun EntryItem() {
|
||||
override fun getTitle(arguments: Bundle?): String {
|
||||
return SpaEnvironmentFactory.instance.appContext.getString(R.string.header_category_system)
|
||||
}
|
||||
|
||||
fun buildInjectEntry(): SettingsEntryBuilder {
|
||||
return SettingsEntryBuilder.createInject(owner = owner).setIsAllowSearch(false)
|
||||
.setUiLayoutFn {
|
||||
Preference(object : PreferenceModel {
|
||||
override val title = stringResource(R.string.header_category_system)
|
||||
override val summary = stringResource(R.string.system_dashboard_summary).toState()
|
||||
@@ -51,14 +60,5 @@ object SystemMainPageProvider : SettingsPageProvider {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fun buildInjectEntry() =
|
||||
SettingsEntryBuilder.createInject(owner = SettingsPage.create(name)).setIsAllowSearch(false)
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun SystemMain() {
|
||||
RegularScaffold(title = stringResource(R.string.header_category_system)) {
|
||||
LanguageAndInputPageProvider.EntryItem()
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user