AOD: Fix navbar flicker when launching assistant

When reset() gets called during unocclusion, we were hiding the
keyguard even though it is still needed while dozing; instead,
reset is now actually called after dozing finishes.

Test: Trigger assistant from AOD; verify navigation bar buttons do not show
Fixes: 64164106
Change-Id: Ic29cf40ade7d3cd492723a3f859f8a7734edad93
This commit is contained in:
Adrian Roos
2017-08-04 15:04:43 +02:00
parent 8e9984ee83
commit 7a56d1a443

View File

@@ -201,7 +201,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
*/
public void reset(boolean hideBouncerWhenShowing) {
if (mShowing) {
if (mOccluded) {
if (mOccluded && !mDozing) {
mStatusBar.hideKeyguard();
mStatusBar.stopWaitingForKeyguardExit();
mBouncer.hide(false /* destroyView */);
@@ -292,9 +292,12 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
}
mStatusBarWindowManager.setKeyguardOccluded(occluded);
// If Keyguard is reshown, don't hide the bouncer as it might just have been requested by
// a FLAG_DISMISS_KEYGUARD_ACTIVITY.
reset(false /* hideBouncerWhenShowing*/);
// setDozing(false) will call reset once we stop dozing.
if (!mDozing) {
// If Keyguard is reshown, don't hide the bouncer as it might just have been requested
// by a FLAG_DISMISS_KEYGUARD_ACTIVITY.
reset(false /* hideBouncerWhenShowing*/);
}
if (animate && !occluded && mShowing) {
mStatusBar.animateKeyguardUnoccluding();
}