Loading packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/scaffold/SuwScaffoldPageProvider.kt +12 −7 Original line number Diff line number Diff line Loading @@ -22,6 +22,10 @@ import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.SignalCellularAlt import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider Loading @@ -37,6 +41,8 @@ import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.scaffold.BottomAppBarButton import com.android.settingslib.spa.widget.scaffold.SuwScaffold import com.android.settingslib.spa.widget.ui.SettingsBody import com.android.settingslib.spa.widget.ui.Spinner import com.android.settingslib.spa.widget.ui.SpinnerOption private const val TITLE = "Sample SuwScaffold" Loading Loading @@ -67,13 +73,12 @@ private fun Page() { actionButton = BottomAppBarButton("Next") {}, dismissButton = BottomAppBarButton("Cancel") {}, ) { Column(Modifier.padding(SettingsDimension.itemPadding)) { SettingsBody("To add another SIM, download a new eSIM.") } Illustration(object : IllustrationModel { override val resId = R.drawable.accessibility_captioning_banner override val resourceType = ResourceType.IMAGE }) var selectedId by rememberSaveable { mutableIntStateOf(1) } Spinner( options = (1..3).map { SpinnerOption(id = it, text = "Option $it") }, selectedId = selectedId, setId = { selectedId = it }, ) Column(Modifier.padding(SettingsDimension.itemPadding)) { SettingsBody("To add another SIM, download a new eSIM.") } Loading packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/SuwScaffold.kt +8 −5 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.settingslib.spa.widget.scaffold import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.padding Loading @@ -33,6 +32,8 @@ import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.movableContentOf import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import com.android.settingslib.spa.framework.theme.SettingsDimension Loading @@ -50,7 +51,7 @@ fun SuwScaffold( title: String, actionButton: BottomAppBarButton? = null, dismissButton: BottomAppBarButton? = null, content: @Composable ColumnScope.() -> Unit, content: @Composable () -> Unit, ) { ActivityTitle(title) Scaffold { innerPadding -> Loading @@ -59,6 +60,7 @@ fun SuwScaffold( .padding(innerPadding) .padding(top = SettingsDimension.itemPaddingAround) ) { val movableContent = remember(content) { movableContentOf { content() } } // Use single column layout in portrait, two columns in landscape. val useSingleColumn = maxWidth < maxHeight if (useSingleColumn) { Loading @@ -69,7 +71,7 @@ fun SuwScaffold( .verticalScroll(rememberScrollState()) ) { Header(imageVector, title) content() movableContent() } BottomBar(actionButton, dismissButton) } Loading @@ -82,8 +84,9 @@ fun SuwScaffold( Column( Modifier .weight(1f) .verticalScroll(rememberScrollState())) { content() .verticalScroll(rememberScrollState()) ) { movableContent() } } BottomBar(actionButton, dismissButton) Loading Loading
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/scaffold/SuwScaffoldPageProvider.kt +12 −7 Original line number Diff line number Diff line Loading @@ -22,6 +22,10 @@ import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.SignalCellularAlt import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider Loading @@ -37,6 +41,8 @@ import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.scaffold.BottomAppBarButton import com.android.settingslib.spa.widget.scaffold.SuwScaffold import com.android.settingslib.spa.widget.ui.SettingsBody import com.android.settingslib.spa.widget.ui.Spinner import com.android.settingslib.spa.widget.ui.SpinnerOption private const val TITLE = "Sample SuwScaffold" Loading Loading @@ -67,13 +73,12 @@ private fun Page() { actionButton = BottomAppBarButton("Next") {}, dismissButton = BottomAppBarButton("Cancel") {}, ) { Column(Modifier.padding(SettingsDimension.itemPadding)) { SettingsBody("To add another SIM, download a new eSIM.") } Illustration(object : IllustrationModel { override val resId = R.drawable.accessibility_captioning_banner override val resourceType = ResourceType.IMAGE }) var selectedId by rememberSaveable { mutableIntStateOf(1) } Spinner( options = (1..3).map { SpinnerOption(id = it, text = "Option $it") }, selectedId = selectedId, setId = { selectedId = it }, ) Column(Modifier.padding(SettingsDimension.itemPadding)) { SettingsBody("To add another SIM, download a new eSIM.") } Loading
packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/SuwScaffold.kt +8 −5 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.settingslib.spa.widget.scaffold import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.padding Loading @@ -33,6 +32,8 @@ import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.movableContentOf import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import com.android.settingslib.spa.framework.theme.SettingsDimension Loading @@ -50,7 +51,7 @@ fun SuwScaffold( title: String, actionButton: BottomAppBarButton? = null, dismissButton: BottomAppBarButton? = null, content: @Composable ColumnScope.() -> Unit, content: @Composable () -> Unit, ) { ActivityTitle(title) Scaffold { innerPadding -> Loading @@ -59,6 +60,7 @@ fun SuwScaffold( .padding(innerPadding) .padding(top = SettingsDimension.itemPaddingAround) ) { val movableContent = remember(content) { movableContentOf { content() } } // Use single column layout in portrait, two columns in landscape. val useSingleColumn = maxWidth < maxHeight if (useSingleColumn) { Loading @@ -69,7 +71,7 @@ fun SuwScaffold( .verticalScroll(rememberScrollState()) ) { Header(imageVector, title) content() movableContent() } BottomBar(actionButton, dismissButton) } Loading @@ -82,8 +84,9 @@ fun SuwScaffold( Column( Modifier .weight(1f) .verticalScroll(rememberScrollState())) { content() .verticalScroll(rememberScrollState()) ) { movableContent() } } BottomBar(actionButton, dismissButton) Loading