Improve startup speed
This commit is contained in:
@@ -38,7 +38,7 @@ android {
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 31
|
||||
versionCode 69
|
||||
versionName "5.2.20"
|
||||
versionName "5.2.21"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"filters": [],
|
||||
"attributes": [],
|
||||
"versionCode": 69,
|
||||
"versionName": "5.2.20",
|
||||
"versionName": "5.2.21",
|
||||
"outputFile": "app-release.apk"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -160,19 +160,20 @@ fun initWebView(context: Context) {
|
||||
|
||||
webViewClient = object: WebViewClient() {
|
||||
override fun onPageFinished(view: WebView?, url: String?) {
|
||||
webViewReady = true
|
||||
|
||||
webView.evaluateJavascript(
|
||||
"""
|
||||
try {
|
||||
new Function('(x => x?.y ?? z)');
|
||||
true;
|
||||
} catch (err) {
|
||||
false;
|
||||
}
|
||||
""".trimIndent()
|
||||
try {
|
||||
new Function('(x => x?.y ?? z)');
|
||||
true;
|
||||
} catch (err) {
|
||||
false;
|
||||
}
|
||||
""".trimIndent()
|
||||
) {
|
||||
val es2020: Boolean = Json.decodeFromString(it)
|
||||
|
||||
webViewReady = es2020
|
||||
oldWebView = !es2020
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ suspend inline fun <reified T> WebView.evaluate(script: String): T = coroutineSc
|
||||
|
||||
while (result == null) {
|
||||
try {
|
||||
while (!oldWebView && !(webViewReady && !webViewFailed)) yield()
|
||||
while (!oldWebView && !(webViewReady && !webViewFailed)) delay(100)
|
||||
|
||||
result = if (oldWebView)
|
||||
"null"
|
||||
@@ -82,7 +82,7 @@ suspend inline fun <reified T> WebView.evaluatePromise(
|
||||
|
||||
while (result == null) {
|
||||
try {
|
||||
while (!oldWebView && !(webViewReady && !webViewFailed)) yield()
|
||||
while (!oldWebView && !(webViewReady && !webViewFailed)) delay(100)
|
||||
|
||||
result = if (oldWebView)
|
||||
"null"
|
||||
|
||||
Reference in New Issue
Block a user