Merge "Send empty inline response to IME if augmented autofill returns no suggestion" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b9aeb6ca22
@@ -62,9 +62,10 @@ public final class FillCallback {
|
||||
|
||||
List<Dataset> inlineSuggestions = response.getInlineSuggestions();
|
||||
Bundle clientState = response.getClientState();
|
||||
// We need to report result regardless of whether inline suggestions are returned or not.
|
||||
mProxy.reportResult(inlineSuggestions, clientState);
|
||||
if (inlineSuggestions != null && !inlineSuggestions.isEmpty()) {
|
||||
mProxy.logEvent(AutofillProxy.REPORT_EVENT_INLINE_RESPONSE);
|
||||
mProxy.reportResult(inlineSuggestions, clientState);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ final class AutofillInlineSuggestionsRequestSession {
|
||||
@Nullable
|
||||
private InlineFillUi mInlineFillUi;
|
||||
@GuardedBy("mLock")
|
||||
private boolean mPreviousResponseIsNotEmpty;
|
||||
private Boolean mPreviousResponseIsNotEmpty = null;
|
||||
|
||||
@GuardedBy("mLock")
|
||||
private boolean mDestroyed = false;
|
||||
@@ -213,7 +213,7 @@ final class AutofillInlineSuggestionsRequestSession {
|
||||
// if IME is visible, and response is not null, send the response
|
||||
InlineSuggestionsResponse response = mInlineFillUi.getInlineSuggestionsResponse();
|
||||
boolean isEmptyResponse = response.getInlineSuggestions().isEmpty();
|
||||
if (isEmptyResponse && !mPreviousResponseIsNotEmpty) {
|
||||
if (isEmptyResponse && Boolean.FALSE.equals(mPreviousResponseIsNotEmpty)) {
|
||||
// No-op if both the previous response and current response are empty.
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -245,6 +245,11 @@ final class RemoteAugmentedAutofillService
|
||||
if (inlineSuggestionsData == null || inlineSuggestionsData.isEmpty()
|
||||
|| inlineSuggestionsCallback == null || request == null
|
||||
|| remoteRenderService == null) {
|
||||
// If it was an inline request and the response doesn't have any inline suggestions,
|
||||
// we will send an empty response to IME.
|
||||
if (inlineSuggestionsCallback != null && request != null) {
|
||||
inlineSuggestionsCallback.apply(InlineFillUi.emptyUi(focusedId));
|
||||
}
|
||||
return;
|
||||
}
|
||||
mCallbacks.setLastResponse(sessionId);
|
||||
|
||||
Reference in New Issue
Block a user