From f33d1a1bfabfc0471c68e85ea446bcee2f331fcf Mon Sep 17 00:00:00 2001 From: tom5079 Date: Tue, 4 Jan 2022 20:16:04 +0900 Subject: [PATCH] 5.2.4 Added logging to fix app crashing --- app/build.gradle | 4 ++-- app/release/output-metadata.json | 2 +- app/src/main/java/xyz/quaver/pupil/Pupil.kt | 2 +- app/src/main/java/xyz/quaver/pupil/hitomi/common.kt | 8 -------- app/src/main/java/xyz/quaver/pupil/util/misc.kt | 11 ++++++++++- build.gradle | 1 + 6 files changed, 15 insertions(+), 13 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 1761d397..fb12d930 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,7 +38,7 @@ android { minSdkVersion 16 targetSdkVersion 30 versionCode 69 - versionName "5.2.3" + versionName "5.2.4" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } @@ -129,7 +129,7 @@ dependencies { implementation "com.google.guava:guava:31.0.1-android" - implementation "xyz.quaver:documentfilex:0.7.1" + implementation "xyz.quaver:documentfilex:0.7.2-DEV" implementation "xyz.quaver:floatingsearchview:1.1.7" testImplementation "junit:junit:4.13.1" diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index 75d23f4c..491344fc 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -11,7 +11,7 @@ "type": "SINGLE", "filters": [], "versionCode": 69, - "versionName": "5.2.3", + "versionName": "5.2.4", "outputFile": "app-release.apk" } ] diff --git a/app/src/main/java/xyz/quaver/pupil/Pupil.kt b/app/src/main/java/xyz/quaver/pupil/Pupil.kt index 0e3e80fe..30e99872 100644 --- a/app/src/main/java/xyz/quaver/pupil/Pupil.kt +++ b/app/src/main/java/xyz/quaver/pupil/Pupil.kt @@ -198,7 +198,7 @@ class Pupil : Application() { webChromeClient = object: WebChromeClient() { override fun onConsoleMessage(consoleMessage: ConsoleMessage?): Boolean { FirebaseCrashlytics.getInstance().log( - "onConsoleMessage: $consoleMessage" + "onConsoleMessage: ${consoleMessage?.message()}" ) return super.onConsoleMessage(consoleMessage) diff --git a/app/src/main/java/xyz/quaver/pupil/hitomi/common.kt b/app/src/main/java/xyz/quaver/pupil/hitomi/common.kt index f573df8b..661ab11b 100644 --- a/app/src/main/java/xyz/quaver/pupil/hitomi/common.kt +++ b/app/src/main/java/xyz/quaver/pupil/hitomi/common.kt @@ -43,10 +43,6 @@ const val protocol = "https:" val evaluations = Collections.newSetFromMap(ConcurrentHashMap()) suspend fun WebView.evaluate(script: String): String = withContext(Dispatchers.Main) { - if (webViewFailed) { - Toast.makeText(Pupil.instance, "Failed to load scripts. Please restart the app.", Toast.LENGTH_LONG).show() - } - while (webViewFailed || !webViewReady) yield() val uid = UUID.randomUUID().toString() @@ -65,10 +61,6 @@ suspend fun WebView.evaluate(script: String): String = withContext(Dispatchers.M @OptIn(ExperimentalCoroutinesApi::class) suspend fun WebView.evaluatePromise(script: String, then: String = ".then(result => Callback.onResult(%uid, JSON.stringify(result))).catch(err => Callback.onError(%uid, JSON.stringify(error)))"): String? = withContext(Dispatchers.Main) { - if (webViewFailed) { - Toast.makeText(Pupil.instance, "Failed to load the scripts. Please restart the app.", Toast.LENGTH_LONG).show() - } - while (webViewFailed || !webViewReady) yield() val uid = UUID.randomUUID().toString() diff --git a/app/src/main/java/xyz/quaver/pupil/util/misc.kt b/app/src/main/java/xyz/quaver/pupil/util/misc.kt index 503c12df..0bfe9fb8 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/misc.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/misc.kt @@ -19,6 +19,7 @@ package xyz.quaver.pupil.util import android.annotation.SuppressLint +import com.google.firebase.crashlytics.FirebaseCrashlytics import kotlinx.serialization.json.* import okhttp3.OkHttpClient import okhttp3.Request @@ -103,7 +104,15 @@ suspend fun GalleryInfo.getRequestBuilders(): List { return this.files.map { Request.Builder() - .url(imageUrlFromImage(galleryID, it, !lowQuality)) + .url( + runCatching { + imageUrlFromImage(galleryID, it, !lowQuality) + } + .onFailure { + FirebaseCrashlytics.getInstance().recordException(it) + } + .getOrDefault("https://a/") + ) .header("Referer", "https://hitomi.la/") .header("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36") } diff --git a/build.gradle b/build.gradle index 90ef53b7..4ee2606c 100644 --- a/build.gradle +++ b/build.gradle @@ -23,6 +23,7 @@ allprojects { repositories { google() mavenCentral() + mavenLocal() jcenter() maven { url "https://jitpack.io" } maven { url "https://guardian.github.io/maven/repo-releases/" }