Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 664fe94b authored by Joy Babafemi's avatar Joy Babafemi Committed by Android (Google) Code Review
Browse files

Merge "Modify logic for inline suggestions builder to align with Credman UX spec" into main

parents 986ba6ac 21d3c21e
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -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)
            }