aboutsummaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorAlex Ning <chineseperson5@gmail.com>2021-07-21 14:58:12 +0000
committerAlex Ning <chineseperson5@gmail.com>2021-07-21 14:58:12 +0000
commit7803b376b2b6415380cb0317b15456d043d72078 (patch)
treeb27c2978debf06444697af3a27189295f7353094 /app/src/main
parent63e27eb23a87835768f725f4ab7e0dffd56575c2 (diff)
downloadinfinity-for-reddit-7803b376b2b6415380cb0317b15456d043d72078.tar
infinity-for-reddit-7803b376b2b6415380cb0317b15456d043d72078.tar.gz
infinity-for-reddit-7803b376b2b6415380cb0317b15456d043d72078.tar.bz2
infinity-for-reddit-7803b376b2b6415380cb0317b15456d043d72078.tar.lz
infinity-for-reddit-7803b376b2b6415380cb0317b15456d043d72078.tar.xz
infinity-for-reddit-7803b376b2b6415380cb0317b15456d043d72078.tar.zst
infinity-for-reddit-7803b376b2b6415380cb0317b15456d043d72078.zip
Fix app crashes when downloading images from a specific domain.
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/LinkResolverActivity.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/LinkResolverActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/LinkResolverActivity.java
index e4b9387c..e0154df2 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/LinkResolverActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/LinkResolverActivity.java
@@ -119,8 +119,16 @@ public class LinkResolverActivity extends AppCompatActivity {
if (authority != null) {
if (authority.equals("reddit-uploaded-media.s3-accelerate.amazonaws.com")) {
+ String unescapedUrl = uri.toString().replace("%2F", "/");
+ int lastSlashIndex = unescapedUrl.lastIndexOf("/");
+ if (lastSlashIndex < 0 || lastSlashIndex == unescapedUrl.length() - 1) {
+ deepLinkError(uri);
+ return;
+ }
+ String id = unescapedUrl.substring(lastSlashIndex + 1);
Intent intent = new Intent(this, ViewImageOrGifActivity.class);
intent.putExtra(ViewImageOrGifActivity.EXTRA_IMAGE_URL_KEY, uri.toString());
+ intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, id + ".jpg");
startActivity(intent);
} else if (authority.equals("v.redd.it")) {
Intent intent = new Intent(this, ViewVideoActivity.class);