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

Commit 42ac4982 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 am: bf2c10fe

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

Change-Id: I38ceace05e09bb75fc2e688a64015c773d587b1f
parents 016e96a4 bf2c10fe
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();