]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonDataMessage.java
Update gradle
[signal-cli] / src / main / java / org / asamk / signal / json / JsonDataMessage.java
index 5511f53193bfeb1a23704452c76c6120288ec4b7..f24fdbba51c2e33b3bb2f040dcccd79f889213e5 100644 (file)
@@ -2,6 +2,7 @@ package org.asamk.signal.json;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 
+import org.asamk.signal.manager.Manager;
 import org.asamk.signal.manager.api.MessageEnvelope;
 
 import java.util.List;
@@ -20,14 +21,15 @@ record JsonDataMessage(
         @JsonInclude(JsonInclude.Include.NON_NULL) JsonSticker sticker,
         @JsonInclude(JsonInclude.Include.NON_NULL) JsonRemoteDelete remoteDelete,
         @JsonInclude(JsonInclude.Include.NON_NULL) List<JsonSharedContact> contacts,
+        @JsonInclude(JsonInclude.Include.NON_NULL) List<JsonTextStyle> textStyles,
         @JsonInclude(JsonInclude.Include.NON_NULL) JsonGroupInfo groupInfo,
         @JsonInclude(JsonInclude.Include.NON_NULL) JsonStoryContext storyContext
 ) {
 
-    static JsonDataMessage from(MessageEnvelope.Data dataMessage) {
+    static JsonDataMessage from(MessageEnvelope.Data dataMessage, Manager m) {
         final var timestamp = dataMessage.timestamp();
         final var groupInfo = dataMessage.groupContext().isPresent() ? JsonGroupInfo.from(dataMessage.groupContext()
-                .get()) : null;
+                .get(), m) : null;
         final var storyContext = dataMessage.storyContext().isPresent()
                 ? JsonStoryContext.from(dataMessage.storyContext().get())
                 : null;
@@ -37,27 +39,31 @@ record JsonDataMessage(
         final var reaction = dataMessage.reaction().map(JsonReaction::from).orElse(null);
         final var quote = dataMessage.quote().isPresent() ? JsonQuote.from(dataMessage.quote().get()) : null;
         final var payment = dataMessage.payment().isPresent() ? JsonPayment.from(dataMessage.payment().get()) : null;
-        final var mentions = dataMessage.mentions().size() > 0 ? dataMessage.mentions()
+        final var mentions = !dataMessage.mentions().isEmpty() ? dataMessage.mentions()
                 .stream()
                 .map(JsonMention::from)
                 .toList() : null;
-        final var previews = dataMessage.previews().size() > 0 ? dataMessage.previews()
+        final var previews = !dataMessage.previews().isEmpty() ? dataMessage.previews()
                 .stream()
                 .map(JsonPreview::from)
                 .toList() : null;
         final var remoteDelete = dataMessage.remoteDeleteId().isPresent()
                 ? new JsonRemoteDelete(dataMessage.remoteDeleteId().get())
                 : null;
-        final var attachments = dataMessage.attachments().size() > 0 ? dataMessage.attachments()
+        final var attachments = !dataMessage.attachments().isEmpty() ? dataMessage.attachments()
                 .stream()
                 .map(JsonAttachment::from)
                 .toList() : null;
         final var sticker = dataMessage.sticker().isPresent() ? JsonSticker.from(dataMessage.sticker().get()) : null;
-
-        final var contacts = dataMessage.sharedContacts().size() > 0 ? dataMessage.sharedContacts()
+        final var contacts = !dataMessage.sharedContacts().isEmpty() ? dataMessage.sharedContacts()
                 .stream()
                 .map(JsonSharedContact::from)
                 .toList() : null;
+        final var textStyles = !dataMessage.textStyles().isEmpty() ? dataMessage.textStyles()
+                .stream()
+                .map(JsonTextStyle::from)
+                .toList() : null;
+
         return new JsonDataMessage(timestamp,
                 message,
                 expiresInSeconds,
@@ -71,6 +77,7 @@ record JsonDataMessage(
                 sticker,
                 remoteDelete,
                 contacts,
+                textStyles,
                 groupInfo,
                 storyContext);
     }