From bece62f2742a09b7a7110ada478b1debd9c9a782 Mon Sep 17 00:00:00 2001 From: ag2s20150909 Date: Thu, 7 Apr 2022 22:53:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/help/http/cronet/AbsCallBack.kt | 3 ++- .../java/io/legado/app/help/http/cronet/CronetLoader.kt | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/legado/app/help/http/cronet/AbsCallBack.kt b/app/src/main/java/io/legado/app/help/http/cronet/AbsCallBack.kt index cfa55a2b1..56f5b4bfd 100644 --- a/app/src/main/java/io/legado/app/help/http/cronet/AbsCallBack.kt +++ b/app/src/main/java/io/legado/app/help/http/cronet/AbsCallBack.kt @@ -2,6 +2,7 @@ package io.legado.app.help.http.cronet import io.legado.app.help.http.okHttpClient import io.legado.app.utils.DebugLog +import io.legado.app.utils.rethrowAsIOException import okhttp3.* import okhttp3.EventListener import okhttp3.MediaType.Companion.toMediaTypeOrNull @@ -123,7 +124,7 @@ abstract class AbsCallBack( //UrlResponseInfo可能为null override fun onFailed(request: UrlRequest, info: UrlResponseInfo?, error: CronetException) { DebugLog.i(javaClass.name, error.message.toString()) - mException = IOException(error.message, error) + mException = error.rethrowAsIOException() this.eventListener?.callFailed(mCall, error) responseCallback?.onFailure(mCall, error) } diff --git a/app/src/main/java/io/legado/app/help/http/cronet/CronetLoader.kt b/app/src/main/java/io/legado/app/help/http/cronet/CronetLoader.kt index 716126b55..a5604bfe3 100644 --- a/app/src/main/java/io/legado/app/help/http/cronet/CronetLoader.kt +++ b/app/src/main/java/io/legado/app/help/http/cronet/CronetLoader.kt @@ -54,11 +54,13 @@ object CronetLoader : CronetEngine.Builder.LibraryLoader() { /** * 判断Cronet是否安装完成 */ - @Synchronized fun install(): Boolean { - if (cacheInstall) { - return true + synchronized(this) { + if (cacheInstall) { + return true + } } + if (AppConfig.isGooglePlay) { return false }