X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/548c313b4ca373559c14f3746d31c0b6cb9a721b..58db3cbd53f3faec94ddfcd5e029865a380e6242:/src/main/java/org/asamk/signal/json/JsonQuote.java diff --git a/src/main/java/org/asamk/signal/json/JsonQuote.java b/src/main/java/org/asamk/signal/json/JsonQuote.java new file mode 100644 index 00000000..9a740582 --- /dev/null +++ b/src/main/java/org/asamk/signal/json/JsonQuote.java @@ -0,0 +1,42 @@ +package org.asamk.signal.json; + +import org.asamk.signal.manager.Manager; +import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage; + +import java.util.ArrayList; +import java.util.List; + +public class JsonQuote { + + long id; + String author; + String text; + + List mentions; + List attachments; + + JsonQuote(SignalServiceDataMessage.Quote quote, Manager m) { + this.id = quote.getId(); + this.author = m.resolveSignalServiceAddress(quote.getAuthor()).getLegacyIdentifier(); + this.text = quote.getText(); + + if (quote.getMentions().size() > 0) { + this.mentions = new ArrayList<>(quote.getMentions().size()); + + for (SignalServiceDataMessage.Mention quotedMention: quote.getMentions()){ + this.mentions.add(new JsonMention(quotedMention, m)); + } + } + + if (quote.getAttachments().size() > 0) { + this.attachments = new ArrayList<>(quote.getAttachments().size()); + + for (SignalServiceDataMessage.Quote.QuotedAttachment quotedAttachment : quote.getAttachments()) { + this.attachments.add(new JsonQuotedAttachment(quotedAttachment)); + } + } else { + this.attachments = new ArrayList<>(); + } + } + +}