SystemUI: Disable alternate nav bar in car mode am: 01915a1a2b
am: b1e5d7c467
Change-Id: I25aeb9fabaadcff620214b65cd19a006ce6742a0
This commit is contained in:
@@ -59,6 +59,8 @@ public class NavigationBarView extends LinearLayout {
|
||||
// slippery nav bar when everything is disabled, e.g. during setup
|
||||
final static boolean SLIPPERY_WHEN_DISABLED = true;
|
||||
|
||||
final static boolean ALTERNATE_CAR_MODE_UI = false;
|
||||
|
||||
final Display mDisplay;
|
||||
View mCurrentView = null;
|
||||
View[] mRotatedViews = new View[4];
|
||||
@@ -94,7 +96,8 @@ public class NavigationBarView extends LinearLayout {
|
||||
private OnVerticalChangedListener mOnVerticalChangedListener;
|
||||
private boolean mLayoutTransitionsEnabled = true;
|
||||
private boolean mWakeAndUnlocking;
|
||||
private boolean mCarMode = false;
|
||||
private boolean mUseCarModeUi = false;
|
||||
private boolean mInCarMode = false;
|
||||
private boolean mDockedStackExists;
|
||||
|
||||
private final SparseArray<ButtonDispatcher> mButtonDisatchers = new SparseArray<>();
|
||||
@@ -290,7 +293,9 @@ public class NavigationBarView extends LinearLayout {
|
||||
mMenuIcon = ctx.getDrawable(R.drawable.ic_sysbar_menu);
|
||||
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
|
||||
// to recent icon is not required.
|
||||
Drawable backIcon = (backAlt)
|
||||
? getBackIconWithAlt(mCarMode, mVertical)
|
||||
: getBackIcon(mCarMode, mVertical);
|
||||
? getBackIconWithAlt(mUseCarModeUi, mVertical)
|
||||
: getBackIcon(mUseCarModeUi, mVertical);
|
||||
|
||||
getBackButton().setImageDrawable(backIcon);
|
||||
|
||||
updateRecentsIcon();
|
||||
|
||||
if (mCarMode) {
|
||||
if (mUseCarModeUi) {
|
||||
getHomeButton().setImageDrawable(mHomeCarModeIcon);
|
||||
} else {
|
||||
getHomeButton().setImageDrawable(mHomeDefaultIcon);
|
||||
@@ -376,9 +381,9 @@ public class NavigationBarView extends LinearLayout {
|
||||
|
||||
final boolean disableHome = ((disabledFlags & View.STATUS_BAR_DISABLE_HOME) != 0);
|
||||
|
||||
// Disable recents always in car mode.
|
||||
boolean disableRecent = (
|
||||
mCarMode || (disabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0);
|
||||
// Always disable recents when alternate car mode UI is active.
|
||||
boolean disableRecent = mUseCarModeUi
|
||||
|| ((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);
|
||||
@@ -623,14 +628,19 @@ public class NavigationBarView extends LinearLayout {
|
||||
boolean uiCarModeChanged = false;
|
||||
if (newConfig != null) {
|
||||
int uiMode = newConfig.uiMode & Configuration.UI_MODE_TYPE_MASK;
|
||||
if (mCarMode && uiMode != Configuration.UI_MODE_TYPE_CAR) {
|
||||
mCarMode = false;
|
||||
uiCarModeChanged = true;
|
||||
getHomeButton().setCarMode(mCarMode);
|
||||
} else if (uiMode == Configuration.UI_MODE_TYPE_CAR) {
|
||||
mCarMode = true;
|
||||
uiCarModeChanged = true;
|
||||
getHomeButton().setCarMode(mCarMode);
|
||||
final boolean isCarMode = (uiMode == Configuration.UI_MODE_TYPE_CAR);
|
||||
|
||||
if (isCarMode != mInCarMode) {
|
||||
mInCarMode = isCarMode;
|
||||
getHomeButton().setCarMode(isCarMode);
|
||||
|
||||
if (ALTERNATE_CAR_MODE_UI) {
|
||||
mUseCarModeUi = isCarMode;
|
||||
uiCarModeChanged = true;
|
||||
} else {
|
||||
// Don't use car mode behavior if ALTERNATE_CAR_MODE_UI not set.
|
||||
mUseCarModeUi = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return uiCarModeChanged;
|
||||
|
||||
@@ -182,6 +182,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
// No longer recommended for desk docks;
|
||||
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_GO_TO_SLEEP = 1;
|
||||
static final int SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP = 2;
|
||||
@@ -2453,22 +2455,24 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
mNavigationBarWidthForRotationDefault[mSeascapeRotation] =
|
||||
res.getDimensionPixelSize(com.android.internal.R.dimen.navigation_bar_width);
|
||||
|
||||
// Height of the navigation bar when presented horizontally at bottom
|
||||
mNavigationBarHeightForRotationInCarMode[mPortraitRotation] =
|
||||
mNavigationBarHeightForRotationInCarMode[mUpsideDownRotation] =
|
||||
res.getDimensionPixelSize(
|
||||
com.android.internal.R.dimen.navigation_bar_height_car_mode);
|
||||
mNavigationBarHeightForRotationInCarMode[mLandscapeRotation] =
|
||||
mNavigationBarHeightForRotationInCarMode[mSeascapeRotation] = res.getDimensionPixelSize(
|
||||
com.android.internal.R.dimen.navigation_bar_height_landscape_car_mode);
|
||||
if (ALTERNATE_CAR_MODE_NAV_SIZE) {
|
||||
// Height of the navigation bar when presented horizontally at bottom
|
||||
mNavigationBarHeightForRotationInCarMode[mPortraitRotation] =
|
||||
mNavigationBarHeightForRotationInCarMode[mUpsideDownRotation] =
|
||||
res.getDimensionPixelSize(
|
||||
com.android.internal.R.dimen.navigation_bar_height_car_mode);
|
||||
mNavigationBarHeightForRotationInCarMode[mLandscapeRotation] =
|
||||
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
|
||||
mNavigationBarWidthForRotationInCarMode[mPortraitRotation] =
|
||||
mNavigationBarWidthForRotationInCarMode[mUpsideDownRotation] =
|
||||
mNavigationBarWidthForRotationInCarMode[mLandscapeRotation] =
|
||||
mNavigationBarWidthForRotationInCarMode[mSeascapeRotation] =
|
||||
res.getDimensionPixelSize(
|
||||
com.android.internal.R.dimen.navigation_bar_width_car_mode);
|
||||
// Width of the navigation bar when presented vertically along one side
|
||||
mNavigationBarWidthForRotationInCarMode[mPortraitRotation] =
|
||||
mNavigationBarWidthForRotationInCarMode[mUpsideDownRotation] =
|
||||
mNavigationBarWidthForRotationInCarMode[mLandscapeRotation] =
|
||||
mNavigationBarWidthForRotationInCarMode[mSeascapeRotation] =
|
||||
res.getDimensionPixelSize(
|
||||
com.android.internal.R.dimen.navigation_bar_width_car_mode);
|
||||
}
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@@ -2600,7 +2604,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
}
|
||||
|
||||
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];
|
||||
} else {
|
||||
return mNavigationBarWidthForRotationDefault[rotation];
|
||||
@@ -2621,7 +2625,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
}
|
||||
|
||||
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];
|
||||
} else {
|
||||
return mNavigationBarHeightForRotationDefault[rotation];
|
||||
|
||||
Reference in New Issue
Block a user