Merge "Allow credential providers to set an "origin" for affiliated credentials" into main
diff --git a/packages/CredentialManager/shared/src/com/android/credentialmanager/ktx/CredentialKtx.kt b/packages/CredentialManager/shared/src/com/android/credentialmanager/ktx/CredentialKtx.kt
index b435bb8..892eabf 100644
--- a/packages/CredentialManager/shared/src/com/android/credentialmanager/ktx/CredentialKtx.kt
+++ b/packages/CredentialManager/shared/src/com/android/credentialmanager/ktx/CredentialKtx.kt
@@ -138,6 +138,7 @@
entryGroupId = credentialEntry.entryGroupId.toString(),
isDefaultIconPreferredAsSingleProvider =
credentialEntry.isDefaultIconPreferredAsSingleProvider,
+ affiliatedDomain = credentialEntry.affiliatedDomain?.toString(),
)
)
}
@@ -165,6 +166,7 @@
entryGroupId = credentialEntry.entryGroupId.toString(),
isDefaultIconPreferredAsSingleProvider =
credentialEntry.isDefaultIconPreferredAsSingleProvider,
+ affiliatedDomain = credentialEntry.affiliatedDomain?.toString(),
)
)
}
@@ -191,6 +193,7 @@
entryGroupId = credentialEntry.entryGroupId.toString(),
isDefaultIconPreferredAsSingleProvider =
credentialEntry.isDefaultIconPreferredAsSingleProvider,
+ affiliatedDomain = credentialEntry.affiliatedDomain?.toString(),
)
)
}
diff --git a/packages/CredentialManager/shared/src/com/android/credentialmanager/model/get/CredentialEntryInfo.kt b/packages/CredentialManager/shared/src/com/android/credentialmanager/model/get/CredentialEntryInfo.kt
index ac42b60..a657e97 100644
--- a/packages/CredentialManager/shared/src/com/android/credentialmanager/model/get/CredentialEntryInfo.kt
+++ b/packages/CredentialManager/shared/src/com/android/credentialmanager/model/get/CredentialEntryInfo.kt
@@ -48,6 +48,7 @@
val entryGroupId: String, // Used for deduplication, and displayed as the grouping title
// "For <value-of-entryGroupId>" on the more-option screen.
val isDefaultIconPreferredAsSingleProvider: Boolean,
+ val affiliatedDomain: String?,
) : EntryInfo(
providerId,
entryKey,
diff --git a/packages/CredentialManager/src/com/android/credentialmanager/common/ui/Entry.kt b/packages/CredentialManager/src/com/android/credentialmanager/common/ui/Entry.kt
index 8ff17e0..56bd066 100644
--- a/packages/CredentialManager/src/com/android/credentialmanager/common/ui/Entry.kt
+++ b/packages/CredentialManager/src/com/android/credentialmanager/common/ui/Entry.kt
@@ -78,6 +78,8 @@
isLockedAuthEntry: Boolean = false,
enforceOneLine: Boolean = false,
onTextLayout: (TextLayoutResult) -> Unit = {},
+ /** Get flow only, if present, where be drawn as a line above the headline. */
+ affiliatedDomainText: String? = null,
) {
val iconPadding = Modifier.wrapContentSize().padding(
// Horizontal padding should be 16dp, but the suggestion chip itself
@@ -102,6 +104,13 @@
) {
// Apply weight so that the trailing icon can always show.
Column(modifier = Modifier.wrapContentHeight().fillMaxWidth().weight(1f)) {
+ if (!affiliatedDomainText.isNullOrBlank()) {
+ BodySmallText(
+ text = affiliatedDomainText,
+ enforceOneLine = enforceOneLine,
+ onTextLayout = onTextLayout,
+ )
+ }
SmallTitleText(
text = entryHeadlineText,
enforceOneLine = enforceOneLine,
diff --git a/packages/CredentialManager/src/com/android/credentialmanager/getflow/GetCredentialComponents.kt b/packages/CredentialManager/src/com/android/credentialmanager/getflow/GetCredentialComponents.kt
index 1fef522..748c798 100644
--- a/packages/CredentialManager/src/com/android/credentialmanager/getflow/GetCredentialComponents.kt
+++ b/packages/CredentialManager/src/com/android/credentialmanager/getflow/GetCredentialComponents.kt
@@ -376,6 +376,7 @@
}
internal const val MAX_ENTRY_FOR_PRIMARY_PAGE = 4
+
/** Draws the primary credential selection page, used starting from android V. */
@Composable
fun PrimarySelectionCardVImpl(
@@ -805,6 +806,7 @@
},
enforceOneLine = enforceOneLine,
onTextLayout = onTextLayout,
+ affiliatedDomainText = credentialEntryInfo.affiliatedDomain,
)
}
diff --git a/packages/CredentialManager/tests/robotests/screenshot/src/com/android/credentialmanager/GetCredScreenshotTest.kt b/packages/CredentialManager/tests/robotests/screenshot/src/com/android/credentialmanager/GetCredScreenshotTest.kt
index 0820d26..28d83ee 100644
--- a/packages/CredentialManager/tests/robotests/screenshot/src/com/android/credentialmanager/GetCredScreenshotTest.kt
+++ b/packages/CredentialManager/tests/robotests/screenshot/src/com/android/credentialmanager/GetCredScreenshotTest.kt
@@ -151,6 +151,7 @@
entryGroupId = "username",
isDefaultIconPreferredAsSingleProvider = false,
rawCredentialType = "unknown-type",
+ affiliatedDomain = null,
)
),
authenticationEntryList = emptyList(),