summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2018-05-17 16:30:46 -0700
committerTony Wickham <twickham@google.com>2018-05-17 16:30:46 -0700
commit7de574175bb81354cad47e472bdaba1dd28ac5b0 (patch)
tree49b989825cb5bfec59569e0ec5da54b1e3597624 /src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
parent48059dc7061b3144ba0b2f49d4ac4da7f7471752 (diff)
downloadandroid_packages_apps_Trebuchet-7de574175bb81354cad47e472bdaba1dd28ac5b0.tar.gz
android_packages_apps_Trebuchet-7de574175bb81354cad47e472bdaba1dd28ac5b0.tar.bz2
android_packages_apps_Trebuchet-7de574175bb81354cad47e472bdaba1dd28ac5b0.zip
Fix a couple issues with swiping up from home
- Don't update the animation to go from 0 to 1; instead, update the interpolator to clamp to the remaining progress (b/79773309) - Fix NPE that can happen in a race between the atomic animation ending and the non-atomic animation canceling/ending Change-Id: I313251dc5cbd7b931b043fc3e840bb4ab368a790
Diffstat (limited to 'src/com/android/launcher3/touch/AbstractStateChangeTouchController.java')
-rw-r--r--src/com/android/launcher3/touch/AbstractStateChangeTouchController.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
index e29250a5e..24382b7d0 100644
--- a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
+++ b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
@@ -209,11 +209,13 @@ public abstract class AbstractStateChangeTouchController
@Override
public void onAnimationSuccess(Animator animation) {
cancelAtomicComponentsController();
- mAtomicComponentsStartProgress = mCurrentAnimation.getProgressFraction();
- long duration = (long) (getShiftRange() * 2);
- mAtomicComponentsController = AnimatorPlaybackController.wrap(
- createAtomicAnimForState(mFromState, mToState, duration), duration);
- mAtomicComponentsController.dispatchOnStart();
+ if (mCurrentAnimation != null) {
+ mAtomicComponentsStartProgress = mCurrentAnimation.getProgressFraction();
+ long duration = (long) (getShiftRange() * 2);
+ mAtomicComponentsController = AnimatorPlaybackController.wrap(
+ createAtomicAnimForState(mFromState, mToState, duration), duration);
+ mAtomicComponentsController.dispatchOnStart();
+ }
}
});
}