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

Commit f8338ad2 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[Flexiglass] Add horizontal padding to QuickSettingsScene" into main

parents 13f61624 9aacce94
Loading
Loading
Loading
Loading
+39 −38
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ import androidx.compose.ui.layout.layoutId
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
@@ -146,9 +147,7 @@ constructor(
    }

    @Composable
    override fun SceneScope.Content(
        modifier: Modifier,
    ) {
    override fun SceneScope.Content(modifier: Modifier) {
        QuickSettingsScene(
            notificationStackScrollView = notificationStackScrollView.get(),
            viewModelFactory = contentViewModelFactory,
@@ -199,6 +198,9 @@ private fun SceneScope.QuickSettingsScene(
        onDispose { notificationsPlaceholderViewModel.setAlphaForBrightnessMirror(1f) }
    }

    val shadeHorizontalPadding =
        dimensionResource(id = R.dimen.notification_panel_margin_horizontal)

    BrightnessMirror(
        viewModel = brightnessMirrorViewModel,
        qsSceneAdapter = viewModel.qsSceneAdapter,
@@ -206,6 +208,7 @@ private fun SceneScope.QuickSettingsScene(
            Modifier.thenIf(cutoutLocation != CutoutLocation.CENTER) {
                    Modifier.displayCutoutPadding()
                }
                .padding(horizontal = shadeHorizontalPadding),
    )

    val shouldPunchHoleBehindScrim =
@@ -224,9 +227,7 @@ private fun SceneScope.QuickSettingsScene(
                    // scene (and not the one under it) during a scene transition.
                    Modifier.graphicsLayer(compositingStrategy = CompositingStrategy.Offscreen)
                }
                .thenIf(cutoutLocation != CutoutLocation.CENTER) {
                    Modifier.displayCutoutPadding()
                },
                .thenIf(cutoutLocation != CutoutLocation.CENTER) { Modifier.displayCutoutPadding() }
    ) {
        val isCustomizing by viewModel.qsSceneAdapter.isCustomizing.collectAsStateWithLifecycle()
        val isCustomizerShowing by
@@ -235,11 +236,7 @@ private fun SceneScope.QuickSettingsScene(
            viewModel.qsSceneAdapter.customizerAnimationDuration.collectAsStateWithLifecycle()
        val screenHeight = LocalRawScreenHeight.current

        BackHandler(
            enabled = isCustomizing,
        ) {
            viewModel.qsSceneAdapter.requestCloseCustomizer()
        }
        BackHandler(enabled = isCustomizing) { viewModel.qsSceneAdapter.requestCloseCustomizer() }

        val collapsedHeaderHeight =
            with(LocalDensity.current) { ShadeHeader.Dimensions.CollapsedHeight.roundToPx() }
@@ -276,13 +273,13 @@ private fun SceneScope.QuickSettingsScene(
            animateDpAsState(
                targetValue = if (isCustomizing) 0.dp else navBarBottomHeight,
                animationSpec = tween(customizingAnimationDuration),
                label = "animateQSSceneBottomPaddingAsState"
                label = "animateQSSceneBottomPaddingAsState",
            )
        val topPadding by
            animateDpAsState(
                targetValue = if (isCustomizing) ShadeHeader.Dimensions.CollapsedHeight else 0.dp,
                animationSpec = tween(customizingAnimationDuration),
                label = "animateQSSceneTopPaddingAsState"
                label = "animateQSSceneTopPaddingAsState",
            )

        LaunchedEffect(navBarBottomHeight, density) {
@@ -313,18 +310,15 @@ private fun SceneScope.QuickSettingsScene(
                Modifier.fillMaxSize()
                    .padding(
                        top = topPadding.coerceAtLeast(0.dp),
                        bottom = bottomPadding.coerceAtLeast(0.dp)
                    )
                        bottom = bottomPadding.coerceAtLeast(0.dp),
                    ),
        ) {
            Box(modifier = Modifier.fillMaxSize().weight(1f)) {
                val shadeHeaderAndQuickSettingsModifier =
                    if (isCustomizerShowing) {
                        Modifier.fillMaxHeight().align(Alignment.TopCenter)
                    } else {
                        Modifier.verticalScroll(
                                scrollState,
                                enabled = isScrollable,
                            )
                        Modifier.verticalScroll(scrollState, enabled = isScrollable)
                            .clipScrollableContainer(Orientation.Horizontal)
                            .fillMaxWidth()
                            .wrapContentHeight(unbounded = true)
@@ -333,7 +327,7 @@ private fun SceneScope.QuickSettingsScene(

                Column(
                    modifier =
                        shadeHeaderAndQuickSettingsModifier.sysuiResTag("expanded_qs_scroll_view"),
                        shadeHeaderAndQuickSettingsModifier.sysuiResTag("expanded_qs_scroll_view")
                ) {
                    when (LocalWindowSizeClass.current.widthSizeClass) {
                        WindowWidthSizeClass.Compact ->
@@ -345,7 +339,7 @@ private fun SceneScope.QuickSettingsScene(
                                        expandFrom = Alignment.Top,
                                    ) +
                                        slideInVertically(
                                            animationSpec = tween(customizingAnimationDuration),
                                            animationSpec = tween(customizingAnimationDuration)
                                        ) +
                                        fadeIn(tween(customizingAnimationDuration)),
                                exit =
@@ -354,7 +348,7 @@ private fun SceneScope.QuickSettingsScene(
                                        shrinkTowards = Alignment.Top,
                                    ) +
                                        slideOutVertically(
                                            animationSpec = tween(customizingAnimationDuration),
                                            animationSpec = tween(customizingAnimationDuration)
                                        ) +
                                        fadeOut(tween(customizingAnimationDuration)),
                            ) {
@@ -382,7 +376,7 @@ private fun SceneScope.QuickSettingsScene(
                            viewModel.qsSceneAdapter,
                            { viewModel.qsSceneAdapter.qsHeight },
                            isSplitShade = false,
                            modifier = Modifier.layoutId(QSMediaMeasurePolicy.LayoutId.QS)
                            modifier = Modifier.layoutId(QSMediaMeasurePolicy.LayoutId.QS),
                        )

                        MediaCarousel(
@@ -400,16 +394,15 @@ private fun SceneScope.QuickSettingsScene(
                            { mediaOffset.roundToPx() },
                        )
                    }
                    Box(modifier = Modifier.padding(horizontal = shadeHorizontalPadding)) {
                        if (mediaInRow) {
                        Layout(
                            content = content,
                            measurePolicy = landscapeQsMediaMeasurePolicy,
                        )
                            Layout(content = content, measurePolicy = landscapeQsMediaMeasurePolicy)
                        } else {
                            content()
                        }
                    }
                }
            }

            FooterActionsWithAnimatedVisibility(
                viewModel = footerActionsViewModel,
@@ -417,13 +410,18 @@ private fun SceneScope.QuickSettingsScene(
                customizingAnimationDuration = customizingAnimationDuration,
                lifecycleOwner = lifecycleOwner,
                modifier =
                    Modifier.align(Alignment.CenterHorizontally).sysuiResTag("qs_footer_actions"),
                    Modifier.align(Alignment.CenterHorizontally)
                        .sysuiResTag("qs_footer_actions")
                        .padding(horizontal = shadeHorizontalPadding),
            )
        }
        HeadsUpNotificationSpace(
            stackScrollView = notificationStackScrollView,
            viewModel = notificationsPlaceholderViewModel,
            modifier = Modifier.align(Alignment.BottomCenter).navigationBarsPadding(),
            modifier =
                Modifier.align(Alignment.BottomCenter)
                    .navigationBarsPadding()
                    .padding(horizontal = shadeHorizontalPadding),
            isPeekFromBottom = true,
        )
        NotificationScrollingStack(
@@ -435,15 +433,18 @@ private fun SceneScope.QuickSettingsScene(
            shouldIncludeHeadsUpSpace = false,
            shadeMode = ShadeMode.Single,
            modifier =
                Modifier.fillMaxWidth().offset { IntOffset(x = 0, y = screenHeight.roundToInt()) },
                Modifier.fillMaxWidth()
                    .offset { IntOffset(x = 0, y = screenHeight.roundToInt()) }
                    .padding(horizontal = shadeHorizontalPadding),
        )
        NotificationStackCutoffGuideline(
            stackScrollView = notificationStackScrollView,
            viewModel = notificationsPlaceholderViewModel,
            modifier =
                Modifier.align(Alignment.BottomCenter).navigationBarsPadding().offset {
                    IntOffset(x = 0, y = screenHeight.roundToInt())
                }
                Modifier.align(Alignment.BottomCenter)
                    .navigationBarsPadding()
                    .offset { IntOffset(x = 0, y = screenHeight.roundToInt()) }
                    .padding(horizontal = shadeHorizontalPadding),
        )
    }
}