EventFormatter: Sender avatar handling

Override senderAvatarURLForEvent to ignore the identicons defined by default in mattrix kit.
This commit is contained in:
giomfo 2015-12-04 15:37:33 +01:00
parent 6512d36721
commit 7e5d45f64f

View file

@ -58,6 +58,31 @@
};
}
#pragma mark event sender info
- (NSString*)senderAvatarUrlForEvent:(MXEvent*)event withRoomState:(MXRoomState*)roomState
{
// Override this method to ignore the identicons defined by default in matrix kit.
// Consider first the avatar url defined in provided room state (Note: this room state is supposed to not take the new event into account)
NSString *senderAvatarUrl = [roomState memberWithUserId:event.sender].avatarUrl;
// Check whether this avatar url is updated by the current event (This happens in case of new joined member)
if ([event.content[@"avatar_url"] length])
{
// Use the actual avatar
senderAvatarUrl = event.content[@"avatar_url"];
}
// We ignore non mxc avatar url (The identicons are removed here).
if (senderAvatarUrl && [senderAvatarUrl hasPrefix:kMXContentUriScheme] == NO)
{
senderAvatarUrl = nil;
}
return senderAvatarUrl;
}
#pragma mark - Timestamp formatting