Loading services/core/java/com/android/server/wm/DisplayPolicy.java +0 −1 Original line number Diff line number Diff line Loading @@ -1122,7 +1122,6 @@ public class DisplayPolicy { inOutFrame.set(windowContainer.getBounds()); break; case SOURCE_FRAME: inOutFrame.inset(win.mGivenContentInsets); extendByCutout = (lp.privateFlags & PRIVATE_FLAG_LAYOUT_SIZE_EXTENDED_BY_CUTOUT) != 0; break; Loading services/core/java/com/android/server/wm/InsetsSourceProvider.java +0 −2 Original line number Diff line number Diff line Loading @@ -218,8 +218,6 @@ class InsetsSourceProvider { if (mFrameProvider != null) { mFrameProvider.accept(mWindowContainer.getDisplayContent().mDisplayFrames, mWindowContainer, mSourceFrame); } else { mSourceFrame.inset(win.mGivenContentInsets); } updateSourceFrameForServerVisibility(); Loading services/core/java/com/android/server/wm/WindowState.java +3 −2 Original line number Diff line number Diff line Loading @@ -428,8 +428,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP boolean mGivenInsetsPending; /** * These are the content insets that were given during layout for * this window, to be applied to windows behind it. * These are the content insets that were given during layout for this window, to be applied to * windows behind it. * This is only applied to IME windows when corresponding process in DisplayPolicy executed. */ final Rect mGivenContentInsets = new Rect(); Loading services/tests/wmtests/src/com/android/server/wm/DisplayPolicyTests.java +12 −11 Original line number Diff line number Diff line Loading @@ -352,27 +352,28 @@ public class DisplayPolicyTests extends WindowTestsBase { assertTrue(imeSource.getFrame().contains(navBarSource.getFrame())); } @SetupWindows(addWindows = W_NAVIGATION_BAR) @SetupWindows(addWindows = W_INPUT_METHOD) @Test public void testInsetsGivenContentFrame() { public void testImeInsetsGivenContentFrame() { final DisplayPolicy displayPolicy = mDisplayContent.getDisplayPolicy(); final DisplayInfo displayInfo = new DisplayInfo(); displayInfo.logicalWidth = 1000; displayInfo.logicalHeight = 2000; displayInfo.rotation = ROTATION_0; WindowManager.LayoutParams attrs = mNavBarWindow.mAttrs; displayPolicy.addWindowLw(mNavBarWindow, attrs); mNavBarWindow.setRequestedSize(attrs.width, attrs.height); mNavBarWindow.getControllableInsetProvider().setServerVisible(true); mDisplayContent.setInputMethodWindowLocked(mImeWindow); mImeWindow.getControllableInsetProvider().setServerVisible(true); mNavBarWindow.mGivenContentInsets.set(0, 10, 0, 0); mImeWindow.mGivenContentInsets.set(0, 10, 0, 0); displayPolicy.layoutWindowLw(mNavBarWindow, null, mDisplayContent.mDisplayFrames); displayPolicy.layoutWindowLw(mImeWindow, null, mDisplayContent.mDisplayFrames); final InsetsState state = mDisplayContent.getInsetsStateController().getRawInsetsState(); final InsetsSource navBarSource = state.peekSource( mNavBarWindow.getControllableInsetProvider().getSource().getId()); assertEquals(attrs.height - 10, navBarSource.getFrame().height()); final InsetsSource imeSource = state.peekSource(ID_IME); assertNotNull(imeSource); assertFalse(imeSource.getFrame().isEmpty()); assertEquals(mImeWindow.getWindowFrames().mFrame.height() - 10, imeSource.getFrame().height()); } @SetupWindows(addWindows = { W_ACTIVITY, W_NAVIGATION_BAR }) Loading services/tests/wmtests/src/com/android/server/wm/InsetsSourceProviderTest.java +0 −19 Original line number Diff line number Diff line Loading @@ -75,25 +75,6 @@ public class InsetsSourceProviderTest extends WindowTestsBase { mProvider.getSource().calculateVisibleInsets(new Rect(0, 0, 500, 500))); } @Test public void testPostLayout_givenInsets() { final WindowState ime = createWindow(null, TYPE_APPLICATION, "ime"); ime.getFrame().set(0, 0, 500, 100); ime.mGivenContentInsets.set(0, 0, 0, 60); ime.mGivenVisibleInsets.set(0, 0, 0, 75); ime.mHasSurface = true; mProvider.setWindowContainer(ime, null, null); mProvider.updateSourceFrame(ime.getFrame()); mProvider.onPostLayout(); assertEquals(new Rect(0, 0, 500, 40), mProvider.getSource().getFrame()); assertEquals(new Rect(0, 0, 500, 25), mProvider.getSource().getVisibleFrame()); assertEquals(Insets.of(0, 40, 0, 0), mProvider.getSource().calculateInsets(new Rect(0, 0, 500, 500), false /* ignoreVisibility */)); assertEquals(Insets.of(0, 25, 0, 0), mProvider.getSource().calculateVisibleInsets(new Rect(0, 0, 500, 500))); } @Test public void testPostLayout_invisible() { final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar"); Loading Loading
services/core/java/com/android/server/wm/DisplayPolicy.java +0 −1 Original line number Diff line number Diff line Loading @@ -1122,7 +1122,6 @@ public class DisplayPolicy { inOutFrame.set(windowContainer.getBounds()); break; case SOURCE_FRAME: inOutFrame.inset(win.mGivenContentInsets); extendByCutout = (lp.privateFlags & PRIVATE_FLAG_LAYOUT_SIZE_EXTENDED_BY_CUTOUT) != 0; break; Loading
services/core/java/com/android/server/wm/InsetsSourceProvider.java +0 −2 Original line number Diff line number Diff line Loading @@ -218,8 +218,6 @@ class InsetsSourceProvider { if (mFrameProvider != null) { mFrameProvider.accept(mWindowContainer.getDisplayContent().mDisplayFrames, mWindowContainer, mSourceFrame); } else { mSourceFrame.inset(win.mGivenContentInsets); } updateSourceFrameForServerVisibility(); Loading
services/core/java/com/android/server/wm/WindowState.java +3 −2 Original line number Diff line number Diff line Loading @@ -428,8 +428,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP boolean mGivenInsetsPending; /** * These are the content insets that were given during layout for * this window, to be applied to windows behind it. * These are the content insets that were given during layout for this window, to be applied to * windows behind it. * This is only applied to IME windows when corresponding process in DisplayPolicy executed. */ final Rect mGivenContentInsets = new Rect(); Loading
services/tests/wmtests/src/com/android/server/wm/DisplayPolicyTests.java +12 −11 Original line number Diff line number Diff line Loading @@ -352,27 +352,28 @@ public class DisplayPolicyTests extends WindowTestsBase { assertTrue(imeSource.getFrame().contains(navBarSource.getFrame())); } @SetupWindows(addWindows = W_NAVIGATION_BAR) @SetupWindows(addWindows = W_INPUT_METHOD) @Test public void testInsetsGivenContentFrame() { public void testImeInsetsGivenContentFrame() { final DisplayPolicy displayPolicy = mDisplayContent.getDisplayPolicy(); final DisplayInfo displayInfo = new DisplayInfo(); displayInfo.logicalWidth = 1000; displayInfo.logicalHeight = 2000; displayInfo.rotation = ROTATION_0; WindowManager.LayoutParams attrs = mNavBarWindow.mAttrs; displayPolicy.addWindowLw(mNavBarWindow, attrs); mNavBarWindow.setRequestedSize(attrs.width, attrs.height); mNavBarWindow.getControllableInsetProvider().setServerVisible(true); mDisplayContent.setInputMethodWindowLocked(mImeWindow); mImeWindow.getControllableInsetProvider().setServerVisible(true); mNavBarWindow.mGivenContentInsets.set(0, 10, 0, 0); mImeWindow.mGivenContentInsets.set(0, 10, 0, 0); displayPolicy.layoutWindowLw(mNavBarWindow, null, mDisplayContent.mDisplayFrames); displayPolicy.layoutWindowLw(mImeWindow, null, mDisplayContent.mDisplayFrames); final InsetsState state = mDisplayContent.getInsetsStateController().getRawInsetsState(); final InsetsSource navBarSource = state.peekSource( mNavBarWindow.getControllableInsetProvider().getSource().getId()); assertEquals(attrs.height - 10, navBarSource.getFrame().height()); final InsetsSource imeSource = state.peekSource(ID_IME); assertNotNull(imeSource); assertFalse(imeSource.getFrame().isEmpty()); assertEquals(mImeWindow.getWindowFrames().mFrame.height() - 10, imeSource.getFrame().height()); } @SetupWindows(addWindows = { W_ACTIVITY, W_NAVIGATION_BAR }) Loading
services/tests/wmtests/src/com/android/server/wm/InsetsSourceProviderTest.java +0 −19 Original line number Diff line number Diff line Loading @@ -75,25 +75,6 @@ public class InsetsSourceProviderTest extends WindowTestsBase { mProvider.getSource().calculateVisibleInsets(new Rect(0, 0, 500, 500))); } @Test public void testPostLayout_givenInsets() { final WindowState ime = createWindow(null, TYPE_APPLICATION, "ime"); ime.getFrame().set(0, 0, 500, 100); ime.mGivenContentInsets.set(0, 0, 0, 60); ime.mGivenVisibleInsets.set(0, 0, 0, 75); ime.mHasSurface = true; mProvider.setWindowContainer(ime, null, null); mProvider.updateSourceFrame(ime.getFrame()); mProvider.onPostLayout(); assertEquals(new Rect(0, 0, 500, 40), mProvider.getSource().getFrame()); assertEquals(new Rect(0, 0, 500, 25), mProvider.getSource().getVisibleFrame()); assertEquals(Insets.of(0, 40, 0, 0), mProvider.getSource().calculateInsets(new Rect(0, 0, 500, 500), false /* ignoreVisibility */)); assertEquals(Insets.of(0, 25, 0, 0), mProvider.getSource().calculateVisibleInsets(new Rect(0, 0, 500, 500))); } @Test public void testPostLayout_invisible() { final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar"); Loading