summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2014-11-19 19:20:24 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-11-19 19:20:24 +0000
commit295543d9f203b9285c470e8f76b16a408e218152 (patch)
tree1e0e91cba01113d87d94906baecb321eff2c6c1d /src/com/android
parenta2cfddbd17e2093f9beb42073c77d802f37154e1 (diff)
parent08072c05bf9c760acff653545a795a0fae4bd917 (diff)
downloadandroid_packages_apps_Trebuchet-295543d9f203b9285c470e8f76b16a408e218152.tar.gz
android_packages_apps_Trebuchet-295543d9f203b9285c470e8f76b16a408e218152.tar.bz2
android_packages_apps_Trebuchet-295543d9f203b9285c470e8f76b16a408e218152.zip
am 08072c05: Prevent multiple workspace state animators from being started
* commit '08072c05bf9c760acff653545a795a0fae4bd917': Prevent multiple workspace state animators from being started
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/launcher3/Workspace.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 2b520c5f4..8bd799198 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -283,6 +283,7 @@ public class Workspace extends SmoothPagedView
private float[] mNewAlphas;
private int mLastChildCount = -1;
private float mTransitionProgress;
+ private Animator mStateAnimator = null;
float mOverScrollEffect = 0f;
@@ -2243,6 +2244,13 @@ public class Workspace extends SmoothPagedView
AnimatorSet anim = animated ? LauncherAnimUtils.createAnimatorSet() : null;
+ // We only want a single instance of a workspace animation to be running at once, so
+ // we cancel any incomplete transition.
+ if (mStateAnimator != null) {
+ mStateAnimator.cancel();
+ }
+ mStateAnimator = anim;
+
final State oldState = mState;
final boolean oldStateIsNormal = (oldState == State.NORMAL);
final boolean oldStateIsSpringLoaded = (oldState == State.SPRING_LOADED);
@@ -2440,6 +2448,12 @@ public class Workspace extends SmoothPagedView
anim.play(hotseatAlpha);
anim.play(pageIndicatorAlpha);
anim.setStartDelay(delay);
+ anim.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ mStateAnimator = null;
+ }
+ });
} else {
overviewPanel.setAlpha(finalOverviewPanelAlpha);
AlphaUpdateListener.updateVisibility(overviewPanel);