X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/ae41d0c5026fe868c6198e1005344fc78b6e0a2c..2617757edbcc391f020d7ea5d8005372a9f5ffb9:/src/main/java/org/asamk/signal/json/JsonDataMessage.java diff --git a/src/main/java/org/asamk/signal/json/JsonDataMessage.java b/src/main/java/org/asamk/signal/json/JsonDataMessage.java index fc8538aa..653a59e6 100644 --- a/src/main/java/org/asamk/signal/json/JsonDataMessage.java +++ b/src/main/java/org/asamk/signal/json/JsonDataMessage.java @@ -4,6 +4,7 @@ import org.asamk.Signal; import org.whispersystems.signalservice.api.messages.SignalServiceAttachment; import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage; import org.whispersystems.signalservice.api.messages.SignalServiceGroup; +import org.whispersystems.signalservice.api.messages.SignalServiceGroupV2; import java.util.ArrayList; import java.util.List; @@ -19,9 +20,14 @@ class JsonDataMessage { JsonDataMessage(SignalServiceDataMessage dataMessage) { this.timestamp = dataMessage.getTimestamp(); - if (dataMessage.getGroupContext().isPresent() && dataMessage.getGroupContext().get().getGroupV1().isPresent()) { - SignalServiceGroup groupInfo = dataMessage.getGroupContext().get().getGroupV1().get(); - this.groupInfo = new JsonGroupInfo(groupInfo); + if (dataMessage.getGroupContext().isPresent()) { + if (dataMessage.getGroupContext().get().getGroupV1().isPresent()) { + SignalServiceGroup groupInfo = dataMessage.getGroupContext().get().getGroupV1().get(); + this.groupInfo = new JsonGroupInfo(groupInfo); + } else if (dataMessage.getGroupContext().get().getGroupV2().isPresent()) { + SignalServiceGroupV2 groupInfo = dataMessage.getGroupContext().get().getGroupV2().get(); + this.groupInfo = new JsonGroupInfo(groupInfo); + } } if (dataMessage.getBody().isPresent()) { this.message = dataMessage.getBody().get(); @@ -41,19 +47,13 @@ class JsonDataMessage { timestamp = messageReceived.getTimestamp(); message = messageReceived.getMessage(); groupInfo = new JsonGroupInfo(messageReceived.getGroupId()); - attachments = messageReceived.getAttachments() - .stream() - .map(JsonAttachment::new) - .collect(Collectors.toList()); + attachments = messageReceived.getAttachments().stream().map(JsonAttachment::new).collect(Collectors.toList()); } public JsonDataMessage(Signal.SyncMessageReceived messageReceived) { timestamp = messageReceived.getTimestamp(); message = messageReceived.getMessage(); groupInfo = new JsonGroupInfo(messageReceived.getGroupId()); - attachments = messageReceived.getAttachments() - .stream() - .map(JsonAttachment::new) - .collect(Collectors.toList()); + attachments = messageReceived.getAttachments().stream().map(JsonAttachment::new).collect(Collectors.toList()); } }