From ee4c25a465e2568ab3ed784e60cba8d2e3caa40b Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Tue, 27 Apr 2021 19:38:09 +0800 Subject: Fix multiple inline gifs parsing error. --- .../main/java/ml/docilealligator/infinityforreddit/utils/Utils.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/utils/Utils.java b/app/src/main/java/ml/docilealligator/infinityforreddit/utils/Utils.java index 4378bb9c..1044f49c 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/utils/Utils.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/utils/Utils.java @@ -10,7 +10,6 @@ import android.net.NetworkInfo; import android.os.Build; import android.text.Spannable; import android.util.DisplayMetrics; -import android.util.Log; import android.view.inputmethod.InputMethodManager; import android.widget.TextView; @@ -97,18 +96,19 @@ public class Utils { } public static String parseInlineGifInComments(String markdown) { - Log.i("asdfsdf", "s " + markdown); StringBuilder markdownStringBuilder = new StringBuilder(markdown); Pattern inlineGifPattern = Pattern.compile("!\\[gif]\\(giphy\\|\\w+\\)"); Matcher matcher = inlineGifPattern.matcher(markdownStringBuilder); while (matcher.find()) { markdownStringBuilder.replace(matcher.start(), matcher.end(), "[gif](https://media3.giphy.com/media/" + markdownStringBuilder.substring(matcher.start() + "![gif](giphy|".length(), matcher.end() - 1) + "/giphy.mp4)"); + matcher = inlineGifPattern.matcher(markdownStringBuilder); } Pattern inlineGifPattern2 = Pattern.compile("!\\[gif]\\(giphy\\|\\w+\\|downsized\\)"); Matcher matcher2 = inlineGifPattern2.matcher(markdownStringBuilder); while (matcher2.find()) { markdownStringBuilder.replace(matcher2.start(), matcher2.end(), "[gif](https://media3.giphy.com/media/" + markdownStringBuilder.substring(matcher2.start() + "![gif](giphy|".length(), matcher2.end() - "|downsized\\)".length()) + "/giphy.mp4)"); + matcher2 = inlineGifPattern2.matcher(markdownStringBuilder); } Pattern inlineGifPattern3 = Pattern.compile("!\\[gif]\\(emote\\|\\w+\\|\\w+\\)"); @@ -118,6 +118,7 @@ public class Utils { "[gif](https://reddit-meta-production.s3.amazonaws.com/public/fortnitebr/emotes/snoomoji_emotes/" + markdownStringBuilder.substring( matcher3.start() + "![gif](emote|".length(), matcher3.end() - 1).replace('|', '/') + ".gif)"); + matcher3 = inlineGifPattern3.matcher(markdownStringBuilder); } return markdownStringBuilder.toString(); -- cgit v1.2.3