diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSDetailClipper.java b/packages/SystemUI/src/com/android/systemui/qs/QSDetailClipper.java index c454048d06493..daf8ca324c740 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSDetailClipper.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSDetailClipper.java @@ -104,4 +104,13 @@ public class QSDetailClipper { public void showBackground() { mBackground.showSecondLayer(); } + + /** + * Cancels the animator if it's running. + */ + public void cancelAnimator() { + if (mAnimator != null) { + mAnimator.cancel(); + } + } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java index 3e2f9dec58075..e5ed88c10a2e4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java @@ -208,6 +208,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene public void showImmediately() { if (!isShown) { setVisibility(VISIBLE); + mClipper.cancelAnimator(); mClipper.showBackground(); isShown = true; setTileSpecs(); @@ -230,6 +231,10 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene mUiEventLogger.log(QSEditEvent.QS_EDIT_CLOSED); isShown = false; mToolbar.dismissPopupMenus(); + mClipper.cancelAnimator(); + // Make sure we're not opening (because we're closing). Nobody can think we are + // customizing after the next two lines. + mOpening = false; setCustomizing(false); save(); if (animate) {