From 78a3d60a5e6915d378f4578d95e6809259622cb4 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Thu, 16 Mar 2017 12:12:57 -0400 Subject: [PATCH] Fix QS editing from lock screen QS was getting a callback making it think the lock screen was being shown and it caused it to hide, make sure we don't hide when the doing the open animation as we expect that we may be coming from the lock screen. Change-Id: I5c35e3f7d02f068ea53c71742945290c137b4551 Fixes: 36048979 Test: Click QS edit on lock screen --- .../android/systemui/qs/customize/QSCustomizer.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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 c0fb4d5e956c8..198cb9e7689f0 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java @@ -41,10 +41,10 @@ import com.android.internal.logging.nano.MetricsProto; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.plugins.qs.QS; -import com.android.systemui.qs.QSDetailClipper; import com.android.systemui.plugins.qs.QSTile; -import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer; +import com.android.systemui.qs.QSDetailClipper; import com.android.systemui.qs.QSTileHost; +import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer; import com.android.systemui.statusbar.policy.KeyguardMonitor; import com.android.systemui.statusbar.policy.KeyguardMonitor.Callback; @@ -74,6 +74,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene private boolean mFinishedFetchingTiles = false; private int mX; private int mY; + private boolean mOpening; public QSCustomizer(Context context, AttributeSet attrs) { super(new ContextThemeWrapper(context, R.style.edit_theme), attrs); @@ -140,6 +141,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene mY = y; MetricsLogger.visible(getContext(), MetricsProto.MetricsEvent.QS_EDIT); isShown = true; + mOpening = true; setTileSpecs(); setVisibility(View.VISIBLE); mClipper.animateCircularClip(x, y, true, mExpandAnimationListener); @@ -226,7 +228,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene } private final Callback mKeyguardCallback = () -> { - if (Dependency.get(KeyguardMonitor.class).isShowing()) { + if (Dependency.get(KeyguardMonitor.class).isShowing() && !mOpening) { hide(0, 0); } }; @@ -237,11 +239,13 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene if (isShown) { setCustomizing(true); } + mOpening = false; mNotifQsContainer.setCustomizerAnimating(false); } @Override public void onAnimationCancel(Animator animation) { + mOpening = false; mNotifQsContainer.setCustomizerAnimating(false); } };