summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Joy Babafemi <jbabs@google.com> 2024-01-05 18:27:53 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-01-05 18:27:53 +0000
commit664fe94bcfc5e8e62906a6d8f38fafa53f1e86ed (patch)
tree9fd1474df5bd1cd592de0e1e3c39a88de2aa75e1
parent986ba6acf0ef7abd79031664df92c7955f03459c (diff)
parent21d3c21e365b40e5bf6646cd9ea7e88a552d8142 (diff)
Merge "Modify logic for inline suggestions builder to align with Credman UX spec" into main
-rw-r--r--packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt14
1 files changed, 13 insertions, 1 deletions
diff --git a/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt b/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt
index 34f2509b2e1e..8ac364e72fef 100644
--- a/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt
+++ b/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt
@@ -305,6 +305,14 @@ class CredentialAutofillService : AutofillService() {
var i = 0
var datasetAdded = false
+ val duplicateDisplayNames: MutableMap<String, Boolean> = mutableMapOf()
+ providerDisplayInfo.sortedUserNameToCredentialEntryList.forEach {
+ val credentialEntry = it.sortedCredentialEntryList.first()
+ credentialEntry.displayName?.let {displayName ->
+ val duplicateEntry = duplicateDisplayNames.contains(displayName)
+ duplicateDisplayNames[displayName] = duplicateEntry
+ }
+ }
providerDisplayInfo.sortedUserNameToCredentialEntryList.forEach usernameLoop@{
val primaryEntry = it.sortedCredentialEntryList.first()
val pendingIntent = primaryEntry.pendingIntent
@@ -339,10 +347,14 @@ class CredentialAutofillService : AutofillService() {
} else {
spec = inlinePresentationSpecs[inlinePresentationSpecsCount - 1]
}
+ val displayName : String = primaryEntry.displayName ?: primaryEntry.userName
val sliceBuilder = InlineSuggestionUi
.newContentBuilder(pendingIntent)
- .setTitle(primaryEntry.userName)
+ .setTitle(displayName)
sliceBuilder.setStartIcon(icon)
+ if (duplicateDisplayNames[displayName] == true) {
+ sliceBuilder.setSubtitle(primaryEntry.userName)
+ }
inlinePresentation = InlinePresentation(
sliceBuilder.build().slice, spec, /* pinned= */ false)
}