diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2020-02-29 01:35:19 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-02-29 01:35:19 +0000 |
| commit | 0fe12dad61bf4523dbca09db2ca89a0450494ea9 (patch) | |
| tree | 1b70de545def4e4b4b7d17bef41e4790bc200f04 /core/java | |
| parent | 6f55fa3cac479e5bf5666dbaaa13ddcad09291b6 (diff) | |
| parent | ec496000ec89664e2eaa6da610fbcd48374dbb62 (diff) | |
Merge "Several improvements and bug fixes to the inline autofill flow" into rvc-dev
Diffstat (limited to 'core/java')
5 files changed, 16 insertions, 11 deletions
diff --git a/core/java/android/inputmethodservice/InlineSuggestionSession.java b/core/java/android/inputmethodservice/InlineSuggestionSession.java index edae06a0b9df..1f12d2a6b659 100644 --- a/core/java/android/inputmethodservice/InlineSuggestionSession.java +++ b/core/java/android/inputmethodservice/InlineSuggestionSession.java @@ -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( diff --git a/core/java/android/service/autofill/augmented/AugmentedAutofillService.java b/core/java/android/service/autofill/augmented/AugmentedAutofillService.java index 672b501bbc41..fe792b1efd9f 100644 --- a/core/java/android/service/autofill/augmented/AugmentedAutofillService.java +++ b/core/java/android/service/autofill/augmented/AugmentedAutofillService.java @@ -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); } diff --git a/core/java/android/service/autofill/augmented/FillCallback.java b/core/java/android/service/autofill/augmented/FillCallback.java index 19eff57269ae..6b4e1185703c 100644 --- a/core/java/android/service/autofill/augmented/FillCallback.java +++ b/core/java/android/service/autofill/augmented/FillCallback.java @@ -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; } diff --git a/core/java/android/service/autofill/augmented/IFillCallback.aidl b/core/java/android/service/autofill/augmented/IFillCallback.aidl index d9837211be19..bf0adcd54ab1 100644 --- a/core/java/android/service/autofill/augmented/IFillCallback.aidl +++ b/core/java/android/service/autofill/augmented/IFillCallback.aidl @@ -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(); } diff --git a/core/java/com/android/internal/view/IInlineSuggestionsResponseCallback.aidl b/core/java/com/android/internal/view/IInlineSuggestionsResponseCallback.aidl index 0f93b8ebdb53..5a78e0d3082d 100644 --- a/core/java/com/android/internal/view/IInlineSuggestionsResponseCallback.aidl +++ b/core/java/com/android/internal/view/IInlineSuggestionsResponseCallback.aidl @@ -16,6 +16,7 @@ package com.android.internal.view; +import android.view.autofill.AutofillId; import android.view.inputmethod.InlineSuggestionsResponse; /** @@ -23,5 +24,5 @@ import android.view.inputmethod.InlineSuggestionsResponse; * {@hide} */ oneway interface IInlineSuggestionsResponseCallback { - void onInlineSuggestionsResponse(in InlineSuggestionsResponse response); + void onInlineSuggestionsResponse(in AutofillId fieldId, in InlineSuggestionsResponse response); } |
