diff options
| author | 2020-09-28 23:41:28 +0000 | |
|---|---|---|
| committer | 2020-09-28 23:41:28 +0000 | |
| commit | b2c37bf24ca3a98d6e2bb544ce1f5555f14dde4d (patch) | |
| tree | e369f32e2b0cd486ecc5ed725acba295df96996c | |
| parent | 4ed6e2359e7afdd9e6f0fde2cd4cb0d2f540ef9f (diff) | |
| parent | c7deacbc64b84966373d37d1d0ad7aac6105278c (diff) | |
Merge "Handle IME when target moves between splits" into rvc-qpr-dev am: b7b75e52bc am: c7deacbc64
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12496230
Change-Id: If24a82ae2a8b319b2935f739fc89729100e30f93
| -rw-r--r-- | services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java | 3 | ||||
| -rw-r--r-- | services/tests/wmtests/src/com/android/server/wm/ImeInsetsSourceProviderTest.java | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java index f0f338534ed2..1d8cdf7e773c 100644 --- a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java +++ b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java @@ -138,8 +138,9 @@ class ImeInsetsSourceProvider extends InsetsSourceProvider { && dcTarget.getParentWindow() == mImeTargetFromIme && dcTarget.mSubLayer > mImeTargetFromIme.getWindow().mSubLayer) || mImeTargetFromIme == mDisplayContent.getImeFallback() + || mImeTargetFromIme == mDisplayContent.mInputMethodInputTarget || controlTarget == mImeTargetFromIme - && (mImeTargetFromIme.getWindow() == null + && (mImeTargetFromIme.getWindow() == null || !mImeTargetFromIme.getWindow().isClosing()); } diff --git a/services/tests/wmtests/src/com/android/server/wm/ImeInsetsSourceProviderTest.java b/services/tests/wmtests/src/com/android/server/wm/ImeInsetsSourceProviderTest.java index ca739c0dd389..91cfd4e6a89d 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ImeInsetsSourceProviderTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/ImeInsetsSourceProviderTest.java @@ -56,4 +56,12 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { mImeProvider.scheduleShowImePostLayout(appWin); assertTrue(mImeProvider.isImeTargetFromDisplayContentAndImeSame()); } + + @Test + public void testInputMethodInputTargetCanShowIme() { + WindowState target = createWindow(null, TYPE_APPLICATION, "app"); + mDisplayContent.mInputMethodTarget = target; + mImeProvider.scheduleShowImePostLayout(target); + assertTrue(mImeProvider.isImeTargetFromDisplayContentAndImeSame()); + } } |