Loading packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsShadeOverlay.kt +31 −8 Original line number Diff line number Diff line Loading @@ -22,15 +22,14 @@ import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.animation.togetherWith import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.requiredHeight import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.systemGestureExclusion import androidx.compose.foundation.verticalScroll Loading @@ -51,6 +50,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.compose.PlatformSliderDefaults Loading Loading @@ -242,7 +242,6 @@ fun ContentScope.QuickSettingsLayout( modifier: Modifier = Modifier, ) { Column( verticalArrangement = Arrangement.spacedBy(QuickSettingsShade.Dimensions.Padding), horizontalAlignment = Alignment.CenterHorizontally, modifier = modifier.padding( Loading @@ -251,20 +250,25 @@ fun ContentScope.QuickSettingsLayout( ), ) { if (isFullWidthShade()) { VerticalSeparator() QuickSettingsOverlayHeader( viewModel = viewModel.shadeHeaderViewModel, modifier = Modifier.element(QuickSettingsShade.Elements.Header) .padding(top = QuickSettingsShade.Dimensions.Padding), modifier = Modifier.element(QuickSettingsShade.Elements.Header), ) VerticalSeparator() } Toolbar( modifier = Modifier.fillMaxWidth().requiredHeight(QuickSettingsShade.Dimensions.ToolbarHeight), viewModel = viewModel.toolbarViewModel, ) // TODO(b/428805936): Double check this padding. VerticalSeparator() Column( verticalArrangement = Arrangement.spacedBy(QuickSettingsShade.Dimensions.Padding), modifier = Modifier.fillMaxWidth().verticalScroll(rememberScrollState()), ) { MediaCarousel( Loading @@ -275,6 +279,10 @@ fun ContentScope.QuickSettingsLayout( modifier = Modifier.padding(horizontal = QuickSettingsShade.Dimensions.Padding), ) if (viewModel.showMedia) { VerticalSeparator() } Box( Modifier.systemGestureExclusionInShade( enabled = { layoutState.transitionState is TransitionState.Idle } Loading @@ -292,6 +300,8 @@ fun ContentScope.QuickSettingsLayout( ) } VerticalSeparator() val volumeSliderViewModel = viewModel.volumeSliderViewModel if (volumeSliderViewModel != null) { val volumeSliderState by volumeSliderViewModel.slider.collectAsStateWithLifecycle() Loading Loading @@ -340,15 +350,28 @@ fun ContentScope.QuickSettingsLayout( } } } VerticalSeparator() } GridAnchor() // TODO(b/428805936): Double check this padding. VerticalSeparator(QuickSettingsShade.Dimensions.Padding) TileGrid(viewModel = viewModel.tileGridViewModel, modifier = Modifier.fillMaxWidth()) Spacer(Modifier.padding(bottom = QuickSettingsShade.Dimensions.Padding)) // TODO(b/428805936): Double check this padding. VerticalSeparator(QuickSettingsShade.Dimensions.Padding * 2) } } } @Composable private fun VerticalSeparator(height: Dp = QuickSettingsShade.Dimensions.Padding) { Spacer(Modifier.height(height = height)) } object QuickSettingsShade { object Elements { val StatusBar = ElementKey("QuickSettingsShadeOverlayStatusBar") Loading Loading
packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsShadeOverlay.kt +31 −8 Original line number Diff line number Diff line Loading @@ -22,15 +22,14 @@ import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.animation.togetherWith import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.requiredHeight import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.systemGestureExclusion import androidx.compose.foundation.verticalScroll Loading @@ -51,6 +50,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.compose.PlatformSliderDefaults Loading Loading @@ -242,7 +242,6 @@ fun ContentScope.QuickSettingsLayout( modifier: Modifier = Modifier, ) { Column( verticalArrangement = Arrangement.spacedBy(QuickSettingsShade.Dimensions.Padding), horizontalAlignment = Alignment.CenterHorizontally, modifier = modifier.padding( Loading @@ -251,20 +250,25 @@ fun ContentScope.QuickSettingsLayout( ), ) { if (isFullWidthShade()) { VerticalSeparator() QuickSettingsOverlayHeader( viewModel = viewModel.shadeHeaderViewModel, modifier = Modifier.element(QuickSettingsShade.Elements.Header) .padding(top = QuickSettingsShade.Dimensions.Padding), modifier = Modifier.element(QuickSettingsShade.Elements.Header), ) VerticalSeparator() } Toolbar( modifier = Modifier.fillMaxWidth().requiredHeight(QuickSettingsShade.Dimensions.ToolbarHeight), viewModel = viewModel.toolbarViewModel, ) // TODO(b/428805936): Double check this padding. VerticalSeparator() Column( verticalArrangement = Arrangement.spacedBy(QuickSettingsShade.Dimensions.Padding), modifier = Modifier.fillMaxWidth().verticalScroll(rememberScrollState()), ) { MediaCarousel( Loading @@ -275,6 +279,10 @@ fun ContentScope.QuickSettingsLayout( modifier = Modifier.padding(horizontal = QuickSettingsShade.Dimensions.Padding), ) if (viewModel.showMedia) { VerticalSeparator() } Box( Modifier.systemGestureExclusionInShade( enabled = { layoutState.transitionState is TransitionState.Idle } Loading @@ -292,6 +300,8 @@ fun ContentScope.QuickSettingsLayout( ) } VerticalSeparator() val volumeSliderViewModel = viewModel.volumeSliderViewModel if (volumeSliderViewModel != null) { val volumeSliderState by volumeSliderViewModel.slider.collectAsStateWithLifecycle() Loading Loading @@ -340,15 +350,28 @@ fun ContentScope.QuickSettingsLayout( } } } VerticalSeparator() } GridAnchor() // TODO(b/428805936): Double check this padding. VerticalSeparator(QuickSettingsShade.Dimensions.Padding) TileGrid(viewModel = viewModel.tileGridViewModel, modifier = Modifier.fillMaxWidth()) Spacer(Modifier.padding(bottom = QuickSettingsShade.Dimensions.Padding)) // TODO(b/428805936): Double check this padding. VerticalSeparator(QuickSettingsShade.Dimensions.Padding * 2) } } } @Composable private fun VerticalSeparator(height: Dp = QuickSettingsShade.Dimensions.Padding) { Spacer(Modifier.height(height = height)) } object QuickSettingsShade { object Elements { val StatusBar = ElementKey("QuickSettingsShadeOverlayStatusBar") Loading