Re-Add Animated Image Decoders to Coil

This commit is contained in:
Jobobby04 2024-03-17 23:17:27 -04:00
parent 2f54f00bf7
commit 5d1b1408eb
2 changed files with 10 additions and 0 deletions

View File

@ -19,6 +19,8 @@ import coil3.ImageLoader
import coil3.SingletonImageLoader import coil3.SingletonImageLoader
import coil3.disk.DiskCache import coil3.disk.DiskCache
import coil3.disk.directory import coil3.disk.directory
import coil3.gif.AnimatedImageDecoder
import coil3.gif.GifDecoder
import coil3.network.okhttp.OkHttpNetworkFetcherFactory import coil3.network.okhttp.OkHttpNetworkFetcherFactory
import coil3.request.allowRgb565 import coil3.request.allowRgb565
import coil3.request.crossfade import coil3.request.crossfade
@ -182,6 +184,11 @@ class App : Application(), DefaultLifecycleObserver, SingletonImageLoader.Factor
val callFactoryLazy = lazy { Injekt.get<NetworkHelper>().client } val callFactoryLazy = lazy { Injekt.get<NetworkHelper>().client }
val diskCacheLazy = lazy { CoilDiskCache.get(this@App) } val diskCacheLazy = lazy { CoilDiskCache.get(this@App) }
components { components {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
add(AnimatedImageDecoder.Factory())
} else {
add(GifDecoder.Factory())
}
add(OkHttpNetworkFetcherFactory(callFactoryLazy::value)) add(OkHttpNetworkFetcherFactory(callFactoryLazy::value))
add(TachiyomiImageDecoder.Factory()) add(TachiyomiImageDecoder.Factory())
add(MangaCoverFetcher.MangaFactory(callFactoryLazy, diskCacheLazy)) add(MangaCoverFetcher.MangaFactory(callFactoryLazy, diskCacheLazy))

View File

@ -91,6 +91,9 @@ object ImageUtil {
// Coil supports animated WebP on Android 9.0+ // Coil supports animated WebP on Android 9.0+
// https://coil-kt.github.io/coil/getting_started/#supported-image-formats // https://coil-kt.github.io/coil/getting_started/#supported-image-formats
Format.Webp -> type.isAnimated && Build.VERSION.SDK_INT >= Build.VERSION_CODES.P Format.Webp -> type.isAnimated && Build.VERSION.SDK_INT >= Build.VERSION_CODES.P
// Coil supports animated Heif on Android 11+
// https://coil-kt.github.io/coil/getting_started/#supported-image-formats
Format.Heif -> type.isAnimated && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
else -> false else -> false
} }
} catch (e: Exception) { } catch (e: Exception) {