Allow leaving from a secondary device.

This commit is contained in:
Mikunj 2020-02-04 08:31:38 +11:00
parent a61f9b4eb7
commit 9d0f40a18f

View File

@ -1152,10 +1152,14 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
if (threadId != -1 && leaveMessage.isPresent()) { if (threadId != -1 && leaveMessage.isPresent()) {
MessageSender.send(this, leaveMessage.get(), threadId, false, null); MessageSender.send(this, leaveMessage.get(), threadId, false, null);
// We need to remove the master device from the group
String masterHexEncodedPublicKey = TextSecurePreferences.getMasterHexEncodedPublicKey(this);
String localNumber = masterHexEncodedPublicKey != null ? masterHexEncodedPublicKey : TextSecurePreferences.getLocalNumber(this);
GroupDatabase groupDatabase = DatabaseFactory.getGroupDatabase(this); GroupDatabase groupDatabase = DatabaseFactory.getGroupDatabase(this);
String groupId = groupRecipient.getAddress().toGroupString(); String groupId = groupRecipient.getAddress().toGroupString();
groupDatabase.setActive(groupId, false); groupDatabase.setActive(groupId, false);
groupDatabase.remove(groupId, Address.fromSerialized(TextSecurePreferences.getLocalNumber(this))); groupDatabase.remove(groupId, Address.fromSerialized(localNumber));
initializeEnabledCheck(); initializeEnabledCheck();
} else { } else {