SystemUI: Disable alternate nav bar in car mode am: 01915a1a2b

am: b1e5d7c467

Change-Id: I25aeb9fabaadcff620214b65cd19a006ce6742a0
This commit is contained in:
Justin Paupore
2016-09-30 01:21:47 +00:00
committed by android-build-merger
2 changed files with 47 additions and 33 deletions

View File

@@ -59,6 +59,8 @@ public class NavigationBarView extends LinearLayout {
// slippery nav bar when everything is disabled, e.g. during setup // slippery nav bar when everything is disabled, e.g. during setup
final static boolean SLIPPERY_WHEN_DISABLED = true; final static boolean SLIPPERY_WHEN_DISABLED = true;
final static boolean ALTERNATE_CAR_MODE_UI = false;
final Display mDisplay; final Display mDisplay;
View mCurrentView = null; View mCurrentView = null;
View[] mRotatedViews = new View[4]; View[] mRotatedViews = new View[4];
@@ -94,7 +96,8 @@ public class NavigationBarView extends LinearLayout {
private OnVerticalChangedListener mOnVerticalChangedListener; private OnVerticalChangedListener mOnVerticalChangedListener;
private boolean mLayoutTransitionsEnabled = true; private boolean mLayoutTransitionsEnabled = true;
private boolean mWakeAndUnlocking; private boolean mWakeAndUnlocking;
private boolean mCarMode = false; private boolean mUseCarModeUi = false;
private boolean mInCarMode = false;
private boolean mDockedStackExists; private boolean mDockedStackExists;
private final SparseArray<ButtonDispatcher> mButtonDisatchers = new SparseArray<>(); private final SparseArray<ButtonDispatcher> mButtonDisatchers = new SparseArray<>();
@@ -290,7 +293,9 @@ public class NavigationBarView extends LinearLayout {
mMenuIcon = ctx.getDrawable(R.drawable.ic_sysbar_menu); mMenuIcon = ctx.getDrawable(R.drawable.ic_sysbar_menu);
mImeIcon = ctx.getDrawable(R.drawable.ic_ime_switcher_default); mImeIcon = ctx.getDrawable(R.drawable.ic_ime_switcher_default);
updateCarModeIcons(ctx); if (ALTERNATE_CAR_MODE_UI) {
updateCarModeIcons(ctx);
}
} }
} }
@@ -341,14 +346,14 @@ public class NavigationBarView extends LinearLayout {
// carmode, respectively. Recents are not available in CarMode in nav bar so change // carmode, respectively. Recents are not available in CarMode in nav bar so change
// to recent icon is not required. // to recent icon is not required.
Drawable backIcon = (backAlt) Drawable backIcon = (backAlt)
? getBackIconWithAlt(mCarMode, mVertical) ? getBackIconWithAlt(mUseCarModeUi, mVertical)
: getBackIcon(mCarMode, mVertical); : getBackIcon(mUseCarModeUi, mVertical);
getBackButton().setImageDrawable(backIcon); getBackButton().setImageDrawable(backIcon);
updateRecentsIcon(); updateRecentsIcon();
if (mCarMode) { if (mUseCarModeUi) {
getHomeButton().setImageDrawable(mHomeCarModeIcon); getHomeButton().setImageDrawable(mHomeCarModeIcon);
} else { } else {
getHomeButton().setImageDrawable(mHomeDefaultIcon); getHomeButton().setImageDrawable(mHomeDefaultIcon);
@@ -376,9 +381,9 @@ public class NavigationBarView extends LinearLayout {
final boolean disableHome = ((disabledFlags & View.STATUS_BAR_DISABLE_HOME) != 0); final boolean disableHome = ((disabledFlags & View.STATUS_BAR_DISABLE_HOME) != 0);
// Disable recents always in car mode. // Always disable recents when alternate car mode UI is active.
boolean disableRecent = ( boolean disableRecent = mUseCarModeUi
mCarMode || (disabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0); || ((disabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0);
final boolean disableBack = ((disabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0) final boolean disableBack = ((disabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0)
&& ((mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) == 0); && ((mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) == 0);
final boolean disableSearch = ((disabledFlags & View.STATUS_BAR_DISABLE_SEARCH) != 0); final boolean disableSearch = ((disabledFlags & View.STATUS_BAR_DISABLE_SEARCH) != 0);
@@ -623,14 +628,19 @@ public class NavigationBarView extends LinearLayout {
boolean uiCarModeChanged = false; boolean uiCarModeChanged = false;
if (newConfig != null) { if (newConfig != null) {
int uiMode = newConfig.uiMode & Configuration.UI_MODE_TYPE_MASK; int uiMode = newConfig.uiMode & Configuration.UI_MODE_TYPE_MASK;
if (mCarMode && uiMode != Configuration.UI_MODE_TYPE_CAR) { final boolean isCarMode = (uiMode == Configuration.UI_MODE_TYPE_CAR);
mCarMode = false;
uiCarModeChanged = true; if (isCarMode != mInCarMode) {
getHomeButton().setCarMode(mCarMode); mInCarMode = isCarMode;
} else if (uiMode == Configuration.UI_MODE_TYPE_CAR) { getHomeButton().setCarMode(isCarMode);
mCarMode = true;
uiCarModeChanged = true; if (ALTERNATE_CAR_MODE_UI) {
getHomeButton().setCarMode(mCarMode); mUseCarModeUi = isCarMode;
uiCarModeChanged = true;
} else {
// Don't use car mode behavior if ALTERNATE_CAR_MODE_UI not set.
mUseCarModeUi = false;
}
} }
} }
return uiCarModeChanged; return uiCarModeChanged;

View File

@@ -182,6 +182,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
// No longer recommended for desk docks; // No longer recommended for desk docks;
static final boolean ENABLE_DESK_DOCK_HOME_CAPTURE = false; static final boolean ENABLE_DESK_DOCK_HOME_CAPTURE = false;
static final boolean ALTERNATE_CAR_MODE_NAV_SIZE = false;
static final int SHORT_PRESS_POWER_NOTHING = 0; static final int SHORT_PRESS_POWER_NOTHING = 0;
static final int SHORT_PRESS_POWER_GO_TO_SLEEP = 1; static final int SHORT_PRESS_POWER_GO_TO_SLEEP = 1;
static final int SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP = 2; static final int SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP = 2;
@@ -2453,22 +2455,24 @@ public class PhoneWindowManager implements WindowManagerPolicy {
mNavigationBarWidthForRotationDefault[mSeascapeRotation] = mNavigationBarWidthForRotationDefault[mSeascapeRotation] =
res.getDimensionPixelSize(com.android.internal.R.dimen.navigation_bar_width); res.getDimensionPixelSize(com.android.internal.R.dimen.navigation_bar_width);
// Height of the navigation bar when presented horizontally at bottom if (ALTERNATE_CAR_MODE_NAV_SIZE) {
mNavigationBarHeightForRotationInCarMode[mPortraitRotation] = // Height of the navigation bar when presented horizontally at bottom
mNavigationBarHeightForRotationInCarMode[mUpsideDownRotation] = mNavigationBarHeightForRotationInCarMode[mPortraitRotation] =
res.getDimensionPixelSize( mNavigationBarHeightForRotationInCarMode[mUpsideDownRotation] =
com.android.internal.R.dimen.navigation_bar_height_car_mode); res.getDimensionPixelSize(
mNavigationBarHeightForRotationInCarMode[mLandscapeRotation] = com.android.internal.R.dimen.navigation_bar_height_car_mode);
mNavigationBarHeightForRotationInCarMode[mSeascapeRotation] = res.getDimensionPixelSize( mNavigationBarHeightForRotationInCarMode[mLandscapeRotation] =
com.android.internal.R.dimen.navigation_bar_height_landscape_car_mode); mNavigationBarHeightForRotationInCarMode[mSeascapeRotation] = res.getDimensionPixelSize(
com.android.internal.R.dimen.navigation_bar_height_landscape_car_mode);
// Width of the navigation bar when presented vertically along one side // Width of the navigation bar when presented vertically along one side
mNavigationBarWidthForRotationInCarMode[mPortraitRotation] = mNavigationBarWidthForRotationInCarMode[mPortraitRotation] =
mNavigationBarWidthForRotationInCarMode[mUpsideDownRotation] = mNavigationBarWidthForRotationInCarMode[mUpsideDownRotation] =
mNavigationBarWidthForRotationInCarMode[mLandscapeRotation] = mNavigationBarWidthForRotationInCarMode[mLandscapeRotation] =
mNavigationBarWidthForRotationInCarMode[mSeascapeRotation] = mNavigationBarWidthForRotationInCarMode[mSeascapeRotation] =
res.getDimensionPixelSize( res.getDimensionPixelSize(
com.android.internal.R.dimen.navigation_bar_width_car_mode); com.android.internal.R.dimen.navigation_bar_width_car_mode);
}
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@@ -2600,7 +2604,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
} }
private int getNavigationBarWidth(int rotation, int uiMode) { private int getNavigationBarWidth(int rotation, int uiMode) {
if ((uiMode & UI_MODE_TYPE_MASK) == UI_MODE_TYPE_CAR) { if (ALTERNATE_CAR_MODE_NAV_SIZE && (uiMode & UI_MODE_TYPE_MASK) == UI_MODE_TYPE_CAR) {
return mNavigationBarWidthForRotationInCarMode[rotation]; return mNavigationBarWidthForRotationInCarMode[rotation];
} else { } else {
return mNavigationBarWidthForRotationDefault[rotation]; return mNavigationBarWidthForRotationDefault[rotation];
@@ -2621,7 +2625,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
} }
private int getNavigationBarHeight(int rotation, int uiMode) { private int getNavigationBarHeight(int rotation, int uiMode) {
if ((uiMode & UI_MODE_TYPE_MASK) == UI_MODE_TYPE_CAR) { if (ALTERNATE_CAR_MODE_NAV_SIZE && (uiMode & UI_MODE_TYPE_MASK) == UI_MODE_TYPE_CAR) {
return mNavigationBarHeightForRotationInCarMode[rotation]; return mNavigationBarHeightForRotationInCarMode[rotation];
} else { } else {
return mNavigationBarHeightForRotationDefault[rotation]; return mNavigationBarHeightForRotationDefault[rotation];