+++ /dev/null
-package org.asamk.signal.storage.groups;
-
-import org.signal.storageservice.protos.groups.local.DecryptedGroup;
-import org.signal.zkgroup.groups.GroupMasterKey;
-import org.whispersystems.signalservice.api.push.SignalServiceAddress;
-import org.whispersystems.signalservice.api.util.UuidUtil;
-
-import java.util.Collections;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-public class GroupInfoV2 extends GroupInfo {
-
- private final GroupMasterKey masterKey;
-
- private boolean blocked;
- private DecryptedGroup group; // stored as a file with hexadecimal groupId as name
-
- public GroupInfoV2(final byte[] groupId, final GroupMasterKey masterKey) {
- super(groupId);
- this.masterKey = masterKey;
- }
-
- public GroupMasterKey getMasterKey() {
- return masterKey;
- }
-
- public void setGroup(final DecryptedGroup group) {
- this.group = group;
- }
-
- public DecryptedGroup getGroup() {
- return group;
- }
-
- @Override
- public String getTitle() {
- if (this.group == null) {
- return null;
- }
- return this.group.getTitle();
- }
-
- @Override
- public Set<SignalServiceAddress> getMembers() {
- if (this.group == null) {
- return Collections.emptySet();
- }
- return group.getMembersList().stream()
- .map(m -> new SignalServiceAddress(UuidUtil.parseOrThrow(m.getUuid().toByteArray()), null))
- .collect(Collectors.toSet());
- }
-
- @Override
- public boolean isBlocked() {
- return blocked;
- }
-
- @Override
- public void setBlocked(final boolean blocked) {
- this.blocked = blocked;
- }
-
- @Override
- public int getMessageExpirationTime() {
- return this.group != null && this.group.hasDisappearingMessagesTimer()
- ? this.group.getDisappearingMessagesTimer().getDuration()
- : 0;
- }
-}