Merge "Fix unexpected IME visible temporary while dismissing the editor dialog" into tm-qpr-dev

This commit is contained in:
TreeHugger Robot
2022-06-06 05:37:01 +00:00
committed by Android (Google) Code Review
3 changed files with 7 additions and 4 deletions

View File

@@ -4407,8 +4407,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
boolean imeLayeringTargetMayUseIme =
LayoutParams.mayUseInputMethod(mImeLayeringTarget.mAttrs.flags)
|| mImeLayeringTarget.mAttrs.type == TYPE_APPLICATION_STARTING;
if (imeLayeringTargetMayUseIme && mImeInputTarget != null
&& mImeLayeringTarget.mActivityRecord != mImeInputTarget.getActivityRecord()) {
if (imeLayeringTargetMayUseIme && (mImeInputTarget == null
|| mImeLayeringTarget.mActivityRecord != mImeInputTarget.getActivityRecord())) {
// Do not change parent if the window hasn't requested IME.
return null;
}

View File

@@ -643,6 +643,7 @@ public class DisplayContentTests extends WindowTestsBase {
final DisplayContent dc = mDisplayContent;
final WindowState ws = createWindow(null, TYPE_APPLICATION, dc, "app window");
dc.setImeLayeringTarget(ws);
dc.setImeInputTarget(ws);
// Adjust bounds so that matchesRootDisplayAreaBounds() returns false.
final Rect bounds = new Rect(dc.getBounds());
@@ -1154,6 +1155,7 @@ public class DisplayContentTests extends WindowTestsBase {
dc.setImeLayeringTarget(createWindow(null, TYPE_STATUS_BAR, "app"));
dc.getImeTarget(IME_TARGET_LAYERING).getWindow().setWindowingMode(
WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW);
dc.setImeInputTarget(dc.getImeTarget(IME_TARGET_LAYERING).getWindow());
assertEquals(dc.getImeContainer().getParentSurfaceControl(), dc.computeImeParent());
}
@@ -1172,6 +1174,7 @@ public class DisplayContentTests extends WindowTestsBase {
public void testComputeImeParent_noApp() throws Exception {
final DisplayContent dc = createNewDisplay();
dc.setImeLayeringTarget(createWindow(null, TYPE_STATUS_BAR, "statusBar"));
dc.setImeInputTarget(dc.getImeTarget(IME_TARGET_LAYERING).getWindow());
assertEquals(dc.getImeContainer().getParentSurfaceControl(), dc.computeImeParent());
}

View File

@@ -59,7 +59,7 @@ class CloseImeEditorPopupDialogTest(private val testSpec: FlickerTestParameter)
}
transitions {
imeTestApp.dismissDialog(wmHelper)
instrumentation.uiAutomation.syncInputTransactions()
wmHelper.waitImeGone()
}
teardown {
eachRun {
@@ -91,7 +91,7 @@ class CloseImeEditorPopupDialogTest(private val testSpec: FlickerTestParameter)
.then()
.isVisible(FlickerComponentName.IME_SNAPSHOT)
.then()
.isInvisible(FlickerComponentName.IME_SNAPSHOT)
.isInvisible(FlickerComponentName.IME_SNAPSHOT, isOptional = true)
.isInvisible(FlickerComponentName.IME)
}
}