feat(image): migrate to Coil 3.6.0 with OkHttp network fetcher (#996)

Co-authored-by: M57 <hy4ri@users.noreply.github.com>
This commit is contained in:
M57andM57 authored and GitHub committed 2026-08-27 15:13:18 +03:00
1 parent 10d7d473fd
commit 14fde03083
7 files changed
+33 -20

No files matched your search

@@ -2,10 +2,13 @@ package com.m57.hermescontrol
import android.app.Application
import android.os.Build
import coil.ImageLoader
import coil.ImageLoaderFactory
import coil.decode.GifDecoder
import coil.decode.ImageDecoderDecoder
import coil3.ImageLoader
import coil3.PlatformContext
import coil3.SingletonImageLoader
import coil3.gif.AnimatedImageDecoder
import coil3.gif.GifDecoder
import coil3.network.okhttp.OkHttpNetworkFetcherFactory
import coil3.request.crossfade
import com.m57.hermescontrol.data.local.AuthManager
import com.m57.hermescontrol.data.remote.NetworkMonitor
import com.m57.hermescontrol.data.remote.OkHttpProvider
@@ -14,7 +17,7 @@ import com.m57.hermescontrol.ui.analytics.AnalyticsPreloader
class HermesControlApp :
Application(),
ImageLoaderFactory {
SingletonImageLoader.Factory {
override fun onCreate() {
super.onCreate()
AuthManager.init(this)
@@ -31,13 +34,17 @@ class HermesControlApp :
UpdateNoticeManager.checkOnLaunch()
}
override fun newImageLoader(): ImageLoader =
override fun newImageLoader(context: PlatformContext): ImageLoader =
ImageLoader
.Builder(this)
.okHttpClient(OkHttpProvider.base)
.Builder(context)
.components {
add(
OkHttpNetworkFetcherFactory(
callFactory = { OkHttpProvider.base },
),
)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
add(ImageDecoderDecoder.Factory())
add(AnimatedImageDecoder.Factory())
} else {
add(GifDecoder.Factory())
}