From 82d6aec97f47ce511b0cf44f32807894e29b3d33 Mon Sep 17 00:00:00 2001 From: omarmt Date: Wed, 13 Mar 2024 13:30:34 +0000 Subject: [Flexiglass] Add overscroll DSL This CL adds definitions of the overscroll behavior for certain scenes. Additionally, the swipe specification is adjusted to create a soft spring effect at the end of a transition. Note: The overscroll definitions are arranged alphabetically. Test: Manual tests Bug: 327257459 Flag: NA Change-Id: I873f62104f429e74e1185900490d50d87b00b022 --- .../scene/ui/composable/SceneContainerTransitions.kt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt index dea9485e916c..5349acd3678e 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt @@ -1,6 +1,11 @@ package com.android.systemui.scene.ui.composable +import androidx.compose.animation.core.Spring +import androidx.compose.animation.core.spring +import androidx.compose.foundation.gestures.Orientation import com.android.compose.animation.scene.transitions +import com.android.systemui.bouncer.ui.composable.Bouncer +import com.android.systemui.notifications.ui.composable.Notifications import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.shared.model.TransitionKeys.CollapseShadeInstantly import com.android.systemui.scene.shared.model.TransitionKeys.SlightlyFasterShadeCollapse @@ -27,6 +32,10 @@ import com.android.systemui.scene.ui.composable.transitions.shadeToQuickSettings * Please keep the list sorted alphabetically. */ val SceneContainerTransitions = transitions { + defaultSwipeSpec = spring(Spring.DampingRatioLowBouncy, Spring.StiffnessLow) + + // Scene transitions + from(Scenes.Bouncer, to = Scenes.Gone) { bouncerToGoneTransition() } from(Scenes.Gone, to = Scenes.Shade) { goneToShadeTransition() } from( @@ -64,4 +73,13 @@ val SceneContainerTransitions = transitions { from(Scenes.Lockscreen, to = Scenes.QuickSettings) { lockscreenToQuickSettingsTransition() } from(Scenes.Lockscreen, to = Scenes.Gone) { lockscreenToGoneTransition() } from(Scenes.Shade, to = Scenes.QuickSettings) { shadeToQuickSettingsTransition() } + + // Scene overscroll + + overscroll(Scenes.Bouncer, Orientation.Vertical) { + translate(Bouncer.Elements.Content, y = { absoluteDistance }) + } + overscroll(Scenes.Shade, Orientation.Vertical) { + translate(Notifications.Elements.NotificationScrim, y = { absoluteDistance }) + } } -- cgit v1.2.3-59-g8ed1b