in ComposeAdvanced/app/src/main/java/com/example/android/wearable/composeadvanced/presentation/ui/watch/WatchDetailScreen.kt [48:116]
fun WatchDetailScreen(
id: Int,
watchRepository: WatchRepository,
viewModel: WatchDetailViewModel = viewModel(
factory = WatchDetailViewModelFactory(
watchId = id,
watchRepository = watchRepository
)
),
) {
val watch: WatchModel? by viewModel.watch
Column(
modifier = Modifier
.fillMaxSize()
.padding(
top = 26.dp,
start = 8.dp,
end = 8.dp
),
verticalArrangement = Arrangement.Top
) {
if (watch == null) {
Text(
modifier = Modifier
.fillMaxSize()
.align(Alignment.CenterHorizontally),
color = Color.White,
textAlign = TextAlign.Center,
text = stringResource(R.string.invalid_watch_label)
)
} else {
watch?.let { watchNotNull ->
Icon(
painter = painterResource(id = watchNotNull.icon),
tint = MaterialTheme.colors.primary,
contentDescription = stringResource(R.string.watch_icon_content_description),
modifier = Modifier
.fillMaxWidth()
.size(24.dp)
.wrapContentSize(align = Alignment.Center),
)
Spacer(modifier = Modifier.size(4.dp))
Text(
modifier = Modifier
.fillMaxWidth()
.align(Alignment.CenterHorizontally),
color = MaterialTheme.colors.primary,
textAlign = TextAlign.Center,
fontSize = 22.sp,
text = watchNotNull.name
)
Spacer(modifier = Modifier.size(4.dp))
Text(
modifier = Modifier
.fillMaxWidth()
.align(Alignment.CenterHorizontally),
color = Color.White,
textAlign = TextAlign.Center,
text = watchNotNull.description
)
}
}
}
}