Updated coil from 2.7.0 to 3.0.4

This commit is contained in:
Sylvain Berfini 2024-12-10 10:45:58 +01:00
parent b5b57405c6
commit ab1d271b76
3 changed files with 32 additions and 28 deletions

View file

@ -21,17 +21,19 @@ package org.linphone
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Application import android.app.Application
import android.content.Context
import android.os.PowerManager import android.os.PowerManager
import androidx.annotation.MainThread import androidx.annotation.MainThread
import coil.ImageLoader import coil3.ImageLoader
import coil.ImageLoaderFactory import coil3.SingletonImageLoader
import coil.decode.ImageDecoderDecoder import coil3.disk.DiskCache
import coil.decode.SvgDecoder import coil3.disk.directory
import coil.decode.VideoFrameDecoder import coil3.imageLoader
import coil.disk.DiskCache import coil3.memory.MemoryCache
import coil.imageLoader import coil3.request.CachePolicy
import coil.memory.MemoryCache import coil3.request.crossfade
import coil.request.CachePolicy import coil3.svg.SvgDecoder
import coil3.video.VideoFrameDecoder
import com.google.android.material.color.DynamicColors import com.google.android.material.color.DynamicColors
import org.linphone.compatibility.Compatibility import org.linphone.compatibility.Compatibility
import org.linphone.core.CoreContext import org.linphone.core.CoreContext
@ -43,7 +45,7 @@ import org.linphone.core.VFS
import org.linphone.core.tools.Log import org.linphone.core.tools.Log
@MainThread @MainThread
class LinphoneApplication : Application(), ImageLoaderFactory { class LinphoneApplication : Application(), SingletonImageLoader.Factory {
companion object { companion object {
private const val TAG = "[Linphone Application]" private const val TAG = "[Linphone Application]"
@ -113,7 +115,7 @@ class LinphoneApplication : Application(), ImageLoaderFactory {
super.onTrimMemory(level) 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 // When VFS is enabled, prevent Coil from keeping plain version of files on disk
val diskCachePolicy = if (VFS.isEnabled(applicationContext)) { val diskCachePolicy = if (VFS.isEnabled(applicationContext)) {
CachePolicy.DISABLED CachePolicy.DISABLED
@ -126,16 +128,16 @@ class LinphoneApplication : Application(), ImageLoaderFactory {
.components { .components {
add(VideoFrameDecoder.Factory()) add(VideoFrameDecoder.Factory())
add(SvgDecoder.Factory()) add(SvgDecoder.Factory())
add(ImageDecoderDecoder.Factory())
} }
.memoryCache { .memoryCache {
MemoryCache.Builder(this) MemoryCache.Builder()
.maxSizePercent(0.25) .maxSizePercent(context, 0.25)
.build() .build()
} }
.diskCache { .diskCache {
val cache = cacheDir.resolve("image_cache")
DiskCache.Builder() DiskCache.Builder()
.directory(cacheDir.resolve("image_cache")) .directory(cache)
.maxSizePercent(0.02) .maxSizePercent(0.02)
.build() .build()
} }

View file

@ -52,12 +52,14 @@ import androidx.emoji2.emojipicker.EmojiPickerView
import androidx.emoji2.emojipicker.EmojiViewItem import androidx.emoji2.emojipicker.EmojiViewItem
import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LifecycleOwner
import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat
import coil.dispose import coil3.dispose
import coil.load import coil3.load
import coil.request.videoFrameMillis import coil3.request.placeholder
import coil.size.Dimension import coil3.request.transformations
import coil.transform.CircleCropTransformation import coil3.size.Dimension
import coil.transform.RoundedCornersTransformation import coil3.transform.CircleCropTransformation
import coil3.transform.RoundedCornersTransformation
import coil3.video.videoFrameMillis
import com.google.android.flexbox.FlexboxLayout import com.google.android.flexbox.FlexboxLayout
import org.linphone.BR import org.linphone.BR
import org.linphone.R import org.linphone.R

View file

@ -3,7 +3,7 @@ agp = "8.7.3"
kotlin = "2.0.21" kotlin = "2.0.21"
gmsGoogleServices = "4.4.2" gmsGoogleServices = "4.4.2"
firebaseCrashlytics = "3.0.2" firebaseCrashlytics = "3.0.2"
firebaseBomVersion = "33.6.0" firebaseBomVersion = "33.7.0"
ktlint = "11.3.1" ktlint = "11.3.1"
annotations = "1.9.1" annotations = "1.9.1"
@ -26,8 +26,8 @@ flexbox = "3.0.0"
#noinspection GradleDependency #noinspection GradleDependency
material = "1.11.0" material = "1.11.0"
protobuf = "3.25.5" protobuf = "3.25.5"
coil = "2.7.0" coil = "3.0.4"
dotsIndicator = "5.0" dotsIndicator = "5.1.0"
photoview = "2.3.0" photoview = "2.3.0"
openidAppauth = "0.11.1" openidAppauth = "0.11.1"
linphone = "5.4.+" 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-material = { group = "com.google.android.material", name = "material", version.ref = "material" }
google-protobuf = { group = "com.google.protobuf", name = "protobuf-javalite", version.ref = "protobuf" } google-protobuf = { group = "com.google.protobuf", name = "protobuf-javalite", version.ref = "protobuf" }
coil = { group = "io.coil-kt", name = "coil", version.ref = "coil" } coil = { group = "io.coil-kt.coil3", name = "coil", version.ref = "coil" }
coil-gif = { group = "io.coil-kt", name = "coil-gif", version.ref = "coil" } coil-gif = { group = "io.coil-kt.coil3", name = "coil-gif", version.ref = "coil" }
coil-svg = { group = "io.coil-kt", name = "coil-svg", version.ref = "coil" } coil-svg = { group = "io.coil-kt.coil3", name = "coil-svg", version.ref = "coil" }
coil-video = { group = "io.coil-kt", name = "coil-video", 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" } dots-indicator = { group = "com.tbuonomo", name = "dotsindicator", version.ref = "dotsIndicator" }
photoview = { group = "com.github.chrisbanes", name = "PhotoView", version.ref = "photoview" } photoview = { group = "com.github.chrisbanes", name = "PhotoView", version.ref = "photoview" }
openid-appauth = { group = "net.openid", name = "appauth", version.ref = "openidAppauth" } openid-appauth = { group = "net.openid", name = "appauth", version.ref = "openidAppauth" }