summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2018-05-09 16:00:02 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-05-09 16:00:02 +0000
commite3a968090a78c16e3032842373ea5ee01c29e014 (patch)
treedbb8abbe873c702cbe1c35e9c26319015b83a9e4 /src
parent578890ad93b566e9ba6380fe1349b0dad7d93427 (diff)
parentfa6cbbe15b4c2d698b20e10a28efc95e1fe8ada4 (diff)
downloadandroid_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.java4
-rw-r--r--src/com/android/launcher3/touch/AbstractStateChangeTouchController.java5
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;