diff options
author | Allan Wang <me@allanwang.ca> | 2019-04-21 20:22:11 -0400 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2019-04-21 20:22:11 -0400 |
commit | bbafb7b65ce655c1fdda8badd3098d2a0e1f7f08 (patch) | |
tree | 354b0bb6f021af54d1e3586e3e9bda064ad4ef02 /app/src/main/kotlin/com/pitchedapps/frost/web | |
parent | e5eb928feacba8d1c634ad8e5d85259ae161cabd (diff) | |
parent | f0f95295bdb2b853aa6262ec4bed2353ce326eee (diff) | |
download | frost-bbafb7b65ce655c1fdda8badd3098d2a0e1f7f08.tar.gz frost-bbafb7b65ce655c1fdda8badd3098d2a0e1f7f08.tar.bz2 frost-bbafb7b65ce655c1fdda8badd3098d2a0e1f7f08.zip |
Merge dev
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/web')
4 files changed, 13 insertions, 20 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt index 6b186b1c..6511ef9f 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt @@ -24,8 +24,7 @@ import android.util.AttributeSet import android.view.View import android.webkit.WebView import ca.allanwang.kau.utils.withAlpha -import com.pitchedapps.frost.facebook.USER_AGENT_BASIC -import com.pitchedapps.frost.injectors.CssAssets +import com.pitchedapps.frost.facebook.USER_AGENT_MOBILE import com.pitchedapps.frost.injectors.CssHider import com.pitchedapps.frost.injectors.jsInject import com.pitchedapps.frost.utils.L @@ -54,9 +53,9 @@ class DebugWebView @JvmOverloads constructor( } @SuppressLint("SetJavaScriptEnabled") - fun setupWebview() { + private fun setupWebview() { settings.javaScriptEnabled = true - settings.userAgentString = USER_AGENT_BASIC + settings.userAgentString = USER_AGENT_MOBILE setLayerType(View.LAYER_TYPE_HARDWARE, null) webViewClient = DebugClient() isDrawingCacheEnabled = true @@ -102,7 +101,6 @@ class DebugWebView @JvmOverloads constructor( injectBackgroundColor() if (url.isFacebookUrl) view.jsInject( - CssAssets.ROUND_ICONS.maybe(Prefs.showRoundedIcons), // CssHider.CORE, CssHider.COMPOSER.maybe(!Prefs.showComposer), CssHider.STORIES.maybe(!Prefs.showStories), diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostUrlOverlayValidator.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostUrlOverlayValidator.kt index 24885fdf..81ade98f 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostUrlOverlayValidator.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostUrlOverlayValidator.kt @@ -22,7 +22,7 @@ import com.pitchedapps.frost.activities.WebOverlayActivityBase import com.pitchedapps.frost.contracts.VideoViewHolder import com.pitchedapps.frost.facebook.FbCookie import com.pitchedapps.frost.facebook.FbItem -import com.pitchedapps.frost.facebook.USER_AGENT_BASIC +import com.pitchedapps.frost.facebook.USER_AGENT_DESKTOP import com.pitchedapps.frost.facebook.formattedFbUrl import com.pitchedapps.frost.utils.L import com.pitchedapps.frost.utils.Prefs @@ -32,7 +32,7 @@ import com.pitchedapps.frost.utils.isIndirectImageUrl import com.pitchedapps.frost.utils.isVideoUrl import com.pitchedapps.frost.utils.launchImageActivity import com.pitchedapps.frost.utils.launchWebOverlay -import com.pitchedapps.frost.utils.launchWebOverlayBasic +import com.pitchedapps.frost.utils.launchWebOverlayDesktop import com.pitchedapps.frost.views.FrostWebView /** @@ -76,15 +76,15 @@ fun FrostWebView.requestWebOverlay(url: String): Boolean { if (!Prefs.overlayEnabled) return false if (context is WebOverlayActivityBase) { L.v { "Check web request from overlay" } - val shouldUseBasic = url.formattedFbUrl.shouldUseBasicAgent + val shouldUseDesktop = url.formattedFbUrl.shouldUseDesktopAgent //already overlay; manage user agent - if (userAgentString != USER_AGENT_BASIC && shouldUseBasic) { - L.i { "Switch to basic agent overlay" } - context.launchWebOverlayBasic(url) + if (userAgentString != USER_AGENT_DESKTOP && shouldUseDesktop) { + L.i { "Switch to desktop agent overlay" } + context.launchWebOverlayDesktop(url) return true } - if (userAgentString == USER_AGENT_BASIC && !shouldUseBasic) { - L.i { "Switch from basic agent" } + if (userAgentString == USER_AGENT_DESKTOP && !shouldUseDesktop) { + L.i { "Switch from desktop agent" } context.launchWebOverlay(url) return true } @@ -103,9 +103,9 @@ val messageWhitelist: Set<String> = setOf(FbItem.MESSAGES, FbItem.CHAT, FbItem.FEED_MOST_RECENT, FbItem.FEED_TOP_STORIES) .mapTo(mutableSetOf(), FbItem::url) -val String.shouldUseBasicAgent: Boolean +val String.shouldUseDesktopAgent: Boolean get() = when { - contains("story.php") -> false // do not use basic for comment section + contains("story.php") -> false // do not use desktop for comment section contains("/events/") -> false // do not use for events (namely the map) contains("/messages") -> true // must use for messages else -> false // default to normal user agent diff --git a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt index e162f9da..003ed7f9 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt @@ -27,7 +27,6 @@ import com.pitchedapps.frost.facebook.FB_URL_BASE import com.pitchedapps.frost.facebook.FbCookie import com.pitchedapps.frost.facebook.FbItem import com.pitchedapps.frost.facebook.formattedFbUrl -import com.pitchedapps.frost.injectors.CssAssets import com.pitchedapps.frost.injectors.CssHider import com.pitchedapps.frost.injectors.JsActions import com.pitchedapps.frost.injectors.JsAssets @@ -91,7 +90,6 @@ open class FrostWebViewClient(val web: FrostWebView) : BaseWebViewClient() { injectBackgroundColor() if (url.isFacebookUrl) view.jsInject( - CssAssets.ROUND_ICONS.maybe(Prefs.showRoundedIcons), // CssHider.CORE, CssHider.HEADER, CssHider.COMPOSER.maybe(!Prefs.showComposer), @@ -107,7 +105,6 @@ open class FrostWebViewClient(val web: FrostWebView) : BaseWebViewClient() { JsAssets.CLICK_A, CssHider.ADS.maybe(!Prefs.showFacebookAds), JsAssets.CONTEXT_A, -// JsAssets.HEADER_HIDER, JsAssets.MEDIA ) else 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 4b891800..79c6d5ba 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt @@ -35,7 +35,6 @@ import com.pitchedapps.frost.facebook.FB_USER_MATCHER import com.pitchedapps.frost.facebook.FbCookie import com.pitchedapps.frost.facebook.get import com.pitchedapps.frost.injectors.CssHider -import com.pitchedapps.frost.injectors.JsAssets import com.pitchedapps.frost.injectors.jsInject import com.pitchedapps.frost.utils.L import com.pitchedapps.frost.utils.Prefs @@ -98,7 +97,6 @@ class LoginWebView @JvmOverloads constructor( view.setBackgroundColor(Color.TRANSPARENT) if (url.isFacebookUrl) view.jsInject( - JsAssets.HEADER_HIDER, CssHider.CORE, Prefs.themeInjector ) |