From 3dc2c6ceea643f23764b8e0263ba9ffc4f206c28 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 8 Jul 2021 09:21:41 +0200 Subject: [PATCH] Hierarchical URIs can have parameters only --- .../eu/faircode/email/FragmentDialogOpenLink.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java b/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java index ea562f1874..165aa6b873 100644 --- a/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java +++ b/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java @@ -576,14 +576,15 @@ public class FragmentDialogOpenLink extends FragmentDialogBase { index, index + host.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); } - for (String name : uri.getQueryParameterNames()) { - Pattern pattern = Pattern.compile("[?&]" + Pattern.quote(name) + "="); - Matcher matcher = pattern.matcher(text); - while (matcher.find()) { - ssb.setSpan(new ForegroundColorSpan(textColorLink), - matcher.start() + 1, matcher.end() - 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + if (uri.isHierarchical()) + for (String name : uri.getQueryParameterNames()) { + Pattern pattern = Pattern.compile("[?&]" + Pattern.quote(name) + "="); + Matcher matcher = pattern.matcher(text); + while (matcher.find()) { + ssb.setSpan(new ForegroundColorSpan(textColorLink), + matcher.start() + 1, matcher.end() - 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + } } - } } catch (Throwable ex) { Log.e(ex); }