fun WatchDetailScreen()

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
                )
            }
        }
    }
}