From 0e51d1fd4121a884ad09793945e4e0b60e3ffa18 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sat, 16 Jun 2018 23:36:34 +0200 Subject: fix geo uri regex - only match valid float numbers - match uri with parameter --- src/main/java/de/pixart/messenger/utils/GeoHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/de/pixart') diff --git a/src/main/java/de/pixart/messenger/utils/GeoHelper.java b/src/main/java/de/pixart/messenger/utils/GeoHelper.java index d2963f206..209fd75db 100644 --- a/src/main/java/de/pixart/messenger/utils/GeoHelper.java +++ b/src/main/java/de/pixart/messenger/utils/GeoHelper.java @@ -19,7 +19,7 @@ import de.pixart.messenger.ui.ShowLocationActivity; public class GeoHelper { - public static Pattern GEO_URI = Pattern.compile("geo:([\\-0-9.]+),([\\-0-9.]+)(?:,([\\-0-9.]+))?(?:\\?(.*))?", Pattern.CASE_INSENSITIVE); + public static Pattern GEO_URI = Pattern.compile("geo:(-?\\d+(?:\\.\\d+)?),(-?\\d+(?:\\.\\d+)?)(?:,-?\\d+(?:\\.\\d+)?)?(?:;crs=[\\w-]+)?(?:;u=\\d+(?:\\.\\d+)?)?(?:;[\\w-]+=(?:[\\w-_.!~*'()]|%[\\da-f][\\da-f])+)*", Pattern.CASE_INSENSITIVE); public static String MapPreviewUri(Message message) { Matcher matcher = GEO_URI.matcher(message.getBody()); -- cgit v1.2.3