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

Commit 765519b5 authored by Anton Potapov's avatar Anton Potapov Committed by Android (Google) Code Review
Browse files

Merge "Add UMO paddings for the flexiglass to align it's position in various scenarious" into main

parents c13010e0 25d77eb0
Loading
Loading
Loading
Loading
+13 −30
Original line number Original line Diff line number Diff line
@@ -21,7 +21,6 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.getValue
@@ -70,10 +69,7 @@ constructor(
    override val id: String = "default"
    override val id: String = "default"


    @Composable
    @Composable
    override fun SceneScope.Content(
    override fun SceneScope.Content(viewModel: LockscreenContentViewModel, modifier: Modifier) {
        viewModel: LockscreenContentViewModel,
        modifier: Modifier,
    ) {
        val isUdfpsVisible = viewModel.isUdfpsVisible
        val isUdfpsVisible = viewModel.isUdfpsVisible
        val isShadeLayoutWide by viewModel.isShadeLayoutWide.collectAsStateWithLifecycle()
        val isShadeLayoutWide by viewModel.isShadeLayoutWide.collectAsStateWithLifecycle()
        val unfoldTranslations by viewModel.unfoldTranslations.collectAsStateWithLifecycle()
        val unfoldTranslations by viewModel.unfoldTranslations.collectAsStateWithLifecycle()
@@ -85,22 +81,18 @@ constructor(
            with(notificationSection) { HeadsUpNotifications() }
            with(notificationSection) { HeadsUpNotifications() }
        }
        }


        LockscreenLongPress(
        LockscreenLongPress(viewModel = viewModel.touchHandling, modifier = modifier) {
            viewModel = viewModel.touchHandling,
            onSettingsMenuPlaced ->
            modifier = modifier,
        ) { onSettingsMenuPlaced ->
            Layout(
            Layout(
                content = {
                content = {
                    // Constrained to above the lock icon.
                    // Constrained to above the lock icon.
                    Column(
                    Column(modifier = Modifier.fillMaxSize()) {
                        modifier = Modifier.fillMaxSize(),
                    ) {
                        with(statusBarSection) {
                        with(statusBarSection) {
                            StatusBar(
                            StatusBar(
                                modifier =
                                modifier =
                                    Modifier.fillMaxWidth()
                                    Modifier.fillMaxWidth()
                                        .padding(
                                        .padding(
                                            horizontal = { unfoldTranslations.start.roundToInt() },
                                            horizontal = { unfoldTranslations.start.roundToInt() }
                                        )
                                        )
                            )
                            )
                        }
                        }
@@ -109,13 +101,14 @@ constructor(
                            with(topAreaSection) {
                            with(topAreaSection) {
                                DefaultClockLayout(
                                DefaultClockLayout(
                                    smartSpacePaddingTop = viewModel::getSmartSpacePaddingTop,
                                    smartSpacePaddingTop = viewModel::getSmartSpacePaddingTop,
                                    isShadeLayoutWide = isShadeLayoutWide,
                                    modifier =
                                    modifier =
                                        Modifier.thenIf(isShadeLayoutWide) {
                                        Modifier.thenIf(isShadeLayoutWide) {
                                                Modifier.fillMaxWidth(0.5f)
                                                Modifier.fillMaxWidth(0.5f)
                                            }
                                            }
                                            .graphicsLayer {
                                            .graphicsLayer {
                                                translationX = unfoldTranslations.start
                                                translationX = unfoldTranslations.start
                                            }
                                            },
                                )
                                )
                            }
                            }
                            if (isShadeLayoutWide && !isBypassEnabled) {
                            if (isShadeLayoutWide && !isBypassEnabled) {
@@ -127,7 +120,7 @@ constructor(
                                        modifier =
                                        modifier =
                                            Modifier.fillMaxWidth(0.5f)
                                            Modifier.fillMaxWidth(0.5f)
                                                .fillMaxHeight()
                                                .fillMaxHeight()
                                                .align(alignment = Alignment.TopEnd)
                                                .align(alignment = Alignment.TopEnd),
                                    )
                                    )
                                }
                                }
                            }
                            }
@@ -142,7 +135,7 @@ constructor(
                                    AodNotificationIcons(
                                    AodNotificationIcons(
                                        modifier =
                                        modifier =
                                            Modifier.align(alignment = Alignment.TopStart)
                                            Modifier.align(alignment = Alignment.TopStart)
                                                .padding(start = aodIconPadding),
                                                .padding(start = aodIconPadding)
                                    )
                                    )
                                    Notifications(
                                    Notifications(
                                        areNotificationsVisible = areNotificationsVisible,
                                        areNotificationsVisible = areNotificationsVisible,
@@ -152,7 +145,7 @@ constructor(
                                }
                                }
                            } else {
                            } else {
                                AodNotificationIcons(
                                AodNotificationIcons(
                                    modifier = Modifier.padding(start = aodIconPadding),
                                    modifier = Modifier.padding(start = aodIconPadding)
                                )
                                )
                            }
                            }
                        }
                        }
@@ -205,11 +198,7 @@ constructor(
                val endShortcutMeasurable = measurables[4]
                val endShortcutMeasurable = measurables[4]
                val settingsMenuMeasurable = measurables[5]
                val settingsMenuMeasurable = measurables[5]


                val noMinConstraints =
                val noMinConstraints = constraints.copy(minWidth = 0, minHeight = 0)
                    constraints.copy(
                        minWidth = 0,
                        minHeight = 0,
                    )
                val lockIconPlaceable = lockIconMeasurable.measure(noMinConstraints)
                val lockIconPlaceable = lockIconMeasurable.measure(noMinConstraints)
                val lockIconBounds =
                val lockIconBounds =
                    IntRect(
                    IntRect(
@@ -235,14 +224,8 @@ constructor(
                val settingsMenuPlaceable = settingsMenuMeasurable.measure(noMinConstraints)
                val settingsMenuPlaceable = settingsMenuMeasurable.measure(noMinConstraints)


                layout(constraints.maxWidth, constraints.maxHeight) {
                layout(constraints.maxWidth, constraints.maxHeight) {
                    aboveLockIconPlaceable.place(
                    aboveLockIconPlaceable.place(x = 0, y = 0)
                        x = 0,
                    lockIconPlaceable.place(x = lockIconBounds.left, y = lockIconBounds.top)
                        y = 0,
                    )
                    lockIconPlaceable.place(
                        x = lockIconBounds.left,
                        y = lockIconBounds.top,
                    )
                    belowLockIconPlaceable.place(
                    belowLockIconPlaceable.place(
                        x = 0,
                        x = 0,
                        y = constraints.maxHeight - belowLockIconPlaceable.height,
                        y = constraints.maxHeight - belowLockIconPlaceable.height,
+15 −3
Original line number Original line Diff line number Diff line
@@ -17,9 +17,11 @@
package com.android.systemui.keyguard.ui.composable.section
package com.android.systemui.keyguard.ui.composable.section


import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.dimensionResource
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.compose.animation.scene.SceneScope
import com.android.compose.animation.scene.SceneScope
import com.android.systemui.keyguard.ui.viewmodel.KeyguardMediaViewModel
import com.android.systemui.keyguard.ui.viewmodel.KeyguardMediaViewModel
@@ -27,6 +29,7 @@ import com.android.systemui.media.controls.ui.composable.MediaCarousel
import com.android.systemui.media.controls.ui.controller.MediaCarouselController
import com.android.systemui.media.controls.ui.controller.MediaCarouselController
import com.android.systemui.media.controls.ui.view.MediaHost
import com.android.systemui.media.controls.ui.view.MediaHost
import com.android.systemui.media.dagger.MediaModule
import com.android.systemui.media.dagger.MediaModule
import com.android.systemui.res.R
import javax.inject.Inject
import javax.inject.Inject
import javax.inject.Named
import javax.inject.Named


@@ -39,13 +42,22 @@ constructor(
) {
) {


    @Composable
    @Composable
    fun SceneScope.KeyguardMediaCarousel() {
    fun SceneScope.KeyguardMediaCarousel(
        isShadeLayoutWide: Boolean,
        modifier: Modifier = Modifier,
    ) {
        val isMediaVisible by keyguardMediaViewModel.isMediaVisible.collectAsStateWithLifecycle()
        val isMediaVisible by keyguardMediaViewModel.isMediaVisible.collectAsStateWithLifecycle()

        val horizontalPadding =
            if (isShadeLayoutWide) {
                dimensionResource(id = R.dimen.notification_side_paddings)
            } else {
                dimensionResource(id = R.dimen.notification_side_paddings) +
                    dimensionResource(id = R.dimen.notification_panel_margin_horizontal)
            }
        MediaCarousel(
        MediaCarousel(
            isVisible = isMediaVisible,
            isVisible = isMediaVisible,
            mediaHost = mediaHost,
            mediaHost = mediaHost,
            modifier = Modifier.fillMaxWidth(),
            modifier = modifier.fillMaxWidth().padding(horizontal = horizontalPadding),
            carouselController = mediaCarouselController,
            carouselController = mediaCarouselController,
        )
        )
    }
    }
+2 −1
Original line number Original line Diff line number Diff line
@@ -63,6 +63,7 @@ constructor(
    @Composable
    @Composable
    fun SceneScope.DefaultClockLayout(
    fun SceneScope.DefaultClockLayout(
        smartSpacePaddingTop: (Resources) -> Int,
        smartSpacePaddingTop: (Resources) -> Int,
        isShadeLayoutWide: Boolean,
        modifier: Modifier = Modifier,
        modifier: Modifier = Modifier,
    ) {
    ) {
        val currentClockLayout by clockViewModel.currentClockLayout.collectAsStateWithLifecycle()
        val currentClockLayout by clockViewModel.currentClockLayout.collectAsStateWithLifecycle()
@@ -128,7 +129,7 @@ constructor(
                    )
                    )
                }
                }
            }
            }
            with(mediaCarouselSection) { KeyguardMediaCarousel() }
            with(mediaCarouselSection) { KeyguardMediaCarousel(isShadeLayoutWide) }
        }
        }
    }
    }


+2 −2
Original line number Original line Diff line number Diff line
@@ -79,8 +79,8 @@ object QuickSettings {
        val MediaLandscapeTopOffset = ValueKey("MediaLandscapeTopOffset")
        val MediaLandscapeTopOffset = ValueKey("MediaLandscapeTopOffset")


        object MediaOffset {
        object MediaOffset {
            // Brightness + padding
            // Brightness
            val InQS = 92.dp
            val InQS = 60.dp
            val Default = 0.dp
            val Default = 0.dp


            @Composable
            @Composable
+6 −1
Original line number Original line Diff line number Diff line
@@ -74,6 +74,7 @@ import com.android.compose.animation.scene.UserActionResult
import com.android.compose.animation.scene.animateSceneDpAsState
import com.android.compose.animation.scene.animateSceneDpAsState
import com.android.compose.animation.scene.animateSceneFloatAsState
import com.android.compose.animation.scene.animateSceneFloatAsState
import com.android.compose.animation.scene.content.state.TransitionState
import com.android.compose.animation.scene.content.state.TransitionState
import com.android.compose.modifiers.padding
import com.android.compose.modifiers.thenIf
import com.android.compose.modifiers.thenIf
import com.android.compose.windowsizeclass.LocalWindowSizeClass
import com.android.compose.windowsizeclass.LocalWindowSizeClass
import com.android.systemui.battery.BatteryMeterViewController
import com.android.systemui.battery.BatteryMeterViewController
@@ -379,7 +380,11 @@ private fun SceneScope.QuickSettingsScene(
                            mediaHost = mediaHost,
                            mediaHost = mediaHost,
                            modifier =
                            modifier =
                                Modifier.fillMaxWidth()
                                Modifier.fillMaxWidth()
                                    .layoutId(QSMediaMeasurePolicy.LayoutId.Media),
                                    .layoutId(QSMediaMeasurePolicy.LayoutId.Media)
                                    .padding(
                                        horizontal =
                                            dimensionResource(id = R.dimen.qs_horizontal_margin)
                                    ),
                            carouselController = mediaCarouselController,
                            carouselController = mediaCarouselController,
                        )
                        )
                    }
                    }
Loading