aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-08-15 13:46:41 -0700
committerGitHub <noreply@github.com>2017-08-15 13:46:41 -0700
commit19ec9b543e15fe453b576f1b38994b3f8692054f (patch)
tree99600f87160b492de453a7f249bf3b258b5ef990 /app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt
parent203305e1890f9e23caa80d7ad6921767f830a4da (diff)
downloadfrost-19ec9b543e15fe453b576f1b38994b3f8692054f.tar.gz
frost-19ec9b543e15fe453b576f1b38994b3f8692054f.tar.bz2
frost-19ec9b543e15fe453b576f1b38994b3f8692054f.zip
Add checks before injections (#180)
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt14
1 files changed, 8 insertions, 6 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt
index aea25337..038eaaad 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt
@@ -15,6 +15,7 @@ import com.pitchedapps.frost.injectors.CssHider
import com.pitchedapps.frost.injectors.jsInject
import com.pitchedapps.frost.utils.L
import com.pitchedapps.frost.utils.Prefs
+import com.pitchedapps.frost.utils.isFacebookUrl
import org.jetbrains.anko.doAsync
import org.jetbrains.anko.uiThread
@@ -55,17 +56,18 @@ class LoginWebView @JvmOverloads constructor(
override fun onPageFinished(view: WebView, url: String?) {
super.onPageFinished(view, url)
- val containsFacebook = url?.contains(FACEBOOK_COM) ?: false
checkForLogin(url) { id, cookie -> loginCallback(CookieModel(id, "", cookie)) }
- view.jsInject(CssHider.HEADER.maybe(containsFacebook),
- CssHider.CORE.maybe(containsFacebook),
- Prefs.themeInjector.maybe(containsFacebook),
- callback = { if (!view.isVisible) view.fadeIn(offset = WEB_LOAD_DELAY) })
+ if (url.isFacebookUrl)
+ view.jsInject(CssHider.HEADER,
+ CssHider.CORE,
+ Prefs.themeInjector,
+ callback = { if (!view.isVisible) view.fadeIn(offset = WEB_LOAD_DELAY) })
+ else if (!view.isVisible) view.fadeIn()
}
fun checkForLogin(url: String?, onFound: (id: Long, cookie: String) -> Unit) {
doAsync {
- if (url == null || !url.contains(FACEBOOK_COM)) return@doAsync
+ if (!url.isFacebookUrl) return@doAsync
val cookie = CookieManager.getInstance().getCookie(url) ?: return@doAsync
L.d("Checking cookie for login", cookie)
val id = userMatcher.find(cookie)?.groups?.get(1)?.value?.toLong() ?: return@doAsync