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

Commit e801f632 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Send empty response to IME when autofill session is destroyed" into...

Merge "Send empty response to IME when autofill session is destroyed" into rvc-dev am: 756740d9 am: 617c3eae

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

Change-Id: I7b19725303b7ce80c60cf985bf225d6246b8a5c4
parents 65dce9a9 617c3eae
Loading
Loading
Loading
Loading
+17 −1
Original line number Original line Diff line number Diff line
@@ -77,8 +77,8 @@ final class AutofillInlineSessionController {
        if (mSession != null) {
        if (mSession != null) {
            // Destroy the existing session.
            // Destroy the existing session.
            mSession.destroySessionLocked();
            mSession.destroySessionLocked();
            mInlineFillUi = null;
        }
        }
        mInlineFillUi = null;
        // TODO(b/151123764): consider reusing the same AutofillInlineSession object for the
        // TODO(b/151123764): consider reusing the same AutofillInlineSession object for the
        // same field.
        // same field.
        mSession = new AutofillInlineSuggestionsRequestSession(mInputMethodManagerInternal, mUserId,
        mSession = new AutofillInlineSuggestionsRequestSession(mInputMethodManagerInternal, mUserId,
@@ -86,6 +86,22 @@ final class AutofillInlineSessionController {
        mSession.onCreateInlineSuggestionsRequestLocked();
        mSession.onCreateInlineSuggestionsRequestLocked();
    }
    }


    /**
     * Destroys the current session. May send an empty response to IME to clear the suggestions if
     * the focus didn't change to a different field.
     *
     * @param autofillId the currently focused view from the autofill session
     */
    @GuardedBy("mLock")
    void destroyLocked(@NonNull AutofillId autofillId) {
        if (mSession != null) {
            mSession.onInlineSuggestionsResponseLocked(InlineFillUi.emptyUi(autofillId));
            mSession.destroySessionLocked();
            mSession = null;
        }
        mInlineFillUi = null;
    }

    /**
    /**
     * Returns the {@link InlineSuggestionsRequest} provided by IME for the last request.
     * Returns the {@link InlineSuggestionsRequest} provided by IME for the last request.
     *
     *
+3 −0
Original line number Original line Diff line number Diff line
@@ -3702,6 +3702,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
        unlinkClientVultureLocked();
        unlinkClientVultureLocked();
        mUi.destroyAll(mPendingSaveUi, this, true);
        mUi.destroyAll(mPendingSaveUi, this, true);
        mUi.clearCallback(this);
        mUi.clearCallback(this);
        if (mCurrentViewId != null) {
            mInlineSessionController.destroyLocked(mCurrentViewId);
        }
        mDestroyed = true;
        mDestroyed = true;


        // Log metrics
        // Log metrics