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

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

Merge "Fix stuck IME when IME dialog is focused" into rvc-dev am: a13d3491

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

Change-Id: I783e42924ae0ba84dfbc270ccaba89a803778b41
parents 469955b8 a13d3491
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2170,6 +2170,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
        if (isInputMethodTarget()) {
            dc.computeImeTarget(true /* updateImeTarget */);
        }
        if (dc.mInputMethodInputTarget == this) {
            dc.setInputMethodInputTarget(null);
        }
        if (dc.mInputMethodControlTarget == this) {
            dc.updateImeControlTarget();
        }
+15 −0
Original line number Diff line number Diff line
@@ -889,6 +889,21 @@ public class DisplayContentTests extends WindowTestsBase {
        assertEquals(dc.getImeContainer().getParentSurfaceControl(), dc.computeImeParent());
    }

    @Test
    public void testInputMethodInputTarget_isClearedWhenWindowStateIsRemoved() throws Exception {
        final DisplayContent dc = createNewDisplay();

        WindowState app = createWindow(null, TYPE_BASE_APPLICATION, dc, "app");

        dc.mInputMethodInputTarget = app;
        assertEquals(app, dc.computeImeControlTarget());

        app.removeImmediately();

        assertNull(dc.mInputMethodInputTarget);
        assertNull(dc.computeImeControlTarget());
    }

    @Test
    public void testComputeImeControlTarget() throws Exception {
        final DisplayContent dc = createNewDisplay();