summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/autofill/AutofillManager.java3
-rw-r--r--packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt3
-rw-r--r--services/autofill/java/com/android/server/autofill/Session.java5
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());
}