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

Commit 25688556 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...

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

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

Change-Id: Ia0e4a438c75f8b9c444a0aba5e7000e127e30bb6
parents 8af44b27 42ac4982
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
@@ -886,6 +886,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();