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
|
// 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;
|
||||||
|
|||||||
@@ -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];
|
||||||
|
|||||||
Reference in New Issue
Block a user