From 137ef3fee49caeac1d37579bb11aa3dcf6b454ce Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Tue, 26 Nov 2024 10:08:27 +0530 Subject: [PATCH] Fix image loading --- app/build.gradle | 1 + app/src/main/java/org/schabi/newpipe/App.kt | 5 ++++- app/src/main/java/org/schabi/newpipe/DownloaderImpl.java | 5 +++++ gradle/libs.versions.toml | 3 ++- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 9d919c1f6..ecda2846f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -251,6 +251,7 @@ dependencies { // Image loading implementation libs.coil.compose + implementation libs.coil.network.okhttp // Markdown library for Android implementation libs.markwon.core diff --git a/app/src/main/java/org/schabi/newpipe/App.kt b/app/src/main/java/org/schabi/newpipe/App.kt index 0c065f491..8501cee09 100644 --- a/app/src/main/java/org/schabi/newpipe/App.kt +++ b/app/src/main/java/org/schabi/newpipe/App.kt @@ -10,6 +10,7 @@ import androidx.core.content.getSystemService import androidx.preference.PreferenceManager import coil3.ImageLoader import coil3.SingletonImageLoader +import coil3.network.okhttp.OkHttpNetworkFetcherFactory import coil3.request.allowRgb565 import coil3.request.crossfade import coil3.util.DebugLogger @@ -123,7 +124,9 @@ open class App : .logger(if (BuildConfig.DEBUG) DebugLogger() else null) .allowRgb565(getSystemService()!!.isLowRamDevice) .crossfade(true) - .build() + .components { + add(OkHttpNetworkFetcherFactory(callFactory = DownloaderImpl.getInstance().client)) + }.build() protected open fun getDownloader(): Downloader { val downloader = DownloaderImpl.init(null) diff --git a/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java b/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java index 9ddbe96df..ee5450a62 100644 --- a/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java +++ b/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java @@ -48,6 +48,11 @@ public final class DownloaderImpl extends Downloader { this.mCookies = new HashMap<>(); } + @NonNull + public OkHttpClient getClient() { + return client; + } + /** * It's recommended to call exactly once in the entire lifetime of the application. * diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d2ff9c058..176714d78 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,7 +8,7 @@ auto-service = "1.1.1" bridge = "2.0.2" cardview = "1.0.0" checkstyle = "10.12.1" -coil = "3.0.3" +coil = "3.0.4" constraintlayout = "2.1.4" core-ktx = "1.12.0" desugar-jdk-libs-nio = "2.0.4" @@ -110,6 +110,7 @@ assertj-core = { group = "org.assertj", name = "assertj-core", version.ref = "as auto-service = { group = "com.google.auto.service", name = "auto-service-annotations", version.ref = "auto-service" } auto-service-kapt = { group = "com.google.auto.service", name = "auto-service", version.ref = "auto-service" } coil-compose = { group = "io.coil-kt.coil3", name = 'coil-compose', version.ref = "coil" } +coil-network-okhttp = { group = "io.coil-kt.coil3", name = 'coil-network-okhttp', version.ref = "coil" } desugar-jdk-libs-nio = { group = "com.android.tools", name = "desugar_jdk_libs_nio", version.ref = "desugar-jdk-libs-nio" } exoplayer-core = { group = "com.google.android.exoplayer", name = "exoplayer-core", version.ref = "exoplayer" } exoplayer-database = { group = "com.google.android.exoplayer", name = "exoplayer-database", version.ref = "exoplayer" }