}
SignalServiceDataMessage message = messageBuilder.build();
- sendMessage(message, groupStore.getGroup(groupId).members);
+ Set<String> members = groupStore.getGroup(groupId).members;
+ members.remove(this.username);
+ sendMessage(message, members);
}
public void sendQuitGroupMessage(byte[] groupId) throws GroupNotFoundException, IOException, EncapsulatedExceptions, UntrustedIdentityException {
.asGroupMessage(group)
.build();
- sendMessage(message, groupStore.getGroup(groupId).members);
+ final GroupInfo g = groupStore.getGroup(groupId);
+ g.members.remove(this.username);
+ groupStore.updateGroup(g);
+
+ sendMessage(message, g.members);
}
public byte[] sendUpdateGroupMessage(byte[] groupId, String name, Collection<String> members, String avatarFile) throws IOException, EncapsulatedExceptions, GroupNotFoundException, AttachmentInvalidException, UntrustedIdentityException {
.asGroupMessage(group.build())
.build();
- sendMessage(message, g.members);
+ final Set<String> membersSend = g.members;
+ membersSend.remove(this.username);
+ sendMessage(message, membersSend);
return g.groupId;
}
try {
group = groupStore.getGroup(groupInfo.getGroupId());
group.members.remove(source);
+ groupStore.updateGroup(group);
} catch (GroupNotFoundException e) {
}
break;