in DataLayer/Wearable/src/main/java/com/example/android/wearable/datalayer/MainApp.kt [52:146]
fun MainApp(
events: List<Event>,
image: Bitmap?,
onQueryOtherDevicesClicked: () -> Unit,
onQueryMobileCameraClicked: () -> Unit
) {
val scalingLazyListState = rememberScalingLazyListState()
Scaffold(
vignette = { Vignette(vignettePosition = VignettePosition.TopAndBottom) },
positionIndicator = { PositionIndicator(scalingLazyListState = scalingLazyListState) },
timeText = { TimeText() }
) {
ScalingLazyColumn(
state = scalingLazyListState,
contentPadding = PaddingValues(
horizontal = 8.dp,
vertical = 32.dp
)
) {
item {
Button(
onClick = onQueryOtherDevicesClicked,
modifier = Modifier.fillMaxWidth()
) {
Text(text = stringResource(id = R.string.query_other_devices))
}
}
item {
Button(
onClick = onQueryMobileCameraClicked,
modifier = Modifier.fillMaxWidth()
) {
Text(text = stringResource(id = R.string.query_mobile_camera))
}
}
item {
Box(
modifier = Modifier
.fillMaxWidth()
.aspectRatio(1f)
.padding(32.dp)
) {
if (image == null) {
Image(
painterResource(id = R.drawable.photo_placeholder),
contentDescription = stringResource(
id = R.string.photo_placeholder
),
modifier = Modifier.fillMaxSize()
)
} else {
Image(
image.asImageBitmap(),
contentDescription = stringResource(
id = R.string.captured_photo
),
modifier = Modifier.fillMaxSize()
)
}
}
}
if (events.isEmpty()) {
item {
Text(
stringResource(id = R.string.waiting),
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Center
)
}
} else {
items(events) { event ->
Card(
onClick = {},
enabled = false
) {
Column {
Text(
stringResource(id = event.title),
style = MaterialTheme.typography.title3
)
Text(
event.text,
style = MaterialTheme.typography.body2
)
}
}
}
}
}
}
}