diff options
3 files changed, 13 insertions, 8 deletions
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/media/controls/ui/composable/MediaCarousel.kt b/packages/SystemUI/compose/features/src/com/android/systemui/media/controls/ui/composable/MediaCarousel.kt index d629eec1c45a..f8bd633d99a6 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/media/controls/ui/composable/MediaCarousel.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/media/controls/ui/composable/MediaCarousel.kt @@ -35,7 +35,7 @@ import com.android.systemui.media.controls.ui.view.MediaHost import com.android.systemui.res.R import com.android.systemui.util.animation.MeasurementInput -private object MediaCarousel { +object MediaCarousel { object Elements { internal val Content = ElementKey(debugName = "MediaCarouselContent", scenePicker = MediaScenePicker) diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/media/controls/ui/composable/MediaScenePicker.kt b/packages/SystemUI/compose/features/src/com/android/systemui/media/controls/ui/composable/MediaScenePicker.kt index 039813390f1e..a22bc34381fd 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/media/controls/ui/composable/MediaScenePicker.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/media/controls/ui/composable/MediaScenePicker.kt @@ -25,7 +25,7 @@ import com.android.systemui.scene.shared.model.Scenes /** [ElementScenePicker] implementation for the media carousel object. */ object MediaScenePicker : ElementScenePicker { - private val shadeLockscreenFraction = 0.65f + const val SHADE_FRACTION = 0.66f private val scenes = setOf( Scenes.Lockscreen, @@ -44,7 +44,7 @@ object MediaScenePicker : ElementScenePicker { return when { // TODO: 352052894 - update with the actual scene picking transition.isTransitioning(from = Scenes.Lockscreen, to = Scenes.Shade) -> { - if (transition.progress < shadeLockscreenFraction) { + if (transition.progress < SHADE_FRACTION) { Scenes.Lockscreen } else { Scenes.Shade @@ -53,7 +53,7 @@ object MediaScenePicker : ElementScenePicker { // TODO: 345467290 - update with the actual scene picking transition.isTransitioning(from = Scenes.Shade, to = Scenes.Lockscreen) -> { - if (transition.progress < 1f - shadeLockscreenFraction) { + if (transition.progress < 1f - SHADE_FRACTION) { Scenes.Shade } else { Scenes.Lockscreen diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/ToShadeTransition.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/ToShadeTransition.kt index df47cbab4b90..7d46c7570dac 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/ToShadeTransition.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/ToShadeTransition.kt @@ -25,6 +25,8 @@ import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.TransitionBuilder import com.android.compose.animation.scene.UserActionDistance import com.android.compose.animation.scene.UserActionDistanceScope +import com.android.systemui.media.controls.ui.composable.MediaCarousel +import com.android.systemui.media.controls.ui.composable.MediaScenePicker import com.android.systemui.notifications.ui.composable.Notifications import com.android.systemui.qs.ui.composable.QuickSettings import com.android.systemui.scene.shared.model.Scenes @@ -59,10 +61,13 @@ fun TransitionBuilder.toShadeTransition( fade(QuickSettings.Elements.SplitShadeQuickSettings) fade(QuickSettings.Elements.FooterActions) } - translate( - QuickSettings.Elements.QuickQuickSettings, - y = -ShadeHeader.Dimensions.CollapsedHeight * .66f - ) + + val qsTranslation = ShadeHeader.Dimensions.CollapsedHeight * MediaScenePicker.SHADE_FRACTION + val qsExpansionDiff = + ShadeHeader.Dimensions.ExpandedHeight - ShadeHeader.Dimensions.CollapsedHeight + + translate(QuickSettings.Elements.QuickQuickSettings, y = -qsTranslation) + translate(MediaCarousel.Elements.Content, y = -(qsExpansionDiff + qsTranslation)) translate(Notifications.Elements.NotificationScrim, Edge.Top, false) } |