@@ -62,6 +62,7 @@ public class MyLinkify {
case "http", "https" -> Patterns.URI_HTTP.matcher(match).matches();
case "geo" -> Patterns.URI_GEO.matcher(match).matches();
case "xmpp" -> new XmppUri(Uri.parse(match.toString())).isValidJid();
+ case "web+ap" -> Patterns.URI_WEB_AP.matcher(match).matches();
default -> true;
};
};
@@ -6,13 +6,15 @@ public class Patterns {
public static final Pattern URI_GENERIC =
Pattern.compile(
- "(?<=^|\\s)(tel|xmpp|http|https|geo|mailto):[a-zA-Z0-9\\-._~:/?#\\[\\]@!$&'()*+,;=%]+");
+ "(?<=^|\\s)(tel|xmpp|http|https|geo|mailto|web\\+ap):[a-zA-Z0-9\\-._~:/?#\\[\\]@!$&'()*+,;=%]+");
public static final Pattern URI_TEL =
Pattern.compile("^tel:\\+?(\\d{1,4}[-./()\\s]?)*\\d{1,4}(;.*)?$");
public static final Pattern URI_HTTP = Pattern.compile("https?://\\S+");
+ public static final Pattern URI_WEB_AP = Pattern.compile("web\\+ap://\\S+");
+
public static Pattern URI_GEO =
Pattern.compile(
"geo:(-?\\d+(?:\\.\\d+)?),(-?\\d+(?:\\.\\d+)?)(?:,-?\\d+(?:\\.\\d+)?)?(?:;crs=[\\w-]+)?(?:;u=\\d+(?:\\.\\d+)?)?(?:;[\\w-]+=(?:[\\w-_.!~*'()]|%[\\da-f][\\da-f])+)*(\\?z=\\d+)?",