diff options
author | Allan Wang <me@allanwang.ca> | 2017-08-19 20:31:53 -0700 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2017-08-19 20:31:53 -0700 |
commit | bf2168ee57ded706819d1e4f49d729d4f45e1d29 (patch) | |
tree | e4bd606ab8fc90fa7f797709227b901fb0e946b4 /app/src/main/kotlin/com/pitchedapps | |
parent | 86630a1a6bfedfb9c9834c5e1d13c45bd37e18e7 (diff) | |
download | frost-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')
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) } |