diff options
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/web/MessageWebView.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/web/MessageWebView.kt | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/MessageWebView.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/MessageWebView.kt deleted file mode 100644 index 53fa0657..00000000 --- a/app/src/main/kotlin/com/pitchedapps/frost/web/MessageWebView.kt +++ /dev/null @@ -1,67 +0,0 @@ -package com.pitchedapps.frost.web - -import android.annotation.SuppressLint -import android.app.job.JobParameters -import android.webkit.JavascriptInterface -import android.webkit.WebView -import ca.allanwang.kau.utils.gone -import com.pitchedapps.frost.dbflow.CookieModel -import com.pitchedapps.frost.facebook.FbTab -import com.pitchedapps.frost.facebook.USER_AGENT_BASIC -import com.pitchedapps.frost.injectors.JsAssets -import com.pitchedapps.frost.services.NotificationService -import com.pitchedapps.frost.utils.L -import com.pitchedapps.frost.utils.frostAnswersCustom -import org.jetbrains.anko.doAsync - -/** - * Created by Allan Wang on 2017-07-17. - * - * Bare boned headless view made solely to extract conversation info - */ -@SuppressLint("ViewConstructor") -class MessageWebView(val service: NotificationService, val params: JobParameters?, val cookie: CookieModel) : WebView(service) { - - private val startTime = System.currentTimeMillis() - private var isCancelled = false - - init { - gone() - setupWebview() - } - - @SuppressLint("SetJavaScriptEnabled") - private fun setupWebview() { - settings.javaScriptEnabled = true - settings.userAgentString = USER_AGENT_BASIC - webViewClient = HeadlessWebViewClient("MessageNotifs", JsAssets.NOTIF_MSG) - webChromeClient = QuietChromeClient() - addJavascriptInterface(MessageJSI(), "Frost") - loadUrl(FbTab.MESSAGES.url) - } - - fun finish() { - if (isCancelled) return - isCancelled = true - post { destroy() } - service.finish(params) - } - - override fun destroy() { - L.d("MessageWebView destroyed") - super.destroy() - } - - inner class MessageJSI { - @JavascriptInterface - fun handleHtml(html: String) { - if (isCancelled) return - if (html.length < 10) return finish() - val time = System.currentTimeMillis() - startTime - L.d("Notif messages fetched in $time ms") - frostAnswersCustom("NotificationTime", "Type" to "IM Headless", "Duration" to time) - doAsync { service.fetchMessageNotifications(cookie, html); finish() } - } - } - -}
\ No newline at end of file |