]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonQuote.java
Quotes, Mentions and Reactions in non-daemon JSON mode (#389)
[signal-cli] / src / main / java / org / asamk / signal / json / JsonQuote.java
1 package org.asamk.signal.json;
2
3 import org.asamk.signal.manager.Manager;
4 import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
5
6 import java.util.ArrayList;
7 import java.util.List;
8
9 public class JsonQuote {
10
11 long id;
12 String author;
13 String text;
14
15 List<JsonMention> mentions;
16 List<JsonQuotedAttachment> attachments;
17
18 JsonQuote(SignalServiceDataMessage.Quote quote, Manager m) {
19 this.id = quote.getId();
20 this.author = m.resolveSignalServiceAddress(quote.getAuthor()).getLegacyIdentifier();
21 this.text = quote.getText();
22
23 if (quote.getMentions().size() > 0) {
24 this.mentions = new ArrayList<>(quote.getMentions().size());
25
26 for (SignalServiceDataMessage.Mention quotedMention: quote.getMentions()){
27 this.mentions.add(new JsonMention(quotedMention, m));
28 }
29 }
30
31 if (quote.getAttachments().size() > 0) {
32 this.attachments = new ArrayList<>(quote.getAttachments().size());
33
34 for (SignalServiceDataMessage.Quote.QuotedAttachment quotedAttachment : quote.getAttachments()) {
35 this.attachments.add(new JsonQuotedAttachment(quotedAttachment));
36 }
37 } else {
38 this.attachments = new ArrayList<>();
39 }
40 }
41
42 }