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

Commit 0814725f authored by Chaohui Wang's avatar Chaohui Wang
Browse files

Migrate PreferenceMainPageProvider

Bug: 370360039
Flag: EXEMPT gallery only
Test: manual - with gallery
Change-Id: Ia1ab8c93913d2faadc018eb7db6bec6125f7ec5e
parent 4d2cf1b1
Loading
Loading
Loading
Loading
+6 −9
Original line number Diff line number Diff line
@@ -50,15 +50,12 @@ object IntroPreferencePageProvider : SettingsPageProvider {
        return entryList
    }

    fun buildInjectEntry(): SettingsEntryBuilder {
        return SettingsEntryBuilder.createInject(owner).setUiLayoutFn {
            Preference(
                object : PreferenceModel {
    @Composable
    fun Entry() {
        Preference(object : PreferenceModel {
            override val title = TITLE
            override val onClick = navigator(name)
                }
            )
        }
        })
    }

    override fun getTitle(arguments: Bundle?): String {
+6 −8
Original line number Diff line number Diff line
@@ -54,15 +54,13 @@ object ListPreferencePageProvider : SettingsPageProvider {
            }.build(),
    )

    fun buildInjectEntry(): SettingsEntryBuilder {
        return SettingsEntryBuilder.createInject(owner)
            .setUiLayoutFn {
    @Composable
    fun Entry() {
        Preference(object : PreferenceModel {
            override val title = TITLE
            override val onClick = navigator(name)
        })
    }
    }

    override fun getTitle(arguments: Bundle?) = TITLE
}
+6 −8
Original line number Diff line number Diff line
@@ -59,15 +59,13 @@ object MainSwitchPreferencePageProvider : SettingsPageProvider {
        return entryList
    }

    fun buildInjectEntry(): SettingsEntryBuilder {
        return SettingsEntryBuilder.createInject(owner)
            .setUiLayoutFn {
    @Composable
    fun Entry() {
        Preference(object : PreferenceModel {
            override val title = TITLE
            override val onClick = navigator(name)
        })
    }
    }

    override fun getTitle(arguments: Bundle?): String {
        return TITLE
+20 −19
Original line number Diff line number Diff line
@@ -18,31 +18,36 @@ package com.android.settingslib.spa.gallery.preference

import android.os.Bundle
import androidx.compose.runtime.Composable
import com.android.settingslib.spa.framework.common.SettingsEntry
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.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.Category

private const val TITLE = "Category: Preference"

object PreferenceMainPageProvider : SettingsPageProvider {
    override val name = "PreferenceMain"
    private val owner = createSettingsPage()

    override fun buildEntry(arguments: Bundle?): List<SettingsEntry> {
        return listOf(
            PreferencePageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
            SwitchPreferencePageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
            MainSwitchPreferencePageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
            ListPreferencePageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
            TwoTargetSwitchPreferencePageProvider.buildInjectEntry()
                .setLink(fromPage = owner).build(),
            ZeroStatePreferencePageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
            IntroPreferencePageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
            TopIntroPreferencePageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
        )
    @Composable
    override fun Page(arguments: Bundle?) {
        RegularScaffold(TITLE) {
            Category {
                PreferencePageProvider.Entry()
                ListPreferencePageProvider.Entry()
            }
            Category {
                SwitchPreferencePageProvider.Entry()
                MainSwitchPreferencePageProvider.Entry()
                TwoTargetSwitchPreferencePageProvider.Entry()
            }
            Category {
                ZeroStatePreferencePageProvider.Entry()
                IntroPreferencePageProvider.Entry()
                TopIntroPreferencePageProvider.Entry()
            }
        }
    }

    @Composable
@@ -52,8 +57,4 @@ object PreferenceMainPageProvider : SettingsPageProvider {
            override val onClick = navigator(name)
        })
    }

    override fun getTitle(arguments: Bundle?): String {
        return TITLE
    }
}
+7 −12
Original line number Diff line number Diff line
@@ -28,15 +28,13 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
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.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
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.preference.SimplePreferenceMacro
import com.android.settingslib.spa.widget.scaffold.RegularScaffold
import com.android.settingslib.spa.widget.ui.Category
import com.android.settingslib.spa.widget.ui.SettingsIcon
@@ -46,7 +44,6 @@ object PreferencePageProvider : SettingsPageProvider {

    override val name = "Preference"
    private const val PAGE_TITLE = "Sample Preference"
    private val owner = createSettingsPage()

    @Composable
    override fun Page(arguments: Bundle?) {
@@ -109,14 +106,12 @@ object PreferencePageProvider : SettingsPageProvider {
        }
    }

    fun buildInjectEntry(): SettingsEntryBuilder {
        return SettingsEntryBuilder.createInject(owner = owner)
            .setMacro {
                SimplePreferenceMacro(
                    title = PAGE_TITLE,
                    clickRoute = name
                )
            }
    @Composable
    fun Entry() {
        Preference(model = object : PreferenceModel {
            override val title = PAGE_TITLE
            override val onClick = navigator(name)
        })
    }
}

Loading