Merge "Handle IME when target moves between splits" into rvc-qpr-dev am: b7b75e52bc

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12496230

Change-Id: I17f7d15ad2077f3322d08165287be68d1e3607fd
This commit is contained in:
TreeHugger Robot
2020-09-28 23:28:40 +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.getParentWindow() == mImeTargetFromIme
&& dcTarget.mSubLayer > mImeTargetFromIme.getWindow().mSubLayer) && dcTarget.mSubLayer > mImeTargetFromIme.getWindow().mSubLayer)
|| mImeTargetFromIme == mDisplayContent.getImeFallback() || mImeTargetFromIme == mDisplayContent.getImeFallback()
|| mImeTargetFromIme == mDisplayContent.mInputMethodInputTarget
|| controlTarget == mImeTargetFromIme || controlTarget == mImeTargetFromIme
&& (mImeTargetFromIme.getWindow() == null && (mImeTargetFromIme.getWindow() == null
|| !mImeTargetFromIme.getWindow().isClosing()); || !mImeTargetFromIme.getWindow().isClosing());
} }

View File

@@ -56,4 +56,12 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase {
mImeProvider.scheduleShowImePostLayout(appWin); mImeProvider.scheduleShowImePostLayout(appWin);
assertTrue(mImeProvider.isImeTargetFromDisplayContentAndImeSame()); assertTrue(mImeProvider.isImeTargetFromDisplayContentAndImeSame());
} }
@Test
public void testInputMethodInputTargetCanShowIme() {
WindowState target = createWindow(null, TYPE_APPLICATION, "app");
mDisplayContent.mInputMethodTarget = target;
mImeProvider.scheduleShowImePostLayout(target);
assertTrue(mImeProvider.isImeTargetFromDisplayContentAndImeSame());
}
} }