diff options
author | 2024-03-27 21:34:58 +0000 | |
---|---|---|
committer | 2024-03-31 22:47:55 +0000 | |
commit | fecd30cf35cf46b23be5b73734e874ae47c9aecd (patch) | |
tree | ad34d3eca20691e8ccbd3d5a6c0ecc4e8f35b3c6 | |
parent | df3fda0a093847852b87c83c99abffa439e9f835 (diff) |
Fix dropdown more options bug
Bug: 328387993
Test: Cts
Change-Id: I2313160c8c2abd0f7fef090382fb0e70a99eb971
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()); } |