Merge "Force-clear nav bar flags when phone finishes booting." into rvc-dev am: b236787b1a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11813213

Change-Id: I753dba8f00be562e0a6256f9477b875fc644a3ab
This commit is contained in:
TreeHugger Robot
2020-06-11 19:16:51 +00:00
committed by Automerger Merge Worker

View File

@@ -654,7 +654,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
@Override
public void onBouncerVisiblityChanged(boolean shown) {
synchronized (KeyguardViewMediator.this) {
adjustStatusBarLocked(shown);
adjustStatusBarLocked(shown, false);
}
}
@@ -2003,10 +2003,12 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
}
private void adjustStatusBarLocked() {
adjustStatusBarLocked(false /* forceHideHomeRecentsButtons */);
adjustStatusBarLocked(false /* forceHideHomeRecentsButtons */,
false /* forceClearFlags */);
}
private void adjustStatusBarLocked(boolean forceHideHomeRecentsButtons) {
private void adjustStatusBarLocked(boolean forceHideHomeRecentsButtons,
boolean forceClearFlags) {
if (mStatusBarManager == null) {
mStatusBarManager = (StatusBarManager)
mContext.getSystemService(Context.STATUS_BAR_SERVICE);
@@ -2018,6 +2020,13 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
// Disable aspects of the system/status/navigation bars that must not be re-enabled by
// windows that appear on top, ever
int flags = StatusBarManager.DISABLE_NONE;
// TODO (b/155663717) After restart, status bar will not properly hide home button
// unless disable is called to show un-hide it once first
if (forceClearFlags) {
mStatusBarManager.disable(flags);
}
if (forceHideHomeRecentsButtons || isShowingAndNotOccluded()) {
if (!mShowHomeOverLockscreen || !mInGestureNavigationMode) {
flags |= StatusBarManager.DISABLE_HOME;
@@ -2141,6 +2150,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
public void onBootCompleted() {
synchronized (this) {
mBootCompleted = true;
adjustStatusBarLocked(false, true);
if (mBootSendUserPresent) {
sendUserPresentBroadcast();
}