From 469caae9ea03c8f4261b8fd6df25aa20b3647e9a Mon Sep 17 00:00:00 2001 From: Sriram Viswanathan Date: Tue, 22 Mar 2016 13:11:50 -0700 Subject: [PATCH] Disable recents button in carmode inside of NavigationBarView, instead of doing it from PhoneWindowManager, which doesnt maintain the mUiMode properly and in sync with that in the UiModeManager. In addition the re-layout / modifications in the content of the navigation bar in care mode are better consolidated in one place instead of many places. Bug: 27313462 Change-Id: I1bdc2324f649f19f879b71c695381587561498e9 --- .../android/systemui/statusbar/phone/NavigationBarView.java | 5 ++++- .../java/com/android/server/policy/PhoneWindowManager.java | 4 ---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 581b611288cee..d7fa5673e87a5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -372,7 +372,10 @@ public class NavigationBarView extends LinearLayout { mDisabledFlags = disabledFlags; final boolean disableHome = ((disabledFlags & View.STATUS_BAR_DISABLE_HOME) != 0); - boolean disableRecent = ((disabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0); + + // Disable recents always in car mode. + boolean disableRecent = ( + mCarMode || (disabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0); final boolean disableBack = ((disabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0) && ((mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) == 0); final boolean disableSearch = ((disabledFlags & View.STATUS_BAR_DISABLE_SEARCH) != 0); diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index f6f401af1b110..2e81132cebf8a 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -7190,10 +7190,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { tmpVisibility &= ~PolicyControl.adjustClearableFlags(win, View.SYSTEM_UI_CLEARABLE_FLAGS); } - if (mUiMode == Configuration.UI_MODE_TYPE_CAR) { - tmpVisibility |= StatusBarManager.DISABLE_RECENT; - } - final int fullscreenVisibility = updateLightStatusBarLw(0 /* vis */, mTopFullscreenOpaqueWindowState, mTopFullscreenOpaqueOrDimmingWindowState); final int dockedVisibility = updateLightStatusBarLw(0 /* vis */,