Cleanup kt style builder
This commit is contained in:
1 parent
09df7cc39b
commit
02a3c1c54b
4 files changed
+27
-16
No files matched your search
@@ -18,7 +18,6 @@ package com.hippo.ehviewer
|
||||
|
||||
import android.app.Application
|
||||
import android.content.ComponentCallbacks2
|
||||
import android.os.Build
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.collection.LruCache
|
||||
import androidx.lifecycle.ProcessLifecycleOwner
|
||||
@@ -50,12 +49,12 @@ 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.isAtLeastQ
|
||||
import eu.kanade.tachiyomi.network.interceptor.CloudflareInterceptor
|
||||
import eu.kanade.tachiyomi.util.lang.launchIO
|
||||
import eu.kanade.tachiyomi.util.lang.withUIContext
|
||||
import kotlinx.coroutines.launch
|
||||
import okhttp3.AsyncDns
|
||||
import okhttp3.Cookie
|
||||
import okhttp3.android.AndroidAsyncDns
|
||||
import okio.Path.Companion.toOkioPath
|
||||
import splitties.arch.room.roomDb
|
||||
@@ -160,20 +159,16 @@ class EhApplication : Application(), ImageLoaderFactory {
|
||||
val nonCacheOkHttpClient by lazy {
|
||||
httpClient {
|
||||
cookieJar(EhCookieStore)
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) dns(AsyncDns.toDns(AndroidAsyncDns.IPv4, AndroidAsyncDns.IPv6))
|
||||
if (isAtLeastQ) {
|
||||
dns(AsyncDns.toDns(AndroidAsyncDns.IPv4, AndroidAsyncDns.IPv6))
|
||||
}
|
||||
chunker { alwaysReadResponseBody(false) }
|
||||
if (Settings.bypassCloudflare) addInterceptor(CloudflareInterceptor(appCtx))
|
||||
|
||||
if (Settings.bypassCloudflare) {
|
||||
addInterceptor(CloudflareInterceptor(appCtx))
|
||||
}
|
||||
// TODO: Rewrite CronetInterceptor to use android.net.http.HttpEngine and make it Android 14 only when released
|
||||
if (isCronetSupported) {
|
||||
addInterceptor { chain ->
|
||||
val request = chain.request()
|
||||
val url = request.url
|
||||
val newRequest = request.newBuilder().addHeader("Cookie", EhCookieStore.getCookieHeader(url)).build()
|
||||
val response = chain.proceed(newRequest)
|
||||
EhCookieStore.saveFromResponse(url, Cookie.parseAll(url, response.headers))
|
||||
response
|
||||
}
|
||||
addInterceptor(EhCookieStore)
|
||||
cronet(cronetHttpClient)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,10 @@ import okhttp3.Cookie
|
||||
import okhttp3.CookieJar
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.HttpUrl.Companion.toHttpUrl
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.Response
|
||||
|
||||
object EhCookieStore : CookieJar {
|
||||
object EhCookieStore : CookieJar, Interceptor {
|
||||
private val manager = CookieManager.getInstance()
|
||||
fun signOut() = manager.removeAllCookies(null)
|
||||
fun contains(url: HttpUrl, name: String) = get(url).any { it.name == name }
|
||||
@@ -101,4 +103,13 @@ object EhCookieStore : CookieJar {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun intercept(chain: Interceptor.Chain): Response {
|
||||
val request = chain.request()
|
||||
val url = request.url
|
||||
val newRequest = request.newBuilder().addHeader("Cookie", getCookieHeader(url)).build()
|
||||
val response = chain.proceed(newRequest)
|
||||
saveFromResponse(url, Cookie.parseAll(url, response.headers))
|
||||
return response
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.hippo.ehviewer.cronet
|
||||
|
||||
import android.os.Build
|
||||
import com.hippo.ehviewer.Settings
|
||||
import com.hippo.ehviewer.util.isAtLeastQ
|
||||
|
||||
val isCronetSupported: Boolean
|
||||
get() = Settings.enableQuic && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
|
||||
get() = Settings.enableQuic && isAtLeastQ
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.hippo.ehviewer.util
|
||||
|
||||
import android.os.Build
|
||||
|
||||
val isAtLeastQ = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
|
||||
Reference in new issue
Block a user