From 4fdfc75833081eec2f38dd16324f79529bcec3c9 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sun, 12 Nov 2023 16:57:05 +0200 Subject: [PATCH] Try fix strange crashes --- app/build.gradle | 4 ++-- app/proguard-rules.pro | 1 + .../koitharu/kotatsu/core/network/CloudFlareInterceptor.kt | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 935d3b181..4daaf9e3c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { applicationId 'org.koitharu.kotatsu' minSdk = 21 targetSdk = 34 - versionCode = 595 - versionName = '6.2.7' + versionCode = 596 + versionName = '6.3.0-a1' generatedDensities = [] testInstrumentationRunner "org.koitharu.kotatsu.HiltTestRunner" ksp { diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 932ea8b8b..9b85e952b 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -19,3 +19,4 @@ -keep class org.koitharu.kotatsu.settings.NotificationSettingsLegacyFragment -keep class org.koitharu.kotatsu.core.prefs.ScreenshotsPolicy { *; } -keep class org.koitharu.kotatsu.settings.backup.PeriodicalBackupSettingsFragment { *; } +-keep class org.jsoup.parser.Tag diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/network/CloudFlareInterceptor.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/network/CloudFlareInterceptor.kt index fcf9e51e3..8e353bfcb 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/network/CloudFlareInterceptor.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/network/CloudFlareInterceptor.kt @@ -14,8 +14,8 @@ class CloudFlareInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { val response = chain.proceed(chain.request()) if (response.code == HTTP_FORBIDDEN || response.code == HTTP_UNAVAILABLE) { - val content = response.body?.source()?.peek()?.use { - Jsoup.parse(it.inputStream(), Charsets.UTF_8.name(), response.request.url.toString()) + val content = response.body?.let { response.peekBody(Long.MAX_VALUE) }?.byteStream()?.use { + Jsoup.parse(it, Charsets.UTF_8.name(), response.request.url.toString()) } ?: return response if (content.getElementById("challenge-error-title") != null) { val request = response.request