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

Commit 189a6633 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Migrate some preference page" into main

parents 35b22503 20208f96
Loading
Loading
Loading
Loading
+9 −13
Original line number Diff line number Diff line
@@ -23,9 +23,7 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.ui.tooling.preview.Preview
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
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.framework.theme.SettingsTheme
import com.android.settingslib.spa.widget.preference.ListPreference
@@ -33,6 +31,8 @@ import com.android.settingslib.spa.widget.preference.ListPreferenceModel
import com.android.settingslib.spa.widget.preference.ListPreferenceOption
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
import kotlin.time.Duration.Companion.seconds
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.flow
@@ -41,18 +41,16 @@ private const val TITLE = "Sample ListPreference"

object ListPreferencePageProvider : SettingsPageProvider {
    override val name = "ListPreference"
    private val owner = createSettingsPage()

    override fun buildEntry(arguments: Bundle?) = listOf(
        SettingsEntryBuilder.create("ListPreference", owner)
            .setUiLayoutFn {
    @Composable
    override fun Page(arguments: Bundle?) {
        RegularScaffold(TITLE) {
            Category {
                SampleListPreference()
            }.build(),
        SettingsEntryBuilder.create("ListPreference not changeable", owner)
            .setUiLayoutFn {
                SampleNotChangeableListPreference()
            }.build(),
    )
            }
        }
    }

    @Composable
    fun Entry() {
@@ -61,8 +59,6 @@ object ListPreferencePageProvider : SettingsPageProvider {
            override val onClick = navigator(name)
        })
    }

    override fun getTitle(arguments: Bundle?) = TITLE
}

@Composable
+13 −42
Original line number Diff line number Diff line
@@ -27,16 +27,15 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
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.SettingsPageProvider
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.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.preference.SwitchPreference
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
import com.android.settingslib.spa.widget.scaffold.RegularScaffold
import com.android.settingslib.spa.widget.ui.Category
import com.android.settingslib.spa.widget.ui.SettingsIcon
import kotlinx.coroutines.delay

@@ -44,42 +43,18 @@ private const val TITLE = "Sample SwitchPreference"

object SwitchPreferencePageProvider : SettingsPageProvider {
    override val name = "SwitchPreference"
    private val owner = createSettingsPage()

    override fun buildEntry(arguments: Bundle?): List<SettingsEntry> {
        val entryList = mutableListOf<SettingsEntry>()
        entryList.add(
            SettingsEntryBuilder.create( "SwitchPreference", owner)
                .setUiLayoutFn {
    @Composable
    override fun Page(arguments: Bundle?) {
        RegularScaffold(TITLE) {
            Category {
                SampleSwitchPreference()
                }.build()
        )
        entryList.add(
            SettingsEntryBuilder.create( "SwitchPreference with summary", owner)
                .setUiLayoutFn {
                SampleSwitchPreferenceWithSummary()
                }.build()
        )
        entryList.add(
            SettingsEntryBuilder.create( "SwitchPreference with async summary", owner)
                .setUiLayoutFn {
                SampleSwitchPreferenceWithAsyncSummary()
                }.build()
        )
        entryList.add(
            SettingsEntryBuilder.create( "SwitchPreference not changeable", owner)
                .setUiLayoutFn {
                SampleNotChangeableSwitchPreference()
                }.build()
        )
        entryList.add(
            SettingsEntryBuilder.create( "SwitchPreference with icon", owner)
                .setUiLayoutFn {
                SampleSwitchPreferenceWithIcon()
                }.build()
        )

        return entryList
            }
        }
    }

    @Composable
@@ -89,10 +64,6 @@ object SwitchPreferencePageProvider : SettingsPageProvider {
            override val onClick = navigator(name)
        })
    }

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

@Composable
+12 −36
Original line number Diff line number Diff line
@@ -25,52 +25,32 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
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.SettingsPageProvider
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.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
import com.android.settingslib.spa.widget.preference.TwoTargetSwitchPreference
import com.android.settingslib.spa.widget.scaffold.RegularScaffold
import com.android.settingslib.spa.widget.ui.Category
import kotlinx.coroutines.delay

private const val TITLE = "Sample TwoTargetSwitchPreference"

object TwoTargetSwitchPreferencePageProvider : SettingsPageProvider {
    override val name = "TwoTargetSwitchPreference"
    private val owner = createSettingsPage()

    override fun buildEntry(arguments: Bundle?): List<SettingsEntry> {
        val entryList = mutableListOf<SettingsEntry>()
        entryList.add(
            SettingsEntryBuilder.create( "TwoTargetSwitchPreference", owner)
                .setUiLayoutFn {
    @Composable
    override fun Page(arguments: Bundle?) {
        RegularScaffold(TITLE) {
            Category {
                SampleTwoTargetSwitchPreference()
                }.build()
        )
        entryList.add(
            SettingsEntryBuilder.create( "TwoTargetSwitchPreference with summary", owner)
                .setUiLayoutFn {
                SampleTwoTargetSwitchPreferenceWithSummary()
                }.build()
        )
        entryList.add(
            SettingsEntryBuilder.create( "TwoTargetSwitchPreference with async summary", owner)
                .setUiLayoutFn {
                SampleTwoTargetSwitchPreferenceWithAsyncSummary()
                }.build()
        )
        entryList.add(
            SettingsEntryBuilder.create( "TwoTargetSwitchPreference not changeable", owner)
                .setUiLayoutFn {
                SampleNotChangeableTwoTargetSwitchPreference()
                }.build()
        )

        return entryList
            }
        }
    }

    @Composable
@@ -80,10 +60,6 @@ object TwoTargetSwitchPreferencePageProvider : SettingsPageProvider {
            override val onClick = navigator(name)
        })
    }

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

@Composable