From 51e031f0657e97af9a1d0ff348665131e78aa732 Mon Sep 17 00:00:00 2001
From: Thomas
Date: Sun, 6 Nov 2022 11:27:12 +0100
Subject: [PATCH] Fix quoted text
---
app/src/main/java/app/fedilab/android/helper/Helper.java | 2 +-
.../java/app/fedilab/android/helper/SpannableHelper.java | 6 ++----
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/app/src/main/java/app/fedilab/android/helper/Helper.java b/app/src/main/java/app/fedilab/android/helper/Helper.java
index 9e518125..cdb7338b 100644
--- a/app/src/main/java/app/fedilab/android/helper/Helper.java
+++ b/app/src/main/java/app/fedilab/android/helper/Helper.java
@@ -330,7 +330,7 @@ public class Helper {
public static final Pattern wikipediaPattern = Pattern.compile("([\\w_-]+)\\.wikipedia.org/(((?!([\"'<])).)*)");
public static final Pattern codePattern = Pattern.compile("code=([\\w-]+)");
public static final Pattern nitterIDPattern = Pattern.compile("/status/(\\d+)");
-
+ public static final Pattern emailPattern = Pattern.compile("(\\s+[\\w_.-]+@[a-zA-Z0-9][a-zA-Z0-9.-]{1,61}[a-zA-Z0-9](?:\\.[a-zA-Z]{2,})+)");
public static final Pattern urlPattern = Pattern.compile(
"(?i)\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,10}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»“”‘’]))",
diff --git a/app/src/main/java/app/fedilab/android/helper/SpannableHelper.java b/app/src/main/java/app/fedilab/android/helper/SpannableHelper.java
index 3fd9d005..fdac8a2a 100644
--- a/app/src/main/java/app/fedilab/android/helper/SpannableHelper.java
+++ b/app/src/main/java/app/fedilab/android/helper/SpannableHelper.java
@@ -38,7 +38,6 @@ import android.text.TextPaint;
import android.text.style.ClickableSpan;
import android.text.style.QuoteSpan;
import android.text.style.URLSpan;
-import android.util.Patterns;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Toast;
@@ -92,8 +91,7 @@ public class SpannableHelper {
if (text == null) {
return null;
}
- text = text.replaceAll("((<\\s?p\\s?>|<\\s?br\\s?/?>)>(.*))<\\s?br\\s?/?>", "$2$3
");
- text = text.replaceAll("((<\\s?br\\s?/?>)>(.*))<\\s?/p\\s?/?>", "$2$3
");
+ text = text.replaceAll("((<\\s?p\\s?>|<\\s?br\\s?\\/?>)>(((?!([<])).)*))", "$2$3
");
Pattern imgPattern = Pattern.compile("
]*src=\"([^\"]+)\"[^>]*>");
Matcher matcherImg = imgPattern.matcher(text);
HashMap imagesToReplace = new LinkedHashMap<>();
@@ -672,7 +670,7 @@ public class SpannableHelper {
private static void emails(Context context, Spannable content) {
// --- For all patterns defined in Helper class ---
- Pattern pattern = Patterns.EMAIL_ADDRESS;
+ Pattern pattern = Helper.emailPattern;
Matcher matcher = pattern.matcher(content);
while (matcher.find()) {