diff --git a/app/build.gradle b/app/build.gradle index 477e9524..36f6d9b0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,7 +38,7 @@ android { minSdkVersion 16 targetSdkVersion 31 versionCode 69 - versionName "5.2.16" + versionName "5.2.17" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index 2db26861..8f1cadd9 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -12,7 +12,7 @@ "filters": [], "attributes": [], "versionCode": 69, - "versionName": "5.2.15", + "versionName": "5.2.17", "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 81873018..b6899e68 100644 --- a/app/src/main/java/xyz/quaver/pupil/Pupil.kt +++ b/app/src/main/java/xyz/quaver/pupil/Pupil.kt @@ -25,7 +25,6 @@ import android.app.NotificationChannel import android.app.NotificationManager import android.content.Context import android.content.Intent -import android.content.pm.ApplicationInfo import android.net.Uri import android.os.Build import android.webkit.* @@ -46,8 +45,6 @@ import kotlinx.coroutines.flow.asSharedFlow import okhttp3.* import xyz.quaver.io.FileX import xyz.quaver.pupil.hitomi.evaluationContext -import xyz.quaver.pupil.types.JavascriptConsoleException -import xyz.quaver.pupil.types.JavascriptOnErrorException import xyz.quaver.pupil.types.Tag import xyz.quaver.pupil.util.* import java.io.File @@ -166,8 +163,8 @@ fun initWebView(context: Context) { error: WebResourceError? ) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - FirebaseCrashlytics.getInstance().recordException( - JavascriptOnErrorException("onReceivedError: ${error?.description}") + FirebaseCrashlytics.getInstance().log( + "onReceivedError: ${error?.description}" ) } } @@ -175,8 +172,8 @@ fun initWebView(context: Context) { webChromeClient = object: WebChromeClient() { override fun onConsoleMessage(consoleMessage: ConsoleMessage?): Boolean { - FirebaseCrashlytics.getInstance().recordException( - JavascriptConsoleException("onConsoleMessage: ${consoleMessage?.message()} (${consoleMessage?.sourceId()}:${consoleMessage?.lineNumber()})") + FirebaseCrashlytics.getInstance().log( + "onConsoleMessage: ${consoleMessage?.message()} (${consoleMessage?.sourceId()}:${consoleMessage?.lineNumber()})" ) return super.onConsoleMessage(consoleMessage) @@ -196,8 +193,8 @@ fun initWebView(context: Context) { _webViewFlow.emit(uid to null) } Toast.makeText(context, message, Toast.LENGTH_LONG).show() - FirebaseCrashlytics.getInstance().recordException( - JavascriptOnErrorException(message) + FirebaseCrashlytics.getInstance().log( + "onError: $message" ) } }, "Callback") 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 f4c391e5..a05520ae 100644 --- a/app/src/main/java/xyz/quaver/pupil/hitomi/common.kt +++ b/app/src/main/java/xyz/quaver/pupil/hitomi/common.kt @@ -66,7 +66,7 @@ suspend fun WebView.evaluate(script: String): String = coroutineScope { @OptIn(ExperimentalCoroutinesApi::class) suspend fun WebView.evaluatePromise( script: String, - then: String = ".then(result => Callback.onResult(%uid, JSON.stringify(result))).catch(err => { console.err(err); Callback.onError(%uid, JSON.stringify(err)); })" + then: String = ".then(result => Callback.onResult(%uid, JSON.stringify(result))).catch(err => Callback.onError(%uid, JSON.stringify(err)))" ): String = coroutineScope { var result: String? = null diff --git a/app/src/main/java/xyz/quaver/pupil/hitomi/search.kt b/app/src/main/java/xyz/quaver/pupil/hitomi/search.kt index 0653cded..9f1326b4 100644 --- a/app/src/main/java/xyz/quaver/pupil/hitomi/search.kt +++ b/app/src/main/java/xyz/quaver/pupil/hitomi/search.kt @@ -43,7 +43,6 @@ suspend fun getSuggestionsForQuery(query: String) : List { then = """ .then(r => { let [results, results_serial] = r; - console.log(results_serial, r, search_serial); if (search_serial !== results_serial) { Callback.onResult(%uid, '[]'); } else { diff --git a/app/src/main/java/xyz/quaver/pupil/types/Exceptions.kt b/app/src/main/java/xyz/quaver/pupil/types/SendLogException.kt similarity index 85% rename from app/src/main/java/xyz/quaver/pupil/types/Exceptions.kt rename to app/src/main/java/xyz/quaver/pupil/types/SendLogException.kt index 775373eb..f943953f 100644 --- a/app/src/main/java/xyz/quaver/pupil/types/Exceptions.kt +++ b/app/src/main/java/xyz/quaver/pupil/types/SendLogException.kt @@ -18,5 +18,4 @@ package xyz.quaver.pupil.types -class JavascriptConsoleException(message: String?): Exception(message) -class JavascriptOnErrorException(message: String?): Exception(message) \ No newline at end of file +class SendLogException : Exception() \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt index e6c40d39..a2066834 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt @@ -26,6 +26,7 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatDelegate import androidx.preference.* import com.google.android.gms.oss.licenses.OssLicensesMenuActivity +import com.google.firebase.crashlytics.FirebaseCrashlytics import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -36,6 +37,7 @@ import xyz.quaver.pupil.R import xyz.quaver.pupil.client import xyz.quaver.pupil.clientBuilder import xyz.quaver.pupil.clientHolder +import xyz.quaver.pupil.types.SendLogException import xyz.quaver.pupil.ui.LockActivity import xyz.quaver.pupil.ui.SettingsActivity import xyz.quaver.pupil.ui.dialog.* @@ -107,6 +109,7 @@ class SettingsFragment : ProxyDialogFragment().show(parentFragmentManager, "Proxy Dialog") } "user_id" -> { + FirebaseCrashlytics.getInstance().recordException(SendLogException()) (context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager).setPrimaryClip( ClipData.newPlainText("user_id", Preferences.get("user_id")) )