fun WatchListScreen()

in ComposeAdvanced/app/src/main/java/com/example/android/wearable/composeadvanced/presentation/ui/watchlist/WatchListScreen.kt [48:116]


fun WatchListScreen(
    scalingLazyListState: ScalingLazyListState,
    showVignette: Boolean,
    onClickVignetteToggle: (Boolean) -> Unit,
    onClickWatch: (Int) -> Unit,
    watchRepository: WatchRepository,
    viewModel: WatchListViewModel = viewModel(
        factory = WatchListViewModelFactory(
            watchRepository = watchRepository
        )
    )
) {
    val watches: List<WatchModel> by viewModel.watches

    ScalingLazyColumn(
        modifier = Modifier.fillMaxSize(),
        contentPadding = PaddingValues(
            top = 28.dp,
            start = 10.dp,
            end = 10.dp,
            bottom = 40.dp
        ),
        verticalArrangement = Arrangement.Center,
        state = scalingLazyListState
    ) {

        item {
            ToggleChip(
                modifier = Modifier
                    .height(32.dp)
                    .padding(
                        start = if (LocalConfiguration.current.isScreenRound) {
                            20.dp
                        } else {
                            10.dp
                        },
                        end = if (LocalConfiguration.current.isScreenRound) {
                            20.dp
                        } else {
                            10.dp
                        },
                    ),
                checked = showVignette,
                onCheckedChange = onClickVignetteToggle,
                label = {
                    Text(
                        text = stringResource(R.string.vignette_toggle_chip_label),
                        textAlign = TextAlign.Center,
                        fontSize = 12.sp,
                        modifier = Modifier.fillMaxSize()
                    )
                }
            )
        }

        // Displays all watches.
        items(watches) { watch ->
            WatchAppChip(
                modifier = Modifier
                    .fillMaxWidth()
                    .padding(top = 10.dp),
                watchModelNumber = watch.modelId,
                watchName = watch.name,
                watchIcon = watch.icon,
                onClickWatch = onClickWatch
            )
        }
    }
}