commit | 8c1af1b883345ad8ef2268556039bd7f176785eb | [log] [tgz] |
---|---|---|
author | Android Build Merger (Role) <noreply-android-build-merger@google.com> | Fri May 04 20:20:13 2018 +0000 |
committer | Android Build Merger (Role) <noreply-android-build-merger@google.com> | Fri May 04 20:20:13 2018 +0000 |
tree | 0734298a844d11edcc69e3a7e82dd46774f3848c | |
parent | 04b60811f9ff554fa3b62ab4a6c66fbc5f07a26f [diff] | |
parent | fa6cbbe15b4c2d698b20e10a28efc95e1fe8ada4 [diff] |
[automerger] Cleanup swipe detector in case of double cancel am: fa6cbbe15b Change-Id: Ide14cc49bf067667d1db8e65989118e6d93552b5
diff --git a/src/com/android/launcher3/anim/AnimatorPlaybackController.java b/src/com/android/launcher3/anim/AnimatorPlaybackController.java index 8e729e8..84085cb 100644 --- a/src/com/android/launcher3/anim/AnimatorPlaybackController.java +++ b/src/com/android/launcher3/anim/AnimatorPlaybackController.java
@@ -206,6 +206,10 @@ mOnCancelRunnable = runnable; } + public Runnable getOnCancelRunnable() { + return mOnCancelRunnable; + } + public static class AnimatorPlaybackControllerVL extends AnimatorPlaybackController { private final ValueAnimator[] mChildAnimations;
diff --git a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java index 658af95..bad4976 100644 --- a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java +++ b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
@@ -244,8 +244,13 @@ endProgress - Math.max(progress, 0)); } } else { + // Let the state manager know that the animation didn't go to the target state, + // but don't cancel ourselves (we already clean up when the animation completes). + Runnable onCancel = mCurrentAnimation.getOnCancelRunnable(); mCurrentAnimation.setOnCancelRunnable(null); mCurrentAnimation.dispatchOnCancel(); + mCurrentAnimation.setOnCancelRunnable(onCancel); + endProgress = 0; if (progress <= 0) { duration = 0;