|
|
|
@ -173,7 +173,6 @@ public class GroupMessageProcessor {
|
|
|
|
|
|
|
|
|
|
|
|
// We add any new or removed members to the group context
|
|
|
|
// We add any new or removed members to the group context
|
|
|
|
// This will allow us later to iterate over them to check if they left or were added for UI display
|
|
|
|
// This will allow us later to iterate over them to check if they left or were added for UI display
|
|
|
|
|
|
|
|
|
|
|
|
for (Address addedMember : addedMembers) {
|
|
|
|
for (Address addedMember : addedMembers) {
|
|
|
|
builder.addMembers(addedMember.serialize());
|
|
|
|
builder.addMembers(addedMember.serialize());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -182,6 +181,13 @@ public class GroupMessageProcessor {
|
|
|
|
builder.addMembers(removedMember.serialize());
|
|
|
|
builder.addMembers(removedMember.serialize());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// If we were removed then we need to disable the chat
|
|
|
|
|
|
|
|
String masterHexEncodedPublicKey = TextSecurePreferences.getMasterHexEncodedPublicKey(context);
|
|
|
|
|
|
|
|
String ourHexEncodedPublicKey = masterHexEncodedPublicKey != null ? masterHexEncodedPublicKey : TextSecurePreferences.getLocalNumber(context);
|
|
|
|
|
|
|
|
if (removedMembers.contains(Address.fromSerialized(ourHexEncodedPublicKey))) {
|
|
|
|
|
|
|
|
database.setActive(id, false);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (group.getName().isPresent() || group.getAvatar().isPresent()) {
|
|
|
|
if (group.getName().isPresent() || group.getAvatar().isPresent()) {
|
|
|
|
SignalServiceAttachment avatar = group.getAvatar().orNull();
|
|
|
|
SignalServiceAttachment avatar = group.getAvatar().orNull();
|
|
|
|
database.update(id, group.getName().orNull(), avatar != null ? avatar.asPointer() : null);
|
|
|
|
database.update(id, group.getName().orNull(), avatar != null ? avatar.asPointer() : null);
|
|
|
|
|