X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/9a775171b573089592e82f7c3bf8f5b0fdd7d975..9075cc1a309fbc90276d2878d480d1e9e9c81887:/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 index bc3e7e0e..f00ace99 100644 --- a/src/main/java/org/asamk/signal/json/JsonGroupInfo.java +++ b/src/main/java/org/asamk/signal/json/JsonGroupInfo.java @@ -1,41 +1,17 @@ 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.asamk.signal.manager.api.MessageEnvelope; -import java.util.ArrayList; import java.util.Base64; -import java.util.List; -class JsonGroupInfo { +record JsonGroupInfo(String groupId, String type) { - String groupId; - List members; - String name; - String type; - - JsonGroupInfo(SignalServiceGroup groupInfo) { - 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()) { - this.members.add(address.getLegacyIdentifier()); - } - } - if (groupInfo.getName().isPresent()) { - this.name = groupInfo.getName().get(); - } - this.type = groupInfo.getType().toString(); - } - - JsonGroupInfo(SignalServiceGroupV2 groupInfo) { - this.groupId = GroupUtils.getGroupIdV2(groupInfo.getMasterKey()).toBase64(); - this.type = groupInfo.hasSignedGroupChange() ? "UPDATE" : "DELIVER"; + static JsonGroupInfo from(MessageEnvelope.Data.GroupContext groupContext) { + return new JsonGroupInfo(groupContext.groupId().toBase64(), + groupContext.isGroupUpdate() ? "UPDATE" : "DELIVER"); } - JsonGroupInfo(byte[] groupId) { - this.groupId = Base64.getEncoder().encodeToString(groupId); + static JsonGroupInfo from(byte[] groupId) { + return new JsonGroupInfo(Base64.getEncoder().encodeToString(groupId), "DELIVER"); } }