aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2018-04-13 00:13:28 -0400
committerGitHub <noreply@github.com>2018-04-13 00:13:28 -0400
commitc5e769deabeb80d7257b85c5c3d802cf46e6b191 (patch)
treeb3ac48678e893495b932c6500025db73a83e3d2b /app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
parentd9e2562267e549ee407e683262406581f2c4888e (diff)
downloadfrost-c5e769deabeb80d7257b85c5c3d802cf46e6b191.tar.gz
frost-c5e769deabeb80d7257b85c5c3d802cf46e6b191.tar.bz2
frost-c5e769deabeb80d7257b85c5c3d802cf46e6b191.zip
Fix view full image (#882)v2.0.1
* Test including full photo viewer * Test cookie in glide * Fix parser and add redirects to view full image * Update changelog
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt20
1 files changed, 16 insertions, 4 deletions
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 b1b129fb..b4b78bf2 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt
@@ -44,6 +44,7 @@ const val ARG_URL = "arg_url"
const val ARG_USER_ID = "arg_user_id"
const val ARG_IMAGE_URL = "arg_image_url"
const val ARG_TEXT = "arg_text"
+const val ARG_COOKIE = "arg_cookie"
inline fun <reified T : Activity> Context.launchNewTask(cookieList: ArrayList<CookieModel> = arrayListOf(), clearStack: Boolean = false) {
startActivity<T>(clearStack, intentBuilder = {
@@ -83,11 +84,12 @@ fun Context.launchWebOverlayBasic(url: String) = launchWebOverlayImpl<WebOverlay
private fun Context.fadeBundle() = ActivityOptions.makeCustomAnimation(this,
android.R.anim.fade_in, android.R.anim.fade_out).toBundle()
-fun Context.launchImageActivity(imageUrl: String, text: String?) {
+fun Context.launchImageActivity(imageUrl: String, text: String? = null, cookie: String? = null) {
startActivity<ImageActivity>(intentBuilder = {
putExtras(fadeBundle())
putExtra(ARG_IMAGE_URL, imageUrl)
putExtra(ARG_TEXT, text)
+ putExtra(ARG_COOKIE, cookie)
})
}
@@ -241,10 +243,20 @@ inline val String.isVideoUrl
(startsWith("https://video-") && contains(FBCDN_NET))
/**
- * [true] if url is or redirects to an explicit facebook image
+ * [true] if url directly leads to a usable image
*/
-inline val String.isImageUrl
- get() = contains(FBCDN_NET) && (contains(".png") || contains(".jpg"))
+inline val String.isImageUrl: Boolean
+ get() {
+ return contains(FBCDN_NET) && (contains(".png") || contains(".jpg"))
+ }
+
+/**
+ * [true] if url can be retrieved to get a direct image url
+ */
+inline val String.isIndirectImageUrl: Boolean
+ get() {
+ return contains("/photo/view_full_size/") && contains("fbid=")
+ }
/**
* [true] if url can be displayed in a different webview