diff options
3 files changed, 9 insertions, 2 deletions
diff --git a/core/java/android/view/autofill/AutofillManager.java b/core/java/android/view/autofill/AutofillManager.java index e15baaeef570..828c4d37bb94 100644 --- a/core/java/android/view/autofill/AutofillManager.java +++ b/core/java/android/view/autofill/AutofillManager.java @@ -588,6 +588,9 @@ public final class AutofillManager { */ public static final int NO_SESSION = Integer.MAX_VALUE; + /** @hide **/ + public static final String PINNED_DATASET_ID = "PINNED_DATASET_ID"; + private final IAutoFillManager mService; private final Object mLock = new Object(); diff --git a/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt b/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt index 6ba684d9dfcc..1253ce3a6c80 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt @@ -47,6 +47,7 @@ import android.service.credentials.CredentialProviderService import android.util.Log import android.content.Intent import android.view.autofill.AutofillId +import android.view.autofill.AutofillManager import android.view.autofill.IAutoFillManagerClient import android.widget.RemoteViews import android.widget.inline.InlinePresentationSpec @@ -372,6 +373,7 @@ class CredentialAutofillService : AutofillService() { fillResponseBuilder.addDataset( Dataset.Builder() + .setId(AutofillManager.PINNED_DATASET_ID) .setField( autofillId, Field.Builder().setPresentations( @@ -411,6 +413,7 @@ class CredentialAutofillService : AutofillService() { fillResponseBuilder.addDataset( dataSetBuilder + .setId(AutofillManager.PINNED_DATASET_ID) .setField( autofillId, Field.Builder().setPresentations( diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java index a55b8d008a68..e30e6bb0d141 100644 --- a/services/autofill/java/com/android/server/autofill/Session.java +++ b/services/autofill/java/com/android/server/autofill/Session.java @@ -170,8 +170,8 @@ import android.util.Slog; import android.util.SparseArray; import android.util.TimeUtils; import android.view.KeyEvent; -import android.view.autofill.AutofillId; import android.view.autofill.AutofillFeatureFlags; +import android.view.autofill.AutofillId; import android.view.autofill.AutofillManager; import android.view.autofill.AutofillManager.AutofillCommitReason; import android.view.autofill.AutofillManager.SmartSuggestionMode; @@ -5109,7 +5109,8 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState return; } for (Dataset dataset: response.getDatasets()) { - if (isPinnedDataset(dataset)) { + if (dataset.getId() != null + && dataset.getId().equals(AutofillManager.PINNED_DATASET_ID)) { Slog.d(TAG, "Adding Credential Manager callback to a pinned entry"); addCredentialManagerCallbackForDataset(dataset, response.getRequestId()); } |