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

Commit 5da8e669 authored by Feng Cao's avatar Feng Cao Committed by Automerger Merge Worker
Browse files

Merge "Only clear inline suggestions when IMS.onInputFinish is called" into rvc-dev am: c06c034a

Change-Id: I3326a06aaf5135a5194646e7b8d9a650c52754ee
parents 351d8fb8 c06c034a
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -212,12 +212,12 @@ final class AutofillInlineSuggestionsRequestSession {
        if (mDestroyed || mResponseCallback == null) {
            return;
        }
        if (!mImeInputViewStarted && mPreviousResponseIsNotEmpty) {
            // 1. if previous response is not empty, and IME just become invisible, then send
            // empty response to make sure existing responses don't stick around on the IME.
        if (!mImeInputStarted && mPreviousResponseIsNotEmpty) {
            // 1. if previous response is not empty, and IME is just disconnected from the view,
            // then send empty response to make sure existing responses don't stick around.
            // Although the inline suggestions should disappear when IME hides which removes them
            // from the view hierarchy, but we still send an empty response to be extra safe.

            // from the view hierarchy, but we still send an empty response to indicate that the
            // previous suggestions are invalid now.
            if (sVerbose) Slog.v(TAG, "Send empty inline response");
            updateResponseToImeUncheckLocked(new InlineSuggestionsResponse(Collections.EMPTY_LIST));
            mPreviousResponseIsNotEmpty = false;
+6 −2
Original line number Diff line number Diff line
@@ -2581,7 +2581,6 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
                    if (sVerbose) Slog.v(TAG, "Exiting view " + id);
                    mUi.hideFillUi(this);
                    hideAugmentedAutofillLocked(viewState);
                    mInlineSessionController.hideInlineSuggestionsUiLocked(mCurrentViewId);
                    mCurrentViewId = null;
                }
                break;
@@ -2655,6 +2654,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
                if (sVerbose) {
                    Slog.v(TAG, "ignoring autofilled change on id " + id);
                }
                // TODO(b/156099633): remove this once framework gets out of business of resending
                // inline suggestions when IME visibility changes.
                mInlineSessionController.hideInlineSuggestionsUiLocked(viewState.id);
                viewState.resetState(ViewState.STATE_CHANGED);
                return;
            } else if ((viewState.id.equals(this.mCurrentViewId))
@@ -3348,7 +3350,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
                if (generateEvent) {
                    mService.logDatasetSelected(dataset.getId(), id, mClientState);
                }

                if (mCurrentViewId != null) {
                    mInlineSessionController.hideInlineSuggestionsUiLocked(mCurrentViewId);
                }
                autoFillApp(dataset);
                return;
            }
+0 −2
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@ final class InlineSuggestionFactory {
            @NonNull AutoFillUI.AutoFillUiCallback client, @NonNull Runnable onErrorCallback,
            @Nullable RemoteInlineSuggestionRenderService remoteRenderService) {
        final BiConsumer<Dataset, Integer> onClickFactory = (dataset, datasetIndex) -> {
            client.requestHideFillUi(autofillId);
            client.authenticate(response.getRequestId(),
                    datasetIndex, response.getAuthentication(), response.getClientState(),
                    /* authenticateInline= */ true);
@@ -85,7 +84,6 @@ final class InlineSuggestionFactory {
        final Consumer<IntentSender> intentSenderConsumer = (intentSender) ->
                client.startIntentSender(intentSender, new Intent());
        final BiConsumer<Dataset, Integer> onClickFactory = (dataset, datasetIndex) -> {
            client.requestHideFillUi(autofillId);
            client.fill(requestId, datasetIndex, dataset);
        };