diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java index 8732524de07d0..45459fc337b56 100644 --- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java +++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java @@ -161,6 +161,11 @@ public class CarStatusBar extends StatusBar implements } buildNavBarContent(); + // If the UI was rebuilt (day/night change) while the keyguard was up we need to + // correctly respect that state. + if (mIsKeyguard) { + updateNavBarForKeyguardContent(); + } } private void addTemperatureViewToController(View v) { @@ -211,6 +216,13 @@ public class CarStatusBar extends StatusBar implements @Override public void showKeyguard() { super.showKeyguard(); + updateNavBarForKeyguardContent(); + } + + /** + * Switch to the keyguard applicable content contained in the nav bars + */ + private void updateNavBarForKeyguardContent() { getComponent(NotificationsUI.class).closeCarNotifications(0); if (mNavigationBarView != null) { mNavigationBarView.showKeyguardButtons(); diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarKeyguardViewManager.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarKeyguardViewManager.java index 8c6b9b0107a4c..59218688ce7ab 100644 --- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarKeyguardViewManager.java +++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarKeyguardViewManager.java @@ -64,4 +64,12 @@ public class CarStatusBarKeyguardViewManager extends StatusBarKeyguardViewManage CarStatusBar statusBar = (CarStatusBar) mStatusBar; statusBar.showUserSwitcher(); } + + /** + * Do nothing on this change. + * The base class hides the keyguard which for automotive we want to avoid b/c this would happen + * on a configuration change due to day/night (headlight state). + */ + @Override + public void onDensityOrFontScaleChanged() { } } 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 60b16593bd73e..fc5cbeb7af3dc 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -538,7 +538,7 @@ public class StatusBar extends SystemUI implements DemoMode, private BatteryController mBatteryController; protected boolean mPanelExpanded; private UiModeManager mUiModeManager; - private boolean mIsKeyguard; + protected boolean mIsKeyguard; private LogMaker mStatusBarStateLog; protected NotificationIconAreaController mNotificationIconAreaController; @Nullable private View mAmbientIndicationContainer;