Loading services/core/java/com/android/server/wm/DisplayContent.java +2 −2 Original line number Diff line number Diff line Loading @@ -857,8 +857,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp return false; } if (w.mAttrs.type == TYPE_INPUT_METHOD_DIALOG && mImeLayeringTarget != null && !mImeLayeringTarget.isRequestedVisible(ime()) && !mImeLayeringTarget.isVisibleRequested()) { && !(mImeLayeringTarget.isRequestedVisible(ime()) && mImeLayeringTarget.isVisibleRequested())) { return false; } Loading services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java +5 −3 Original line number Diff line number Diff line Loading @@ -2796,15 +2796,17 @@ public class DisplayContentTests extends WindowTestsBase { final WindowState imeAppTarget = createWindow(null, TYPE_BASE_APPLICATION, mDisplayContent, "imeAppTarget"); mDisplayContent.setImeLayeringTarget(imeAppTarget); spyOn(imeAppTarget); doReturn(true).when(imeAppTarget).isRequestedVisible(ime()); imeAppTarget.setRequestedVisibleTypes(ime()); assertEquals(imeMenuDialog, mDisplayContent.findFocusedWindow()); // Verify imeMenuDialog doesn't be focused window if the next IME target is closing. final WindowState nextImeAppTarget = createWindow(null, TYPE_BASE_APPLICATION, mDisplayContent, "nextImeAppTarget"); makeWindowVisibleAndDrawn(nextImeAppTarget); nextImeAppTarget.mActivityRecord.commitVisibility(false, false); // Even if the app still requests IME, the ime dialog should not gain focus if the target // app is invisible. nextImeAppTarget.setRequestedVisibleTypes(ime()); nextImeAppTarget.mActivityRecord.setVisibility(false); mDisplayContent.setImeLayeringTarget(nextImeAppTarget); assertNotEquals(imeMenuDialog, mDisplayContent.findFocusedWindow()); } Loading Loading
services/core/java/com/android/server/wm/DisplayContent.java +2 −2 Original line number Diff line number Diff line Loading @@ -857,8 +857,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp return false; } if (w.mAttrs.type == TYPE_INPUT_METHOD_DIALOG && mImeLayeringTarget != null && !mImeLayeringTarget.isRequestedVisible(ime()) && !mImeLayeringTarget.isVisibleRequested()) { && !(mImeLayeringTarget.isRequestedVisible(ime()) && mImeLayeringTarget.isVisibleRequested())) { return false; } Loading
services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java +5 −3 Original line number Diff line number Diff line Loading @@ -2796,15 +2796,17 @@ public class DisplayContentTests extends WindowTestsBase { final WindowState imeAppTarget = createWindow(null, TYPE_BASE_APPLICATION, mDisplayContent, "imeAppTarget"); mDisplayContent.setImeLayeringTarget(imeAppTarget); spyOn(imeAppTarget); doReturn(true).when(imeAppTarget).isRequestedVisible(ime()); imeAppTarget.setRequestedVisibleTypes(ime()); assertEquals(imeMenuDialog, mDisplayContent.findFocusedWindow()); // Verify imeMenuDialog doesn't be focused window if the next IME target is closing. final WindowState nextImeAppTarget = createWindow(null, TYPE_BASE_APPLICATION, mDisplayContent, "nextImeAppTarget"); makeWindowVisibleAndDrawn(nextImeAppTarget); nextImeAppTarget.mActivityRecord.commitVisibility(false, false); // Even if the app still requests IME, the ime dialog should not gain focus if the target // app is invisible. nextImeAppTarget.setRequestedVisibleTypes(ime()); nextImeAppTarget.mActivityRecord.setVisibility(false); mDisplayContent.setImeLayeringTarget(nextImeAppTarget); assertNotEquals(imeMenuDialog, mDisplayContent.findFocusedWindow()); } Loading