Don't re-animate global actions dialog dismissal
- If the GlobalActionsDialog is already dismissing,
don't restart its dismissing animation
Test: manual
Bug: 112347302
Change-Id: If240ffe37c4ce17d0e3fc13f2ae470b591f72f6a
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
index 6c94aa4..a195fc9 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
@@ -1399,6 +1399,7 @@
private final ColorExtractor mColorExtractor;
private boolean mKeyguardShowing;
private boolean mShouldDisplaySeparatedButton;
+ private boolean mShowing;
public ActionsDialog(Context context, OnClickListener clickListener, MyAdapter adapter,
OnItemLongClickListener longClickListener, boolean shouldDisplaySeparatedButton) {
@@ -1507,6 +1508,7 @@
@Override
public void show() {
super.show();
+ mShowing = true;
mGradientDrawable.setAlpha(0);
mHardwareLayout.setTranslationX(getAnimTranslation());
mHardwareLayout.setAlpha(0);
@@ -1526,6 +1528,10 @@
@Override
public void dismiss() {
+ if (!mShowing) {
+ return;
+ }
+ mShowing = false;
mHardwareLayout.setTranslationX(0);
mHardwareLayout.setAlpha(1);
mHardwareLayout.animate()
@@ -1544,6 +1550,7 @@
void dismissImmediately() {
super.dismiss();
+ mShowing = false;
}
private float getAnimTranslation() {