X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/67f62947c6d4cc5f4b9d4334bfe55b753bc6a12c..b09677a46c4ecf07f305892b51a927e4d7341793:/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 index 10cd0bf4..f90b492d 100644 --- a/src/main/java/org/asamk/signal/json/JsonQuote.java +++ b/src/main/java/org/asamk/signal/json/JsonQuote.java @@ -1,5 +1,8 @@ package org.asamk.signal.json; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; + import org.asamk.signal.manager.Manager; import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage; @@ -7,18 +10,29 @@ import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; +import static org.asamk.signal.util.Util.getLegacyIdentifier; + public class JsonQuote { - long id; - String author; - String text; + @JsonProperty + final long id; + + @JsonProperty + final String author; - List mentions; - List attachments; + @JsonProperty + final String text; + + @JsonProperty + @JsonInclude(JsonInclude.Include.NON_NULL) + final List mentions; + + @JsonProperty + final List attachments; JsonQuote(SignalServiceDataMessage.Quote quote, Manager m) { this.id = quote.getId(); - this.author = m.resolveSignalServiceAddress(quote.getAuthor()).getLegacyIdentifier(); + this.author = getLegacyIdentifier(m.resolveSignalServiceAddress(quote.getAuthor())); this.text = quote.getText(); if (quote.getMentions() != null && quote.getMentions().size() > 0) { @@ -26,6 +40,8 @@ public class JsonQuote { .stream() .map(quotedMention -> new JsonMention(quotedMention, m)) .collect(Collectors.toList()); + } else { + this.mentions = null; } if (quote.getAttachments().size() > 0) {