From 446ad5db51f224791783934971c15c11ba19c9a8 Mon Sep 17 00:00:00 2001 From: Lauren Ward Date: Thu, 13 Aug 2026 13:58:20 -0600 Subject: [PATCH 1/2] Updating snippet to use coil3 artifact --- compose/snippets/build.gradle.kts | 2 ++ .../example/compose/snippets/images/LoadingImagesSnippets.kt | 2 +- gradle/libs.versions.toml | 5 +++++ tv/build.gradle.kts | 2 ++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/compose/snippets/build.gradle.kts b/compose/snippets/build.gradle.kts index 63894ac18..a6e72dace 100644 --- a/compose/snippets/build.gradle.kts +++ b/compose/snippets/build.gradle.kts @@ -128,6 +128,8 @@ dependencies { implementation(libs.accompanist.permissions) implementation(libs.coil.kt.compose) + implementation(libs.coil3.compose) + implementation(libs.coil3.network.okhttp) implementation(libs.androidx.activity.compose) implementation(libs.androidx.appcompat) implementation(libs.androidx.core.ktx) diff --git a/compose/snippets/src/main/java/com/example/compose/snippets/images/LoadingImagesSnippets.kt b/compose/snippets/src/main/java/com/example/compose/snippets/images/LoadingImagesSnippets.kt index 879b2f9a9..6c666648d 100644 --- a/compose/snippets/src/main/java/com/example/compose/snippets/images/LoadingImagesSnippets.kt +++ b/compose/snippets/src/main/java/com/example/compose/snippets/images/LoadingImagesSnippets.kt @@ -21,7 +21,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.bumptech.glide.integration.compose.ExperimentalGlideComposeApi import com.bumptech.glide.integration.compose.GlideImage import com.example.compose.snippets.R diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e6ed8751b..5317f3025 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -41,7 +41,10 @@ androidx-work-runtime = "2.11.2" androidxHiltNavigationCompose = "1.4.0" appcompat = "1.7.1" camera-camera2 = "1.6.1" +# Coil 2 coil = "2.7.0" +# Coil 3 +coil3 = "3.5.0" # @keep compileSdk = "37" compose-latest = "1.12.0" @@ -284,6 +287,8 @@ appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" billing = { module = "com.android.billingclient:billing-ktx", version.ref = "playbilling" } camera-camera2 = { module = "androidx.camera:camera-camera2", version.ref = "camera-camera2" } coil-kt-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" } +coil3-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil3" } +coil3-network-okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coil3" } compose-foundation = { module = "androidx.wear.compose:compose-foundation", version.ref = "wearComposeFoundation" } compose-ui-tooling = { module = "androidx.wear.compose:compose-ui-tooling", version.ref = "composeUiTooling" } crossdeviceprompt = { module = "com.google.android.play:crossdeviceprompt", version.ref = "crossdeviceprompt" } diff --git a/tv/build.gradle.kts b/tv/build.gradle.kts index 83666739b..df90d462e 100644 --- a/tv/build.gradle.kts +++ b/tv/build.gradle.kts @@ -64,6 +64,8 @@ dependencies { implementation(libs.androidx.fragment.ktx) implementation(libs.androidx.work.runtime.ktx) implementation(libs.coil.kt.compose) + implementation(libs.coil3.compose) + implementation(libs.coil3.network.okhttp) implementation(libs.androidx.media3.common) implementation(libs.androidx.media3.exoplayer) implementation(libs.androidx.media3.ui) From d624a8f734f99ac167acb71921417349ab618a05 Mon Sep 17 00:00:00 2001 From: Lauren Ward Date: Tue, 18 Aug 2026 14:04:10 -0600 Subject: [PATCH 2/2] Addressing comments --- compose/snippets/build.gradle.kts | 1 - .../compose/snippets/animations/AnimationQuickGuide.kt | 2 +- .../sharedelement/SharedElementCommonUseCaseSnippets.kt | 5 +++-- .../compose/snippets/interop/ComposeWithOtherLibraries.kt | 2 +- .../com/example/compose/snippets/layouts/PagerSnippets.kt | 2 +- .../com/example/compose/snippets/lists/LazyListSnippets.kt | 4 ++-- .../example/compose/snippets/lists/NestedScrollingItem.kt | 2 +- .../compose/snippets/touchinput/pointerinput/TapAndPress.kt | 2 +- tv/build.gradle.kts | 2 -- 9 files changed, 10 insertions(+), 12 deletions(-) diff --git a/compose/snippets/build.gradle.kts b/compose/snippets/build.gradle.kts index a6e72dace..4fcb4b609 100644 --- a/compose/snippets/build.gradle.kts +++ b/compose/snippets/build.gradle.kts @@ -127,7 +127,6 @@ dependencies { implementation(libs.accompanist.permissions) - implementation(libs.coil.kt.compose) implementation(libs.coil3.compose) implementation(libs.coil3.network.okhttp) implementation(libs.androidx.activity.compose) diff --git a/compose/snippets/src/main/java/com/example/compose/snippets/animations/AnimationQuickGuide.kt b/compose/snippets/src/main/java/com/example/compose/snippets/animations/AnimationQuickGuide.kt index 7c6493578..cbdb3369e 100644 --- a/compose/snippets/src/main/java/com/example/compose/snippets/animations/AnimationQuickGuide.kt +++ b/compose/snippets/src/main/java/com/example/compose/snippets/animations/AnimationQuickGuide.kt @@ -108,7 +108,7 @@ import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController import androidx.navigation.navArgument -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import com.example.compose.snippets.R import com.example.compose.snippets.util.randomSampleImageUrl import java.net.URLDecoder diff --git a/compose/snippets/src/main/java/com/example/compose/snippets/animations/sharedelement/SharedElementCommonUseCaseSnippets.kt b/compose/snippets/src/main/java/com/example/compose/snippets/animations/sharedelement/SharedElementCommonUseCaseSnippets.kt index bd0ccc716..59dae0f0c 100644 --- a/compose/snippets/src/main/java/com/example/compose/snippets/animations/sharedelement/SharedElementCommonUseCaseSnippets.kt +++ b/compose/snippets/src/main/java/com/example/compose/snippets/animations/sharedelement/SharedElementCommonUseCaseSnippets.kt @@ -35,8 +35,9 @@ import androidx.compose.ui.platform.LocalInspectionMode import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import coil.compose.AsyncImage -import coil.request.ImageRequest +import coil3.compose.AsyncImage +import coil3.request.ImageRequest +import coil3.request.crossfade @Preview @Composable diff --git a/compose/snippets/src/main/java/com/example/compose/snippets/interop/ComposeWithOtherLibraries.kt b/compose/snippets/src/main/java/com/example/compose/snippets/interop/ComposeWithOtherLibraries.kt index 0b3b7467c..9286c046c 100644 --- a/compose/snippets/src/main/java/com/example/compose/snippets/interop/ComposeWithOtherLibraries.kt +++ b/compose/snippets/src/main/java/com/example/compose/snippets/interop/ComposeWithOtherLibraries.kt @@ -49,7 +49,7 @@ import androidx.navigation.compose.rememberNavController import androidx.paging.PagingData import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.itemKey -import coil.compose.rememberAsyncImagePainter +import coil3.compose.rememberAsyncImagePainter import com.google.android.gms.maps.model.CameraPosition import com.google.android.gms.maps.model.LatLng import com.google.maps.android.compose.GoogleMap diff --git a/compose/snippets/src/main/java/com/example/compose/snippets/layouts/PagerSnippets.kt b/compose/snippets/src/main/java/com/example/compose/snippets/layouts/PagerSnippets.kt index e09fe456d..0330d3a6e 100644 --- a/compose/snippets/src/main/java/com/example/compose/snippets/layouts/PagerSnippets.kt +++ b/compose/snippets/src/main/java/com/example/compose/snippets/layouts/PagerSnippets.kt @@ -70,7 +70,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Density import androidx.compose.ui.unit.dp import androidx.compose.ui.util.lerp -import coil.compose.rememberAsyncImagePainter +import coil3.compose.rememberAsyncImagePainter import com.example.compose.snippets.util.rememberRandomSampleImageUrl import kotlin.math.absoluteValue import kotlinx.coroutines.delay diff --git a/compose/snippets/src/main/java/com/example/compose/snippets/lists/LazyListSnippets.kt b/compose/snippets/src/main/java/com/example/compose/snippets/lists/LazyListSnippets.kt index 7f221bb56..cca8bb0b6 100644 --- a/compose/snippets/src/main/java/com/example/compose/snippets/lists/LazyListSnippets.kt +++ b/compose/snippets/src/main/java/com/example/compose/snippets/lists/LazyListSnippets.kt @@ -73,8 +73,8 @@ import androidx.compose.ui.unit.dp import androidx.paging.Pager import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.itemKey -import coil.compose.AsyncImage -import coil.compose.rememberAsyncImagePainter +import coil3.compose.AsyncImage +import coil3.compose.rememberAsyncImagePainter import com.example.compose.snippets.util.randomSampleImageUrl import kotlin.random.Random import kotlinx.coroutines.flow.distinctUntilChanged diff --git a/compose/snippets/src/main/java/com/example/compose/snippets/lists/NestedScrollingItem.kt b/compose/snippets/src/main/java/com/example/compose/snippets/lists/NestedScrollingItem.kt index 406b91f9a..1fe30206f 100644 --- a/compose/snippets/src/main/java/com/example/compose/snippets/lists/NestedScrollingItem.kt +++ b/compose/snippets/src/main/java/com/example/compose/snippets/lists/NestedScrollingItem.kt @@ -23,7 +23,7 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import coil.compose.AsyncImage +import coil3.compose.AsyncImage // [START android_compose_layouts_nested_scrolling] @Composable diff --git a/compose/snippets/src/main/java/com/example/compose/snippets/touchinput/pointerinput/TapAndPress.kt b/compose/snippets/src/main/java/com/example/compose/snippets/touchinput/pointerinput/TapAndPress.kt index dbe22282b..2c14671a1 100644 --- a/compose/snippets/src/main/java/com/example/compose/snippets/touchinput/pointerinput/TapAndPress.kt +++ b/compose/snippets/src/main/java/com/example/compose/snippets/touchinput/pointerinput/TapAndPress.kt @@ -78,7 +78,7 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.dp -import coil.compose.rememberAsyncImagePainter +import coil3.compose.rememberAsyncImagePainter import com.example.compose.snippets.R import com.example.compose.snippets.ui.theme.SnippetsTheme import com.example.compose.snippets.util.rememberRandomSampleImageUrl diff --git a/tv/build.gradle.kts b/tv/build.gradle.kts index df90d462e..83666739b 100644 --- a/tv/build.gradle.kts +++ b/tv/build.gradle.kts @@ -64,8 +64,6 @@ dependencies { implementation(libs.androidx.fragment.ktx) implementation(libs.androidx.work.runtime.ktx) implementation(libs.coil.kt.compose) - implementation(libs.coil3.compose) - implementation(libs.coil3.network.okhttp) implementation(libs.androidx.media3.common) implementation(libs.androidx.media3.exoplayer) implementation(libs.androidx.media3.ui)