diff options
author | Tony Wickham <twickham@google.com> | 2018-05-09 16:00:02 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-05-09 16:00:02 +0000 |
commit | e3a968090a78c16e3032842373ea5ee01c29e014 (patch) | |
tree | dbb8abbe873c702cbe1c35e9c26319015b83a9e4 /src | |
parent | 578890ad93b566e9ba6380fe1349b0dad7d93427 (diff) | |
parent | fa6cbbe15b4c2d698b20e10a28efc95e1fe8ada4 (diff) | |
download | android_packages_apps_Trebuchet-e3a968090a78c16e3032842373ea5ee01c29e014.tar.gz android_packages_apps_Trebuchet-e3a968090a78c16e3032842373ea5ee01c29e014.tar.bz2 android_packages_apps_Trebuchet-e3a968090a78c16e3032842373ea5ee01c29e014.zip |
Merge "Cleanup swipe detector in case of double cancel" into ub-launcher3-edmonton
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/anim/AnimatorPlaybackController.java | 4 | ||||
-rw-r--r-- | src/com/android/launcher3/touch/AbstractStateChangeTouchController.java | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/com/android/launcher3/anim/AnimatorPlaybackController.java b/src/com/android/launcher3/anim/AnimatorPlaybackController.java index 8e729e884..84085cb6c 100644 --- a/src/com/android/launcher3/anim/AnimatorPlaybackController.java +++ b/src/com/android/launcher3/anim/AnimatorPlaybackController.java @@ -206,6 +206,10 @@ public abstract class AnimatorPlaybackController implements ValueAnimator.Animat 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 658af955a..bad4976e4 100644 --- a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java +++ b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java @@ -244,8 +244,13 @@ public abstract class AbstractStateChangeTouchController 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; |