X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/9075cc1a309fbc90276d2878d480d1e9e9c81887..HEAD:/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 05dc8f41..514f3db9 100644 --- a/src/main/java/org/asamk/signal/json/JsonQuote.java +++ b/src/main/java/org/asamk/signal/json/JsonQuote.java @@ -4,10 +4,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import org.asamk.signal.manager.api.MessageEnvelope; -import java.util.ArrayList; import java.util.List; import java.util.UUID; -import java.util.stream.Collectors; public record JsonQuote( long id, @@ -16,27 +14,32 @@ public record JsonQuote( String authorUuid, String text, @JsonInclude(JsonInclude.Include.NON_NULL) List mentions, - List attachments + List attachments, + @JsonInclude(JsonInclude.Include.NON_NULL) List textStyles ) { static JsonQuote from(MessageEnvelope.Data.Quote quote) { final var id = quote.id(); final var address = quote.author(); final var author = address.getLegacyIdentifier(); - final var authorNumber = address.getNumber().orElse(null); - final var authorUuid = address.getUuid().map(UUID::toString).orElse(null); + final var authorNumber = address.number().orElse(null); + final var authorUuid = address.uuid().map(UUID::toString).orElse(null); final var text = quote.text().orElse(null); - final var mentions = quote.mentions().size() > 0 ? quote.mentions() - .stream() - .map(JsonMention::from) - .collect(Collectors.toList()) : null; + final var mentions = !quote.mentions().isEmpty() + ? quote.mentions().stream().map(JsonMention::from).toList() + : null; - final var attachments = quote.attachments().size() > 0 ? quote.attachments() + final var attachments = !quote.attachments().isEmpty() ? quote.attachments() .stream() .map(JsonQuotedAttachment::from) - .collect(Collectors.toList()) : new ArrayList(); + .toList() : List.of(); + + final var textStyles = !quote.textStyles().isEmpty() ? quote.textStyles() + .stream() + .map(JsonTextStyle::from) + .toList() : null; - return new JsonQuote(id, author, authorNumber, authorUuid, text, mentions, attachments); + return new JsonQuote(id, author, authorNumber, authorUuid, text, mentions, attachments, textStyles); } }