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

Commit 2edc6b83 authored by Evan Rosky's avatar Evan Rosky Committed by Android (Google) Code Review
Browse files

Merge "Visible activity can be an ime target"

parents 51a1afe4 4c4ba205
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -2547,7 +2547,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP

        if (DEBUG_INPUT_METHOD) {
            Slog.i(TAG_WM, "isVisibleRequestedOrAdding " + this + ": "
                    + isVisibleRequestedOrAdding());
                    + isVisibleRequestedOrAdding() + " isVisible: " + (isVisible()
                    && mActivityRecord != null && mActivityRecord.isVisible()));
            if (!isVisibleRequestedOrAdding()) {
                Slog.i(TAG_WM, "  mSurfaceController=" + mWinAnimator.mSurfaceController
                        + " relayoutCalled=" + mRelayoutCalled
@@ -2562,7 +2563,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
                }
            }
        }
        return isVisibleRequestedOrAdding();
        return isVisibleRequestedOrAdding()
                || (isVisible() && mActivityRecord != null && mActivityRecord.isVisible());
    }

    private final class DeadWindowEventReceiver extends InputEventReceiver {
+5 −0
Original line number Diff line number Diff line
@@ -252,6 +252,11 @@ public class WindowStateTests extends WindowTestsBase {
        assertFalse(appWindow.canBeImeTarget());
        appWindow.mActivityRecord.setWindowingMode(initialMode);

        // Verify that app window can still be IME target as long as it is visible (even if
        // it is going to become invisible).
        appWindow.mActivityRecord.mVisibleRequested = false;
        assertTrue(appWindow.canBeImeTarget());

        // Make windows invisible
        appWindow.hide(false /* doAnimation */, false /* requestAnim */);
        imeWindow.hide(false /* doAnimation */, false /* requestAnim */);