Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +26 −16 Original line number Diff line number Diff line Loading @@ -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]; Loading Loading @@ -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<>(); Loading Loading @@ -290,9 +293,11 @@ public class NavigationBarView extends LinearLayout { mMenuIcon = ctx.getDrawable(R.drawable.ic_sysbar_menu); mImeIcon = ctx.getDrawable(R.drawable.ic_ime_switcher_default); if (ALTERNATE_CAR_MODE_UI) { updateCarModeIcons(ctx); } } } @Override public void setLayoutDirection(int layoutDirection) { Loading Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -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; 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; getHomeButton().setCarMode(mCarMode); } else { // Don't use car mode behavior if ALTERNATE_CAR_MODE_UI not set. mUseCarModeUi = false; } } } return uiCarModeChanged; Loading services/core/java/com/android/server/policy/PhoneWindowManager.java +21 −17 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -2336,6 +2338,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { mNavigationBarWidthForRotationDefault[mSeascapeRotation] = res.getDimensionPixelSize(com.android.internal.R.dimen.navigation_bar_width); if (ALTERNATE_CAR_MODE_NAV_SIZE) { // Height of the navigation bar when presented horizontally at bottom mNavigationBarHeightForRotationInCarMode[mPortraitRotation] = mNavigationBarHeightForRotationInCarMode[mUpsideDownRotation] = Loading @@ -2353,6 +2356,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { res.getDimensionPixelSize( com.android.internal.R.dimen.navigation_bar_width_car_mode); } } /** {@inheritDoc} */ @Override Loading Loading @@ -2483,7 +2487,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]; Loading @@ -2504,7 +2508,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]; Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +26 −16 Original line number Diff line number Diff line Loading @@ -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]; Loading Loading @@ -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<>(); Loading Loading @@ -290,9 +293,11 @@ public class NavigationBarView extends LinearLayout { mMenuIcon = ctx.getDrawable(R.drawable.ic_sysbar_menu); mImeIcon = ctx.getDrawable(R.drawable.ic_ime_switcher_default); if (ALTERNATE_CAR_MODE_UI) { updateCarModeIcons(ctx); } } } @Override public void setLayoutDirection(int layoutDirection) { Loading Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -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; 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; getHomeButton().setCarMode(mCarMode); } else { // Don't use car mode behavior if ALTERNATE_CAR_MODE_UI not set. mUseCarModeUi = false; } } } return uiCarModeChanged; Loading
services/core/java/com/android/server/policy/PhoneWindowManager.java +21 −17 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -2336,6 +2338,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { mNavigationBarWidthForRotationDefault[mSeascapeRotation] = res.getDimensionPixelSize(com.android.internal.R.dimen.navigation_bar_width); if (ALTERNATE_CAR_MODE_NAV_SIZE) { // Height of the navigation bar when presented horizontally at bottom mNavigationBarHeightForRotationInCarMode[mPortraitRotation] = mNavigationBarHeightForRotationInCarMode[mUpsideDownRotation] = Loading @@ -2353,6 +2356,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { res.getDimensionPixelSize( com.android.internal.R.dimen.navigation_bar_width_car_mode); } } /** {@inheritDoc} */ @Override Loading Loading @@ -2483,7 +2487,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]; Loading @@ -2504,7 +2508,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]; Loading