diff options
Diffstat (limited to 'app/src/main/java/app/fedilab/android/client/Entities/Status.java')
-rw-r--r-- | app/src/main/java/app/fedilab/android/client/Entities/Status.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/app/src/main/java/app/fedilab/android/client/Entities/Status.java b/app/src/main/java/app/fedilab/android/client/Entities/Status.java index dbaf113d1..edd0862c5 100644 --- a/app/src/main/java/app/fedilab/android/client/Entities/Status.java +++ b/app/src/main/java/app/fedilab/android/client/Entities/Status.java @@ -310,6 +310,44 @@ public class Status implements Parcelable { } } + matcher = Helper.bibliogramPattern.matcher(content); + boolean bibliogram = sharedpreferences.getBoolean(Helper.SET_BIBLIOGRAM, false); + if (bibliogram) { + while (matcher.find()) { + final String bibliogram_directory = matcher.group(2); + String bibliogramHost = sharedpreferences.getString(Helper.SET_BIBLIOGRAM_HOST, Helper.DEFAULT_BIBLIOGRAM_HOST).toLowerCase(); + content = content.replaceAll("https://" + Pattern.quote(matcher.group()), Matcher.quoteReplacement("https://" + bibliogramHost + bibliogram_directory)); + content = content.replaceAll(">" + Pattern.quote(matcher.group()), Matcher.quoteReplacement(">" + bibliogramHost + bibliogram_directory)); + } + } + + matcher = Helper.ouichesPattern.matcher(content); + + while (matcher.find()) { + Attachment attachment = new Attachment(); + attachment.setType("audio"); + String tag = matcher.group(1); + attachment.setId(tag); + if (tag == null) { + continue; + } + attachment.setRemote_url("http://ouich.es/mp3/" + tag + ".mp3"); + attachment.setUrl("http://ouich.es/mp3/" + tag + ".mp3"); + if (status.getMedia_attachments() == null) { + status.setMedia_attachments(new ArrayList<>()); + } + boolean alreadyAdded = false; + for (Attachment at : status.getMedia_attachments()) { + if (tag.compareTo(at.getId()) == 0) { + alreadyAdded = true; + break; + } + } + if (!alreadyAdded) { + status.getMedia_attachments().add(attachment); + } + } + Pattern aLink = Pattern.compile("<a((?!href).)*href=\"([^\"]*)\"[^>]*(((?!</a).)*)</a>"); Matcher matcherALink = aLink.matcher(content); int count = 0; |