diff options
| author | 2020-07-21 14:30:25 -0700 | |
|---|---|---|
| committer | 2020-09-02 18:01:19 +0000 | |
| commit | 894e1ceea917be771cd0949784a141e2f14a9364 (patch) | |
| tree | f010e07e7ad27585fba0e8b91a1f656abeb5fbb6 | |
| parent | b1f16b637e161bf55a2fbdb8d21e3e2c127d0a03 (diff) | |
Fix NavigationBarColorTest
Manually partially revert I4910c2a06cc67b0470477b245fc1de54b75f10f9 so
that we don't use a window that's animating away as control target.
Fix: 161659326
Bug: 153145997
Test: atest NavigationBarColorTest#testSetNavigationBarColor
Bug: 167499521
Fixed: 167499521
Exempt-From-Owner-Approval: Cherry-pick of downstream change
Merged-In: I68db516c91da69e0f4dcbdfab6d6a757c4cdc75b
Change-Id: I68db516c91da69e0f4dcbdfab6d6a757c4cdc75b
(cherry picked from commit 588fa46cf4d6604b9050d67cbe2a596d52d4f6c3)
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"); |