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

Commit 5940abda authored by andrewxu's avatar andrewxu
Browse files

Refactor on the QS shade overlay's vertical paddings

This CL removes the verticalArrangement of the columns in the
QS shade overlay. Instead, this CL adds paddings explicitly between
the columns' children. Desktop will apply different vertical
paddings, as a part of the AL UI density project. This CL makes
my subsequent changes easier.

This CL should not make any UI difference. I used HSV to verify it.

Bug: 427487608
Flag: EXEMPT refactor
TEST: manually
Change-Id: I1fa925daafb31bdebde5ca4e3286d2c42a838fa5
parent e324a45b
Loading
Loading
Loading
Loading
+31 −8
Original line number Diff line number Diff line
@@ -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
@@ -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
@@ -240,7 +240,6 @@ fun ContentScope.QuickSettingsLayout(
    modifier: Modifier = Modifier,
) {
    Column(
        verticalArrangement = Arrangement.spacedBy(QuickSettingsShade.Dimensions.Padding),
        horizontalAlignment = Alignment.CenterHorizontally,
        modifier =
            modifier.padding(
@@ -249,20 +248,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(
@@ -273,6 +277,10 @@ fun ContentScope.QuickSettingsLayout(
                modifier = Modifier.padding(horizontal = QuickSettingsShade.Dimensions.Padding),
            )

            if (viewModel.showMedia) {
                VerticalSeparator()
            }

            Box(
                Modifier.systemGestureExclusionInShade(
                    enabled = { layoutState.transitionState is TransitionState.Idle }
@@ -290,6 +298,8 @@ fun ContentScope.QuickSettingsLayout(
                )
            }

            VerticalSeparator()

            val volumeSliderViewModel = viewModel.volumeSliderViewModel
            if (volumeSliderViewModel != null) {
                val volumeSliderState by volumeSliderViewModel.slider.collectAsStateWithLifecycle()
@@ -338,15 +348,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")