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

Commit f738c55e authored by Ming-Shin Lu's avatar Ming-Shin Lu Committed by Automerger Merge Worker
Browse files

Merge "Fix Stay on 'SELECT INPUT METHOD' page after choosing input method"...

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

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

Change-Id: I6e6da5210238d602f4b2d8a25867cd1a421d4f39
parents 6c6a3b63 0077be7b
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());
    }