diff options
author | Allan Wang <me@allanwang.ca> | 2017-08-15 13:46:41 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-15 13:46:41 -0700 |
commit | 19ec9b543e15fe453b576f1b38994b3f8692054f (patch) | |
tree | 99600f87160b492de453a7f249bf3b258b5ef990 /app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt | |
parent | 203305e1890f9e23caa80d7ad6921767f830a4da (diff) | |
download | frost-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.kt | 14 |
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 |