More UX polish Bug: 323607982
Test: Unit tests, Manual See go/credential-selector-ui
Change-Id: Ia2c52e3dc4d75477e3fa5e28cec965e337018ab9
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/WearApp.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/WearApp.kt
index d67c8c2..a75aeaf 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/WearApp.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/WearApp.kt
@@ -124,7 +124,6 @@
handleGetNavigation(
navController = navController,
state = state,
- onCloseApp = onCloseApp,
selectEntry = selectEntry
)
}
@@ -147,7 +146,6 @@
private fun handleGetNavigation(
navController: NavController,
state: CredentialSelectorUiState.Get,
- onCloseApp: () -> Unit,
selectEntry: (entry: EntryInfo, isAutoSelected: Boolean) -> Unit,
) {
when (state) {
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/components/SignInHeader.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/components/SignInHeader.kt
index 437a699..0afef5e 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/components/SignInHeader.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/components/SignInHeader.kt
@@ -56,6 +56,6 @@
text = title,
)
- Spacer(modifier = Modifier.size(12.dp))
+ Spacer(modifier = Modifier.size(8.dp))
}
}
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFlattenScreen.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFlattenScreen.kt
index a545e48..fb81e73 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFlattenScreen.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFlattenScreen.kt
@@ -27,7 +27,7 @@
import com.android.credentialmanager.FlowEngine
import com.android.credentialmanager.R
import com.android.credentialmanager.common.ui.components.WearButtonText
-import com.android.credentialmanager.common.ui.components.WearDisplayNameText
+import com.android.credentialmanager.common.ui.components.WearSecondaryLabel
import com.android.credentialmanager.model.get.CredentialEntryInfo
import com.android.credentialmanager.ui.components.CredentialsScreenChipSpacer
import com.google.android.horologist.annotations.ExperimentalHorologistApi
@@ -64,10 +64,9 @@
credentialSelectorUiState.accounts.forEach { userNameEntries ->
item {
- WearDisplayNameText(
+ WearSecondaryLabel(
text = userNameEntries.userName,
- modifier = Modifier.padding(top = 16.dp, bottom = 8.dp, start = 14.dp,
- end = 14.dp)
+ modifier = Modifier.padding(top = 12.dp, bottom = 4.dp)
)
}
@@ -86,9 +85,9 @@
}
}
item {
- WearDisplayNameText(
+ WearSecondaryLabel(
text = stringResource(R.string.provider_list_title),
- modifier = Modifier.padding(top = 12.dp, bottom = 8.dp, start = 14.dp, end = 14.dp)
+ modifier = Modifier.padding(top = 12.dp, bottom = 4.dp)
)
}
credentialSelectorUiState.actionEntryList.forEach { actionEntry ->
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFoldScreen.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFoldScreen.kt
index 23163d5..7addc74 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFoldScreen.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFoldScreen.kt
@@ -61,7 +61,10 @@
val credentials = credentialSelectorUiState.sortedEntries
item {
var title = stringResource(R.string.choose_sign_in_title)
- if (credentials.all{ it.credentialType == CredentialType.PASSKEY }) {
+
+ if (credentials.isEmpty()) {
+ title = stringResource(R.string.choose_sign_in_title)
+ } else if (credentials.all{ it.credentialType == CredentialType.PASSKEY }) {
title = stringResource(R.string.choose_passkey_title)
} else if (credentials.all { it.credentialType == CredentialType.PASSWORD }) {
title = stringResource(R.string.choose_password_title)
@@ -74,16 +77,16 @@
}
credentials.forEach { credential: CredentialEntryInfo ->
- item {
- CredentialsScreenChip(
- label = credential.userName,
- onClick = { selectEntry(credential, false) },
- secondaryLabel = credential.credentialTypeDisplayName,
- icon = credential.icon,
- )
- CredentialsScreenChipSpacer()
- }
+ item {
+ CredentialsScreenChip(
+ label = credential.userName,
+ onClick = { selectEntry(credential, false) },
+ secondaryLabel = credential.credentialTypeDisplayName,
+ icon = credential.icon,
+ )
+ CredentialsScreenChipSpacer()
}
+ }
credentialSelectorUiState.authenticationEntryList.forEach { authenticationEntryInfo ->
item {
@@ -93,10 +96,13 @@
CredentialsScreenChipSpacer()
}
}
+
item {
- Spacer(modifier = Modifier.size(12.dp))
+ Spacer(modifier = Modifier.size(8.dp))
+ }
+
+ item {
SignInOptionsChip { flowEngine.openSecondaryScreen() }
- CredentialsScreenChipSpacer()
}
item {
DismissChip { flowEngine.cancel() }
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/passkey/SinglePasskeyScreen.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/passkey/SinglePasskeyScreen.kt
index de7c1f1..03608a4 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/passkey/SinglePasskeyScreen.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/passkey/SinglePasskeyScreen.kt
@@ -61,10 +61,18 @@
)
},
accountContent = {
- AccountRow(
- primaryText = checkNotNull(entry.displayName),
+ val displayName = entry.displayName
+ if (displayName == null ||
+ entry.displayName.equals(entry.userName, ignoreCase = true)) {
+ AccountRow(
+ primaryText = entry.userName,
+ )
+ } else {
+ AccountRow(
+ primaryText = displayName,
secondaryText = entry.userName,
)
+ }
},
columnState = columnState,
modifier = Modifier.padding(horizontal = 10.dp)
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/signInWithProvider/SignInWithProviderScreen.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/signInWithProvider/SignInWithProviderScreen.kt
index 884d9f6..34d6e97 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/signInWithProvider/SignInWithProviderScreen.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/signInWithProvider/SignInWithProviderScreen.kt
@@ -59,14 +59,15 @@
},
accountContent = {
val displayName = entry.displayName
- if (displayName != null) {
+ if (displayName == null ||
+ entry.displayName.equals(entry.userName, ignoreCase = true)) {
AccountRow(
- primaryText = displayName,
- secondaryText = entry.userName,
+ primaryText = entry.userName,
)
} else {
AccountRow(
- primaryText = entry.userName,
+ primaryText = displayName,
+ secondaryText = entry.userName,
)
}
},