Merge "Several improvements and bug fixes to the inline autofill flow" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
0fe12dad61
@@ -27,6 +27,7 @@ import android.os.IBinder;
|
||||
import android.os.Looper;
|
||||
import android.os.RemoteException;
|
||||
import android.util.Log;
|
||||
import android.view.autofill.AutofillId;
|
||||
import android.view.inputmethod.InlineSuggestionsRequest;
|
||||
import android.view.inputmethod.InlineSuggestionsResponse;
|
||||
|
||||
@@ -145,8 +146,8 @@ class InlineSuggestionSession {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInlineSuggestionsResponse(InlineSuggestionsResponse response)
|
||||
throws RemoteException {
|
||||
public void onInlineSuggestionsResponse(AutofillId fieldId,
|
||||
InlineSuggestionsResponse response) {
|
||||
final InlineSuggestionSession session = mInlineSuggestionSession.get();
|
||||
if (session != null) {
|
||||
session.mHandler.sendMessage(obtainMessage(
|
||||
|
||||
@@ -40,6 +40,7 @@ import android.os.RemoteException;
|
||||
import android.os.SystemClock;
|
||||
import android.service.autofill.Dataset;
|
||||
import android.service.autofill.FillEventHistory;
|
||||
import android.service.autofill.InlinePresentation;
|
||||
import android.service.autofill.augmented.PresentationParams.SystemPopupPresentationParams;
|
||||
import android.util.Log;
|
||||
import android.util.Pair;
|
||||
@@ -557,12 +558,10 @@ public abstract class AugmentedAutofillService extends Service {
|
||||
}
|
||||
}
|
||||
|
||||
void reportResult(@Nullable List<Dataset> inlineSuggestionsData) {
|
||||
void reportResult(@Nullable List<Dataset> inlineSuggestionsData,
|
||||
@Nullable List<InlinePresentation> inlineActions) {
|
||||
try {
|
||||
final Dataset[] inlineSuggestions = (inlineSuggestionsData != null)
|
||||
? inlineSuggestionsData.toArray(new Dataset[inlineSuggestionsData.size()])
|
||||
: null;
|
||||
mCallback.onSuccess(inlineSuggestions);
|
||||
mCallback.onSuccess(inlineSuggestionsData, inlineActions);
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "Error calling back with the inline suggestions data: " + e);
|
||||
}
|
||||
|
||||
@@ -55,14 +55,14 @@ public final class FillCallback {
|
||||
|
||||
if (response == null) {
|
||||
mProxy.logEvent(AutofillProxy.REPORT_EVENT_NO_RESPONSE);
|
||||
mProxy.reportResult(null /*inlineSuggestions*/);
|
||||
mProxy.reportResult(/* inlineSuggestionsData */ null, /* inlineActions */null);
|
||||
return;
|
||||
}
|
||||
|
||||
List<Dataset> inlineSuggestions = response.getInlineSuggestions();
|
||||
if (inlineSuggestions != null && !inlineSuggestions.isEmpty()) {
|
||||
mProxy.logEvent(AutofillProxy.REPORT_EVENT_INLINE_RESPONSE);
|
||||
mProxy.reportResult(inlineSuggestions);
|
||||
mProxy.reportResult(inlineSuggestions, response.getInlineActions());
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,9 @@ import android.os.Bundle;
|
||||
import android.os.ICancellationSignal;
|
||||
|
||||
import android.service.autofill.Dataset;
|
||||
import android.service.autofill.InlinePresentation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Interface to receive the result of an autofill request.
|
||||
@@ -28,7 +31,8 @@ import android.service.autofill.Dataset;
|
||||
*/
|
||||
interface IFillCallback {
|
||||
void onCancellable(in ICancellationSignal cancellation);
|
||||
void onSuccess(in @nullable Dataset[] inlineSuggestionsData);
|
||||
void onSuccess(in @nullable List<Dataset> inlineSuggestionsData,
|
||||
in @nullable List<InlinePresentation> inlineActions);
|
||||
boolean isCompleted();
|
||||
void cancel();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user