diff options
3 files changed, 0 insertions, 35 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 5d3f3c0401ef..06c0c4656332 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -3606,18 +3606,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo == mRemoteInsetsControlTarget)) { return mRemoteInsetsControlTarget; } else { - // Now, a special case -- if the last target's window is in the process of exiting, but - // not removed, keep on the last target to avoid IME flicker. - final WindowState cur = InsetsControlTarget.asWindowOrNull(mInputMethodControlTarget); - if (cur != null && !cur.mRemoved && cur.isDisplayedLw() && cur.isClosing() - && !cur.isActivityTypeHome()) { - if (DEBUG_INPUT_METHOD) { - Slog.v(TAG_WM, "Not changing control while current window" - + " is closing and not removed"); - } - return cur; - } - // Otherwise, we just use the ime target as received from IME. return mInputMethodInputTarget; } } diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index f0c2a74958d6..11db705f4e04 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -2173,9 +2173,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP if (dc.mInputMethodInputTarget == this) { dc.setInputMethodInputTarget(null); } - if (dc.mInputMethodControlTarget == this) { - dc.updateImeControlTarget(); - } final int type = mAttrs.type; if (WindowManagerService.excludeWindowTypeFromTapOutTask(type)) { diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java index d6e038d8d027..66dfbfdda604 100644 --- a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java @@ -914,26 +914,6 @@ public class DisplayContentTests extends WindowTestsBase { } @Test - public void testComputeImeControlTarget_exitingApp() throws Exception { - final DisplayContent dc = createNewDisplay(); - - WindowState exitingWin = createWindow(null, TYPE_BASE_APPLICATION, "exiting app"); - makeWindowVisible(exitingWin); - exitingWin.mWinAnimator.mDrawState = WindowStateAnimator.HAS_DRAWN; - exitingWin.mAnimatingExit = true; - - dc.mInputMethodControlTarget = exitingWin; - dc.mInputMethodTarget = dc.mInputMethodInputTarget = - createWindow(null, TYPE_BASE_APPLICATION, "starting app"); - - assertEquals(exitingWin, dc.computeImeControlTarget()); - - exitingWin.removeImmediately(); - - assertEquals(dc.mInputMethodInputTarget, dc.computeImeControlTarget()); - } - - @Test public void testComputeImeControlTarget_splitscreen() throws Exception { final DisplayContent dc = createNewDisplay(); dc.mInputMethodInputTarget = createWindow(null, TYPE_BASE_APPLICATION, "app"); |