diff options
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/web/FrostJSI.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/web/FrostJSI.kt | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostJSI.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostJSI.kt index 66f638af..14ea4df8 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostJSI.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostJSI.kt @@ -6,15 +6,16 @@ import com.pitchedapps.frost.LoginActivity import com.pitchedapps.frost.MainActivity import com.pitchedapps.frost.SelectorActivity import com.pitchedapps.frost.dbflow.CookieModel +import com.pitchedapps.frost.utils.L import com.pitchedapps.frost.utils.cookies import com.pitchedapps.frost.utils.launchNewTask import com.pitchedapps.frost.utils.launchWebOverlay + /** * Created by Allan Wang on 2017-06-01. */ -class FrostJSI(val context: Context) { - +class FrostJSI(val context: Context, val webView: FrostWebViewCore) { val cookies: ArrayList<CookieModel> get() = (context as? MainActivity)?.cookies() ?: arrayListOf() @@ -22,6 +23,15 @@ class FrostJSI(val context: Context) { fun loadUrl(url: String) = context.launchWebOverlay(url) @JavascriptInterface + fun reloadBaseUrl() { + L.d("FrostJSI reload") + webView.post { + webView.stopLoading() + webView.loadBaseUrl() + } + } + + @JavascriptInterface fun loadLogin() { if (cookies.isNotEmpty()) context.launchNewTask(SelectorActivity::class.java, cookies) @@ -29,4 +39,14 @@ class FrostJSI(val context: Context) { context.launchNewTask(LoginActivity::class.java) } + @JavascriptInterface + fun emit(flag: Int) { + webView.post { webView.frostWebClient!!.emit(flag) } + } + + @JavascriptInterface + fun handleHtml(html: String) { + webView.post { webView.frostWebClient!!.handleHtml(html) } + } + }
\ No newline at end of file |