Loading services/core/java/com/android/server/wm/InsetsSourceProvider.java +3 −0 Original line number Diff line number Diff line Loading @@ -508,6 +508,9 @@ abstract class InsetsSourceProvider { } mClientVisible = clientVisible; updateVisibility(); // The visibility change needs a traversal to apply. mDisplayContent.setLayoutNeeded(); mDisplayContent.mWmService.mWindowPlacerLocked.requestTraversal(); } @VisibleForTesting Loading services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java +8 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.spy; Loading Loading @@ -411,7 +412,14 @@ public class InsetsStateControllerTest extends WindowTestsBase { final WindowState navBar = createTestWindow("navBar"); getController().getSourceProvider(ITYPE_IME).setWindowContainer(ime, null, null); waitUntilHandlersIdle(); clearInvocations(mDisplayContent); getController().getSourceProvider(ITYPE_IME).setClientVisible(true); waitUntilHandlersIdle(); // The visibility change should trigger a traversal to notify the change. verify(mDisplayContent).notifyInsetsChanged(any()); getController().getSourceProvider(ITYPE_STATUS_BAR).setWindowContainer(statusBar, null, null); getController().getSourceProvider(ITYPE_NAVIGATION_BAR).setWindowContainer(navBar, null, Loading Loading
services/core/java/com/android/server/wm/InsetsSourceProvider.java +3 −0 Original line number Diff line number Diff line Loading @@ -508,6 +508,9 @@ abstract class InsetsSourceProvider { } mClientVisible = clientVisible; updateVisibility(); // The visibility change needs a traversal to apply. mDisplayContent.setLayoutNeeded(); mDisplayContent.mWmService.mWindowPlacerLocked.requestTraversal(); } @VisibleForTesting Loading
services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java +8 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.spy; Loading Loading @@ -411,7 +412,14 @@ public class InsetsStateControllerTest extends WindowTestsBase { final WindowState navBar = createTestWindow("navBar"); getController().getSourceProvider(ITYPE_IME).setWindowContainer(ime, null, null); waitUntilHandlersIdle(); clearInvocations(mDisplayContent); getController().getSourceProvider(ITYPE_IME).setClientVisible(true); waitUntilHandlersIdle(); // The visibility change should trigger a traversal to notify the change. verify(mDisplayContent).notifyInsetsChanged(any()); getController().getSourceProvider(ITYPE_STATUS_BAR).setWindowContainer(statusBar, null, null); getController().getSourceProvider(ITYPE_NAVIGATION_BAR).setWindowContainer(navBar, null, Loading