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

Commit b166311b authored by TYM Tsai's avatar TYM Tsai Committed by Automerger Merge Worker
Browse files

Merge "Stop to show fill dialog if IME is showing" into udc-dev am: 89d3076a am: a79c262a

parents 1021513a a79c262a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1773,7 +1773,7 @@ public final class AutofillManager {
                    mForAugmentedAutofillOnly = false;
                }

                if ((flags & FLAG_SUPPORTS_FILL_DIALOG) != 0 && view != null) {
                if ((flags & FLAG_SUPPORTS_FILL_DIALOG) != 0) {
                    flags |= FLAG_RESET_FILL_DIALOG_STATE;
                }

+7 −0
Original line number Diff line number Diff line
@@ -206,4 +206,11 @@ final class AutofillInlineSessionController {
        }
        return false;
    }

    boolean isImeShowing() {
        if (mSession != null) {
            return mSession.isImeShowing();
        }
        return false;
    }
}
+9 −0
Original line number Diff line number Diff line
@@ -106,6 +106,8 @@ final class AutofillInlineSuggestionsRequestSession {
    @GuardedBy("mLock")
    private boolean mImeSessionInvalidated = false;

    private boolean mImeShowing = false;

    AutofillInlineSuggestionsRequestSession(
            @NonNull InputMethodManagerInternal inputMethodManagerInternal, int userId,
            @NonNull ComponentName componentName, @NonNull Handler handler, @NonNull Object lock,
@@ -320,6 +322,7 @@ final class AutofillInlineSuggestionsRequestSession {
            if (mDestroyed) {
                return;
            }
            mImeShowing = imeInputViewStarted;
            if (mImeCurrentFieldId != null) {
                boolean imeInputStartedChanged = (mImeInputStarted != imeInputStarted);
                boolean imeInputViewStartedChanged = (mImeInputViewStarted != imeInputViewStarted);
@@ -364,6 +367,12 @@ final class AutofillInlineSuggestionsRequestSession {
        }
    }

    boolean isImeShowing() {
        synchronized (mLock) {
            return !mDestroyed && mImeShowing;
        }
    }

    /**
     * Internal implementation of {@link IInlineSuggestionsRequestCallback}.
     */
+6 −0
Original line number Diff line number Diff line
@@ -4365,6 +4365,12 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
            return false;
        }

        if (mInlineSessionController.isImeShowing()) {
            // IME is showing, fallback to normal suggestions UI
            // Note: only work when inline suggestions supported
            return false;
        }

        synchronized (mLock) {
            if (mLastFillDialogTriggerIds == null
                    || !ArrayUtils.contains(mLastFillDialogTriggerIds, filledId)) {