From 41a630897394dff3612bc4c7b17ae302f67d5964 Mon Sep 17 00:00:00 2001 From: Ryan ZHAO Date: Mon, 17 Feb 2020 10:04:17 +1100 Subject: [PATCH] hide input tool bar on linked device after leaving a closed group --- SignalServiceKit/src/Contacts/Threads/TSGroupThread.m | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/SignalServiceKit/src/Contacts/Threads/TSGroupThread.m b/SignalServiceKit/src/Contacts/Threads/TSGroupThread.m index 31f7cfaeb..5cd6125be 100644 --- a/SignalServiceKit/src/Contacts/Threads/TSGroupThread.m +++ b/SignalServiceKit/src/Contacts/Threads/TSGroupThread.m @@ -227,10 +227,13 @@ NSString *const TSGroupThread_NotificationKey_UniqueId = @"TSGroupThread_Notific - (void)leaveGroupWithTransaction:(YapDatabaseReadWriteTransaction *)transaction { - NSMutableArray *newGroupMemberIds = [self.groupModel.groupMemberIds mutableCopy]; - [newGroupMemberIds removeObject:[TSAccountManager localNumber]]; - - self.groupModel.groupMemberIds = newGroupMemberIds; + NSMutableSet *newGroupMemberIds = [NSMutableSet setWithArray:self.groupModel.groupMemberIds]; + NSString *userHexEncodedPublicKey = TSAccountManager.localNumber; + if (userHexEncodedPublicKey != nil) { + NSSet *linkedDeviceHexEncodedPublicKeys = [LKDatabaseUtilities getLinkedDeviceHexEncodedPublicKeysFor:userHexEncodedPublicKey in:transaction]; + [newGroupMemberIds minusSet:linkedDeviceHexEncodedPublicKeys]; + } + self.groupModel.groupMemberIds = newGroupMemberIds.allObjects; [self saveWithTransaction:transaction]; }