Card UI: Show fallback image for author

Bug: 224669054

Change-Id: If8524e8540d45882d07715e1e11a3e7d7a7cd275
pull/1837/head
Caren Chang 4 years ago
parent 4b6bb92eb0
commit 88a6d94f30

@ -16,6 +16,7 @@
package com.google.samples.apps.nowinandroid.core.ui package com.google.samples.apps.nowinandroid.core.ui
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
@ -29,6 +30,7 @@ import androidx.compose.material.MaterialTheme
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Bookmark import androidx.compose.material.icons.filled.Bookmark
import androidx.compose.material.icons.filled.BookmarkBorder import androidx.compose.material.icons.filled.BookmarkBorder
import androidx.compose.material.icons.filled.Person
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.IconToggleButton import androidx.compose.material3.IconToggleButton
import androidx.compose.material3.Surface import androidx.compose.material3.Surface
@ -97,15 +99,29 @@ fun NewsResourceAuthors(
val authorNameFormatted = val authorNameFormatted =
author.name.uppercase(ConfigurationCompat.getLocales(LocalConfiguration.current).get(0)) author.name.uppercase(ConfigurationCompat.getLocales(LocalConfiguration.current).get(0))
val authorImageUrl = author.imageUrl
val authorImageModifier = Modifier
.clip(CircleShape)
.size(24.dp)
Row(verticalAlignment = Alignment.CenterVertically) { Row(verticalAlignment = Alignment.CenterVertically) {
AsyncImage( if (authorImageUrl.isNotEmpty()) {
modifier = Modifier AsyncImage(
.clip(CircleShape) modifier = authorImageModifier,
.size(24.dp), contentScale = ContentScale.Crop,
contentScale = ContentScale.Crop, model = authorImageUrl,
model = author.imageUrl, contentDescription = null // decorative image
contentDescription = null // decorative image )
) } else {
Icon(
modifier = authorImageModifier
.background(MaterialTheme.colors.background)
.padding(4.dp),
imageVector = Icons.Filled.Person,
contentDescription = null // decorative image
)
}
Spacer(modifier = Modifier.width(8.dp)) Spacer(modifier = Modifier.width(8.dp))
Text(authorNameFormatted, style = MaterialTheme.typography.body2) Text(authorNameFormatted, style = MaterialTheme.typography.body2)
} }
@ -216,7 +232,7 @@ private val newsResource = NewsResource(
Author( Author(
id = 1, id = 1,
name = "Name", name = "Name",
imageUrl = "https://source.unsplash.com/Yc5sL-ejk6U" imageUrl = ""
) )
), ),
topics = listOf( topics = listOf(

Loading…
Cancel
Save