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

Commit 6cb99d52 authored by Harini Rajan's avatar Harini Rajan Committed by Android (Google) Code Review
Browse files

Merge "UI fixes to align locked provider chip with mocks, handle empty...

Merge "UI fixes to align locked provider chip with mocks, handle empty credential type display names, and handle empty credential lists" into main
parents 8188c33b 1279a2b0
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import androidx.activity.compose.setContent
import androidx.activity.viewModels
import com.android.credentialmanager.ui.theme.WearCredentialSelectorTheme
import com.android.credentialmanager.ui.WearApp
import com.google.android.horologist.annotations.ExperimentalHorologistApi
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint(ComponentActivity::class)
@@ -32,7 +31,6 @@ class CredentialSelectorActivity : Hilt_CredentialSelectorActivity() {

    private val viewModel: CredentialSelectorViewModel by viewModels()

    @OptIn(ExperimentalHorologistApi::class)
    override fun onCreate(savedInstanceState: Bundle?) {
        Log.d(TAG, "onCreate, intent: $intent")
        super.onCreate(savedInstanceState)
+24 −12
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
 */
package com.android.credentialmanager.ui.components

import androidx.wear.compose.material.MaterialTheme as WearMaterialTheme
import androidx.compose.foundation.layout.Row
import androidx.compose.material3.Icon
import android.graphics.drawable.Drawable
@@ -22,7 +23,11 @@ import androidx.compose.foundation.layout.BoxScope
import androidx.compose.foundation.layout.RowScope
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Lock
import androidx.compose.material.icons.outlined.LockOpen
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
@@ -46,7 +51,7 @@ fun CredentialsScreenChip(
    onClick: () -> Unit,
    secondaryLabel: String? = null,
    icon: Drawable? = null,
    isAuthenticationEntryLocked: Boolean = false,
    isAuthenticationEntryLocked: Boolean? = null,
    textAlign: TextAlign = TextAlign.Center,
    modifier: Modifier = Modifier,
    colors: ChipColors = ChipDefaults.secondaryChipColors()
@@ -77,7 +82,7 @@ fun CredentialsScreenChip(
    text: @Composable () -> Unit,
    secondaryLabel: String? = null,
    icon: Drawable? = null,
    isAuthenticationEntryLocked: Boolean = false,
    isAuthenticationEntryLocked: Boolean? = null,
    modifier: Modifier = Modifier,
    colors: ChipColors = ChipDefaults.primaryChipColors(),
    ) {
@@ -94,16 +99,23 @@ fun CredentialsScreenChip(
                        text = secondaryLabel,
                    )

                    if (isAuthenticationEntryLocked)
                    // TODO(b/324465527) change this to lock icon and correct size once figma mocks are
                    // updated
                    if (isAuthenticationEntryLocked != null) {
                        if (isAuthenticationEntryLocked) {
                            Icon(
                            bitmap = checkNotNull(icon?.toBitmap()?.asImageBitmap()),
                            // Decorative purpose only.
                                Icons.Outlined.Lock,
                                contentDescription = null,
                            modifier = Modifier.size(10.dp),
                            tint = Color.Unspecified
                                modifier = Modifier.size(12.dp).align(Alignment.CenterVertically),
                                tint = WearMaterialTheme.colors.onSurfaceVariant
                            )
                        } else {
                            Icon(
                                Icons.Outlined.LockOpen,
                                contentDescription = null,
                                modifier = Modifier.size(12.dp).align(Alignment.CenterVertically),
                                tint = WearMaterialTheme.colors.onSurfaceVariant
                            )
                        }
                    }
                }
            }
        }
+0 −7
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextLayoutResult
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
@@ -57,7 +56,6 @@ fun WearUsernameText(
    text: String,
    textAlign: TextAlign = TextAlign.Center,
    modifier: Modifier = Modifier,
    onTextLayout: (TextLayoutResult) -> Unit = {},
) {
    Text(
        modifier = modifier.padding(start = 8.dp, end = 8.dp).wrapContentSize(),
@@ -67,7 +65,6 @@ fun WearUsernameText(
        overflow = TextOverflow.Ellipsis,
        textAlign = textAlign,
        maxLines = 2,
        onTextLayout = onTextLayout,
    )
}

@@ -79,7 +76,6 @@ fun WearButtonText(
    maxLines: Int = 1,
    modifier: Modifier = Modifier,
    color: Color = WearMaterialTheme.colors.onSurface,
    onTextLayout: (TextLayoutResult) -> Unit = {},
) {
    Text(
        modifier = modifier.wrapContentSize(),
@@ -89,7 +85,6 @@ fun WearButtonText(
        overflow = TextOverflow.Ellipsis,
        textAlign = textAlign,
        maxLines = maxLines,
        onTextLayout = onTextLayout,
    )
}

@@ -97,7 +92,6 @@ fun WearButtonText(
fun WearSecondaryLabel(
    text: String,
    modifier: Modifier = Modifier,
    onTextLayout: (TextLayoutResult) -> Unit = {},
) {
    Text(
        modifier = modifier.wrapContentSize(),
@@ -107,6 +101,5 @@ fun WearSecondaryLabel(
        overflow = TextOverflow.Ellipsis,
        textAlign = TextAlign.Start,
        maxLines = 1,
        onTextLayout = onTextLayout,
    )
}
+2 −1
Original line number Diff line number Diff line
@@ -43,7 +43,8 @@ fun Request.Get.toGet(isPrimary: Boolean): CredentialSelectorUiState.Get {

            var icon: Drawable? = null
            // provide icon if all entries have the same provider
            if (sortedEntries.all {it.providerId == sortedEntries[0].providerId}) {
            if (sortedEntries.isNotEmpty() &&
                sortedEntries.all {it.providerId == sortedEntries[0].providerId}) {
                icon = providerInfos[0].icon
            }

+4 −1
Original line number Diff line number Diff line
@@ -75,7 +75,10 @@ fun MultiCredentialsFlattenScreen(
                    CredentialsScreenChip(
                        label = credential.userName,
                        onClick = { selectEntry(credential, false) },
                        secondaryLabel = credential.credentialTypeDisplayName,
                        secondaryLabel =
                        credential.credentialTypeDisplayName.ifEmpty {
                            credential.providerDisplayName
                         },
                        icon = credential.icon,
                        textAlign = TextAlign.Start
                    )
Loading