aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-08-19 20:31:53 -0700
committerAllan Wang <me@allanwang.ca>2017-08-19 20:31:53 -0700
commitbf2168ee57ded706819d1e4f49d729d4f45e1d29 (patch)
treee4bd606ab8fc90fa7f797709227b901fb0e946b4 /app/src/main/kotlin/com/pitchedapps/frost
parent86630a1a6bfedfb9c9834c5e1d13c45bd37e18e7 (diff)
downloadfrost-bf2168ee57ded706819d1e4f49d729d4f45e1d29.tar.gz
frost-bf2168ee57ded706819d1e4f49d729d4f45e1d29.tar.bz2
frost-bf2168ee57ded706819d1e4f49d729d4f45e1d29.zip
Fix link issue and add option to use default browser
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/settings/Behaviour.kt4
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt1
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt7
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt6
4 files changed, 12 insertions, 6 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/settings/Behaviour.kt b/app/src/main/kotlin/com/pitchedapps/frost/settings/Behaviour.kt
index bf524835..acdd835e 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/settings/Behaviour.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/settings/Behaviour.kt
@@ -23,6 +23,10 @@ fun SettingsActivity.getBehaviourPrefs(): KPrefAdapterBuilder.() -> Unit = {
descRes = R.string.overlay_full_screen_swipe_desc
}
+ checkbox(R.string.open_links_in_default, { Prefs.linksInDefaultApp }, { Prefs.linksInDefaultApp = it }) {
+ descRes = R.string.open_links_in_default_desc
+ }
+
checkbox(R.string.viewpager_swipe, { Prefs.viewpagerSwipe }, { Prefs.viewpagerSwipe = it }) {
descRes = R.string.viewpager_swipe_desc
}
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
index 34257da8..126bd500 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
@@ -131,4 +131,5 @@ object Prefs : KPref() {
var debugSettings: Boolean by kpref("debug_settings", false)
+ var linksInDefaultApp: Boolean by kpref("link_in_default_app", false)
}
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
index 469a3951..92d4c109 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
@@ -65,9 +65,10 @@ fun Context.launchWebOverlay(url: String) {
val argUrl = url.formattedFbUrl
L.v("Launch received", url)
L.i("Launch web overlay", argUrl)
- startActivity(WebOverlayActivity::class.java, false, intentBuilder = {
- putExtra(ARG_URL, argUrl)
- })
+ if (!(Prefs.linksInDefaultApp && resolveActivityForUri(Uri.parse(argUrl))))
+ startActivity(WebOverlayActivity::class.java, false, intentBuilder = {
+ putExtra(ARG_URL, argUrl)
+ })
}
fun Context.launchImageActivity(imageUrl: String, text: String?) {
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 b1466ee8..22b628e9 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/web/FrostWebViewClients.kt
@@ -48,7 +48,7 @@ open class FrostWebViewClient(val webCore: FrostWebViewCore) : BaseWebViewClient
override fun onPageStarted(view: WebView, url: String?, favicon: Bitmap?) {
super.onPageStarted(view, url, favicon)
if (url == null) return
- L.i("FWV Loading", url)
+ L.d("FWV Loading", url)
refreshObservable.onNext(true)
if (!url.isFacebookUrl) return
if (url.contains("logout.php")) FbCookie.logout(Prefs.userId, { launchLogin(view.context) })
@@ -81,7 +81,7 @@ open class FrostWebViewClient(val webCore: FrostWebViewCore) : BaseWebViewClient
override fun onPageFinished(view: WebView, url: String?) {
url ?: return
- L.i("Page finished", url)
+ L.d("Page finished", url)
if (!url.isFacebookUrl) {
refreshObservable.onNext(false)
return
@@ -141,7 +141,7 @@ open class FrostWebViewClient(val webCore: FrostWebViewCore) : BaseWebViewClient
if (path.startsWith("/composer/")) return launchRequest(request)
if (request.url.toString().contains("scontent-sea1-1.xx.fbcdn.net") && (path.endsWith(".jpg") || path.endsWith(".png")))
return launchImage(request.url.toString())
- if (view.context.resolveActivityForUri(request.url)) return true
+ if (Prefs.linksInDefaultApp && view.context.resolveActivityForUri(request.url)) return true
return super.shouldOverrideUrlLoading(view, request)
}