Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5228fb35 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "STL: Default overscroll ProgressConverter slowly approaches 0.2f [1/2]" into main

parents 0c47e4cd fd31d994
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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.
+6 −1
Original line number Diff line number Diff line
@@ -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)
                    }
@@ -780,6 +781,7 @@ class ElementTest {
                    transitions =
                        transitions {
                            overscroll(SceneB, Orientation.Vertical) {
                                progressConverter = ProgressConverter.linear()
                                translate(TestElements.Foo, y = overscrollTranslateY)
                            }
                        }
@@ -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 })
                    }
@@ -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
@@ -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 })
                    }
@@ -1861,6 +1865,7 @@ class ElementTest {
                    SceneA,
                    transitions {
                        overscroll(SceneB, Orientation.Vertical) {
                            progressConverter = ProgressConverter.linear()
                            translate(TestElements.Foo, y = 15.dp)
                        }
                    }
+1 −0
Original line number Diff line number Diff line
@@ -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() })
                        }
                    }