aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/web/MessageWebView.kt
diff options
context:
space:
mode:
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.kt67
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