diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
index 667849dd..7adb90e7 100644
--- a/.idea/deploymentTargetDropDown.xml
+++ b/.idea/deploymentTargetDropDown.xml
@@ -1,9 +1,9 @@
-
+
-
+
@@ -11,7 +11,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index a85599af..4fea6bf0 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -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
}
diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json
index 50139528..803473ca 100644
--- a/app/release/output-metadata.json
+++ b/app/release/output-metadata.json
@@ -12,7 +12,7 @@
"filters": [],
"attributes": [],
"versionCode": 69,
- "versionName": "5.2.20",
+ "versionName": "5.2.21",
"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 d9278e09..2a9c5b1e 100644
--- a/app/src/main/java/xyz/quaver/pupil/Pupil.kt
+++ b/app/src/main/java/xyz/quaver/pupil/Pupil.kt
@@ -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
}
}
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 99314825..f78007bb 100644
--- a/app/src/main/java/xyz/quaver/pupil/hitomi/common.kt
+++ b/app/src/main/java/xyz/quaver/pupil/hitomi/common.kt
@@ -53,7 +53,7 @@ suspend inline fun 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 WebView.evaluatePromise(
while (result == null) {
try {
- while (!oldWebView && !(webViewReady && !webViewFailed)) yield()
+ while (!oldWebView && !(webViewReady && !webViewFailed)) delay(100)
result = if (oldWebView)
"null"