- adb.setMessage(TextUtils.join("\n\n", context.getResources()
- .getStringArray(content)));
+ String message = TextUtils.join("\n\n", context.getResources()
+ .getStringArray(content));
+
+ SpannableStringBuilder richTextMessage = new SpannableStringBuilder();
+ while (true) {
+ Matcher m = MARKDOWN_LINK_PATTERN.matcher(message);
+ if (m.find()) {
+ richTextMessage.append(message.substring(0, m.start()));
+ String linkText = m.group(1);
+ assert linkText != null;
+ String linkURL = m.group(2);
+ assert linkURL != null;
+
+ if (linkText.isEmpty())
+ linkText = linkURL;
+
+ int spanStart = richTextMessage.length();
+ richTextMessage.append(linkText);
+ richTextMessage.setSpan(new URLSpan(linkURL), spanStart,
+ spanStart + linkText.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ URLSpan linkSpan = new URLSpan(linkText);
+
+ message = message.substring(m.end());
+ }
+ else {
+ richTextMessage.append(message);
+ break;
+ }
+ }
+ adb.setMessage(richTextMessage);