diff options
author | 2024-06-04 09:26:23 +0000 | |
---|---|---|
committer | 2024-06-04 09:26:23 +0000 | |
commit | 51ea31dcd1214e5bafeec19ca84e5077aceecd7c (patch) | |
tree | 10b2d5a3ec76937948c6432ba01822116eb7ab44 | |
parent | 57f25a882ef47a9ecddd54ea8a94db0a95f1d24c (diff) |
[bc25] Support both horizontal and vertical alignment in dual shade.
This is necessary to allow dual shade to be invoked from the bottom on
other system UI variants, such as ARC.
Test: Manually tested by opening and closing the quick settings shade on
a foldable device both in a folded and unfolded configuration.
Test: Unit tests build and pass.
Bug: 343744476
Flag: com.android.systemui.dual_shade
Change-Id: Idf48a30f317c2d318d3ba80d447abbb4f6377f99
3 files changed, 7 insertions, 8 deletions
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/notifications/ui/composable/NotificationsShadeScene.kt b/packages/SystemUI/compose/features/src/com/android/systemui/notifications/ui/composable/NotificationsShadeScene.kt index edb17273dba1..f62a28c94763 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/notifications/ui/composable/NotificationsShadeScene.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/notifications/ui/composable/NotificationsShadeScene.kt @@ -16,11 +16,11 @@ package com.android.systemui.notifications.ui.composable -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.android.compose.animation.scene.SceneScope @@ -75,7 +75,7 @@ constructor( OverlayShade( modifier = modifier, viewModel = overlayShadeViewModel, - horizontalArrangement = Arrangement.End, + panelAlignment = Alignment.TopEnd, lockscreenContent = lockscreenContent, ) { Column { diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsShadeScene.kt b/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsShadeScene.kt index 4bf90ec69f46..a0d6be9c68dc 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsShadeScene.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsShadeScene.kt @@ -82,7 +82,7 @@ constructor( ) { OverlayShade( viewModel = viewModel.overlayShadeViewModel, - horizontalArrangement = Arrangement.End, + panelAlignment = Alignment.TopEnd, lockscreenContent = lockscreenContent, modifier = modifier, ) { diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/OverlayShade.kt b/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/OverlayShade.kt index 6924d432453c..c189d73e2db5 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/OverlayShade.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/OverlayShade.kt @@ -20,11 +20,9 @@ package com.android.systemui.shade.ui.composable import androidx.compose.foundation.background import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.ExperimentalLayoutApi import androidx.compose.foundation.layout.PaddingValues -import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.asPaddingValues @@ -43,6 +41,7 @@ import androidx.compose.material3.windowsizeclass.WindowWidthSizeClass import androidx.compose.runtime.Composable import androidx.compose.runtime.ReadOnlyComposable import androidx.compose.runtime.getValue +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color @@ -64,7 +63,7 @@ import java.util.Optional @Composable fun SceneScope.OverlayShade( viewModel: OverlayShadeViewModel, - horizontalArrangement: Arrangement.Horizontal, + panelAlignment: Alignment, lockscreenContent: Lazy<Optional<LockscreenContent>>, modifier: Modifier = Modifier, content: @Composable () -> Unit, @@ -81,9 +80,9 @@ fun SceneScope.OverlayShade( Scrim(onClicked = viewModel::onScrimClicked) - Row( + Box( modifier = Modifier.fillMaxSize().panelPadding(), - horizontalArrangement = horizontalArrangement, + contentAlignment = panelAlignment, ) { Panel( modifier = Modifier.element(OverlayShade.Elements.Panel).panelSize(), |