Don't provide IME insets to the PIP window

The PIP window will be moved up to avoid overlapping with IME when IME
is showing. The time of overlapping is very short. We don't want the PIP
window to change its layout during so.

Fix: 160346523
Test: atest InsetsStateControllerTest
Change-Id: I23be3afe2913210f6ac64aa1c19aae567e539756
This commit is contained in:
Tiger Huang
2021-02-03 17:48:35 +08:00
parent 8812ace3a8
commit e537165bc1
2 changed files with 5 additions and 0 deletions

View File

@@ -17,6 +17,7 @@
package com.android.server.wm;
import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER;
import static android.view.InsetsState.ITYPE_CAPTION_BAR;
@@ -218,6 +219,9 @@ class InsetsStateController {
state.removeSource(ITYPE_STATUS_BAR);
state.removeSource(ITYPE_NAVIGATION_BAR);
state.removeSource(ITYPE_EXTRA_NAVIGATION_BAR);
if (windowingMode == WINDOWING_MODE_PINNED) {
state.removeSource(ITYPE_IME);
}
}
return state;

View File

@@ -86,6 +86,7 @@ public class InsetsStateControllerTest extends WindowTestsBase {
assertNull(getController().getInsetsForWindow(app).peekSource(ITYPE_STATUS_BAR));
assertNull(getController().getInsetsForWindow(app).peekSource(ITYPE_NAVIGATION_BAR));
assertNull(getController().getInsetsForWindow(app).peekSource(ITYPE_IME));
}
@Test