Loading packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/home/HomePageProvider.kt +1 −1 Original line number Diff line number Diff line Loading @@ -27,8 +27,8 @@ import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.gallery.R import com.android.settingslib.spa.gallery.SettingsPageProviderEnum import com.android.settingslib.spa.gallery.button.ActionButtonPageProvider import com.android.settingslib.spa.gallery.banner.BannerPageProvider import com.android.settingslib.spa.gallery.button.ActionButtonPageProvider import com.android.settingslib.spa.gallery.chart.ChartPageProvider import com.android.settingslib.spa.gallery.dialog.DialogMainPageProvider import com.android.settingslib.spa.gallery.editor.EditorMainPageProvider Loading packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/CategoryPage.kt→packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/CategoryPageProvider.kt +12 −14 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ 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.CategoryTitle private const val TITLE = "Sample Category" Loading @@ -42,10 +41,12 @@ object CategoryPageProvider : SettingsPageProvider { fun buildInjectEntry(): SettingsEntryBuilder { return SettingsEntryBuilder.createInject(owner) .setUiLayoutFn { Preference(object : PreferenceModel { Preference( object : PreferenceModel { override val title = TITLE override val onClick = navigator(name) }) } ) } .setSearchDataFn { EntrySearchData(title = TITLE) } } Loading @@ -70,7 +71,6 @@ object CategoryPageProvider : SettingsPageProvider { SettingsEntryBuilder.create("Preference 3", owner) .setMacro { SimplePreferenceMacro(title = "Preference 2", summary = "Summary 3") } .build() ) entryList.add( SettingsEntryBuilder.create("Preference 4", owner) Loading @@ -84,11 +84,11 @@ object CategoryPageProvider : SettingsPageProvider { override fun Page(arguments: Bundle?) { val entries = buildEntry(arguments) RegularScaffold(title = getTitle(arguments)) { CategoryTitle("Category A") Category("Category A") { entries[0].UiLayout() entries[1].UiLayout() Category("Category B") { } Category { entries[2].UiLayout() entries[3].UiLayout() } Loading @@ -99,7 +99,5 @@ object CategoryPageProvider : SettingsPageProvider { @Preview(showBackground = true) @Composable private fun SpinnerPagePreview() { SettingsTheme { SpinnerPageProvider.Page(null) } SettingsTheme { CategoryPageProvider.Page(null) } } packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsDimension.kt +3 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ object SettingsDimension { val paddingExtraSmall = 4.dp val paddingSmall = if (isSpaExpressiveEnabled) 8.dp else 4.dp val paddingExtraSmall5 = 10.dp val paddingExtraSmall6 = 12.dp val paddingLarge = 16.dp val paddingExtraLarge = 24.dp Loading @@ -36,9 +37,9 @@ object SettingsDimension { val itemIconSize = 24.dp val itemIconContainerSize = 72.dp val itemPaddingStart = paddingExtraLarge val itemPaddingStart = if (isSpaExpressiveEnabled) paddingLarge else paddingExtraLarge val itemPaddingEnd = paddingLarge val itemPaddingVertical = paddingLarge val itemPaddingVertical = if (isSpaExpressiveEnabled) paddingExtraSmall6 else paddingLarge val itemPadding = PaddingValues( start = itemPaddingStart, top = itemPaddingVertical, Loading packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsShape.kt +2 −0 Original line number Diff line number Diff line Loading @@ -24,5 +24,7 @@ object SettingsShape { val CornerMedium = RoundedCornerShape(12.dp) val categoryCorner = RoundedCornerShape(20.dp) val CornerExtraLarge = RoundedCornerShape(28.dp) } packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BaseLayout.kt +19 −18 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settingslib.spa.widget.preference import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row Loading @@ -25,16 +26,20 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.semantics.semantics import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import com.android.settingslib.spa.framework.theme.SettingsDimension import com.android.settingslib.spa.framework.theme.SettingsOpacity.alphaForEnabled import com.android.settingslib.spa.framework.theme.SettingsShape import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.theme.isSpaExpressiveEnabled import com.android.settingslib.spa.widget.ui.SettingsTitle @Composable Loading @@ -51,9 +56,16 @@ internal fun BaseLayout( widget: @Composable () -> Unit = {}, ) { Row( modifier = modifier modifier = modifier .fillMaxWidth() .semantics(mergeDescendants = true) {} .then( if (isSpaExpressiveEnabled) Modifier.clip(SettingsShape.CornerExtraSmall) .background(MaterialTheme.colorScheme.surfaceBright) else Modifier ) .padding(end = paddingEnd), verticalAlignment = Alignment.CenterVertically, ) { Loading @@ -63,20 +75,14 @@ internal fun BaseLayout( title = title, titleContentDescription = titleContentDescription, subTitle = subTitle, modifier = alphaModifier .weight(1f) .padding(vertical = paddingVertical), modifier = alphaModifier.weight(1f).padding(vertical = paddingVertical), ) widget() } } @Composable internal fun BaseIcon( icon: @Composable (() -> Unit)?, modifier: Modifier, paddingStart: Dp, ) { internal fun BaseIcon(icon: @Composable (() -> Unit)?, modifier: Modifier, paddingStart: Dp) { if (icon != null) { Box( modifier = modifier.size(SettingsDimension.itemIconContainerSize), Loading Loading @@ -107,11 +113,6 @@ private fun Titles( @Composable private fun BaseLayoutPreview() { SettingsTheme { BaseLayout( title = "Title", subTitle = { HorizontalDivider(thickness = 10.dp) } ) BaseLayout(title = "Title", subTitle = { HorizontalDivider(thickness = 10.dp) }) } } Loading
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/home/HomePageProvider.kt +1 −1 Original line number Diff line number Diff line Loading @@ -27,8 +27,8 @@ import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.gallery.R import com.android.settingslib.spa.gallery.SettingsPageProviderEnum import com.android.settingslib.spa.gallery.button.ActionButtonPageProvider import com.android.settingslib.spa.gallery.banner.BannerPageProvider import com.android.settingslib.spa.gallery.button.ActionButtonPageProvider import com.android.settingslib.spa.gallery.chart.ChartPageProvider import com.android.settingslib.spa.gallery.dialog.DialogMainPageProvider import com.android.settingslib.spa.gallery.editor.EditorMainPageProvider Loading
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/CategoryPage.kt→packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/CategoryPageProvider.kt +12 −14 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ 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.CategoryTitle private const val TITLE = "Sample Category" Loading @@ -42,10 +41,12 @@ object CategoryPageProvider : SettingsPageProvider { fun buildInjectEntry(): SettingsEntryBuilder { return SettingsEntryBuilder.createInject(owner) .setUiLayoutFn { Preference(object : PreferenceModel { Preference( object : PreferenceModel { override val title = TITLE override val onClick = navigator(name) }) } ) } .setSearchDataFn { EntrySearchData(title = TITLE) } } Loading @@ -70,7 +71,6 @@ object CategoryPageProvider : SettingsPageProvider { SettingsEntryBuilder.create("Preference 3", owner) .setMacro { SimplePreferenceMacro(title = "Preference 2", summary = "Summary 3") } .build() ) entryList.add( SettingsEntryBuilder.create("Preference 4", owner) Loading @@ -84,11 +84,11 @@ object CategoryPageProvider : SettingsPageProvider { override fun Page(arguments: Bundle?) { val entries = buildEntry(arguments) RegularScaffold(title = getTitle(arguments)) { CategoryTitle("Category A") Category("Category A") { entries[0].UiLayout() entries[1].UiLayout() Category("Category B") { } Category { entries[2].UiLayout() entries[3].UiLayout() } Loading @@ -99,7 +99,5 @@ object CategoryPageProvider : SettingsPageProvider { @Preview(showBackground = true) @Composable private fun SpinnerPagePreview() { SettingsTheme { SpinnerPageProvider.Page(null) } SettingsTheme { CategoryPageProvider.Page(null) } }
packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsDimension.kt +3 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ object SettingsDimension { val paddingExtraSmall = 4.dp val paddingSmall = if (isSpaExpressiveEnabled) 8.dp else 4.dp val paddingExtraSmall5 = 10.dp val paddingExtraSmall6 = 12.dp val paddingLarge = 16.dp val paddingExtraLarge = 24.dp Loading @@ -36,9 +37,9 @@ object SettingsDimension { val itemIconSize = 24.dp val itemIconContainerSize = 72.dp val itemPaddingStart = paddingExtraLarge val itemPaddingStart = if (isSpaExpressiveEnabled) paddingLarge else paddingExtraLarge val itemPaddingEnd = paddingLarge val itemPaddingVertical = paddingLarge val itemPaddingVertical = if (isSpaExpressiveEnabled) paddingExtraSmall6 else paddingLarge val itemPadding = PaddingValues( start = itemPaddingStart, top = itemPaddingVertical, Loading
packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsShape.kt +2 −0 Original line number Diff line number Diff line Loading @@ -24,5 +24,7 @@ object SettingsShape { val CornerMedium = RoundedCornerShape(12.dp) val categoryCorner = RoundedCornerShape(20.dp) val CornerExtraLarge = RoundedCornerShape(28.dp) }
packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BaseLayout.kt +19 −18 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settingslib.spa.widget.preference import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row Loading @@ -25,16 +26,20 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.semantics.semantics import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import com.android.settingslib.spa.framework.theme.SettingsDimension import com.android.settingslib.spa.framework.theme.SettingsOpacity.alphaForEnabled import com.android.settingslib.spa.framework.theme.SettingsShape import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.theme.isSpaExpressiveEnabled import com.android.settingslib.spa.widget.ui.SettingsTitle @Composable Loading @@ -51,9 +56,16 @@ internal fun BaseLayout( widget: @Composable () -> Unit = {}, ) { Row( modifier = modifier modifier = modifier .fillMaxWidth() .semantics(mergeDescendants = true) {} .then( if (isSpaExpressiveEnabled) Modifier.clip(SettingsShape.CornerExtraSmall) .background(MaterialTheme.colorScheme.surfaceBright) else Modifier ) .padding(end = paddingEnd), verticalAlignment = Alignment.CenterVertically, ) { Loading @@ -63,20 +75,14 @@ internal fun BaseLayout( title = title, titleContentDescription = titleContentDescription, subTitle = subTitle, modifier = alphaModifier .weight(1f) .padding(vertical = paddingVertical), modifier = alphaModifier.weight(1f).padding(vertical = paddingVertical), ) widget() } } @Composable internal fun BaseIcon( icon: @Composable (() -> Unit)?, modifier: Modifier, paddingStart: Dp, ) { internal fun BaseIcon(icon: @Composable (() -> Unit)?, modifier: Modifier, paddingStart: Dp) { if (icon != null) { Box( modifier = modifier.size(SettingsDimension.itemIconContainerSize), Loading Loading @@ -107,11 +113,6 @@ private fun Titles( @Composable private fun BaseLayoutPreview() { SettingsTheme { BaseLayout( title = "Title", subTitle = { HorizontalDivider(thickness = 10.dp) } ) BaseLayout(title = "Title", subTitle = { HorizontalDivider(thickness = 10.dp) }) } }