aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/web
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2019-04-21 20:22:11 -0400
committerAllan Wang <me@allanwang.ca>2019-04-21 20:22:11 -0400
commitbbafb7b65ce655c1fdda8badd3098d2a0e1f7f08 (patch)
tree354b0bb6f021af54d1e3586e3e9bda064ad4ef02 /app/src/main/kotlin/com/pitchedapps/frost/web
parente5eb928feacba8d1c634ad8e5d85259ae161cabd (diff)
parentf0f95295bdb2b853aa6262ec4bed2353ce326eee (diff)
downloadfrost-bbafb7b65ce655c1fdda8badd3098d2a0e1f7f08.tar.gz
frost-bbafb7b65ce655c1fdda8badd3098d2a0e1f7f08.tar.bz2
frost-bbafb7b65ce655c1fdda8badd3098d2a0e1f7f08.zip
Merge dev
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/web')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/DebugWebView.kt8
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/FrostUrlOverlayValidator.kt20
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt3
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/LoginWebView.kt2
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
)