Merge "Add missing cases where empty suggestions should be sent to IME." into rvc-dev

This commit is contained in:
Adam He
2020-06-22 20:35:14 +00:00
committed by Android (Google) Code Review

View File

@@ -1005,6 +1005,10 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
|| disableDuration > 0) { || disableDuration > 0) {
// Response is "empty" from an UI point of view, need to notify client. // Response is "empty" from an UI point of view, need to notify client.
notifyUnavailableToClient(sessionFinishedState, /* autofillableIds= */ null); notifyUnavailableToClient(sessionFinishedState, /* autofillableIds= */ null);
synchronized (mLock) {
mInlineSessionController.setInlineFillUiLocked(
InlineFillUi.emptyUi(mCurrentViewId));
}
} }
if (requestLog != null) { if (requestLog != null) {
@@ -3166,12 +3170,15 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
notifyUnavailableToClient(AutofillManager.STATE_FINISHED, autofillableIds); notifyUnavailableToClient(AutofillManager.STATE_FINISHED, autofillableIds);
removeSelf(); removeSelf();
} else { } else {
if (sVerbose) { if ((flags & FLAG_PASSWORD_INPUT_TYPE) != 0) {
if ((flags & FLAG_PASSWORD_INPUT_TYPE) != 0) { if (sVerbose) {
Slog.v(TAG, "keeping session " + id + " when service returned null and " Slog.v(TAG, "keeping session " + id + " when service returned null and "
+ "augmented service is disabled for password fields. " + "augmented service is disabled for password fields. "
+ "AutofillableIds: " + autofillableIds); + "AutofillableIds: " + autofillableIds);
} else { }
mInlineSessionController.hideInlineSuggestionsUiLocked(mCurrentViewId);
} else {
if (sVerbose) {
Slog.v(TAG, "keeping session " + id + " when service returned null but " Slog.v(TAG, "keeping session " + id + " when service returned null but "
+ "it can be augmented. AutofillableIds: " + autofillableIds); + "it can be augmented. AutofillableIds: " + autofillableIds);
} }
@@ -3197,7 +3204,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
// non-null response but without datasets (for example, just SaveInfo) // non-null response but without datasets (for example, just SaveInfo)
@GuardedBy("mLock") @GuardedBy("mLock")
private Runnable triggerAugmentedAutofillLocked(int flags) { private Runnable triggerAugmentedAutofillLocked(int flags) {
// (TODO: b/141703197) Fix later by passing info to service. // TODO: (b/141703197) Fix later by passing info to service.
if ((flags & FLAG_PASSWORD_INPUT_TYPE) != 0) { if ((flags & FLAG_PASSWORD_INPUT_TYPE) != 0) {
return null; return null;
} }
@@ -3242,7 +3249,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
+ ComponentName.flattenToShortString(mComponentName) + " not whitelisted "); + ComponentName.flattenToShortString(mComponentName) + " not whitelisted ");
} }
logAugmentedAutofillRequestLocked(mode, remoteService.getComponentName(), logAugmentedAutofillRequestLocked(mode, remoteService.getComponentName(),
mCurrentViewId, isWhitelisted, /*isInline*/null); mCurrentViewId, isWhitelisted, /* isInline= */ null);
return null; return null;
} }