Loading services/core/java/com/android/server/wm/WindowState.java +8 −0 Original line number Diff line number Diff line Loading @@ -1441,6 +1441,14 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP } } @Override public Rect getBounds() { // The window bounds are used for layout in screen coordinates. If the token has bounds for // size compatibility mode, its configuration bounds are app based coordinates which should // not be used for layout. return mToken.hasSizeCompatBounds() ? mToken.getBounds() : super.getBounds(); } /** Retrieves the current frame of the window that the application sees. */ Rect getFrame() { return mWindowFrames.mFrame; Loading services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java +5 −0 Original line number Diff line number Diff line Loading @@ -320,6 +320,11 @@ public class SizeCompatTests extends WindowTestsBase { assertScaled(); // Activity is sandboxed due to size compat mode. assertActivityMaxBoundsSandboxed(); final WindowState appWindow = addWindowToActivity(mActivity); assertTrue(mActivity.hasSizeCompatBounds()); assertEquals("App window must use size compat bounds for layout in screen space", mActivity.getBounds(), appWindow.getBounds()); } @Test Loading Loading
services/core/java/com/android/server/wm/WindowState.java +8 −0 Original line number Diff line number Diff line Loading @@ -1441,6 +1441,14 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP } } @Override public Rect getBounds() { // The window bounds are used for layout in screen coordinates. If the token has bounds for // size compatibility mode, its configuration bounds are app based coordinates which should // not be used for layout. return mToken.hasSizeCompatBounds() ? mToken.getBounds() : super.getBounds(); } /** Retrieves the current frame of the window that the application sees. */ Rect getFrame() { return mWindowFrames.mFrame; Loading
services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java +5 −0 Original line number Diff line number Diff line Loading @@ -320,6 +320,11 @@ public class SizeCompatTests extends WindowTestsBase { assertScaled(); // Activity is sandboxed due to size compat mode. assertActivityMaxBoundsSandboxed(); final WindowState appWindow = addWindowToActivity(mActivity); assertTrue(mActivity.hasSizeCompatBounds()); assertEquals("App window must use size compat bounds for layout in screen space", mActivity.getBounds(), appWindow.getBounds()); } @Test Loading