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..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 @@ -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 @@ -43,13 +45,15 @@ fun CallToActionScreen( 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..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 @@ -37,14 +37,14 @@ 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.IconButtonDefaults 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 +61,29 @@ 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 + .minimumVerticalContentPadding(IconButtonDefaults.minimumVerticalListContentPadding) + .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,