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
This commit is contained in:
TreeHugger Robot
2020-09-28 23:41:28 +00:00
committed by Automerger Merge Worker
2 changed files with 10 additions and 1 deletions

View File

@@ -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());
}

View File

@@ -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());
}
}