]>
nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/storage/groups/GroupInfoV1.java
ea5ae7be0a15a13b996495d02529a7e774e56e74
1 package org
.asamk
.signal
.manager
.storage
.groups
;
3 import org
.asamk
.signal
.manager
.groups
.GroupIdV1
;
4 import org
.asamk
.signal
.manager
.groups
.GroupIdV2
;
5 import org
.asamk
.signal
.manager
.groups
.GroupInviteLinkUrl
;
6 import org
.asamk
.signal
.manager
.groups
.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
;
29 public GroupInfoV1(GroupIdV1 groupId
) {
30 this.groupId
= groupId
;
34 final GroupIdV1 groupId
,
35 final GroupIdV2 expectedV2Id
,
37 final Set
<RecipientId
> members
,
39 final int messageExpirationTime
,
40 final boolean blocked
,
41 final boolean archived
43 this.groupId
= groupId
;
44 this.expectedV2Id
= expectedV2Id
;
46 this.members
= new HashSet
<>(members
);
48 this.messageExpirationTime
= messageExpirationTime
;
49 this.blocked
= blocked
;
50 this.archived
= archived
;
54 public GroupIdV1
getGroupId() {
59 public DistributionId
getDistributionId() {
63 public GroupIdV2
getExpectedV2Id() {
64 if (expectedV2Id
== null) {
65 expectedV2Id
= GroupUtils
.getGroupIdV2(groupId
);
71 public String
getTitle() {
76 public GroupInviteLinkUrl
getGroupInviteLink() {
80 public Set
<RecipientId
> getMembers() {
81 return new HashSet
<>(members
);
85 public boolean isBlocked() {
90 public void setBlocked(final boolean blocked
) {
91 this.blocked
= blocked
;
95 public int getMessageExpirationTimer() {
96 return messageExpirationTime
;
100 public boolean isAnnouncementGroup() {
105 public GroupPermission
getPermissionAddMember() {
106 return GroupPermission
.EVERY_MEMBER
;
110 public GroupPermission
getPermissionEditDetails() {
111 return GroupPermission
.EVERY_MEMBER
;
115 public GroupPermission
getPermissionSendMessage() {
116 return GroupPermission
.EVERY_MEMBER
;
119 public void addMembers(Collection
<RecipientId
> members
) {
120 this.members
.addAll(members
);
123 public void removeMember(RecipientId recipientId
) {
124 this.members
.removeIf(member
-> member
.equals(recipientId
));