Hide suggestions with hideFillUi

Fix: 149945531
Test: atest InlineLoginActivityTest
Change-Id: Ibd6d19165c69f51fbe92addbf114c9d123147362
This commit is contained in:
Adam He
2020-02-19 18:30:20 -08:00
parent 710895ed78
commit 217649d3ed
2 changed files with 22 additions and 5 deletions

View File

@@ -1158,6 +1158,18 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
} catch (RemoteException e) {
Slog.e(TAG, "Error requesting to hide fill UI", e);
}
try {
final InlineSuggestionSession.ImeResponse imeResponse =
mInlineSuggestionSession.waitAndGetImeResponse();
if (imeResponse == null) {
Log.w(TAG, "Session input method callback is not set yet");
return;
}
imeResponse.getCallback().onInlineSuggestionsResponse(
new InlineSuggestionsResponse(Collections.EMPTY_LIST));
} catch (RemoteException e) {
Slog.e(TAG, "RemoteException hiding inline suggestions");
}
}
}

View File

@@ -82,12 +82,17 @@ public final class InlineSuggestionFactory {
if (sDebug) Slog.d(TAG, "createInlineSuggestionsResponse called");
final BiConsumer<Dataset, Integer> onClickFactory;
if (response.getAuthentication() != null) {
onClickFactory = (dataset, datasetIndex) -> client.authenticate(response.getRequestId(),
datasetIndex, response.getAuthentication(), response.getClientState(),
/* authenticateInline= */ true);
onClickFactory = (dataset, datasetIndex) -> {
client.requestHideFillUi(autofillId);
client.authenticate(response.getRequestId(),
datasetIndex, response.getAuthentication(), response.getClientState(),
/* authenticateInline= */ true);
};
} else {
onClickFactory = (dataset, datasetIndex) ->
client.fill(response.getRequestId(), datasetIndex, dataset);
onClickFactory = (dataset, datasetIndex) -> {
client.requestHideFillUi(autofillId);
client.fill(response.getRequestId(), datasetIndex, dataset);
};
}
final List<Dataset> datasetList = response.getDatasets();