Loading services/core/java/com/android/server/wm/DisplayPolicy.java +20 −6 Original line number Diff line number Diff line Loading @@ -222,6 +222,7 @@ public class DisplayPolicy { private volatile int mDockMode = Intent.EXTRA_DOCK_STATE_UNDOCKED; private volatile boolean mHdmiPlugged; private volatile boolean mHasStatusBar; private volatile boolean mHasNavigationBar; // Can the navigation bar ever move to the side? private volatile boolean mNavigationBarCanMove; Loading Loading @@ -523,6 +524,7 @@ public class DisplayPolicy { mNavigationBarCanMove = width != height && shortSizeDp < 600; if (mDisplayContent.isDefaultDisplay) { mHasStatusBar = true; mHasNavigationBar = mContext.getResources().getBoolean(R.bool.config_showNavigationBar); // Allow a system property to override this. Used by the emulator. Loading @@ -534,6 +536,7 @@ public class DisplayPolicy { mHasNavigationBar = true; } } else { mHasStatusBar = false; mHasNavigationBar = mDisplayContent.getDisplay().supportsSystemDecorations(); } } Loading Loading @@ -589,6 +592,10 @@ public class DisplayPolicy { return mHasNavigationBar; } public boolean hasStatusBar() { return mHasStatusBar; } public boolean navigationBarCanMove() { return mNavigationBarCanMove; } Loading Loading @@ -2493,12 +2500,19 @@ public class DisplayPolicy { final int landscapeRotation = displayRotation.getLandscapeRotation(); final int seascapeRotation = displayRotation.getSeascapeRotation(); if (hasStatusBar()) { mStatusBarHeightForRotation[portraitRotation] = mStatusBarHeightForRotation[upsideDownRotation] = res.getDimensionPixelSize(R.dimen.status_bar_height_portrait); mStatusBarHeightForRotation[landscapeRotation] = mStatusBarHeightForRotation[seascapeRotation] = res.getDimensionPixelSize(R.dimen.status_bar_height_landscape); } else { mStatusBarHeightForRotation[portraitRotation] = mStatusBarHeightForRotation[upsideDownRotation] = mStatusBarHeightForRotation[landscapeRotation] = mStatusBarHeightForRotation[seascapeRotation] = 0; } // Height of the navigation bar when presented horizontally at bottom mNavigationBarHeightForRotationDefault[portraitRotation] = Loading services/tests/wmtests/src/com/android/server/wm/DisplayPolicyTestsBase.java +1 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ public class DisplayPolicyTestsBase extends WindowTestsBase { resources.addOverride(R.dimen.navigation_bar_width, NAV_BAR_HEIGHT); when(mDisplayPolicy.getSystemUiContext()).thenReturn(context); when(mDisplayPolicy.hasNavigationBar()).thenReturn(true); when(mDisplayPolicy.hasStatusBar()).thenReturn(true); final int shortSizeDp = Math.min(DISPLAY_WIDTH, DISPLAY_HEIGHT) * DENSITY_DEFAULT / DISPLAY_DENSITY; Loading Loading
services/core/java/com/android/server/wm/DisplayPolicy.java +20 −6 Original line number Diff line number Diff line Loading @@ -222,6 +222,7 @@ public class DisplayPolicy { private volatile int mDockMode = Intent.EXTRA_DOCK_STATE_UNDOCKED; private volatile boolean mHdmiPlugged; private volatile boolean mHasStatusBar; private volatile boolean mHasNavigationBar; // Can the navigation bar ever move to the side? private volatile boolean mNavigationBarCanMove; Loading Loading @@ -523,6 +524,7 @@ public class DisplayPolicy { mNavigationBarCanMove = width != height && shortSizeDp < 600; if (mDisplayContent.isDefaultDisplay) { mHasStatusBar = true; mHasNavigationBar = mContext.getResources().getBoolean(R.bool.config_showNavigationBar); // Allow a system property to override this. Used by the emulator. Loading @@ -534,6 +536,7 @@ public class DisplayPolicy { mHasNavigationBar = true; } } else { mHasStatusBar = false; mHasNavigationBar = mDisplayContent.getDisplay().supportsSystemDecorations(); } } Loading Loading @@ -589,6 +592,10 @@ public class DisplayPolicy { return mHasNavigationBar; } public boolean hasStatusBar() { return mHasStatusBar; } public boolean navigationBarCanMove() { return mNavigationBarCanMove; } Loading Loading @@ -2493,12 +2500,19 @@ public class DisplayPolicy { final int landscapeRotation = displayRotation.getLandscapeRotation(); final int seascapeRotation = displayRotation.getSeascapeRotation(); if (hasStatusBar()) { mStatusBarHeightForRotation[portraitRotation] = mStatusBarHeightForRotation[upsideDownRotation] = res.getDimensionPixelSize(R.dimen.status_bar_height_portrait); mStatusBarHeightForRotation[landscapeRotation] = mStatusBarHeightForRotation[seascapeRotation] = res.getDimensionPixelSize(R.dimen.status_bar_height_landscape); } else { mStatusBarHeightForRotation[portraitRotation] = mStatusBarHeightForRotation[upsideDownRotation] = mStatusBarHeightForRotation[landscapeRotation] = mStatusBarHeightForRotation[seascapeRotation] = 0; } // Height of the navigation bar when presented horizontally at bottom mNavigationBarHeightForRotationDefault[portraitRotation] = Loading
services/tests/wmtests/src/com/android/server/wm/DisplayPolicyTestsBase.java +1 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ public class DisplayPolicyTestsBase extends WindowTestsBase { resources.addOverride(R.dimen.navigation_bar_width, NAV_BAR_HEIGHT); when(mDisplayPolicy.getSystemUiContext()).thenReturn(context); when(mDisplayPolicy.hasNavigationBar()).thenReturn(true); when(mDisplayPolicy.hasStatusBar()).thenReturn(true); final int shortSizeDp = Math.min(DISPLAY_WIDTH, DISPLAY_HEIGHT) * DENSITY_DEFAULT / DISPLAY_DENSITY; Loading