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"