From 1f75a98ca4473d721b873ecdabf6aa42d7f87dbf Mon Sep 17 00:00:00 2001 From: garanj Date: Tue, 5 May 2026 17:27:31 +0100 Subject: [PATCH 1/2] Updates WFP and Wear Compose --- gradle/libs.versions.toml | 10 +++++----- .../androidify/ui/CallToActionButton.kt | 14 ++++++++++++-- .../androidify/ui/CallToActionScreen.kt | 11 ++++++++--- .../androidify/ui/TransmissionScreen.kt | 18 +++++++++--------- 4 files changed, 34 insertions(+), 19 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1efa59f7..ba355ecf 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -67,11 +67,11 @@ uiTextGoogleFonts = "1.9.3" uiautomator = "2.4.0-alpha07" uiTooling = "1.10.0" validatorPush = "1.0.0-alpha09" -watchFacePush = "1.0.0-beta01" -wear = "1.3.0" -wearCompose = "1.6.0-alpha09" -wearComposeTooling = "1.5.6" -wearRemoteInteractions = "1.1.0" +watchFacePush = "1.0.0" +wear = "1.4.0" +wearCompose = "1.6.1" +wearComposeTooling = "1.6.1" +wearRemoteInteractions = "1.2.0" window = "1.5.0" lifecycleProcess = "2.9.4" mlkitCommon = "18.11.0" diff --git a/wear/src/main/java/com/android/developers/androidify/ui/CallToActionButton.kt b/wear/src/main/java/com/android/developers/androidify/ui/CallToActionButton.kt index e5349fe6..4beeabda 100644 --- a/wear/src/main/java/com/android/developers/androidify/ui/CallToActionButton.kt +++ b/wear/src/main/java/com/android/developers/androidify/ui/CallToActionButton.kt @@ -21,17 +21,27 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp +import androidx.wear.compose.foundation.lazy.TransformingLazyColumnItemScope +import androidx.wear.compose.material3.ButtonDefaults import androidx.wear.compose.material3.FilledTonalButton +import androidx.wear.compose.material3.SurfaceTransformation import androidx.wear.compose.material3.Text +import androidx.wear.compose.material3.lazy.rememberTransformationSpec +import androidx.wear.compose.material3.lazy.transformedHeight @Composable -fun CallToActionButton( +fun TransformingLazyColumnItemScope.CallToActionButton( modifier: Modifier = Modifier, buttonText: String, onClick: () -> Unit, ) { + val transformationSpec = rememberTransformationSpec() FilledTonalButton( - modifier = Modifier.fillMaxWidth(0.85f), + modifier = Modifier + .fillMaxWidth(0.85f) + .transformedHeight(this, transformationSpec) + .minimumVerticalContentPadding(ButtonDefaults.minimumVerticalListContentPadding), + transformation = SurfaceTransformation(transformationSpec), onClick = onClick, ) { Text( diff --git a/wear/src/main/java/com/android/developers/androidify/ui/CallToActionScreen.kt b/wear/src/main/java/com/android/developers/androidify/ui/CallToActionScreen.kt index 82f1e903..bd2b178f 100644 --- a/wear/src/main/java/com/android/developers/androidify/ui/CallToActionScreen.kt +++ b/wear/src/main/java/com/android/developers/androidify/ui/CallToActionScreen.kt @@ -24,11 +24,13 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp +import androidx.wear.compose.foundation.lazy.TransformingLazyColumn import androidx.wear.compose.foundation.lazy.rememberTransformingLazyColumnState +import androidx.wear.compose.material3.IconButtonDefaults import androidx.wear.compose.material3.MaterialTheme import androidx.wear.compose.material3.ScreenScaffold import androidx.wear.compose.material3.Text -import androidx.wear.compose.material3.lazy.ResponsiveTransformingLazyColumn +import androidx.wear.compose.material3.lazy.rememberTransformationSpec import androidx.wear.compose.ui.tooling.preview.WearPreviewDevices import com.android.developers.androidify.R import com.android.developers.androidify.ui.theme.AndroidifyWearTheme @@ -40,16 +42,19 @@ fun CallToActionScreen( onCallToActionClick: () -> Unit, ) { val listState = rememberTransformingLazyColumnState() + val transformationSpec = rememberTransformationSpec() ScreenScaffold( scrollState = listState, ) { contentPadding -> - ResponsiveTransformingLazyColumn( + TransformingLazyColumn( state = listState, contentPadding = contentPadding, ) { item { Image( - modifier = Modifier.fillMaxWidth(0.3f), + modifier = Modifier + .minimumVerticalContentPadding(IconButtonDefaults.minimumVerticalListContentPadding) + .fillMaxWidth(0.3f), painter = painterResource(id = R.drawable.logo), contentDescription = stringResource(R.string.logo_description), ) diff --git a/wear/src/main/java/com/android/developers/androidify/ui/TransmissionScreen.kt b/wear/src/main/java/com/android/developers/androidify/ui/TransmissionScreen.kt index 770d79db..cc5aba1b 100644 --- a/wear/src/main/java/com/android/developers/androidify/ui/TransmissionScreen.kt +++ b/wear/src/main/java/com/android/developers/androidify/ui/TransmissionScreen.kt @@ -37,14 +37,13 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp +import androidx.wear.compose.foundation.lazy.TransformingLazyColumn import androidx.wear.compose.foundation.lazy.rememberTransformingLazyColumnState import androidx.wear.compose.material3.CircularProgressIndicator import androidx.wear.compose.material3.MaterialTheme import androidx.wear.compose.material3.ProgressIndicatorDefaults import androidx.wear.compose.material3.ScreenScaffold import androidx.wear.compose.material3.Text -import androidx.wear.compose.material3.lazy.ResponsiveItemType -import androidx.wear.compose.material3.lazy.ResponsiveTransformingLazyColumn import androidx.wear.compose.ui.tooling.preview.WearPreviewDevices import com.android.developers.androidify.R import com.android.developers.androidify.ui.theme.AndroidifyWearTheme @@ -61,27 +60,28 @@ fun TransmissionScreen(modifier: Modifier = Modifier) { modifier = modifier.keepScreenOn(), scrollState = listState, ) { contentPadding -> - ResponsiveTransformingLazyColumn( + TransformingLazyColumn( state = listState, contentPadding = contentPadding, ) { - item(itemType = ResponsiveItemType.IconButton) { + item { Image( - modifier = Modifier.fillMaxWidth(0.3f), + modifier = Modifier + .fillMaxWidth(0.3f), painter = painterResource(id = R.drawable.logo), contentDescription = stringResource(R.string.logo_description), ) } - item(itemType = ResponsiveItemType.Default) { + item { Spacer(modifier = Modifier.height(4.dp)) } - item(itemType = ResponsiveItemType.IconButton) { + item { FourColorProgressIndicator() } - item(itemType = ResponsiveItemType.Default) { + item { Spacer(modifier = Modifier.height(4.dp)) } - item(itemType = ResponsiveItemType.Text) { + item { Text( modifier = Modifier.fillMaxWidth(), textAlign = TextAlign.Center, From 8c5c58d75f31e00aa6fb0df7a79b908679ff5e64 Mon Sep 17 00:00:00 2001 From: garanj Date: Tue, 5 May 2026 17:47:47 +0100 Subject: [PATCH 2/2] Fixes feedback --- .../com/android/developers/androidify/ui/CallToActionScreen.kt | 1 - .../com/android/developers/androidify/ui/TransmissionScreen.kt | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/wear/src/main/java/com/android/developers/androidify/ui/CallToActionScreen.kt b/wear/src/main/java/com/android/developers/androidify/ui/CallToActionScreen.kt index bd2b178f..5ecfc22b 100644 --- a/wear/src/main/java/com/android/developers/androidify/ui/CallToActionScreen.kt +++ b/wear/src/main/java/com/android/developers/androidify/ui/CallToActionScreen.kt @@ -42,7 +42,6 @@ fun CallToActionScreen( onCallToActionClick: () -> Unit, ) { val listState = rememberTransformingLazyColumnState() - val transformationSpec = rememberTransformationSpec() ScreenScaffold( scrollState = listState, ) { contentPadding -> diff --git a/wear/src/main/java/com/android/developers/androidify/ui/TransmissionScreen.kt b/wear/src/main/java/com/android/developers/androidify/ui/TransmissionScreen.kt index cc5aba1b..0b7b7986 100644 --- a/wear/src/main/java/com/android/developers/androidify/ui/TransmissionScreen.kt +++ b/wear/src/main/java/com/android/developers/androidify/ui/TransmissionScreen.kt @@ -40,6 +40,7 @@ import androidx.compose.ui.unit.dp import androidx.wear.compose.foundation.lazy.TransformingLazyColumn import androidx.wear.compose.foundation.lazy.rememberTransformingLazyColumnState import androidx.wear.compose.material3.CircularProgressIndicator +import androidx.wear.compose.material3.IconButtonDefaults import androidx.wear.compose.material3.MaterialTheme import androidx.wear.compose.material3.ProgressIndicatorDefaults import androidx.wear.compose.material3.ScreenScaffold @@ -67,6 +68,7 @@ fun TransmissionScreen(modifier: Modifier = Modifier) { item { Image( modifier = Modifier + .minimumVerticalContentPadding(IconButtonDefaults.minimumVerticalListContentPadding) .fillMaxWidth(0.3f), painter = painterResource(id = R.drawable.logo), contentDescription = stringResource(R.string.logo_description),