diff options
author | Allan Wang <me@allanwang.ca> | 2018-04-13 00:13:28 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-13 00:13:28 -0400 |
commit | c5e769deabeb80d7257b85c5c3d802cf46e6b191 (patch) | |
tree | b3ac48678e893495b932c6500025db73a83e3d2b /app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt | |
parent | d9e2562267e549ee407e683262406581f2c4888e (diff) | |
download | frost-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/activities/ImageActivity.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt index e9426beb..399e86b0 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt @@ -24,9 +24,11 @@ import com.pitchedapps.frost.R import com.pitchedapps.frost.facebook.FB_IMAGE_ID_MATCHER import com.pitchedapps.frost.facebook.get import com.pitchedapps.frost.facebook.requests.call +import com.pitchedapps.frost.facebook.requests.getFullSizedImageUrl +import com.pitchedapps.frost.facebook.requests.requestBuilder import com.pitchedapps.frost.utils.* import com.sothree.slidinguppanel.SlidingUpPanelLayout -import okhttp3.Request +import okhttp3.Response import org.jetbrains.anko.activityUiThreadWithContext import org.jetbrains.anko.doAsync import org.jetbrains.anko.uiThread @@ -86,8 +88,18 @@ class ImageActivity : KauBaseActivity() { private val L = KauLoggerExtension("Image", com.pitchedapps.frost.utils.L) } + private val cookie: String? by lazy { intent.getStringExtra(ARG_COOKIE) } + val imageUrl: String by lazy { intent.getStringExtra(ARG_IMAGE_URL).trim('"') } + private val trueImageUrl: String by lazy { + val result = if (!imageUrl.isIndirectImageUrl) imageUrl + else cookie?.getFullSizedImageUrl(imageUrl)?.blockingGet() ?: imageUrl + if (result != imageUrl) + L.v { "Launching with true url $result" } + result + } + private val imageText: String? by lazy { intent.getStringExtra(ARG_TEXT) } // a unique image identifier based on the id (if it exists), and its hash @@ -205,12 +217,13 @@ class ImageActivity : KauBaseActivity() { return File.createTempFile(imageFileName, IMG_EXTENSION, frostDir) } - private fun getImageResponse() = Request.Builder() - .url(imageUrl) + private fun getImageResponse(): Response = cookie.requestBuilder() + .url(trueImageUrl) .get() .call() .execute() + @Throws(IOException::class) private fun downloadImageTo(file: File) { val body = getImageResponse().body() @@ -263,7 +276,7 @@ class ImageActivity : KauBaseActivity() { override fun onDestroy() { tempFile = null val purge = System.currentTimeMillis() - PURGE_TIME - tempDir.listFiles(FileFilter { it.isFile && it.lastModified() < purge }).forEach { + tempDir.listFiles(FileFilter { it.isFile && it.lastModified() < purge })?.forEach { it.delete() } super.onDestroy() |