diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 105a9eb26..bfdb0c267 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -190,6 +190,8 @@ dependencies { // https://coil-kt.github.io/coil/changelog/ // implementation 'io.coil-kt:coil:2.2.2' implementation("com.github.Ehviewer-Overhauled.coil:coil-compose:d65881d") + + implementation("io.ktor:ktor-client-okhttp:2.2.3") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4") implementation("org.jetbrains.kotlinx:kotlinx-serialization-cbor:1.5.0-RC") implementation("org.jsoup:jsoup:1.15.3") diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index b6ac9d700..c57e445f3 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -13,6 +13,9 @@ -keep class androidx.viewpager.widget.ViewPager$LayoutParams { int position; } +# Ktor logger +-dontwarn org.slf4j.impl.StaticLoggerBinder + -keepattributes LineNumberTable,SourceFile -renamesourcefileattribute SourceFile diff --git a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt index 5add9612f..56b7dc09d 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt +++ b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt @@ -55,6 +55,8 @@ import com.hippo.yorozuya.IntIdGenerator import eu.kanade.tachiyomi.core.preference.AndroidPreferenceStore import eu.kanade.tachiyomi.ui.reader.setting.ReaderPreferences import eu.kanade.tachiyomi.util.lang.launchIO +import io.ktor.client.HttpClient +import io.ktor.client.engine.okhttp.OkHttp import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -312,6 +314,14 @@ class EhApplication : Application(), DefaultLifecycleObserver, ImageLoaderFactor builder.build() } + val ktorClient by lazy { + HttpClient(OkHttp) { + engine { + preconfigured = okHttpClient + } + } + } + @JvmStatic val galleryDetailCache by lazy { LruCache(25).also {