From adfd354f39886f5bcb160085e342104e5538713b Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Mon, 16 Jan 2017 20:44:26 +0100 Subject: fixed linkifier --- src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java b/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java index 6aebe9237..765efd8c4 100644 --- a/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java +++ b/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java @@ -102,6 +102,12 @@ public class MessageAdapter extends ArrayAdapter implements CopyTextVie } } }; + private static final Linkify.MatchFilter WEBURL_MATCH_FILTER = new Linkify.MatchFilter() { + @Override + public boolean acceptMatch(CharSequence charSequence, int start, int end) { + return start < 1 || charSequence.charAt(start - 1) != '@'; + } + }; private ConversationActivity activity; @@ -479,8 +485,8 @@ public class MessageAdapter extends ArrayAdapter implements CopyTextVie body.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), privateMarkerIndex + 1, privateMarkerIndex + 1 + nick.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); } } - Linkify.addLinks(body, Patterns.AUTOLINK_WEB_URL, "http", null, WEBURL_TRANSFORM_FILTER); Linkify.addLinks(body, XMPP_PATTERN, "xmpp"); + Linkify.addLinks(body, Patterns.AUTOLINK_WEB_URL, "http", WEBURL_MATCH_FILTER, WEBURL_TRANSFORM_FILTER); Linkify.addLinks(body, GeoHelper.GEO_URI, "geo"); viewHolder.messageBody.setAutoLinkMask(0); viewHolder.messageBody.setText(body); -- cgit v1.2.3