diff --git a/Signal/src/environment/Environment.h b/Signal/src/environment/Environment.h index e1a5d37ee..3b72d72e2 100644 --- a/Signal/src/environment/Environment.h +++ b/Signal/src/environment/Environment.h @@ -87,5 +87,4 @@ andCurrentRegionCodeForPhoneNumbers:(NSString*)currentRegionCodeForPhoneNumbers + (void)messageIdentifier:(NSString*)identifier; + (void)groupModel:(GroupModel*)model; - @end diff --git a/Signal/src/textsecure/Messages/TSMessagesManager.m b/Signal/src/textsecure/Messages/TSMessagesManager.m index 895013f29..c114deede 100644 --- a/Signal/src/textsecure/Messages/TSMessagesManager.m +++ b/Signal/src/textsecure/Messages/TSMessagesManager.m @@ -35,6 +35,7 @@ #import "Environment.h" #import "PreferencesUtil.h" +#import "ContactsManager.h" #import <CocoaLumberjack/DDLog.h> @@ -255,10 +256,17 @@ [[[TSInfoMessage alloc] initWithTimestamp:timeStamp inThread:gThread messageType:TSInfoMessageTypeGroupUpdate customMessage:updateGroupInfo] saveWithTransaction:transaction]; } else if(content.group.type==PushMessageContentGroupContextTypeQuit) { - NSString* updateGroupInfo = [NSString stringWithFormat:@"%@ has left group",message.source]; + NSString *nameString = [[Environment.getCurrent contactsManager] nameStringForPhoneIdentifier:message.source]; + + if (!nameString) { + nameString = message.source; + } + + NSString* updateGroupInfo = [NSString stringWithFormat:@"%@ has left group",nameString]; NSMutableArray *newGroupMembers = [NSMutableArray arrayWithArray:gThread.groupModel.groupMemberIds]; [newGroupMembers removeObject:message.source]; gThread.groupModel.groupMemberIds = newGroupMembers; + [gThread saveWithTransaction:transaction]; [[[TSInfoMessage alloc] initWithTimestamp:timeStamp inThread:gThread messageType:TSInfoMessageTypeGroupUpdate customMessage:updateGroupInfo] saveWithTransaction:transaction]; } diff --git a/Signal/src/view controllers/MessagesViewController.m b/Signal/src/view controllers/MessagesViewController.m index 05fc4c127..071328cfd 100644 --- a/Signal/src/view controllers/MessagesViewController.m +++ b/Signal/src/view controllers/MessagesViewController.m @@ -110,7 +110,6 @@ typedef enum : NSUInteger { - (void)setupWithThread:(TSThread *)thread{ self.thread = thread; isGroupConversation = [self.thread isKindOfClass:[TSGroupThread class]]; - } - (void)viewDidLoad { @@ -1027,7 +1026,6 @@ typedef enum : NSUInteger { } - - (IBAction)unwindGroupUpdated:(UIStoryboardSegue *)segue{ [self.inputToolbar.contentView.textView resignFirstResponder]; NewGroupViewController *ngc = [segue sourceViewController]; diff --git a/Signal/src/view controllers/TSMessageAdapter.m b/Signal/src/view controllers/TSMessageAdapter.m index 09ea9de6e..0be978e7d 100644 --- a/Signal/src/view controllers/TSMessageAdapter.m +++ b/Signal/src/view controllers/TSMessageAdapter.m @@ -79,9 +79,11 @@ TSIncomingMessage *message = (TSIncomingMessage*)interaction; adapter.senderId = message.authorId; adapter.senderDisplayName = message.authorId; + adapter.messageType = TSIncomingMessageAdapter; } else { adapter.senderId = ME_MESSAGE_IDENTIFIER; adapter.senderDisplayName = @"Me"; + adapter.messageType = TSOutgoingMessageAdapter; } }