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

Commit 9d93ab7a authored by Zekan Qian's avatar Zekan Qian
Browse files

Implement default build Page function in SPP.

Implement getTitle function in gallery pages.
Use default build Page function in gallery if possible.

Bug: 244122804
Test: manual - build gallery
Change-Id: I67e35ec473209c27043f1a2c3d05bd4fd532cb46
parent 0159fafb
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.settingslib.spa.gallery.home

import android.os.Bundle
import androidx.compose.runtime.Composable
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
@@ -60,9 +59,13 @@ object HomePageProvider : SettingsPageProvider {
        )
    }

    override fun getTitle(arguments: Bundle?): String {
        return SpaEnvironmentFactory.instance.appContext.getString(R.string.app_name)
    }

    @Composable
    override fun Page(arguments: Bundle?) {
        HomeScaffold(title = stringResource(R.string.app_name)) {
        HomeScaffold(title = getTitle(arguments)) {
            for (entry in buildEntry(arguments)) {
                if (entry.owner.isCreateBy(SettingsPageProviderEnum.ARGUMENT.name)) {
                    entry.UiLayout(ArgumentPageModel.buildArgument(intParam = 0))
+5 −1
Original line number Diff line number Diff line
@@ -99,9 +99,13 @@ object ArgumentPageProvider : SettingsPageProvider {
            }
    }

    override fun getTitle(arguments: Bundle?): String {
        return ArgumentPageModel.genPageTitle()
    }

    @Composable
    override fun Page(arguments: Bundle?) {
        RegularScaffold(title = ArgumentPageModel.create(arguments).genPageTitle()) {
        RegularScaffold(title = getTitle(arguments)) {
            for (entry in buildEntry(arguments)) {
                if (entry.toPage != null) {
                    entry.UiLayout(ArgumentPageModel.buildNextArgument(arguments))
+5 −7
Original line number Diff line number Diff line
@@ -81,6 +81,10 @@ class ArgumentPageModel : PageModel() {
            return EntrySearchData(title = PAGE_TITLE, keyword = ARGUMENT_PAGE_KEYWORDS)
        }

        fun genPageTitle(): String {
            return PAGE_TITLE
        }

        @Composable
        fun create(arguments: Bundle?): ArgumentPageModel {
            val pageModel: ArgumentPageModel = viewModel(key = arguments.toString())
@@ -89,7 +93,6 @@ class ArgumentPageModel : PageModel() {
        }
    }

    private val title = PAGE_TITLE
    private var arguments: Bundle? = null
    private var stringParam: String? = null
    private var intParam: Int? = null
@@ -103,11 +106,6 @@ class ArgumentPageModel : PageModel() {
        intParam = parameter.getIntArg(INT_PARAM_NAME, arguments)
    }

    @Composable
    fun genPageTitle(): String {
        return title
    }

    @Composable
    fun genStringParamPreferenceModel(): PreferenceModel {
        return object : PreferenceModel {
@@ -131,7 +129,7 @@ class ArgumentPageModel : PageModel() {
            "$INT_PARAM_NAME=" + intParam!!
        )
        return object : PreferenceModel {
            override val title = genPageTitle()
            override val title = PAGE_TITLE
            override val summary = stateOf(summaryArray.joinToString(", "))
            override val onClick = navigator(
                SettingsPageProviderEnum.ARGUMENT.displayName + parameter.navLink(arguments)
+5 −1
Original line number Diff line number Diff line
@@ -67,9 +67,13 @@ object FooterPageProvider : SettingsPageProvider {
            }
    }

    override fun getTitle(arguments: Bundle?): String {
        return TITLE
    }

    @Composable
    override fun Page(arguments: Bundle?) {
        RegularScaffold(title = TITLE) {
        RegularScaffold(title = getTitle(arguments)) {
            for (entry in buildEntry(arguments)) {
                entry.UiLayout()
            }
+2 −8
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@ import com.android.settingslib.spa.widget.IllustrationModel
import com.android.settingslib.spa.widget.ResourceType
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 Illustration"

@@ -82,13 +81,8 @@ object IllustrationPageProvider : SettingsPageProvider {
            }
    }

    @Composable
    override fun Page(arguments: Bundle?) {
        RegularScaffold(title = TITLE) {
            for (entry in buildEntry(arguments)) {
                entry.UiLayout()
            }
        }
    override fun getTitle(arguments: Bundle?): String {
        return TITLE
    }
}

Loading