summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2025-01-20 08:12:57 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2025-01-20 08:12:57 -0800
commite80236e2bb556132b29a09ab7b97bf4c8859e125 (patch)
treea4344f0c8c56017e987dc22e3dfda540443320e9
parent5ed3fbe6921ce814ec4852278fb36deb2f6d35a4 (diff)
parentad1f84389b35282053fff84cbf8695aad91851c1 (diff)
Merge "Add test for scene animation when distance is not specified yet" into main
-rw-r--r--packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt24
1 files changed, 24 insertions, 0 deletions
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 35ff0044f4d6..059112abb1b1 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
@@ -36,6 +36,7 @@ import com.android.compose.animation.scene.TestScenes.SceneA
import com.android.compose.animation.scene.TestScenes.SceneB
import com.android.compose.animation.scene.TestScenes.SceneC
import com.android.compose.animation.scene.content.state.TransitionState
+import com.android.compose.animation.scene.content.state.TransitionState.Companion.DistanceUnspecified
import com.android.compose.animation.scene.content.state.TransitionState.Transition
import com.android.compose.animation.scene.subjects.assertThat
import com.android.compose.gesture.NestedDraggable
@@ -785,6 +786,29 @@ class DraggableHandlerTest {
}
@Test
+ fun animateWhenDistanceUnspecified() = runGestureTest {
+ layoutState.transitions = transitions {
+ from(SceneA, to = SceneB) {
+ distance = UserActionDistance { _, _, _ -> DistanceUnspecified }
+ }
+ }
+
+ val controller = onDragStarted(overSlop = up(fractionOfScreen = 0.9f))
+
+ // The distance is not computed yet, so we don't know the "progress" value yet.
+ assertTransition(fromScene = SceneA, toScene = SceneB, progress = 0.0f)
+
+ controller.onDragStoppedAnimateNow(
+ // We are animating from SceneA to SceneA, when the distance is still unspecified.
+ velocity = velocityThreshold,
+ onAnimationStart = {
+ assertTransition(fromScene = SceneA, toScene = SceneB, progress = 0.0f)
+ },
+ )
+ assertIdle(SceneA)
+ }
+
+ @Test
fun showOverlay() = runGestureTest {
mutableUserActionsA = mapOf(Swipe.Down to UserActionResult.ShowOverlay(OverlayA))