From 8b6ba52e47995a2f0b567f47e80762449657f999 Mon Sep 17 00:00:00 2001
From: Pavan Koushik Nellore <pavankoushik.nellore@savoirfairelinux.com>
Date: Thu, 5 Sep 2024 09:42:48 -0400
Subject: [PATCH] LinkPreview: add email address check

Fix incorrect URL matches from emails. Matcher returns
only the domain (e.g. gmail.com), so the existing  email
check didn't work as expected.

GitLab: #1383
Change-Id: Ifa13910fbb08863c4396033f66ddf5d22d4d883e
---
 .../app/src/main/java/cx/ring/linkpreview/LinkPreview.kt     | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/jami-android/app/src/main/java/cx/ring/linkpreview/LinkPreview.kt b/jami-android/app/src/main/java/cx/ring/linkpreview/LinkPreview.kt
index ba57520b8..c1e436569 100644
--- a/jami-android/app/src/main/java/cx/ring/linkpreview/LinkPreview.kt
+++ b/jami-android/app/src/main/java/cx/ring/linkpreview/LinkPreview.kt
@@ -14,9 +14,10 @@ object LinkPreview {
         val matcher = PatternsCompat.AUTOLINK_WEB_URL.matcher(input)
         while (matcher.find()) {
             val word = matcher.group()
+            val start = matcher.start()
             if (!word.startsWith("http://", ignoreCase = true) && !word.startsWith("https://", ignoreCase = true)) {
-                if (PatternsCompat.EMAIL_ADDRESS.matcher(word).matches()) {
-                    continue
+                if (start > 0 && input[start - 1] == '@') {
+                    continue // Skip email addresses
                 }
                 result.add("https://$word")
             } else {
-- 
GitLab