From 8a3c720a8838990c04dca1a8a7a4c9d5b34e10cc Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 29 Dec 2019 13:13:52 +0100 Subject: [PATCH] Allow insert plain link --- app/src/main/java/eu/faircode/email/StyleHelper.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/StyleHelper.java b/app/src/main/java/eu/faircode/email/StyleHelper.java index 5819ec3bc1..955cabbda6 100644 --- a/app/src/main/java/eu/faircode/email/StyleHelper.java +++ b/app/src/main/java/eu/faircode/email/StyleHelper.java @@ -108,6 +108,8 @@ public class StyleHelper { } case R.id.menu_link: { + String url = (String) args[0]; + List spans = new ArrayList<>(); for (Object span : ss.getSpans(start, end, Object.class)) { if (!(span instanceof URLSpan)) @@ -115,7 +117,13 @@ public class StyleHelper { ss.removeSpan(span); } - ss.setSpan(new URLSpan((String) args[0]), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + if (start == end) { + etBody.getText().insert(start, url); + end += url.length(); + ss = new SpannableString(etBody.getText()); + } + + ss.setSpan(new URLSpan(url), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); for (Object span : spans) ss.setSpan(span, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);