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

Commit 89d3076a authored by TYM Tsai's avatar TYM Tsai Committed by Android (Google) Code Review
Browse files

Merge "Stop to show fill dialog if IME is showing" into udc-dev

parents 4fd131ee fa4839d2
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)) {