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

Commit 27645413 authored by harinirajan's avatar harinirajan
Browse files

Modify components to fit go/wear-passkey-3p-app-sign-in

Bug:322647040
Change-Id: Ie9cd6cf2bef67d625ddac2a6d4ba102b37cf5f18
Test: Manual. See go/credential-selector-ui
parent 2ad77549
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -30,20 +30,20 @@ import com.google.android.horologist.compose.tools.WearPreview

@Composable
fun AccountRow(
    name: String,
    email: String,
    primaryText: String,
    secondaryText: String,
    modifier: Modifier = Modifier,
) {
    Column(modifier = modifier, horizontalAlignment = Alignment.CenterHorizontally) {
        Text(
            text = name,
            text = primaryText,
            color = Color(0xFFE6FF7B),
            overflow = TextOverflow.Ellipsis,
            maxLines = 1,
            style = MaterialTheme.typography.title2
        )
        Text(
            text = email,
            text = secondaryText,
            modifier = Modifier.padding(top = 7.dp),
            color = Color(0xFFCAC5BC),
            overflow = TextOverflow.Ellipsis,
@@ -57,7 +57,7 @@ fun AccountRow(
@Composable
fun AccountRowPreview() {
    AccountRow(
        name = "Elisa Beckett",
        email = "beckett_bakery@gmail.com",
        primaryText = "Elisa Beckett",
        secondaryText = "beckett_bakery@gmail.com",
    )
}
+19 −40
Original line number Diff line number Diff line
@@ -16,45 +16,24 @@

package com.android.credentialmanager.ui.components

import androidx.annotation.DrawableRes
import android.graphics.drawable.Drawable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
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.graphics.asImageBitmap
import androidx.compose.ui.unit.dp
import androidx.wear.compose.material.MaterialTheme
import androidx.core.graphics.drawable.toBitmap
import androidx.wear.compose.material.Text
import com.android.credentialmanager.R
import com.google.android.horologist.annotations.ExperimentalHorologistApi
import com.google.android.horologist.compose.material.Icon
import com.google.android.horologist.compose.material.util.DECORATIVE_ELEMENT_CONTENT_DESCRIPTION
import com.google.android.horologist.compose.tools.WearPreview
import androidx.compose.material3.Icon
import androidx.wear.compose.material.MaterialTheme as WearMaterialTheme
import androidx.compose.ui.text.style.TextAlign

@OptIn(ExperimentalHorologistApi::class)
@Composable
fun SignInHeader(
    @DrawableRes icon: Int,
    title: String,
    modifier: Modifier = Modifier,
) {
    SignInHeader(
        iconContent = {
            Icon(
                id = icon,
                contentDescription = DECORATIVE_ELEMENT_CONTENT_DESCRIPTION
            )
        },
        title = title,
        modifier = modifier,
    )
}

@Composable
fun SignInHeader(
    iconContent: @Composable ColumnScope.() -> Unit,
    icon: Drawable?,
    title: String,
    modifier: Modifier = Modifier,
) {
@@ -62,22 +41,22 @@ fun SignInHeader(
        modifier = modifier,
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
        iconContent()
        if (icon != null) {
            Icon(
                bitmap = icon.toBitmap().asImageBitmap(),
                modifier = Modifier.size(32.dp),
                // Decorative purpose only.
                contentDescription = null
            )
        }

        Text(
            text = title,
            textAlign = TextAlign.Center,
            modifier = Modifier
                .padding(top = 6.dp)
                .padding(horizontal = 10.dp),
            style = MaterialTheme.typography.title3
            style = WearMaterialTheme.typography.title3
        )
    }
}

@WearPreview
@Composable
fun SignInHeaderPreview() {
    SignInHeader(
        icon = R.drawable.passkey_icon,
        title = stringResource(R.string.use_passkey_title)
    )
}
+4 −3
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import com.android.credentialmanager.ui.screens.single.SingleAccountScreen
import com.google.android.horologist.annotations.ExperimentalHorologistApi
import com.google.android.horologist.compose.layout.ScalingLazyColumnState

@OptIn(ExperimentalHorologistApi::class)
@Composable
fun SinglePasskeyScreen(
    name: String,
@@ -40,14 +41,14 @@ fun SinglePasskeyScreen(
    SingleAccountScreen(
        headerContent = {
            SignInHeader(
                icon = R.drawable.passkey_icon,
                icon = null,
                title = stringResource(R.string.use_passkey_title),
            )
        },
        accountContent = {
            AccountRow(
                name = name,
                email = email,
                primaryText = name,
                secondaryText = email,
                modifier = Modifier.padding(top = 10.dp),
            )
        },
+1 −1
Original line number Diff line number Diff line
@@ -103,7 +103,7 @@ fun SinglePasswordScreen(
    SingleAccountScreen(
        headerContent = {
            SignInHeader(
                icon = R.drawable.passkey_icon,
                icon = null,
                title = stringResource(R.string.use_password_title),
            )
        },