Loading src/com/android/launcher3/anim/FlingSpringAnim.java +8 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ public class FlingSpringAnim { private final FlingAnimation mFlingAnim; private SpringAnimation mSpringAnim; private final boolean mSkipFlingAnim; private float mTargetPosition; Loading @@ -57,6 +58,10 @@ public class FlingSpringAnim { .setMaxValue(maxValue); mTargetPosition = targetPosition; // We are already past the fling target, so skip it to avoid losing a frame of the spring. mSkipFlingAnim = startPosition <= minValue && startVelocity < 0 || startPosition >= maxValue && startVelocity > 0; mFlingAnim.addEndListener(((animation, canceled, value, velocity) -> { mSpringAnim = new SpringAnimation(object, property) .setStartValue(value) Loading Loading @@ -84,6 +89,9 @@ public class FlingSpringAnim { public void start() { mFlingAnim.start(); if (mSkipFlingAnim) { mFlingAnim.cancel(); } } public void end() { Loading Loading
src/com/android/launcher3/anim/FlingSpringAnim.java +8 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ public class FlingSpringAnim { private final FlingAnimation mFlingAnim; private SpringAnimation mSpringAnim; private final boolean mSkipFlingAnim; private float mTargetPosition; Loading @@ -57,6 +58,10 @@ public class FlingSpringAnim { .setMaxValue(maxValue); mTargetPosition = targetPosition; // We are already past the fling target, so skip it to avoid losing a frame of the spring. mSkipFlingAnim = startPosition <= minValue && startVelocity < 0 || startPosition >= maxValue && startVelocity > 0; mFlingAnim.addEndListener(((animation, canceled, value, velocity) -> { mSpringAnim = new SpringAnimation(object, property) .setStartValue(value) Loading Loading @@ -84,6 +89,9 @@ public class FlingSpringAnim { public void start() { mFlingAnim.start(); if (mSkipFlingAnim) { mFlingAnim.cancel(); } } public void end() { Loading