Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea31999b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add RegularScaffold for SpaLib"

parents 50bb9897 ba27898d
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.settingslib.spa.gallery.page

import android.os.Bundle
import androidx.compose.foundation.layout.Column
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import androidx.navigation.NavType
@@ -28,12 +27,14 @@ import com.android.settingslib.spa.framework.compose.toState
import com.android.settingslib.spa.framework.theme.SettingsTheme
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.scaffold.RegularScaffold

private const val TITLE = "Sample page with arguments"
private const val STRING_PARAM_NAME = "stringParam"
private const val INT_PARAM_NAME = "intParam"

object ArgumentPageProvider : SettingsPageProvider {
    override val name = Destinations.Argument
    override val name = "Argument"

    override val arguments = listOf(
        navArgument(STRING_PARAM_NAME) { type = NavType.StringType },
@@ -51,17 +52,17 @@ object ArgumentPageProvider : SettingsPageProvider {
    @Composable
    fun EntryItem(stringParam: String, intParam: Int) {
        Preference(object : PreferenceModel {
            override val title = "Sample page with arguments"
            override val title = TITLE
            override val summary =
                "$STRING_PARAM_NAME=$stringParam, $INT_PARAM_NAME=$intParam".toState()
            override val onClick = navigator("${Destinations.Argument}/$stringParam/$intParam")
            override val onClick = navigator("$name/$stringParam/$intParam")
        })
    }
}

@Composable
fun ArgumentPage(stringParam: String, intParam: Int) {
    Column {
    RegularScaffold(title = TITLE) {
        Preference(object : PreferenceModel {
            override val title = "String param value"
            override val summary = stringParam.toState()
+5 −6
Original line number Diff line number Diff line
@@ -17,12 +17,8 @@
package com.android.settingslib.spa.gallery.page

import android.os.Bundle
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import com.android.settingslib.spa.framework.api.SettingsPageProvider
import com.android.settingslib.spa.framework.compose.navigator
@@ -30,8 +26,11 @@ import com.android.settingslib.spa.framework.compose.stateOf
import com.android.settingslib.spa.framework.theme.SettingsTheme
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.Footer

private const val TITLE = "Sample Footer"

object FooterPageProvider : SettingsPageProvider {
    override val name = "Footer"

@@ -43,7 +42,7 @@ object FooterPageProvider : SettingsPageProvider {
    @Composable
    fun EntryItem() {
        Preference(object : PreferenceModel {
            override val title = "Sample Footer"
            override val title = TITLE
            override val onClick = navigator(name)
        })
    }
@@ -51,7 +50,7 @@ object FooterPageProvider : SettingsPageProvider {

@Composable
private fun FooterPage() {
    Column(Modifier.verticalScroll(rememberScrollState())) {
    RegularScaffold(title = TITLE) {
        Preference(remember {
            object : PreferenceModel {
                override val title = "Some Preference"
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ import com.android.settingslib.spa.framework.theme.SettingsTheme
import com.android.settingslib.spa.gallery.R

object HomePageProvider : SettingsPageProvider {
    override val name = Destinations.Home
    override val name = "Home"

    @Composable
    override fun Page(arguments: Bundle?) {
+1 −9
Original line number Diff line number Diff line
@@ -18,14 +18,6 @@ package com.android.settingslib.spa.gallery.page

import com.android.settingslib.spa.framework.api.SettingsPageRepository

object Destinations {
    const val Home = "Home"
    const val Preference = "Preference"
    const val SwitchPreference = "SwitchPreference"
    const val Argument = "Argument"
    const val Slider = "Slider"
}

val galleryPageRepository = SettingsPageRepository(
    allPages = listOf(
        HomePageProvider,
@@ -36,5 +28,5 @@ val galleryPageRepository = SettingsPageRepository(
        SettingsPagerPageProvider,
        FooterPageProvider,
    ),
    startDestination = Destinations.Home,
    startDestination = HomePageProvider.name,
)
+7 −8
Original line number Diff line number Diff line
@@ -17,9 +17,6 @@
package com.android.settingslib.spa.gallery.page

import android.os.Bundle
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.DisabledByDefault
import androidx.compose.material.icons.outlined.TouchApp
@@ -31,7 +28,6 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.produceState
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import com.android.settingslib.spa.framework.api.SettingsPageProvider
import com.android.settingslib.spa.framework.compose.navigator
@@ -39,11 +35,14 @@ import com.android.settingslib.spa.framework.compose.toState
import com.android.settingslib.spa.framework.theme.SettingsTheme
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 kotlinx.coroutines.delay

private const val TITLE = "Sample Preference"

object PreferencePageProvider : SettingsPageProvider {
    override val name = Destinations.Preference
    override val name = "Preference"

    @Composable
    override fun Page(arguments: Bundle?) {
@@ -53,15 +52,15 @@ object PreferencePageProvider : SettingsPageProvider {
    @Composable
    fun EntryItem() {
        Preference(object : PreferenceModel {
            override val title = "Sample Preference"
            override val onClick = navigator(Destinations.Preference)
            override val title = TITLE
            override val onClick = navigator(name)
        })
    }
}

@Composable
private fun PreferencePage() {
    Column(Modifier.verticalScroll(rememberScrollState())) {
    RegularScaffold(title = TITLE) {
        Preference(object : PreferenceModel {
            override val title = "Preference"
        })
Loading