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

Commit 0077be7b authored by Ming-Shin Lu's avatar Ming-Shin Lu Committed by Android (Google) Code Review
Browse files

Merge "Fix Stay on 'SELECT INPUT METHOD' page after choosing input method" into sc-dev

parents a0178237 f4f68a3e
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -733,16 +733,16 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
        // dismissing during the task switching to keep the window focus because IME window has
        // higher window hierarchy, we don't give it focus if the next IME layering target
        // doesn't request IME visible.
        if (w.mIsImWindow && (mImeLayeringTarget == null
        if (w.mIsImWindow && w.isChildWindow() && (mImeLayeringTarget == null
                || !mImeLayeringTarget.getRequestedVisibility(ITYPE_IME))) {
            if (w.mAttrs.type == TYPE_INPUT_METHOD_DIALOG) {
            return false;
        }

            if (w.isChildWindow()) {
        if (w.mAttrs.type == TYPE_INPUT_METHOD_DIALOG && mImeLayeringTarget != null
                && !mImeLayeringTarget.getRequestedVisibility(ITYPE_IME)
                && mImeLayeringTarget.isAnimating(PARENTS | TRANSITION,
                ANIMATION_TYPE_APP_TRANSITION)) {
            return false;
        }
        }

        final ActivityRecord activity = w.mActivityRecord;

+3 −0
Original line number Diff line number Diff line
@@ -2223,6 +2223,9 @@ public class DisplayContentTests extends WindowTestsBase {
        // request IME visible.
        final WindowState nextImeAppTarget =
                createWindow(null, TYPE_BASE_APPLICATION, mDisplayContent, "nextImeAppTarget");
        spyOn(nextImeAppTarget);
        doReturn(true).when(nextImeAppTarget).isAnimating(PARENTS | TRANSITION,
                ANIMATION_TYPE_APP_TRANSITION);
        mDisplayContent.setImeLayeringTarget(nextImeAppTarget);
        assertNotEquals(imeMenuDialog, mDisplayContent.findFocusedWindow());
    }