X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/e04c45766d50d6a4e2d3c084145e2115b38bef5c..ae41d0c5026fe868c6198e1005344fc78b6e0a2c:/src/main/java/org/asamk/signal/json/JsonGroupInfo.java diff --git a/src/main/java/org/asamk/signal/json/JsonGroupInfo.java b/src/main/java/org/asamk/signal/json/JsonGroupInfo.java new file mode 100644 index 00000000..572623e4 --- /dev/null +++ b/src/main/java/org/asamk/signal/json/JsonGroupInfo.java @@ -0,0 +1,34 @@ +package org.asamk.signal.json; + +import org.whispersystems.signalservice.api.messages.SignalServiceGroup; +import org.whispersystems.signalservice.api.push.SignalServiceAddress; +import org.whispersystems.util.Base64; + +import java.util.ArrayList; +import java.util.List; + +class JsonGroupInfo { + + String groupId; + List members; + String name; + String type; + + JsonGroupInfo(SignalServiceGroup groupInfo) { + this.groupId = Base64.encodeBytes(groupInfo.getGroupId()); + if (groupInfo.getMembers().isPresent()) { + this.members = new ArrayList<>(groupInfo.getMembers().get().size()); + for (SignalServiceAddress address : groupInfo.getMembers().get()) { + this.members.add(address.getNumber().get()); + } + } + if (groupInfo.getName().isPresent()) { + this.name = groupInfo.getName().get(); + } + this.type = groupInfo.getType().toString(); + } + + JsonGroupInfo(byte[] groupId) { + this.groupId = Base64.encodeBytes(groupId); + } +}