]> nmode's Git Repositories - signal-cli/blob - 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
1 package org.asamk.signal.json;
2
3 import org.asamk.signal.manager.groups.GroupUtils;
4 import org.whispersystems.signalservice.api.messages.SignalServiceGroup;
5 import org.whispersystems.signalservice.api.messages.SignalServiceGroupV2;
6 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
7
8 import java.util.ArrayList;
9 import java.util.Base64;
10 import java.util.List;
11
12 class JsonGroupInfo {
13
14 String groupId;
15 List<String> members;
16 String name;
17 String type;
18
19 JsonGroupInfo(SignalServiceGroup groupInfo) {
20 this.groupId = Base64.getEncoder().encodeToString(groupInfo.getGroupId());
21 if (groupInfo.getMembers().isPresent()) {
22 this.members = new ArrayList<>(groupInfo.getMembers().get().size());
23 for (SignalServiceAddress address : groupInfo.getMembers().get()) {
24 this.members.add(address.getLegacyIdentifier());
25 }
26 }
27 if (groupInfo.getName().isPresent()) {
28 this.name = groupInfo.getName().get();
29 }
30 this.type = groupInfo.getType().toString();
31 }
32
33 JsonGroupInfo(SignalServiceGroupV2 groupInfo) {
34 this.groupId = GroupUtils.getGroupIdV2(groupInfo.getMasterKey()).toBase64();
35 this.type = groupInfo.hasSignedGroupChange() ? "UPDATE" : "DELIVER";
36 }
37
38 JsonGroupInfo(byte[] groupId) {
39 this.groupId = Base64.getEncoder().encodeToString(groupId);
40 }
41 }