]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonGroupInfo.java
Move group classes to separate package
[signal-cli] / src / main / java / org / asamk / signal / json / JsonGroupInfo.java
index 572623e415e011ff958888321ee094d53fa8576c..79967955352a1d547909e75e0aec71fae929e92b 100644 (file)
@@ -1,6 +1,8 @@
 package org.asamk.signal.json;
 
+import org.asamk.signal.manager.groups.GroupUtils;
 import org.whispersystems.signalservice.api.messages.SignalServiceGroup;
+import org.whispersystems.signalservice.api.messages.SignalServiceGroupV2;
 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
 import org.whispersystems.util.Base64;
 
@@ -19,7 +21,7 @@ class JsonGroupInfo {
         if (groupInfo.getMembers().isPresent()) {
             this.members = new ArrayList<>(groupInfo.getMembers().get().size());
             for (SignalServiceAddress address : groupInfo.getMembers().get()) {
-                this.members.add(address.getNumber().get());
+                this.members.add(address.getLegacyIdentifier());
             }
         }
         if (groupInfo.getName().isPresent()) {
@@ -28,6 +30,11 @@ class JsonGroupInfo {
         this.type = groupInfo.getType().toString();
     }
 
+    JsonGroupInfo(SignalServiceGroupV2 groupInfo) {
+        this.groupId = GroupUtils.getGroupIdV2(groupInfo.getMasterKey()).toBase64();
+        this.type = groupInfo.hasSignedGroupChange() ? "UPDATE" : "DELIVER";
+    }
+
     JsonGroupInfo(byte[] groupId) {
         this.groupId = Base64.encodeBytes(groupId);
     }