diff options
author | Allan Wang <me@allanwang.ca> | 2019-08-04 23:29:45 -0700 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2019-08-04 23:29:45 -0700 |
commit | de7b70da175832f55461764a601988d6639619a6 (patch) | |
tree | 8f18f176f9701925f1814e87e1d17d1a6d308152 /app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt | |
parent | 2eacc8cb77b561eb1da11acb6ec8f620195fd24f (diff) | |
download | frost-de7b70da175832f55461764a601988d6639619a6.tar.gz frost-de7b70da175832f55461764a601988d6639619a6.tar.bz2 frost-de7b70da175832f55461764a601988d6639619a6.zip |
Format fb urls before intent
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt index 6208f401..16cbc9c8 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt @@ -16,6 +16,7 @@ */ package com.pitchedapps.frost.facebook +import android.net.Uri import com.pitchedapps.frost.utils.L import java.net.URLDecoder import java.nio.charset.StandardCharsets @@ -28,6 +29,12 @@ import java.nio.charset.StandardCharsets inline val String.formattedFbUrl: String get() = FbUrlFormatter(this).toString() +inline val Uri.formattedFbUri: Uri + get() { + val url = toString() + return if (url.startsWith("http")) Uri.parse(url.formattedFbUrl) else this + } + class FbUrlFormatter(url: String) { private val queries = mutableMapOf<String, String>() private val cleaned: String @@ -72,7 +79,10 @@ class FbUrlFormatter(url: String) { } discardableQueries.forEach { queries.remove(it) } if (cleanedUrl.startsWith("/")) cleanedUrl = FB_URL_BASE + cleanedUrl.substring(1) - cleanedUrl = cleanedUrl.replaceFirst(".facebook.com//", ".facebook.com/") //sometimes we are given a bad url + cleanedUrl = cleanedUrl.replaceFirst( + ".facebook.com//", + ".facebook.com/" + ) //sometimes we are given a bad url L.v { "Formatted url from $url to $cleanedUrl" } return cleanedUrl } |