From 79a3f02f0f3a3e797c70d198e5b46bfb94097cfd Mon Sep 17 00:00:00 2001 From: Peter Kalauskas Date: Mon, 12 Jul 2021 14:07:49 -0700 Subject: [PATCH] Fix bug where QS tiles appeared behind keyguard Animations must be run when closing QS during reset. Otherwise, keyguard can enter a bad state where QS remains visible even though it should be hidden. Test: Open QS, tap user icon, double-tap blank area, ensure you are taken back to the lock screen and that the UI looks normal Fixes: 193041630 Change-Id: Id3bf85b33c50e833ca6639b04b76ac5b512cdd7c --- .../src/com/android/systemui/statusbar/phone/StatusBar.java | 4 +--- .../statusbar/phone/StatusBarKeyguardViewManager.java | 4 +++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 89711fa6b11e6..41ee7543d38bb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -685,9 +685,7 @@ public class StatusBar extends SystemUI implements DemoMode, new FalsingManager.FalsingBeliefListener() { @Override public void onFalse() { - // Hides quick settings. - mNotificationPanelViewController.resetViews(true); - // Hides bouncer and quick-quick settings. + // Hides quick settings, bouncer, and quick-quick settings. mStatusBarKeyguardViewManager.reset(true); } }; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java index 6f63b1780d685..8a7708aaa8c2b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -521,7 +521,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb @Override public void reset(boolean hideBouncerWhenShowing) { if (mShowing) { - mNotificationPanelViewController.closeQs(); + // Hide quick settings. + mNotificationPanelViewController.resetViews(/* animate= */ true); + // Hide bouncer and quick-quick settings. if (mOccluded && !mDozing) { mStatusBar.hideKeyguard(); if (hideBouncerWhenShowing || mBouncer.needsFullscreenBouncer()) {