From 0ef4bccb7cc1fc9c67f87ba9e9df71edf3f9f968 Mon Sep 17 00:00:00 2001 From: tarsin Date: Tue, 20 Jun 2023 17:15:48 +0800 Subject: [PATCH] Intercept okhttp request to cronet --- .../google/net/cronet/okhttptransport/ResponseConverter.java | 5 +++-- app/src/main/java/com/hippo/ehviewer/EhApplication.kt | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/google/net/cronet/okhttptransport/ResponseConverter.java b/app/src/main/java/com/google/net/cronet/okhttptransport/ResponseConverter.java index 4daec487c..a359eaf89 100644 --- a/app/src/main/java/com/google/net/cronet/okhttptransport/ResponseConverter.java +++ b/app/src/main/java/com/google/net/cronet/okhttptransport/ResponseConverter.java @@ -154,8 +154,9 @@ final class ResponseConverter { .request(request) .code(cronetResponseInfo.getHttpStatusCode()) .message(cronetResponseInfo.getHttpStatusText()) - .protocol(convertProtocol(cronetResponseInfo.getNegotiatedProtocol())) - .body(responseBody); + .protocol(convertProtocol(cronetResponseInfo.getNegotiatedProtocol())); + + if (responseBody != null) responseBuilder.body(responseBody); for (Map.Entry header : cronetResponseInfo.getAllHeadersAsList()) { boolean copyHeader = true; diff --git a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt index ba899c415..ecacb1c87 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt +++ b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt @@ -26,6 +26,7 @@ import coil.ImageLoaderFactory import coil.decode.ImageDecoderDecoder import coil.util.DebugLogger import com.chuckerteam.chucker.api.ChuckerInterceptor +import com.google.net.cronet.okhttptransport.CronetInterceptor import com.hippo.ehviewer.client.EhCookieStore import com.hippo.ehviewer.client.EhTagDatabase import com.hippo.ehviewer.client.data.GalleryDetail @@ -39,6 +40,7 @@ import com.hippo.ehviewer.legacy.cleanObsoleteCache import com.hippo.ehviewer.legacy.migrateCookies import com.hippo.ehviewer.okhttp.cache import com.hippo.ehviewer.okhttp.httpClient +import com.hippo.ehviewer.spider.cronetHttpClient import com.hippo.ehviewer.ui.keepNoMediaFileStatus import com.hippo.ehviewer.ui.lockObserver import com.hippo.ehviewer.util.ReadableTime @@ -156,6 +158,7 @@ class EhApplication : Application(), ImageLoaderFactory { alwaysReadResponseBody(false) }.build(), ) + addInterceptor(CronetInterceptor.newBuilder(cronetHttpClient).build()) } }