From ab1d271b76dfd7d01716c413067cbbb09355c5bd Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 10 Dec 2024 10:45:58 +0100 Subject: [PATCH] Updated coil from 2.7.0 to 3.0.4 --- .../java/org/linphone/LinphoneApplication.kt | 32 ++++++++++--------- .../org/linphone/utils/DataBindingUtils.kt | 14 ++++---- gradle/libs.versions.toml | 14 ++++---- 3 files changed, 32 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/org/linphone/LinphoneApplication.kt b/app/src/main/java/org/linphone/LinphoneApplication.kt index b3a3dea1b..a81a4247a 100644 --- a/app/src/main/java/org/linphone/LinphoneApplication.kt +++ b/app/src/main/java/org/linphone/LinphoneApplication.kt @@ -21,17 +21,19 @@ package org.linphone import android.annotation.SuppressLint import android.app.Application +import android.content.Context import android.os.PowerManager import androidx.annotation.MainThread -import coil.ImageLoader -import coil.ImageLoaderFactory -import coil.decode.ImageDecoderDecoder -import coil.decode.SvgDecoder -import coil.decode.VideoFrameDecoder -import coil.disk.DiskCache -import coil.imageLoader -import coil.memory.MemoryCache -import coil.request.CachePolicy +import coil3.ImageLoader +import coil3.SingletonImageLoader +import coil3.disk.DiskCache +import coil3.disk.directory +import coil3.imageLoader +import coil3.memory.MemoryCache +import coil3.request.CachePolicy +import coil3.request.crossfade +import coil3.svg.SvgDecoder +import coil3.video.VideoFrameDecoder import com.google.android.material.color.DynamicColors import org.linphone.compatibility.Compatibility import org.linphone.core.CoreContext @@ -43,7 +45,7 @@ import org.linphone.core.VFS import org.linphone.core.tools.Log @MainThread -class LinphoneApplication : Application(), ImageLoaderFactory { +class LinphoneApplication : Application(), SingletonImageLoader.Factory { companion object { private const val TAG = "[Linphone Application]" @@ -113,7 +115,7 @@ class LinphoneApplication : Application(), ImageLoaderFactory { super.onTrimMemory(level) } - override fun newImageLoader(): ImageLoader { + override fun newImageLoader(context: Context): ImageLoader { // When VFS is enabled, prevent Coil from keeping plain version of files on disk val diskCachePolicy = if (VFS.isEnabled(applicationContext)) { CachePolicy.DISABLED @@ -126,16 +128,16 @@ class LinphoneApplication : Application(), ImageLoaderFactory { .components { add(VideoFrameDecoder.Factory()) add(SvgDecoder.Factory()) - add(ImageDecoderDecoder.Factory()) } .memoryCache { - MemoryCache.Builder(this) - .maxSizePercent(0.25) + MemoryCache.Builder() + .maxSizePercent(context, 0.25) .build() } .diskCache { + val cache = cacheDir.resolve("image_cache") DiskCache.Builder() - .directory(cacheDir.resolve("image_cache")) + .directory(cache) .maxSizePercent(0.02) .build() } diff --git a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt index 53c7f1f6d..68527be8a 100644 --- a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt +++ b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt @@ -52,12 +52,14 @@ import androidx.emoji2.emojipicker.EmojiPickerView import androidx.emoji2.emojipicker.EmojiViewItem import androidx.lifecycle.LifecycleOwner import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat -import coil.dispose -import coil.load -import coil.request.videoFrameMillis -import coil.size.Dimension -import coil.transform.CircleCropTransformation -import coil.transform.RoundedCornersTransformation +import coil3.dispose +import coil3.load +import coil3.request.placeholder +import coil3.request.transformations +import coil3.size.Dimension +import coil3.transform.CircleCropTransformation +import coil3.transform.RoundedCornersTransformation +import coil3.video.videoFrameMillis import com.google.android.flexbox.FlexboxLayout import org.linphone.BR import org.linphone.R diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e7a337992..5c959c139 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ agp = "8.7.3" kotlin = "2.0.21" gmsGoogleServices = "4.4.2" firebaseCrashlytics = "3.0.2" -firebaseBomVersion = "33.6.0" +firebaseBomVersion = "33.7.0" ktlint = "11.3.1" annotations = "1.9.1" @@ -26,8 +26,8 @@ flexbox = "3.0.0" #noinspection GradleDependency material = "1.11.0" protobuf = "3.25.5" -coil = "2.7.0" -dotsIndicator = "5.0" +coil = "3.0.4" +dotsIndicator = "5.1.0" photoview = "2.3.0" openidAppauth = "0.11.1" linphone = "5.4.+" @@ -58,10 +58,10 @@ google-flexbox = { group = "com.google.android.flexbox", name = "flexbox", versi google-material = { group = "com.google.android.material", name = "material", version.ref = "material" } google-protobuf = { group = "com.google.protobuf", name = "protobuf-javalite", version.ref = "protobuf" } -coil = { group = "io.coil-kt", name = "coil", version.ref = "coil" } -coil-gif = { group = "io.coil-kt", name = "coil-gif", version.ref = "coil" } -coil-svg = { group = "io.coil-kt", name = "coil-svg", version.ref = "coil" } -coil-video = { group = "io.coil-kt", name = "coil-video", version.ref = "coil" } +coil = { group = "io.coil-kt.coil3", name = "coil", version.ref = "coil" } +coil-gif = { group = "io.coil-kt.coil3", name = "coil-gif", version.ref = "coil" } +coil-svg = { group = "io.coil-kt.coil3", name = "coil-svg", version.ref = "coil" } +coil-video = { group = "io.coil-kt.coil3", name = "coil-video", version.ref = "coil" } dots-indicator = { group = "com.tbuonomo", name = "dotsindicator", version.ref = "dotsIndicator" } photoview = { group = "com.github.chrisbanes", name = "PhotoView", version.ref = "photoview" } openid-appauth = { group = "net.openid", name = "appauth", version.ref = "openidAppauth" }