mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2026-05-16 04:52:39 +02:00
Fix threading for callbacks from browser
This commit is contained in:
@@ -168,7 +168,9 @@ class PackageBrowser: V8Package {
|
|||||||
browser.evaluateJavascript(js, object : ValueCallback<String> {
|
browser.evaluateJavascript(js, object : ValueCallback<String> {
|
||||||
override fun onReceiveValue(value: String?) {
|
override fun onReceiveValue(value: String?) {
|
||||||
Logger.i("PackageBrowser", "Browser run returned: " + (value ?: ""));
|
Logger.i("PackageBrowser", "Browser run returned: " + (value ?: ""));
|
||||||
funcClone?.callVoid(null, arrayOf(value));
|
StateApp.instance.scopeOrNull?.launch(Dispatchers.IO) {
|
||||||
|
funcClone?.callVoid(null, arrayOf(value));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -184,8 +186,11 @@ class PackageBrowser: V8Package {
|
|||||||
fun callback(id: String, result: String) {
|
fun callback(id: String, result: String) {
|
||||||
Logger.i("PackageBrowser", "Browser Callback [${id}]: ${result}");
|
Logger.i("PackageBrowser", "Browser Callback [${id}]: ${result}");
|
||||||
val callback = synchronized(pack._callbacks) { pack._callbacks.remove(id); };
|
val callback = synchronized(pack._callbacks) { pack._callbacks.remove(id); };
|
||||||
if(callback != null)
|
if(callback != null) {
|
||||||
callback.invoke(result);
|
StateApp.instance.scopeOrNull?.launch(Dispatchers.IO) {
|
||||||
|
callback.invoke(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@JavascriptInterface
|
@JavascriptInterface
|
||||||
|
|||||||
Reference in New Issue
Block a user