Migrate to Coil 3.5.0

The tree pins prebuilt_libs_coil at 3.5.0 (coil3.* packages); move the
three image-loading screens to coil3.compose and add coil-network-okhttp
— Coil 3 core ships no network fetcher, so http(s) image URLs need it
(it self-registers through ServiceLoader). Gradle catalog bumped to the
matching io.coil-kt.coil3 coordinates.
This commit is contained in:
oxmc
2026-07-15 15:54:10 -07:00
parent f7f9adbc01
commit 0d784ed55b
6 changed files with 17 additions and 12 deletions
+5 -2
View File
@@ -64,8 +64,11 @@ android_app {
// Gradle-only; defining an import here would collide with that module)
"android-device-info",
// Images — prebuilts/application_libs/coil (pulls okhttp3/okio/
// coroutines transitively via the import's static_libs)
// Images — Coil 3 from prebuilts/application_libs/coil. The network
// module is mandatory for http(s) image URLs (Coil 3 core ships no
// fetcher; the okhttp one self-registers via ServiceLoader) and pulls
// okhttp3/okio/coroutines transitively via the import's static_libs.
"coil-compose",
"coil-network-okhttp",
],
}
+2 -1
View File
@@ -55,9 +55,10 @@ dependencies {
implementation(libs.androidx.material3)
implementation(libs.androidx.appcompat)
// Coil (images)
// Coil 3 (images) — the network module is required for http(s) URLs
implementation(libs.coil.compose)
implementation(libs.coil.svg)
implementation(libs.coil.network.okhttp)
// OkHttp (networking)
implementation(libs.okhttp)
@@ -42,8 +42,8 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import coil.compose.rememberAsyncImagePainter
import coil3.compose.AsyncImage
import coil3.compose.rememberAsyncImagePainter
import dev.oxmc.androiddeviceinfo.AndroidInfo
import me.pawlet.setupwizard.ui.theme.BrandColors
@@ -39,8 +39,8 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImagePainter
import coil.compose.rememberAsyncImagePainter
import coil3.compose.AsyncImagePainter
import coil3.compose.rememberAsyncImagePainter
import dev.oxmc.androiddeviceinfo.AndroidInfo
import dev.oxmc.androiddeviceinfo.DeviceInfo
import me.pawlet.setupwizard.R
@@ -44,8 +44,8 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import coil.compose.AsyncImage
import coil.compose.rememberAsyncImagePainter
import coil3.compose.AsyncImage
import coil3.compose.rememberAsyncImagePainter
import me.pawlet.setupwizard.lib.OTAInfoCard
import me.pawlet.setupwizard.lib.OTAUpdateInfo
+4 -3
View File
@@ -5,7 +5,7 @@ coreKtx = "1.17.0"
lifecycleRuntimeKtx = "2.6.1"
activityCompose = "1.8.0"
composeBom = "2024.09.00"
coil = "2.7.0"
coil = "3.5.0"
okhttp = "4.12.0"
splashscreen = "1.0.1"
gson = "2.11.0"
@@ -26,8 +26,9 @@ androidx-material3 = { group = "androidx.compose.material3", name = "material3"
androidx-material = { group = "com.google.android.material", name = "material", version.ref = "material" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" }
coil-svg = { group = "io.coil-kt", name = "coil-svg", version.ref = "coil" }
coil-compose = { group = "io.coil-kt.coil3", name = "coil-compose", version.ref = "coil" }
coil-svg = { group = "io.coil-kt.coil3", name = "coil-svg", version.ref = "coil" }
coil-network-okhttp = { group = "io.coil-kt.coil3", name = "coil-network-okhttp", version.ref = "coil" }
okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" }
okhttp-logging = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp" }
androidx-splashscreen = { group = "androidx.core", name = "core-splashscreen", version.ref = "splashscreen" }