Unify isCronetSupported

This commit is contained in:
tarsin committed 2023-07-03 08:09:37 +08:00
1 parent efa0823293
commit 35a7cc2067
3 files changed
+12 -7

No files matched your search

@@ -33,6 +33,7 @@ import com.hippo.ehviewer.client.data.GalleryDetail
import com.hippo.ehviewer.coil.MergeInterceptor
import com.hippo.ehviewer.coil.diskCache
import com.hippo.ehviewer.coil.imageLoader
import com.hippo.ehviewer.cronet.isCronetSupported
import com.hippo.ehviewer.dailycheck.checkDawn
import com.hippo.ehviewer.dao.EhDatabase
import com.hippo.ehviewer.download.DownloadManager
@@ -163,13 +164,11 @@ class EhApplication : Application(), ImageLoaderFactory {
if (Settings.bypassCloudflare) addInterceptor(CloudflareInterceptor(appCtx))
// TODO: Rewrite CronetInterceptor to use android.net.http.HttpEngine and make it Android 14 only when released
if (Settings.enableQuic) {
if (isCronetSupported) {
addInterceptor { chain ->
val request = chain.request()
val url = request.url
val newRequest = request.newBuilder()
.addHeader("Cookie", EhCookieStore.getCookieHeader(url))
.build()
val newRequest = request.newBuilder().addHeader("Cookie", EhCookieStore.getCookieHeader(url)).build()
val response = chain.proceed(newRequest)
EhCookieStore.saveFromResponse(url, Cookie.parseAll(url, response.headers))
response
@@ -0,0 +1,7 @@
package com.hippo.ehviewer.cronet
import android.os.Build
import com.hippo.ehviewer.Settings
val isCronetSupported: Boolean
get() = Settings.enableQuic && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
@@ -16,11 +16,9 @@
package com.hippo.ehviewer.spider
import android.graphics.ImageDecoder
import android.os.Build
import android.os.ParcelFileDescriptor
import android.os.ParcelFileDescriptor.MODE_READ_WRITE
import com.hippo.ehviewer.EhDB
import com.hippo.ehviewer.Settings
import com.hippo.ehviewer.client.EhUtils.getSuitableTitle
import com.hippo.ehviewer.client.data.GalleryInfo
import com.hippo.ehviewer.client.ehRequest
@@ -28,6 +26,7 @@ import com.hippo.ehviewer.client.executeNonCache
import com.hippo.ehviewer.client.getImageKey
import com.hippo.ehviewer.coil.read
import com.hippo.ehviewer.coil.suspendEdit
import com.hippo.ehviewer.cronet.isCronetSupported
import com.hippo.ehviewer.download.downloadLocation
import com.hippo.ehviewer.gallery.SUPPORT_IMAGE_EXTENSIONS
import com.hippo.ehviewer.image.Image.CloseableSource
@@ -130,7 +129,7 @@ class SpiderDen(private val mGalleryInfo: GalleryInfo) {
referer: String?,
notifyProgress: (Long, Long, Int) -> Unit,
): Boolean {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && Settings.enableQuic) {
return if (isCronetSupported) {
cronetRequest(url, referer) {
disableCache()
}.execute { info ->