Merge "Fix unexpected IME visible temporary while dismissing the editor dialog" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
45c099a42a
@@ -4407,8 +4407,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
|
|||||||
boolean imeLayeringTargetMayUseIme =
|
boolean imeLayeringTargetMayUseIme =
|
||||||
LayoutParams.mayUseInputMethod(mImeLayeringTarget.mAttrs.flags)
|
LayoutParams.mayUseInputMethod(mImeLayeringTarget.mAttrs.flags)
|
||||||
|| mImeLayeringTarget.mAttrs.type == TYPE_APPLICATION_STARTING;
|
|| mImeLayeringTarget.mAttrs.type == TYPE_APPLICATION_STARTING;
|
||||||
if (imeLayeringTargetMayUseIme && mImeInputTarget != null
|
if (imeLayeringTargetMayUseIme && (mImeInputTarget == null
|
||||||
&& mImeLayeringTarget.mActivityRecord != mImeInputTarget.getActivityRecord()) {
|
|| mImeLayeringTarget.mActivityRecord != mImeInputTarget.getActivityRecord())) {
|
||||||
// Do not change parent if the window hasn't requested IME.
|
// Do not change parent if the window hasn't requested IME.
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -643,6 +643,7 @@ public class DisplayContentTests extends WindowTestsBase {
|
|||||||
final DisplayContent dc = mDisplayContent;
|
final DisplayContent dc = mDisplayContent;
|
||||||
final WindowState ws = createWindow(null, TYPE_APPLICATION, dc, "app window");
|
final WindowState ws = createWindow(null, TYPE_APPLICATION, dc, "app window");
|
||||||
dc.setImeLayeringTarget(ws);
|
dc.setImeLayeringTarget(ws);
|
||||||
|
dc.setImeInputTarget(ws);
|
||||||
|
|
||||||
// Adjust bounds so that matchesRootDisplayAreaBounds() returns false.
|
// Adjust bounds so that matchesRootDisplayAreaBounds() returns false.
|
||||||
final Rect bounds = new Rect(dc.getBounds());
|
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.setImeLayeringTarget(createWindow(null, TYPE_STATUS_BAR, "app"));
|
||||||
dc.getImeTarget(IME_TARGET_LAYERING).getWindow().setWindowingMode(
|
dc.getImeTarget(IME_TARGET_LAYERING).getWindow().setWindowingMode(
|
||||||
WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW);
|
WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW);
|
||||||
|
dc.setImeInputTarget(dc.getImeTarget(IME_TARGET_LAYERING).getWindow());
|
||||||
assertEquals(dc.getImeContainer().getParentSurfaceControl(), dc.computeImeParent());
|
assertEquals(dc.getImeContainer().getParentSurfaceControl(), dc.computeImeParent());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1172,6 +1174,7 @@ public class DisplayContentTests extends WindowTestsBase {
|
|||||||
public void testComputeImeParent_noApp() throws Exception {
|
public void testComputeImeParent_noApp() throws Exception {
|
||||||
final DisplayContent dc = createNewDisplay();
|
final DisplayContent dc = createNewDisplay();
|
||||||
dc.setImeLayeringTarget(createWindow(null, TYPE_STATUS_BAR, "statusBar"));
|
dc.setImeLayeringTarget(createWindow(null, TYPE_STATUS_BAR, "statusBar"));
|
||||||
|
dc.setImeInputTarget(dc.getImeTarget(IME_TARGET_LAYERING).getWindow());
|
||||||
assertEquals(dc.getImeContainer().getParentSurfaceControl(), dc.computeImeParent());
|
assertEquals(dc.getImeContainer().getParentSurfaceControl(), dc.computeImeParent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ class CloseImeEditorPopupDialogTest(private val testSpec: FlickerTestParameter)
|
|||||||
}
|
}
|
||||||
transitions {
|
transitions {
|
||||||
imeTestApp.dismissDialog(wmHelper)
|
imeTestApp.dismissDialog(wmHelper)
|
||||||
instrumentation.uiAutomation.syncInputTransactions()
|
wmHelper.waitImeGone()
|
||||||
}
|
}
|
||||||
teardown {
|
teardown {
|
||||||
eachRun {
|
eachRun {
|
||||||
@@ -91,7 +91,7 @@ class CloseImeEditorPopupDialogTest(private val testSpec: FlickerTestParameter)
|
|||||||
.then()
|
.then()
|
||||||
.isVisible(FlickerComponentName.IME_SNAPSHOT)
|
.isVisible(FlickerComponentName.IME_SNAPSHOT)
|
||||||
.then()
|
.then()
|
||||||
.isInvisible(FlickerComponentName.IME_SNAPSHOT)
|
.isInvisible(FlickerComponentName.IME_SNAPSHOT, isOptional = true)
|
||||||
.isInvisible(FlickerComponentName.IME)
|
.isInvisible(FlickerComponentName.IME)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user