]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonDataMessage.java
Get UUIDs for unknown numbers from server
[signal-cli] / src / main / java / org / asamk / signal / json / JsonDataMessage.java
index fc8538aaa2dc4fca754118ba906a4150cb7a0150..653a59e6e73c11e47f82c762128ea7282eea9694 100644 (file)
@@ -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());
     }
 }