diff options
author | GDR! <gdr@gdr.name> | 2016-05-26 23:26:38 +0200 |
---|---|---|
committer | GDR! <gdr@gdr.name> | 2016-05-26 23:26:38 +0200 |
commit | 82c3cbaf2a794bbfabe305be08bca217469fbaaa (patch) | |
tree | dff38409fba73b58e1a16252957857d9e042f7b1 /src/main/java | |
parent | 841e718d6aaf335d5750170da181a6443c7c8048 (diff) |
Add geo: link support in longer messages
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java | 5 | ||||
-rw-r--r-- | src/main/java/eu/siacs/conversations/utils/GeoHelper.java | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java index 10179d7e..c08b41f0 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java @@ -356,10 +356,15 @@ public class MessageAdapter extends ArrayAdapter<Message> { while (matcher.find()) { urlCount++; } + Matcher geoMatcher = GeoHelper.GEO_URI.matcher(body); + while (matcher.find()) { + urlCount++; + } viewHolder.messageBody.setTextIsSelectable(urlCount <= 1); viewHolder.messageBody.setAutoLinkMask(0); Linkify.addLinks(viewHolder.messageBody, Linkify.WEB_URLS); Linkify.addLinks(viewHolder.messageBody, XMPP_PATTERN, "xmpp"); + Linkify.addLinks(viewHolder.messageBody, GeoHelper.GEO_URI, "geo"); } else { viewHolder.messageBody.setText(""); viewHolder.messageBody.setTextIsSelectable(false); diff --git a/src/main/java/eu/siacs/conversations/utils/GeoHelper.java b/src/main/java/eu/siacs/conversations/utils/GeoHelper.java index 9a93df38..e2e9a212 100644 --- a/src/main/java/eu/siacs/conversations/utils/GeoHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/GeoHelper.java @@ -14,7 +14,7 @@ import eu.siacs.conversations.entities.Conversation; import eu.siacs.conversations.entities.Message; public class GeoHelper { - private static Pattern GEO_URI = Pattern.compile("geo:([\\-0-9.]+),([\\-0-9.]+)(?:,([\\-0-9.]+))?(?:\\?(.*))?", Pattern.CASE_INSENSITIVE); + public static Pattern GEO_URI = Pattern.compile("geo:([\\-0-9.]+),([\\-0-9.]+)(?:,([\\-0-9.]+))?(?:\\?(.*))?", Pattern.CASE_INSENSITIVE); public static boolean isGeoUri(String body) { return body != null && GEO_URI.matcher(body).matches(); |