Loading services/core/java/com/android/server/wm/DisplayPolicy.java +4 −21 Original line number Diff line number Diff line Loading @@ -93,7 +93,6 @@ import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_LAYOUT; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import android.Manifest.permission; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Px; Loading @@ -103,7 +102,6 @@ import android.app.LoadedApk; import android.app.ResourcesManager; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Resources; import android.graphics.Insets; import android.graphics.PixelFormat; Loading Loading @@ -843,11 +841,6 @@ public class DisplayPolicy { return true; } private boolean hasStatusBarServicePermission(int pid, int uid) { return mContext.checkPermission(permission.STATUS_BAR_SERVICE, pid, uid) == PackageManager.PERMISSION_GRANTED; } /** * Only trusted overlays are allowed to use FLAG_SLIPPERY. */ Loading Loading @@ -1098,9 +1091,10 @@ public class DisplayPolicy { mNavigationBar = win; mDisplayContent.setInsetProvider(ITYPE_NAVIGATION_BAR, win, (displayFrames, windowState, inOutFrame) -> { if (!mNavButtonForcedVisible) { inOutFrame.inset(windowState.getLayoutingAttrs( displayFrames.mRotation).providedInternalInsets); } }, // For IME we use regular frame. Loading Loading @@ -1799,7 +1793,6 @@ public class DisplayPolicy { final int upsideDownRotation = displayRotation.getUpsideDownRotation(); final int landscapeRotation = displayRotation.getLandscapeRotation(); final int seascapeRotation = displayRotation.getSeascapeRotation(); final int uiMode = mService.mPolicy.getUiMode(); if (hasStatusBar()) { mStatusBarHeightForRotation[portraitRotation] = Loading Loading @@ -2152,16 +2145,6 @@ public class DisplayPolicy { return mNavigationBarPosition; } @WindowManagerPolicy.AltBarPosition int getAlternateStatusBarPosition() { return mStatusBarAltPosition; } @WindowManagerPolicy.AltBarPosition int getAlternateNavBarPosition() { return mNavigationBarAltPosition; } /** * A new window has been focused. */ Loading services/tests/wmtests/src/com/android/server/wm/DisplayPolicyLayoutTests.java +0 −47 Original line number Diff line number Diff line Loading @@ -34,13 +34,8 @@ import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_INSET_PARENT_ import static android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL; import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR; import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL; import static android.view.WindowManagerPolicyConstants.ALT_BAR_BOTTOM; import static android.view.WindowManagerPolicyConstants.ALT_BAR_LEFT; import static android.view.WindowManagerPolicyConstants.ALT_BAR_RIGHT; import static android.view.WindowManagerPolicyConstants.ALT_BAR_TOP; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; Loading @@ -60,7 +55,6 @@ import android.platform.test.annotations.Presubmit; import android.util.Pair; import android.view.DisplayCutout; import android.view.DisplayInfo; import android.view.Gravity; import android.view.InsetsState; import android.view.InsetsVisibilities; import android.view.PrivacyIndicatorBounds; Loading Loading @@ -237,47 +231,6 @@ public class DisplayPolicyLayoutTests extends DisplayPolicyTestsBase { expectThrows(IllegalArgumentException.class, () -> addWindow(win2)); } @Test public void addingWindow_variousGravities_alternateBarPosUpdated() { mDisplayPolicy.removeWindowLw(mNavBarWindow); // Removes the existing one. WindowState win1 = createWindow(null, TYPE_NAVIGATION_BAR_PANEL, "NavBarPanel1"); win1.mAttrs.providesInsetsTypes = new int[]{ITYPE_NAVIGATION_BAR}; win1.mAttrs.gravity = Gravity.TOP; win1.getFrame().set(0, 0, 200, 500); addWindow(win1); assertEquals(mDisplayPolicy.getAlternateNavBarPosition(), ALT_BAR_TOP); mDisplayPolicy.removeWindowLw(win1); WindowState win2 = createWindow(null, TYPE_NAVIGATION_BAR_PANEL, "NavBarPanel2"); win2.mAttrs.providesInsetsTypes = new int[]{ITYPE_NAVIGATION_BAR}; win2.mAttrs.gravity = Gravity.BOTTOM; win2.getFrame().set(0, 0, 200, 500); addWindow(win2); assertEquals(mDisplayPolicy.getAlternateNavBarPosition(), ALT_BAR_BOTTOM); mDisplayPolicy.removeWindowLw(win2); WindowState win3 = createWindow(null, TYPE_NAVIGATION_BAR_PANEL, "NavBarPanel3"); win3.mAttrs.providesInsetsTypes = new int[]{ITYPE_NAVIGATION_BAR}; win3.mAttrs.gravity = Gravity.LEFT; win3.getFrame().set(0, 0, 200, 500); addWindow(win3); assertEquals(mDisplayPolicy.getAlternateNavBarPosition(), ALT_BAR_LEFT); mDisplayPolicy.removeWindowLw(win3); WindowState win4 = createWindow(null, TYPE_NAVIGATION_BAR_PANEL, "NavBarPanel4"); win4.mAttrs.providesInsetsTypes = new int[]{ITYPE_NAVIGATION_BAR}; win4.mAttrs.gravity = Gravity.RIGHT; win4.getFrame().set(0, 0, 200, 500); addWindow(win4); assertEquals(mDisplayPolicy.getAlternateNavBarPosition(), ALT_BAR_RIGHT); mDisplayPolicy.removeWindowLw(win4); } @Test public void layoutWindowLw_fitStatusBars() { mWindow.mAttrs.setFitInsetsTypes(Type.statusBars()); Loading Loading
services/core/java/com/android/server/wm/DisplayPolicy.java +4 −21 Original line number Diff line number Diff line Loading @@ -93,7 +93,6 @@ import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_LAYOUT; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import android.Manifest.permission; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Px; Loading @@ -103,7 +102,6 @@ import android.app.LoadedApk; import android.app.ResourcesManager; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Resources; import android.graphics.Insets; import android.graphics.PixelFormat; Loading Loading @@ -843,11 +841,6 @@ public class DisplayPolicy { return true; } private boolean hasStatusBarServicePermission(int pid, int uid) { return mContext.checkPermission(permission.STATUS_BAR_SERVICE, pid, uid) == PackageManager.PERMISSION_GRANTED; } /** * Only trusted overlays are allowed to use FLAG_SLIPPERY. */ Loading Loading @@ -1098,9 +1091,10 @@ public class DisplayPolicy { mNavigationBar = win; mDisplayContent.setInsetProvider(ITYPE_NAVIGATION_BAR, win, (displayFrames, windowState, inOutFrame) -> { if (!mNavButtonForcedVisible) { inOutFrame.inset(windowState.getLayoutingAttrs( displayFrames.mRotation).providedInternalInsets); } }, // For IME we use regular frame. Loading Loading @@ -1799,7 +1793,6 @@ public class DisplayPolicy { final int upsideDownRotation = displayRotation.getUpsideDownRotation(); final int landscapeRotation = displayRotation.getLandscapeRotation(); final int seascapeRotation = displayRotation.getSeascapeRotation(); final int uiMode = mService.mPolicy.getUiMode(); if (hasStatusBar()) { mStatusBarHeightForRotation[portraitRotation] = Loading Loading @@ -2152,16 +2145,6 @@ public class DisplayPolicy { return mNavigationBarPosition; } @WindowManagerPolicy.AltBarPosition int getAlternateStatusBarPosition() { return mStatusBarAltPosition; } @WindowManagerPolicy.AltBarPosition int getAlternateNavBarPosition() { return mNavigationBarAltPosition; } /** * A new window has been focused. */ Loading
services/tests/wmtests/src/com/android/server/wm/DisplayPolicyLayoutTests.java +0 −47 Original line number Diff line number Diff line Loading @@ -34,13 +34,8 @@ import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_INSET_PARENT_ import static android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL; import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR; import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL; import static android.view.WindowManagerPolicyConstants.ALT_BAR_BOTTOM; import static android.view.WindowManagerPolicyConstants.ALT_BAR_LEFT; import static android.view.WindowManagerPolicyConstants.ALT_BAR_RIGHT; import static android.view.WindowManagerPolicyConstants.ALT_BAR_TOP; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; Loading @@ -60,7 +55,6 @@ import android.platform.test.annotations.Presubmit; import android.util.Pair; import android.view.DisplayCutout; import android.view.DisplayInfo; import android.view.Gravity; import android.view.InsetsState; import android.view.InsetsVisibilities; import android.view.PrivacyIndicatorBounds; Loading Loading @@ -237,47 +231,6 @@ public class DisplayPolicyLayoutTests extends DisplayPolicyTestsBase { expectThrows(IllegalArgumentException.class, () -> addWindow(win2)); } @Test public void addingWindow_variousGravities_alternateBarPosUpdated() { mDisplayPolicy.removeWindowLw(mNavBarWindow); // Removes the existing one. WindowState win1 = createWindow(null, TYPE_NAVIGATION_BAR_PANEL, "NavBarPanel1"); win1.mAttrs.providesInsetsTypes = new int[]{ITYPE_NAVIGATION_BAR}; win1.mAttrs.gravity = Gravity.TOP; win1.getFrame().set(0, 0, 200, 500); addWindow(win1); assertEquals(mDisplayPolicy.getAlternateNavBarPosition(), ALT_BAR_TOP); mDisplayPolicy.removeWindowLw(win1); WindowState win2 = createWindow(null, TYPE_NAVIGATION_BAR_PANEL, "NavBarPanel2"); win2.mAttrs.providesInsetsTypes = new int[]{ITYPE_NAVIGATION_BAR}; win2.mAttrs.gravity = Gravity.BOTTOM; win2.getFrame().set(0, 0, 200, 500); addWindow(win2); assertEquals(mDisplayPolicy.getAlternateNavBarPosition(), ALT_BAR_BOTTOM); mDisplayPolicy.removeWindowLw(win2); WindowState win3 = createWindow(null, TYPE_NAVIGATION_BAR_PANEL, "NavBarPanel3"); win3.mAttrs.providesInsetsTypes = new int[]{ITYPE_NAVIGATION_BAR}; win3.mAttrs.gravity = Gravity.LEFT; win3.getFrame().set(0, 0, 200, 500); addWindow(win3); assertEquals(mDisplayPolicy.getAlternateNavBarPosition(), ALT_BAR_LEFT); mDisplayPolicy.removeWindowLw(win3); WindowState win4 = createWindow(null, TYPE_NAVIGATION_BAR_PANEL, "NavBarPanel4"); win4.mAttrs.providesInsetsTypes = new int[]{ITYPE_NAVIGATION_BAR}; win4.mAttrs.gravity = Gravity.RIGHT; win4.getFrame().set(0, 0, 200, 500); addWindow(win4); assertEquals(mDisplayPolicy.getAlternateNavBarPosition(), ALT_BAR_RIGHT); mDisplayPolicy.removeWindowLw(win4); } @Test public void layoutWindowLw_fitStatusBars() { mWindow.mAttrs.setFitInsetsTypes(Type.statusBars()); Loading