diff --git a/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.h b/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.h index 5bc1ba3f5..363c0f8ee 100644 --- a/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.h +++ b/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.h @@ -9,6 +9,7 @@ #import "OWSMessageData.h" #import "OWSMessageEditing.h" #import "TSInfoMessage.h" +#import "ContactsManagerProtocol.h" NS_ASSUME_NONNULL_BEGIN @@ -19,7 +20,7 @@ NS_ASSUME_NONNULL_BEGIN @interface TSMessageAdapter : NSObject -+ (id)messageViewDataWithInteraction:(TSInteraction *)interaction inThread:(TSThread *)thread; ++ (id)messageViewDataWithInteraction:(TSInteraction *)interaction inThread:(TSThread *)thread contactsManager:(id)contactsManager; @property (nonatomic) TSInteraction *interaction; @property (readonly) TSInfoMessageType infoMessageType; diff --git a/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m b/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m index 25fe2a909..0f1af5a14 100644 --- a/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m +++ b/Signal/src/Models/TSMessageAdapaters/TSMessageAdapter.m @@ -28,8 +28,8 @@ // OR for groups -@property (nonatomic, retain) NSString *senderId; -@property (nonatomic, retain) NSString *senderDisplayName; +@property (nonatomic, copy) NSString *senderId; +@property (nonatomic, copy) NSString *senderDisplayName; // for InfoMessages @@ -91,7 +91,7 @@ return self; } -+ (id)messageViewDataWithInteraction:(TSInteraction *)interaction inThread:(TSThread *)thread ++ (id)messageViewDataWithInteraction:(TSInteraction *)interaction inThread:(TSThread *)thread contactsManager:(id)contactsManager { TSMessageAdapter *adapter = [[TSMessageAdapter alloc] initWithInteraction:interaction]; @@ -100,7 +100,7 @@ if ([interaction isKindOfClass:[TSIncomingMessage class]]) { NSString *contactId = ((TSContactThread *)thread).contactIdentifier; adapter.senderId = contactId; - adapter.senderDisplayName = contactId; + adapter.senderDisplayName = [contactsManager nameStringForPhoneIdentifier:contactId]; adapter.messageType = TSIncomingMessageAdapter; } else { adapter.senderId = ME_MESSAGE_IDENTIFIER; @@ -111,7 +111,7 @@ if ([interaction isKindOfClass:[TSIncomingMessage class]]) { TSIncomingMessage *message = (TSIncomingMessage *)interaction; adapter.senderId = message.authorId; - adapter.senderDisplayName = message.authorId; + adapter.senderDisplayName = [contactsManager nameStringForPhoneIdentifier:message.authorId]; adapter.messageType = TSIncomingMessageAdapter; } else { adapter.senderId = ME_MESSAGE_IDENTIFIER; @@ -216,13 +216,6 @@ } } -- (NSString *)senderDisplayName { - if (self.thread) { - return _thread.name; - } - return _senderDisplayName; -} - - (NSDate *)date { return self.messageDate; } diff --git a/Signal/src/view controllers/MessagesViewController.m b/Signal/src/view controllers/MessagesViewController.m index 62fdd8c0f..1168fc9eb 100644 --- a/Signal/src/view controllers/MessagesViewController.m +++ b/Signal/src/view controllers/MessagesViewController.m @@ -1957,7 +1957,7 @@ typedef enum : NSUInteger { id messageAdapter = [self.messageAdapterCache objectForKey:interaction.uniqueId]; if (!messageAdapter) { - messageAdapter = [TSMessageAdapter messageViewDataWithInteraction:interaction inThread:self.thread]; + messageAdapter = [TSMessageAdapter messageViewDataWithInteraction:interaction inThread:self.thread contactsManager:self.contactsManager]; [self.messageAdapterCache setObject:messageAdapter forKey: interaction.uniqueId]; }