diff --git a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt index 992261c87..6355a5efc 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt +++ b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt @@ -23,6 +23,7 @@ import androidx.collection.LruCache import androidx.lifecycle.ProcessLifecycleOwner import androidx.lifecycle.coroutineScope import coil.ImageLoaderFactory +import coil.decode.ImageDecoderDecoder import coil.util.DebugLogger import com.hippo.ehviewer.client.EhCookieStore import com.hippo.ehviewer.client.EhTagDatabase @@ -46,6 +47,7 @@ import com.hippo.ehviewer.util.Crash import com.hippo.ehviewer.util.FavouriteStatusRouter import com.hippo.ehviewer.util.FileUtils import com.hippo.ehviewer.util.ReadableTime +import com.hippo.ehviewer.util.isAtLeastP import com.hippo.ehviewer.util.isAtLeastQ import com.hippo.ehviewer.util.isCronetSupported import eu.kanade.tachiyomi.network.interceptor.CloudflareInterceptor @@ -146,6 +148,9 @@ class EhApplication : Application(), ImageLoaderFactory { } else { callFactory(baseOkHttpClient) } + if (isAtLeastP) { + add(ImageDecoderDecoder.Factory(false)) + } add(MergeInterceptor) } diskCache(imageCache) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 33701d9ec..e31bee3a9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -77,6 +77,7 @@ chucker-nop = { module = "com.github.chuckerteam.chucker:library-no-op", version coil-bom = { module = "io.coil-kt:coil-bom", version.ref = "coil" } coil-compose = { module = "io.coil-kt:coil-compose" } +coil-gif = { module = "io.coil-kt:coil-gif" } compose-bom = { module = "dev.chrisbanes.compose:compose-bom", version.ref = "compose-bom" } # For renovate @@ -131,7 +132,7 @@ accompanist = ["accompanist-themeadapter-material3", "accompanist-webview"] androidx-navigation = ["androidx-navigation-compose", "androidx-navigation-fragment", "androidx-navigation-ui"] androidx-paging = ["androidx-paging-compose", "androidx-paging-runtime"] androidx-recyclerview = ["androidx-recyclerview", "androidx-recyclerview-selection"] -coil = ["coil-compose"] +coil = ["coil-compose", "coil-gif"] compose = ["compose-material-icons-extended", "compose-material3", "compose-material3-windowsizeclass", "compose-ui-util"] kotlinx-serialization = ["kotlinx-serialization-cbor", "kotlinx-serialization-json", "kotlinx-serialization-json-okio"] ktor = ["ktor-io-jvm", "ktor-utils-jvm"]