diff options
author | 2024-10-01 14:59:52 +0000 | |
---|---|---|
committer | 2024-10-03 10:58:42 +0000 | |
commit | 9d4ba69a9bc4130619ca3e282e3e38c6e17d54f4 (patch) | |
tree | fe1874784b4ce5ea5cc29dda28ee4c115ddb6787 | |
parent | f87fc38d2fef0235c85c0a193113a4c7e17d21c1 (diff) |
new defaultSwipeSpec
This new SwipeSpec uses a springs
Flexiglass: stiffness = 300f, dampingRatio = 0.8f
STL: stiffness = MediumLow (400f), dampingRatio = RatioLowBouncy (0.75f)
Test: Manually tested on Flexiglass
Bug: 345750458
Flag: com.android.systemui.scene_container
Change-Id: I476b02ebbdfbc0ede77ae60ee35203a6384f9217
3 files changed, 7 insertions, 2 deletions
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 ac58ab5296f6..9d5252e05bbd 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,5 +1,6 @@ package com.android.systemui.scene.ui.composable +import androidx.compose.animation.core.spring import androidx.compose.foundation.gestures.Orientation import com.android.compose.animation.scene.ProgressConverter import com.android.compose.animation.scene.TransitionKey @@ -44,6 +45,7 @@ val SceneContainerTransitions = transitions { // Overscroll progress starts linearly with some resistance (3f) and slowly approaches 0.2f defaultOverscrollProgressConverter = ProgressConverter.tanh(maxProgress = 0.2f, tilt = 3f) + defaultSwipeSpec = spring(stiffness = 300f, dampingRatio = 0.8f, visibilityThreshold = 0.5f) // Scene transitions diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitions.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitions.kt index b358faf2c418..879dc542552c 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitions.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitions.kt @@ -152,6 +152,7 @@ internal constructor( internal val DefaultSwipeSpec = spring( stiffness = Spring.StiffnessMediumLow, + dampingRatio = Spring.DampingRatioLowBouncy, visibilityThreshold = OffsetVisibilityThreshold, ) diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt index 2c41b35da998..d6935557fe1e 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt +++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt @@ -1203,7 +1203,8 @@ class DraggableHandlerTest { fun overscroll_releaseBetween0And100Percent_up() = runGestureTest { // Make scene B overscrollable. layoutState.transitions = transitions { - from(SceneA, to = SceneB) { spec = spring(dampingRatio = Spring.DampingRatioNoBouncy) } + defaultSwipeSpec = spring(dampingRatio = Spring.DampingRatioNoBouncy) + from(SceneA, to = SceneB) {} overscroll(SceneB, Orientation.Vertical) { fade(TestElements.Foo) } } @@ -1234,7 +1235,8 @@ class DraggableHandlerTest { fun overscroll_releaseBetween0And100Percent_down() = runGestureTest { // Make scene C overscrollable. layoutState.transitions = transitions { - from(SceneA, to = SceneC) { spec = spring(dampingRatio = Spring.DampingRatioNoBouncy) } + defaultSwipeSpec = spring(dampingRatio = Spring.DampingRatioNoBouncy) + from(SceneA, to = SceneC) {} overscroll(SceneC, Orientation.Vertical) { fade(TestElements.Foo) } } |