Skip to content

Commit 43bba58

Browse files
🤖 Update Dependencies for Compose 1.8 release (#504)
* 🤖 Update Dependencies * Remove unsupported properties * Update to Gradle 8.13 * Change state to sharedContentState * Refactor deprecated drag and drop methods * Fix unresolved reference for LocalUseFallbackRippleImplementation * Apply Spotless * Use new window width APIs --------- Co-authored-by: Don Turner <[email protected]> Co-authored-by: dturner <[email protected]>
1 parent 088823c commit 43bba58

File tree

8 files changed

+62
-82
lines changed

8 files changed

+62
-82
lines changed

buildscripts/toml-updater-config.gradle

-4
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ versionCatalogUpdate {
1919
keep {
2020
// keep versions without any library or plugin reference
2121
keepUnusedVersions.set(true)
22-
// keep all libraries that aren't used in the project
23-
keepUnusedLibraries.set(true)
24-
// keep all plugins that aren't used in the project
25-
keepUnusedPlugins.set(true)
2622
}
2723
}
2824

compose/snippets/src/main/java/com/example/compose/snippets/adaptivelayouts/SampleNavigationSuiteScaffold.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ import androidx.compose.runtime.setValue
3939
import androidx.compose.ui.graphics.Color
4040
import androidx.compose.ui.graphics.vector.ImageVector
4141
import androidx.compose.ui.res.stringResource
42-
import androidx.window.core.layout.WindowWidthSizeClass
42+
import androidx.window.core.layout.WindowSizeClass.Companion.WIDTH_DP_EXPANDED_LOWER_BOUND
4343
import com.example.compose.snippets.R
4444

4545
// [START android_compose_adaptivelayouts_sample_navigation_suite_scaffold_destinations]
@@ -159,7 +159,7 @@ fun SampleNavigationSuiteScaffoldCustomType() {
159159
// [START android_compose_adaptivelayouts_sample_navigation_suite_scaffold_layout_type]
160160
val adaptiveInfo = currentWindowAdaptiveInfo()
161161
val customNavSuiteType = with(adaptiveInfo) {
162-
if (windowSizeClass.windowWidthSizeClass == WindowWidthSizeClass.EXPANDED) {
162+
if (windowSizeClass.isWidthAtLeastBreakpoint(WIDTH_DP_EXPANDED_LOWER_BOUND)) {
163163
NavigationSuiteType.NavigationDrawer
164164
} else {
165165
NavigationSuiteScaffoldDefaults.calculateFromAdaptiveInfo(adaptiveInfo)

compose/snippets/src/main/java/com/example/compose/snippets/animations/sharedelement/AnimatedVisibilitySharedElementBlurSnippet.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ fun SharedTransitionScope.SnackItem(
157157
SnackContents(
158158
snack = snack,
159159
modifier = Modifier.sharedElement(
160-
state = rememberSharedContentState(key = snack.name),
160+
sharedContentState = rememberSharedContentState(key = snack.name),
161161
animatedVisibilityScope = this@AnimatedVisibility,
162162
boundsTransform = boundsTransition,
163163
),

compose/snippets/src/main/java/com/example/compose/snippets/animations/sharedelement/AnimatedVisibilitySharedElementSnippets.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ private fun AnimatedVisibilitySharedElementShortenedExample() {
111111
SnackContents(
112112
snack = snack,
113113
modifier = Modifier.sharedElement(
114-
state = rememberSharedContentState(key = snack.name),
114+
sharedContentState = rememberSharedContentState(key = snack.name),
115115
animatedVisibilityScope = this@AnimatedVisibility
116116
),
117117
onClick = {
@@ -175,7 +175,7 @@ fun SharedTransitionScope.SnackEditDetails(
175175
SnackContents(
176176
snack = targetSnack,
177177
modifier = Modifier.sharedElement(
178-
state = rememberSharedContentState(key = targetSnack.name),
178+
sharedContentState = rememberSharedContentState(key = targetSnack.name),
179179
animatedVisibilityScope = this@AnimatedContent,
180180
),
181181
onClick = {

compose/snippets/src/main/java/com/example/compose/snippets/draganddrop/DragAndDropSnippets.kt

+12-29
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import androidx.annotation.RequiresApi
2424
import androidx.compose.foundation.ExperimentalFoundationApi
2525
import androidx.compose.foundation.draganddrop.dragAndDropSource
2626
import androidx.compose.foundation.draganddrop.dragAndDropTarget
27-
import androidx.compose.foundation.gestures.detectTapGestures
2827
import androidx.compose.runtime.Composable
2928
import androidx.compose.runtime.remember
3029
import androidx.compose.ui.Modifier
@@ -40,40 +39,24 @@ private fun DragAndDropSnippet() {
4039

4140
val url = ""
4241

43-
// [START android_compose_drag_and_drop_1]
44-
Modifier.dragAndDropSource {
45-
detectTapGestures(onLongPress = {
46-
// Transfer data here.
47-
})
48-
}
49-
// [END android_compose_drag_and_drop_1]
50-
5142
// [START android_compose_drag_and_drop_2]
52-
Modifier.dragAndDropSource {
53-
detectTapGestures(onLongPress = {
54-
startTransfer(
55-
DragAndDropTransferData(
56-
ClipData.newPlainText(
57-
"image Url", url
58-
)
59-
)
43+
Modifier.dragAndDropSource { _ ->
44+
DragAndDropTransferData(
45+
ClipData.newPlainText(
46+
"image Url", url
6047
)
61-
})
48+
)
6249
}
6350
// [END android_compose_drag_and_drop_2]
6451

6552
// [START android_compose_drag_and_drop_3]
66-
Modifier.dragAndDropSource {
67-
detectTapGestures(onLongPress = {
68-
startTransfer(
69-
DragAndDropTransferData(
70-
ClipData.newPlainText(
71-
"image Url", url
72-
),
73-
flags = View.DRAG_FLAG_GLOBAL
74-
)
75-
)
76-
})
53+
Modifier.dragAndDropSource { _ ->
54+
DragAndDropTransferData(
55+
ClipData.newPlainText(
56+
"image Url", url
57+
),
58+
flags = View.DRAG_FLAG_GLOBAL
59+
)
7760
}
7861
// [END android_compose_drag_and_drop_3]
7962

compose/snippets/src/main/java/com/example/compose/snippets/touchinput/userinteractions/UserInteractions.kt

+4-3
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,14 @@ import androidx.compose.foundation.interaction.PressInteraction
3030
import androidx.compose.foundation.layout.Box
3131
import androidx.compose.material.ExperimentalMaterialApi
3232
import androidx.compose.material.LocalRippleConfiguration
33-
import androidx.compose.material.LocalUseFallbackRippleImplementation
3433
import androidx.compose.material.RippleConfiguration
3534
import androidx.compose.material.ripple
3635
import androidx.compose.material.ripple.LocalRippleTheme
3736
import androidx.compose.material.ripple.RippleAlpha
3837
import androidx.compose.material.ripple.RippleTheme
3938
import androidx.compose.material.ripple.rememberRipple
39+
import androidx.compose.material3.ExperimentalMaterial3Api
40+
import androidx.compose.material3.LocalUseFallbackRippleImplementation
4041
import androidx.compose.material3.MaterialTheme
4142
import androidx.compose.runtime.Composable
4243
import androidx.compose.runtime.CompositionLocalProvider
@@ -239,7 +240,7 @@ private class ScaleIndicationNode(
239240
fun App() {
240241
}
241242

242-
@OptIn(ExperimentalMaterialApi::class)
243+
@OptIn(ExperimentalMaterial3Api::class)
243244
@Composable
244245
private fun LocalUseFallbackRippleImplementationExample() {
245246
// [START android_compose_userinteractions_localusefallbackrippleimplementation]
@@ -252,7 +253,7 @@ private fun LocalUseFallbackRippleImplementationExample() {
252253
}
253254

254255
// [START android_compose_userinteractions_localusefallbackrippleimplementation_app_theme]
255-
@OptIn(ExperimentalMaterialApi::class)
256+
@OptIn(ExperimentalMaterial3Api::class)
256257
@Composable
257258
fun MyAppTheme(content: @Composable () -> Unit) {
258259
CompositionLocalProvider(LocalUseFallbackRippleImplementation provides true) {

gradle/libs.versions.toml

+40-40
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,84 @@
11
[versions]
22
accompanist = "0.36.0"
3-
androidGradlePlugin = "8.8.1"
4-
androidx-activity-compose = "1.10.0"
3+
activityKtx = "1.10.1"
4+
android-googleid = "1.1.1"
5+
androidGradlePlugin = "8.9.2"
6+
androidx-activity-compose = "1.10.1"
57
androidx-appcompat = "1.7.0"
6-
androidx-compose-bom = "2025.02.00"
8+
androidx-compose-bom = "2025.04.01"
79
androidx-compose-ui-test = "1.7.0-alpha08"
810
androidx-constraintlayout = "2.2.1"
9-
androidx-constraintlayout-compose = "1.1.0"
10-
androidx-coordinator-layout = "1.2.0"
11-
androidx-corektx = "1.16.0-beta01"
11+
androidx-constraintlayout-compose = "1.1.1"
12+
androidx-coordinator-layout = "1.3.0"
13+
androidx-corektx = "1.16.0"
1214
androidx-credentials = "1.5.0"
1315
androidx-credentials-play-services-auth = "1.5.0"
1416
androidx-emoji2-views = "1.5.0"
1517
androidx-fragment-ktx = "1.8.6"
1618
androidx-glance-appwidget = "1.1.1"
1719
androidx-lifecycle-compose = "2.8.7"
1820
androidx-lifecycle-runtime-compose = "2.8.7"
19-
androidx-navigation = "2.8.7"
21+
androidx-navigation = "2.8.9"
2022
androidx-paging = "3.3.6"
2123
androidx-startup-runtime = "1.2.0"
2224
androidx-test = "1.6.1"
2325
androidx-test-espresso = "3.6.1"
2426
androidx-test-junit = "1.2.1"
25-
androidx-window = "1.4.0-rc01"
26-
androidx-window-core = "1.4.0-beta02"
27-
androidx-window-java = "1.3.0"
27+
androidx-window = "1.5.0-alpha01"
28+
androidx-window-core = "1.5.0-alpha01"
29+
androidx-window-java = "1.5.0-alpha01"
30+
# @keep
31+
androidx-xr = "1.0.0-alpha03"
2832
androidxHiltNavigationCompose = "1.2.0"
2933
appcompat = "1.7.0"
3034
coil = "2.7.0"
31-
android-googleid = "1.1.1"
3235
# @keep
3336
compileSdk = "35"
34-
compose-latest = "1.7.8"
37+
compose-latest = "1.8.0"
3538
composeUiTooling = "1.4.1"
3639
coreSplashscreen = "1.0.1"
37-
coroutines = "1.10.1"
40+
coroutines = "1.10.2"
3841
glide = "1.0.0-beta01"
39-
google-maps = "19.0.0"
42+
google-maps = "19.2.0"
4043
gradle-versions = "0.52.0"
41-
guava = "33.4.0-jre"
42-
hilt = "2.55"
43-
horologist = "0.6.22"
44+
guava = "33.4.8-jre"
45+
hilt = "2.56.2"
46+
horologist = "0.6.23"
4447
junit = "4.13.2"
45-
kotlin = "2.1.10"
46-
kotlinxCoroutinesGuava = "1.9.0"
48+
kotlin = "2.1.20"
4749
kotlinCoroutinesOkhttp = "1.0"
48-
kotlinxSerializationJson = "1.8.0"
49-
ksp = "2.1.10-1.0.30"
50-
maps-compose = "6.4.4"
51-
material = "1.13.0-alpha10"
50+
kotlinxCoroutinesGuava = "1.10.2"
51+
kotlinxSerializationJson = "1.8.1"
52+
ksp = "2.1.20-2.0.0"
53+
maps-compose = "6.6.0"
54+
material = "1.13.0-alpha13"
5255
material3-adaptive = "1.1.0"
53-
material3-adaptive-navigation-suite = "1.3.1"
54-
media3 = "1.5.1"
56+
material3-adaptive-navigation-suite = "1.3.2"
57+
media3 = "1.6.1"
5558
# @keep
5659
minSdk = "21"
60+
okHttp = "4.12.0"
5761
playServicesWearable = "19.0.0"
5862
protolayout = "1.2.1"
5963
recyclerview = "1.4.0"
60-
# @keep
61-
androidx-xr = "1.0.0-alpha02"
6264
targetSdk = "34"
6365
tiles = "1.4.1"
64-
version-catalog-update = "0.8.5"
66+
version-catalog-update = "1.0.0"
6567
wear = "1.3.0"
6668
wearComposeFoundation = "1.4.1"
6769
wearComposeMaterial = "1.4.1"
6870
wearToolingPreview = "1.0.0"
69-
activityKtx = "1.10.0"
70-
okHttp = "4.12.0"
7171
webkit = "1.13.0"
7272

7373
[libraries]
7474
accompanist-adaptive = { module = "com.google.accompanist:accompanist-adaptive", version.ref = "accompanist" }
75-
accompanist-permissions = "com.google.accompanist:accompanist-permissions:0.37.0"
75+
accompanist-permissions = "com.google.accompanist:accompanist-permissions:0.37.2"
7676
accompanist-theme-adapter-appcompat = { module = "com.google.accompanist:accompanist-themeadapter-appcompat", version.ref = "accompanist" }
7777
accompanist-theme-adapter-material = { module = "com.google.accompanist:accompanist-themeadapter-material", version.ref = "accompanist" }
7878
accompanist-theme-adapter-material3 = { module = "com.google.accompanist:accompanist-themeadapter-material3", version.ref = "accompanist" }
79+
android-identity-googleid = { module = "com.google.android.libraries.identity.googleid:googleid", version.ref = "android-googleid" }
7980
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity-compose" }
81+
androidx-activity-ktx = { module = "androidx.activity:activity-ktx", version.ref = "activityKtx" }
8082
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
8183
androidx-compose-animation-graphics = { module = "androidx.compose.animation:animation-graphics", version.ref = "compose-latest" }
8284
androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "androidx-compose-bom" }
@@ -102,7 +104,7 @@ androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
102104
androidx-compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
103105
androidx-compose-ui-util = { module = "androidx.compose.ui:ui-util" }
104106
androidx-compose-ui-viewbinding = { module = "androidx.compose.ui:ui-viewbinding" }
105-
androidx-constraintlayout = {module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" }
107+
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" }
106108
androidx-constraintlayout-compose = { module = "androidx.constraintlayout:constraintlayout-compose", version.ref = "androidx-constraintlayout-compose" }
107109
androidx-coordinator-layout = { module = "androidx.coordinatorlayout:coordinatorlayout", version.ref = "androidx-coordinator-layout" }
108110
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-corektx" }
@@ -128,26 +130,26 @@ androidx-protolayout = { module = "androidx.wear.protolayout:protolayout", versi
128130
androidx-protolayout-expression = { module = "androidx.wear.protolayout:protolayout-expression", version.ref = "protolayout" }
129131
androidx-protolayout-material = { module = "androidx.wear.protolayout:protolayout-material", version.ref = "protolayout" }
130132
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "recyclerview" }
131-
androidx-startup-runtime = {module = "androidx.startup:startup-runtime", version.ref = "androidx-startup-runtime" }
133+
androidx-startup-runtime = { module = "androidx.startup:startup-runtime", version.ref = "androidx-startup-runtime" }
132134
androidx-test-core = { module = "androidx.test:core", version.ref = "androidx-test" }
133135
androidx-test-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "androidx-test-espresso" }
134-
androidx-test-runner = "androidx.test:runner:1.6.2"
135136
androidx-test-ext-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-test-junit" }
137+
androidx-test-runner = "androidx.test:runner:1.6.2"
136138
androidx-tiles = { module = "androidx.wear.tiles:tiles", version.ref = "tiles" }
137139
androidx-tiles-renderer = { module = "androidx.wear.tiles:tiles-renderer", version.ref = "tiles" }
138140
androidx-tiles-testing = { module = "androidx.wear.tiles:tiles-testing", version.ref = "tiles" }
139141
androidx-tiles-tooling = { module = "androidx.wear.tiles:tiles-tooling", version.ref = "tiles" }
140142
androidx-tiles-tooling-preview = { module = "androidx.wear.tiles:tiles-tooling-preview", version.ref = "tiles" }
141143
androidx-wear = { module = "androidx.wear:wear", version.ref = "wear" }
142144
androidx-wear-tooling-preview = { module = "androidx.wear:wear-tooling-preview", version.ref = "wearToolingPreview" }
145+
androidx-webkit = { module = "androidx.webkit:webkit", version.ref = "webkit" }
143146
androidx-window = { module = "androidx.window:window", version.ref = "androidx-window" }
144147
androidx-window-core = { module = "androidx.window:window-core", version.ref = "androidx-window-core" }
145-
androidx-window-java = {module = "androidx.window:window-java", version.ref = "androidx-window-java" }
146-
androidx-work-runtime-ktx = "androidx.work:work-runtime-ktx:2.10.0"
148+
androidx-window-java = { module = "androidx.window:window-java", version.ref = "androidx-window-java" }
149+
androidx-work-runtime-ktx = "androidx.work:work-runtime-ktx:2.10.1"
147150
androidx-xr-arcore = { module = "androidx.xr.arcore:arcore", version.ref = "androidx-xr" }
148151
androidx-xr-compose = { module = "androidx.xr.compose:compose", version.ref = "androidx-xr" }
149152
androidx-xr-scenecore = { module = "androidx.xr.scenecore:scenecore", version.ref = "androidx-xr" }
150-
android-identity-googleid = {module = "com.google.android.libraries.identity.googleid:googleid", version.ref = "android-googleid"}
151153
appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
152154
coil-kt-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
153155
compose-foundation = { module = "androidx.wear.compose:compose-foundation", version.ref = "wearComposeFoundation" }
@@ -169,10 +171,8 @@ kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutine
169171
kotlinx-coroutines-guava = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-guava", version.ref = "kotlinxCoroutinesGuava" }
170172
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" }
171173
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
174+
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okHttp" }
172175
play-services-wearable = { module = "com.google.android.gms:play-services-wearable", version.ref = "playServicesWearable" }
173-
androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activityKtx" }
174-
okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okHttp" }
175-
androidx-webkit = { group = "androidx.webkit", name = "webkit", version.ref = "webkit" }
176176

177177
[plugins]
178178
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }

gradle/wrapper/gradle-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

0 commit comments

Comments
 (0)