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

Commit 61ed3514 authored by Fabián Kozynski's avatar Fabián Kozynski
Browse files

Fix paddings around SecurityInfo and QS Overlay

Test: manual
Fixes: 415030295
Fixes: 428805936
Flag: com.android.systemui.scene_container
Change-Id: I19688513dcef2b6be18924e34e453f69ed8996aa
parent 21492f3d
Loading
Loading
Loading
Loading
+12 −15
Original line number Diff line number Diff line
@@ -281,13 +281,15 @@ private fun ContentScope.QuickSettingsLayout(
            ),
    ) {
        if (isFullWidthShade()) {
            VerticalSeparator()
            VerticalSeparator(QuickSettingsShade.Dimensions.ShortPadding)
            QuickSettingsOverlayHeader(
                viewModel = qsContainerViewModel.shadeHeaderViewModel,
                modifier = Modifier.element(QuickSettingsShade.Elements.Header),
            )

            VerticalSeparator()
            VerticalSeparator(QuickSettingsShade.Dimensions.ShortPadding)
        } else {
            VerticalSeparator(QuickSettingsShade.Dimensions.Padding)
        }

        val toolbarViewModel =
@@ -299,8 +301,7 @@ private fun ContentScope.QuickSettingsLayout(
            viewModel = toolbarViewModel,
        )

        // TODO(b/428805936): Double check this padding.
        VerticalSeparator()
        VerticalSeparator(QuickSettingsShade.Dimensions.ShortPadding)

        Column(modifier = Modifier.fillMaxWidth().verticalScroll(rememberScrollState())) {
            Media(
@@ -312,7 +313,7 @@ private fun ContentScope.QuickSettingsLayout(
            )

            if (qsContainerViewModel.showMedia) {
                VerticalSeparator()
                VerticalSeparator(QuickSettingsShade.Dimensions.Padding)
            }

            Box(
@@ -331,11 +332,10 @@ private fun ContentScope.QuickSettingsLayout(
                )
            }

            VerticalSeparator()

            if (volumeSliderViewModel != null) {
                val volumeSliderState by volumeSliderViewModel.slider.collectAsStateWithLifecycle()

                VerticalSeparator(QuickSettingsShade.Dimensions.Padding)
                Box(
                    Modifier.systemGestureExclusionInShade(
                        enabled = { layoutState.transitionState is TransitionState.Idle }
@@ -380,28 +380,23 @@ private fun ContentScope.QuickSettingsLayout(
                        }
                    }
                }

                VerticalSeparator()
            }

            GridAnchor()

            // TODO(b/428805936): Double check this padding.
            VerticalSeparator(QuickSettingsShade.Dimensions.Padding)

            GridAnchor()
            TileGrid(
                viewModel = qsContainerViewModel.tileGridViewModel,
                modifier = Modifier.fillMaxWidth(),
            )

            // TODO(b/428805936): Double check this padding.
            VerticalSeparator(QuickSettingsShade.Dimensions.Padding * 2)
            VerticalSeparator(QuickSettingsShade.Dimensions.Padding)
        }
    }
}

@Composable
private fun VerticalSeparator(height: Dp = QuickSettingsShade.Dimensions.Padding) {
private fun VerticalSeparator(height: Dp) {
    Spacer(Modifier.height(height = height))
}

@@ -413,6 +408,8 @@ object QuickSettingsShade {
    }

    object Dimensions {
        // This is used around the header and toolbar
        val ShortPadding = 8.dp
        val Padding = 16.dp
        val ToolbarHeight = 48.dp
    }
+1 −3
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.systemui.qs.panels.ui.compose.toolbar

import androidx.compose.foundation.basicMarquee
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.CornerSize
@@ -66,7 +65,6 @@ fun SecurityInfo(
                rememberExpandableController(color = Color.Transparent, shape = CircleShape),
            modifier =
                modifier
                    .padding(horizontal = 4.dp)
                    .borderOnFocus(color = MaterialTheme.colorScheme.secondary, CornerSize(0))
                    .semantics {
                        if (onClick != null) {
@@ -91,7 +89,7 @@ fun SecurityInfo(
                        text = viewModel.text,
                        maxLines = 1,
                        style = MaterialTheme.typography.labelLarge,
                        color = MaterialTheme.colorScheme.primary,
                        color = MaterialTheme.colorScheme.onSurface,
                        modifier = Modifier.basicMarquee(iterations = 1, initialDelayMillis = 1000),
                    )
                }
+18 −7
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import androidx.compose.animation.AnimatedContentScope
import androidx.compose.animation.ExperimentalSharedTransitionApi
import androidx.compose.animation.SharedTransitionLayout
import androidx.compose.animation.SharedTransitionScope
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.size
@@ -39,6 +40,7 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp
import androidx.core.graphics.drawable.toBitmap
import com.android.compose.animation.Expandable
import com.android.compose.theme.LocalAndroidColorScheme
import com.android.systemui.common.shared.model.Icon
import com.android.systemui.common.ui.compose.load
import com.android.systemui.compose.modifiers.sysuiResTag
@@ -61,12 +63,7 @@ fun Toolbar(viewModel: ToolbarViewModel, modifier: Modifier = Modifier) {
        SharedTransitionLayout(modifier = Modifier.weight(1f)) {
            AnimatedContent(
                targetState = securityInfoCollapsed,
                contentAlignment =
                    if (securityInfoCollapsed) {
                        Alignment.CenterStart
                    } else {
                        Alignment.Center
                    },
                contentAlignment = Alignment.CenterStart,
                label = "Toolbar.CollapsedSecurityInfo",
            ) { securityInfoCollapsed ->
                if (securityInfoCollapsed) {
@@ -105,6 +102,7 @@ private fun SharedTransitionScope.StandardToolbarLayout(
            model = viewModel.userSwitcherViewModel,
            Modifier.sysuiResTag("multi_user_switch").minimumInteractiveComponentSize(),
            iconColor = Color.Unspecified,
            useIconColorProtection = true,
        )

        // Edit mode button
@@ -145,6 +143,7 @@ private fun IconButton(
    model: FooterActionsButtonViewModel?,
    modifier: Modifier = Modifier,
    iconColor: Color = MaterialTheme.colorScheme.onSurface,
    useIconColorProtection: Boolean = false,
) {
    if (model == null) {
        return
@@ -156,10 +155,22 @@ private fun IconButton(
        modifier =
            modifier.borderOnFocus(MaterialTheme.colorScheme.secondary, CornerSize(percent = 50)),
        useModifierBasedImplementation = true,
    ) {
        val protectionColor =
            if (useIconColorProtection) {
                LocalAndroidColorScheme.current.surfaceEffect1
            } else {
                Color.Transparent
            }
        Box(
            modifier =
                Modifier.size(36.dp).background(color = protectionColor, shape = CircleShape),
            contentAlignment = Alignment.Center,
        ) {
            ToolbarIcon(icon = model.icon, modifier = Modifier.size(24.dp), tint = iconColor)
        }
    }
}

// TODO(b/394738023): Use com.android.systemui.common.ui.compose.Icon instead.
@Composable