Optimize Firebase
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"filters": [],
|
||||
"attributes": [],
|
||||
"versionCode": 69,
|
||||
"versionName": "5.2.15",
|
||||
"versionName": "5.2.17",
|
||||
"outputFile": "app-release.apk"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -43,7 +43,6 @@ suspend fun getSuggestionsForQuery(query: String) : List<Suggestion> {
|
||||
then = """
|
||||
.then(r => {
|
||||
let [results, results_serial] = r;
|
||||
console.log(results_serial, r, search_serial);
|
||||
if (search_serial !== results_serial) {
|
||||
Callback.onResult(%uid, '[]');
|
||||
} else {
|
||||
|
||||
@@ -18,5 +18,4 @@
|
||||
|
||||
package xyz.quaver.pupil.types
|
||||
|
||||
class JavascriptConsoleException(message: String?): Exception(message)
|
||||
class JavascriptOnErrorException(message: String?): Exception(message)
|
||||
class SendLogException : Exception()
|
||||
@@ -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<String>("user_id"))
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user