Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 45c099a4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents 2c108ffd 21674014
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;
            }
+3 −0
Original line number Diff line number Diff line
@@ -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());
    }

+2 −2
Original line number Diff line number Diff line
@@ -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)
        }
    }