]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonGroupInfo.java
Replace Base64 class from libsignal with java.util.Base64
[signal-cli] / src / main / java / org / asamk / signal / json / JsonGroupInfo.java
index 08bc19a96c90cd623cedcfa617da8717cbff68a6..bc3e7e0eca35326cb4f013576d8247e1caea543f 100644 (file)
@@ -1,10 +1,12 @@
 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;
 
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.List;
 
 class JsonGroupInfo {
@@ -15,7 +17,7 @@ class JsonGroupInfo {
     String type;
 
     JsonGroupInfo(SignalServiceGroup groupInfo) {
-        this.groupId = Base64.encodeBytes(groupInfo.getGroupId());
+        this.groupId = Base64.getEncoder().encodeToString(groupInfo.getGroupId());
         if (groupInfo.getMembers().isPresent()) {
             this.members = new ArrayList<>(groupInfo.getMembers().get().size());
             for (SignalServiceAddress address : groupInfo.getMembers().get()) {
@@ -28,7 +30,12 @@ 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);
+        this.groupId = Base64.getEncoder().encodeToString(groupId);
     }
 }