From 9d0f40a18f83c12cdba70873d43099cea5268b01 Mon Sep 17 00:00:00 2001 From: Mikunj Date: Tue, 4 Feb 2020 08:31:38 +1100 Subject: [PATCH] Allow leaving from a secondary device. --- .../securesms/conversation/ConversationActivity.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java index c247c95f9..001273040 100644 --- a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -1152,10 +1152,14 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity if (threadId != -1 && leaveMessage.isPresent()) { 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); String groupId = groupRecipient.getAddress().toGroupString(); groupDatabase.setActive(groupId, false); - groupDatabase.remove(groupId, Address.fromSerialized(TextSecurePreferences.getLocalNumber(this))); + groupDatabase.remove(groupId, Address.fromSerialized(localNumber)); initializeEnabledCheck(); } else {