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

Commit 20208f96 authored by Chaohui Wang's avatar Chaohui Wang
Browse files

Migrate some preference page

Bug: 370360039
Flag: EXEMPT gallery only
Test: manual - with gallery
Change-Id: Ied9740ce61f7dd28eaa1a0b0fa0b67c1d093fd8b
parent 0814725f
Loading
Loading
Loading
Loading
+9 −13
Original line number Original line Diff line number Diff line
@@ -23,9 +23,7 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.Preview
import androidx.lifecycle.compose.collectAsStateWithLifecycle
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.SettingsPageProvider
import com.android.settingslib.spa.framework.common.createSettingsPage
import com.android.settingslib.spa.framework.compose.navigator
import com.android.settingslib.spa.framework.compose.navigator
import com.android.settingslib.spa.framework.theme.SettingsTheme
import com.android.settingslib.spa.framework.theme.SettingsTheme
import com.android.settingslib.spa.widget.preference.ListPreference
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.ListPreferenceOption
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
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 kotlin.time.Duration.Companion.seconds
import kotlinx.coroutines.delay
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flow
@@ -41,18 +41,16 @@ private const val TITLE = "Sample ListPreference"


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


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


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

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


@Composable
@Composable
+13 −42
Original line number Original line Diff line number Diff line
@@ -27,16 +27,15 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.runtime.setValue
import androidx.compose.ui.tooling.preview.Preview
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.SettingsPageProvider
import com.android.settingslib.spa.framework.common.createSettingsPage
import com.android.settingslib.spa.framework.compose.navigator
import com.android.settingslib.spa.framework.compose.navigator
import com.android.settingslib.spa.framework.theme.SettingsTheme
import com.android.settingslib.spa.framework.theme.SettingsTheme
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.preference.SwitchPreference
import com.android.settingslib.spa.widget.preference.SwitchPreference
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
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 com.android.settingslib.spa.widget.ui.SettingsIcon
import kotlinx.coroutines.delay
import kotlinx.coroutines.delay


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


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


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

        return entryList
    }
    }


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

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


@Composable
@Composable
+12 −36
Original line number Original line Diff line number Diff line
@@ -25,52 +25,32 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.runtime.setValue
import androidx.compose.ui.tooling.preview.Preview
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.SettingsPageProvider
import com.android.settingslib.spa.framework.common.createSettingsPage
import com.android.settingslib.spa.framework.compose.navigator
import com.android.settingslib.spa.framework.compose.navigator
import com.android.settingslib.spa.framework.theme.SettingsTheme
import com.android.settingslib.spa.framework.theme.SettingsTheme
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
import com.android.settingslib.spa.widget.preference.TwoTargetSwitchPreference
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
import kotlinx.coroutines.delay


private const val TITLE = "Sample TwoTargetSwitchPreference"
private const val TITLE = "Sample TwoTargetSwitchPreference"


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


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

        return entryList
    }
    }


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

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


@Composable
@Composable