Loading packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/TransitionDsl.kt +2 −2 Original line number Diff line number Diff line Loading @@ -523,8 +523,8 @@ fun interface ProgressConverter { fun convert(progress: Float): Float companion object { /** Keeps scrolling linearly */ val Default = linear() /** Starts linearly with some resistance and slowly approaches to 0.2f */ val Default = tanh(maxProgress = 0.2f, tilt = 3f) /** * The scroll stays linear, with [factor] you can control how much resistance there is. Loading packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt +6 −1 Original line number Diff line number Diff line Loading @@ -724,6 +724,7 @@ class ElementTest { layoutHeight = layoutHeight, sceneTransitions = { overscroll(SceneB, Orientation.Vertical) { progressConverter = ProgressConverter.linear() // On overscroll 100% -> Foo should translate by overscrollTranslateY translate(TestElements.Foo, y = overscrollTranslateY) } Loading Loading @@ -780,6 +781,7 @@ class ElementTest { transitions = transitions { overscroll(SceneB, Orientation.Vertical) { progressConverter = ProgressConverter.linear() translate(TestElements.Foo, y = overscrollTranslateY) } } Loading Loading @@ -921,6 +923,7 @@ class ElementTest { layoutHeight = layoutHeight, sceneTransitions = { overscroll(SceneB, Orientation.Vertical) { progressConverter = ProgressConverter.linear() // On overscroll 100% -> Foo should translate by layoutHeight translate(TestElements.Foo, y = { absoluteDistance }) } Loading Loading @@ -1015,7 +1018,7 @@ class ElementTest { layoutHeight = layoutHeight, sceneTransitions = { // Overscroll progress will be linear (by default) defaultOverscrollProgressConverter = ProgressConverter { it } defaultOverscrollProgressConverter = ProgressConverter.linear() overscroll(SceneB, Orientation.Vertical) { // This override the defaultOverscrollProgressConverter Loading Loading @@ -1125,6 +1128,7 @@ class ElementTest { ) overscroll(SceneB, Orientation.Vertical) { progressConverter = ProgressConverter.linear() // On overscroll 100% -> Foo should translate by layoutHeight translate(TestElements.Foo, y = { absoluteDistance }) } Loading Loading @@ -1861,6 +1865,7 @@ class ElementTest { SceneA, transitions { overscroll(SceneB, Orientation.Vertical) { progressConverter = ProgressConverter.linear() translate(TestElements.Foo, y = 15.dp) } } Loading packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt +1 −0 Original line number Diff line number Diff line Loading @@ -614,6 +614,7 @@ class SwipeToSceneTest { from(SceneA, to = SceneB) { distance = FixedDistance(swipeDistance) } overscroll(SceneB, Orientation.Vertical) { progressConverter = ProgressConverter.linear() translate(TestElements.Foo, x = { 20.dp.toPx() }, y = { 30.dp.toPx() }) } } Loading Loading
packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/TransitionDsl.kt +2 −2 Original line number Diff line number Diff line Loading @@ -523,8 +523,8 @@ fun interface ProgressConverter { fun convert(progress: Float): Float companion object { /** Keeps scrolling linearly */ val Default = linear() /** Starts linearly with some resistance and slowly approaches to 0.2f */ val Default = tanh(maxProgress = 0.2f, tilt = 3f) /** * The scroll stays linear, with [factor] you can control how much resistance there is. Loading
packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt +6 −1 Original line number Diff line number Diff line Loading @@ -724,6 +724,7 @@ class ElementTest { layoutHeight = layoutHeight, sceneTransitions = { overscroll(SceneB, Orientation.Vertical) { progressConverter = ProgressConverter.linear() // On overscroll 100% -> Foo should translate by overscrollTranslateY translate(TestElements.Foo, y = overscrollTranslateY) } Loading Loading @@ -780,6 +781,7 @@ class ElementTest { transitions = transitions { overscroll(SceneB, Orientation.Vertical) { progressConverter = ProgressConverter.linear() translate(TestElements.Foo, y = overscrollTranslateY) } } Loading Loading @@ -921,6 +923,7 @@ class ElementTest { layoutHeight = layoutHeight, sceneTransitions = { overscroll(SceneB, Orientation.Vertical) { progressConverter = ProgressConverter.linear() // On overscroll 100% -> Foo should translate by layoutHeight translate(TestElements.Foo, y = { absoluteDistance }) } Loading Loading @@ -1015,7 +1018,7 @@ class ElementTest { layoutHeight = layoutHeight, sceneTransitions = { // Overscroll progress will be linear (by default) defaultOverscrollProgressConverter = ProgressConverter { it } defaultOverscrollProgressConverter = ProgressConverter.linear() overscroll(SceneB, Orientation.Vertical) { // This override the defaultOverscrollProgressConverter Loading Loading @@ -1125,6 +1128,7 @@ class ElementTest { ) overscroll(SceneB, Orientation.Vertical) { progressConverter = ProgressConverter.linear() // On overscroll 100% -> Foo should translate by layoutHeight translate(TestElements.Foo, y = { absoluteDistance }) } Loading Loading @@ -1861,6 +1865,7 @@ class ElementTest { SceneA, transitions { overscroll(SceneB, Orientation.Vertical) { progressConverter = ProgressConverter.linear() translate(TestElements.Foo, y = 15.dp) } } Loading
packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt +1 −0 Original line number Diff line number Diff line Loading @@ -614,6 +614,7 @@ class SwipeToSceneTest { from(SceneA, to = SceneB) { distance = FixedDistance(swipeDistance) } overscroll(SceneB, Orientation.Vertical) { progressConverter = ProgressConverter.linear() translate(TestElements.Foo, x = { 20.dp.toPx() }, y = { 30.dp.toPx() }) } } Loading