]>
nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/storage/groups/GroupInfoV1.java
fd7bfe850235e6e40293f6087d8cef35fd615af2
1 package org
.asamk
.signal
.manager
.storage
.groups
;
3 import org
.asamk
.signal
.manager
.api
.GroupIdV1
;
4 import org
.asamk
.signal
.manager
.api
.GroupIdV2
;
5 import org
.asamk
.signal
.manager
.api
.GroupInviteLinkUrl
;
6 import org
.asamk
.signal
.manager
.api
.GroupPermission
;
7 import org
.asamk
.signal
.manager
.groups
.GroupUtils
;
8 import org
.asamk
.signal
.manager
.storage
.recipients
.RecipientId
;
9 import org
.whispersystems
.signalservice
.api
.push
.DistributionId
;
11 import java
.util
.Collection
;
12 import java
.util
.HashSet
;
15 public final class GroupInfoV1
extends GroupInfo
{
17 private final GroupIdV1 groupId
;
19 private GroupIdV2 expectedV2Id
;
23 public Set
<RecipientId
> members
= new HashSet
<>();
25 public int messageExpirationTime
;
26 public boolean blocked
;
27 public boolean archived
;
28 private byte[] storageRecord
;
30 public GroupInfoV1(GroupIdV1 groupId
) {
31 this.groupId
= groupId
;
35 final GroupIdV1 groupId
,
36 final GroupIdV2 expectedV2Id
,
38 final Set
<RecipientId
> members
,
40 final int messageExpirationTime
,
41 final boolean blocked
,
42 final boolean archived
,
43 final byte[] storageRecord
45 this.groupId
= groupId
;
46 this.expectedV2Id
= expectedV2Id
;
48 this.members
= new HashSet
<>(members
);
50 this.messageExpirationTime
= messageExpirationTime
;
51 this.blocked
= blocked
;
52 this.archived
= archived
;
53 this.storageRecord
= storageRecord
;
57 public GroupIdV1
getGroupId() {
62 public DistributionId
getDistributionId() {
66 public GroupIdV2
getExpectedV2Id() {
67 if (expectedV2Id
== null) {
68 expectedV2Id
= GroupUtils
.getGroupIdV2(groupId
);
74 public String
getTitle() {
79 public GroupInviteLinkUrl
getGroupInviteLink() {
83 public Set
<RecipientId
> getMembers() {
84 return new HashSet
<>(members
);
88 public boolean isBlocked() {
93 public void setBlocked(final boolean blocked
) {
94 this.blocked
= blocked
;
98 public int getMessageExpirationTimer() {
99 return messageExpirationTime
;
103 public boolean isAnnouncementGroup() {
108 public GroupPermission
getPermissionAddMember() {
109 return GroupPermission
.EVERY_MEMBER
;
113 public GroupPermission
getPermissionEditDetails() {
114 return GroupPermission
.EVERY_MEMBER
;
118 public GroupPermission
getPermissionSendMessage() {
119 return GroupPermission
.EVERY_MEMBER
;
122 public void addMembers(Collection
<RecipientId
> members
) {
123 this.members
.addAll(members
);
126 public void removeMember(RecipientId recipientId
) {
127 this.members
.removeIf(member
-> member
.equals(recipientId
));
130 public byte[] getStorageRecord() {
131 return storageRecord
;