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

Commit 51ea31dc authored by burakov's avatar burakov
Browse files

[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
parent 57f25a88
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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 {
+1 −1
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ constructor(
    ) {
        OverlayShade(
            viewModel = viewModel.overlayShadeViewModel,
            horizontalArrangement = Arrangement.End,
            panelAlignment = Alignment.TopEnd,
            lockscreenContent = lockscreenContent,
            modifier = modifier,
        ) {
+4 −5
Original line number Diff line number Diff line
@@ -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(),