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

Commit d480badd authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix unexpected IME visible temporary while dismissing the editor...

Merge "Fix unexpected IME visible temporary while dismissing the editor dialog" into tm-qpr-dev am: 45c099a4 am: a3bb789d

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



Change-Id: Id583f6f127b8f1cb6ab32c9fb4c2da933450f770
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 45ec236e a3bb789d
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)
        }
    }