diff options
author | Docile-Alligator <chineseperson5@gmail.com> | 2021-02-02 10:58:55 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-02 10:58:55 +0000 |
commit | 0d513b76f8304bb9487b468caf878dee358c7849 (patch) | |
tree | f37fdff6a5536b6e0d7b51405ac592857962b518 | |
parent | c0cb024eb99be74c36ea422df5731b09a0d5d570 (diff) | |
parent | 2bc7e40f78e7f23cdb662f03c38f39438dcc468c (diff) | |
download | infinity-for-reddit-0d513b76f8304bb9487b468caf878dee358c7849.tar infinity-for-reddit-0d513b76f8304bb9487b468caf878dee358c7849.tar.gz infinity-for-reddit-0d513b76f8304bb9487b468caf878dee358c7849.tar.bz2 infinity-for-reddit-0d513b76f8304bb9487b468caf878dee358c7849.tar.lz infinity-for-reddit-0d513b76f8304bb9487b468caf878dee358c7849.tar.xz infinity-for-reddit-0d513b76f8304bb9487b468caf878dee358c7849.tar.zst infinity-for-reddit-0d513b76f8304bb9487b468caf878dee358c7849.zip |
Merge pull request #261 from vlakreeh/fix-gfycat-case-sensitive
Fix issue with gifs not playing with invalid gfycat id
-rw-r--r-- | app/src/main/java/ml/docilealligator/infinityforreddit/post/ParsePost.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/post/ParsePost.java b/app/src/main/java/ml/docilealligator/infinityforreddit/post/ParsePost.java index 809f0806..2ba685eb 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/post/ParsePost.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/post/ParsePost.java @@ -403,7 +403,7 @@ public class ParsePost { if (gfycatId.contains("-")) { gfycatId = gfycatId.substring(0, gfycatId.indexOf('-')); } - post.setGfycatId(gfycatId); + post.setGfycatId(gfycatId.toLowerCase()); } else if (authority != null && authority.contains("redgifs.com")) { String gfycatId = url.substring(url.lastIndexOf("/") + 1); if (gfycatId.contains("-")) { @@ -411,7 +411,7 @@ public class ParsePost { } post.setIsRedgifs(true); post.setVideoUrl(url); - post.setGfycatId(gfycatId); + post.setGfycatId(gfycatId.toLowerCase()); } } catch (IllegalArgumentException ignore) { } } else if (post.getPostType() == Post.LINK_TYPE || post.getPostType() == Post.NO_PREVIEW_LINK_TYPE) { @@ -449,16 +449,21 @@ public class ParsePost { } else if (post.getPostType() == Post.LINK_TYPE) { Uri uri = Uri.parse(url); String authority = uri.getAuthority(); + + // Gyfcat ids must be lowercase to resolve to a video through the api, we are not + // guaranteed to get an id that is all lowercase. + String gfycatId = url.substring(url.lastIndexOf("/") + 1).toLowerCase(); + if (authority != null && (authority.contains("gfycat.com"))) { post.setPostType(Post.VIDEO_TYPE); post.setIsGfycat(true); post.setVideoUrl(url); - post.setGfycatId(url.substring(url.lastIndexOf("/") + 1)); + post.setGfycatId(gfycatId); } else if (authority != null && authority.contains("redgifs.com")) { post.setPostType(Post.VIDEO_TYPE); post.setIsRedgifs(true); post.setVideoUrl(url); - post.setGfycatId(url.substring(url.lastIndexOf("/") + 1)); + post.setGfycatId(gfycatId); } } } |