diff options
author | Adam Cohen <adamcohen@google.com> | 2014-11-19 19:20:24 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-11-19 19:20:24 +0000 |
commit | 295543d9f203b9285c470e8f76b16a408e218152 (patch) | |
tree | 1e0e91cba01113d87d94906baecb321eff2c6c1d /src | |
parent | a2cfddbd17e2093f9beb42073c77d802f37154e1 (diff) | |
parent | 08072c05bf9c760acff653545a795a0fae4bd917 (diff) | |
download | android_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')
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 14 |
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); |