From 55098c50f11395249d726f26994ffde8166f51f5 Mon Sep 17 00:00:00 2001 From: Thomas Date: Thu, 27 Feb 2025 10:06:08 +0100 Subject: [PATCH] #1119 - Fix URLs not clickable when Markdown is enabled --- .../fedilab/android/mastodon/helper/SpannableHelper.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java b/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java index 4d39631d..42cdc06f 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java +++ b/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java @@ -179,10 +179,11 @@ public class SpannableHelper { markdownItem.position = position; // get all spans in this range URLSpan[] spans = initialContent.getSpans(i, next, URLSpan.class); + + if (spans != null && spans.length > 0) { markdownItem.urlSpan = spans[0]; } - if (!markdownItem.code.trim().isEmpty()) { markdownConverter.markdownItems.add(markdownItem); position++; @@ -210,9 +211,9 @@ public class SpannableHelper { for (MarkdownConverter.MarkdownItem markdownItem : markdownConverter.markdownItems) { - String sb = Pattern.compile("\\A[\\p{L}0-9_]").matcher(markdownItem.code).find() ? "\\b" : ""; - String eb = Pattern.compile("[\\p{L}0-9_]\\z").matcher(markdownItem.code).find() ? "\\b" : "\\B"; - Pattern p = Pattern.compile(sb + "(" + Pattern.quote(markdownItem.code) + ")" + eb, Pattern.UNICODE_CASE); + String sb = Pattern.compile("\\A[\\p{L}0-9_]").matcher(markdownItem.code.trim()).find() ? "\\b" : ""; + String eb = Pattern.compile("[\\p{L}0-9_]\\z").matcher(markdownItem.code.trim()).find() ? "\\b" : "\\B"; + Pattern p = Pattern.compile(sb + "(" + Pattern.quote(markdownItem.code.trim()) + ")" + eb); Matcher m = p.matcher(content); int fetchPosition = 1; while (m.find()) {