mirror of
https://github.com/AllanWang/Frost-for-Facebook.git
synced 2024-11-10 04:52:38 +01:00
Fix link issue and add option to use default browser
This commit is contained in:
parent
86630a1a6b
commit
bf2168ee57
@ -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
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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?) {
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
@ -7,6 +7,8 @@
|
||||
<string name="overlay_swipe_desc">Pressing most links will launch in a new overlay so you can easily swipe back to the original page. Note that this does result in slightly longer loads given that the whole page is reloaded.</string>
|
||||
<string name="overlay_full_screen_swipe">Overlay Full Screen Swipe to Dismiss</string>
|
||||
<string name="overlay_full_screen_swipe_desc">Swipe right from anywhere on the overlaying web to close the browser. If disabled, only swiping from the left edge will move it.</string>
|
||||
<string name="open_links_in_default">Open Links in Default App</string>
|
||||
<string name="open_links_in_default_desc">When possible, open links in the default app rather than through the Frost web overlay</string>
|
||||
<string name="viewpager_swipe">Viewpager Swipe</string>
|
||||
<string name="viewpager_swipe_desc">Allow swiping between the pages in the main view to switch tabs. By default, the swiping automatically stops when you long press on an item, such as the like button. Disabling this will prevent page swiping altogether.</string>
|
||||
<string name="search_bar">Search Bar</string>
|
||||
|
Loading…
Reference in New Issue
Block a user