mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-05-01 13:46:57 +02:00
Display the room avatars when it is already known (i.e the room has an avatar or it is a 1:1 room).
This commit is contained in:
@@ -16,6 +16,8 @@
|
||||
|
||||
#import "RecentTableViewCell.h"
|
||||
|
||||
#import "MXEvent.h"
|
||||
|
||||
@implementation RecentTableViewCell
|
||||
|
||||
#pragma mark - Class methods
|
||||
@@ -68,6 +70,41 @@
|
||||
{
|
||||
self.roomTitle.font = [UIFont systemFontOfSize:19];
|
||||
}
|
||||
|
||||
self.roomAvatar.backgroundColor = [UIColor clearColor];
|
||||
|
||||
|
||||
MXRoom* room = roomCellData.roomDataSource.room;
|
||||
|
||||
NSString* roomAvatarUrl = room.state.avatar;
|
||||
|
||||
// detect if it is a room with no more than 2 members (i.e. an alone or a 1:1 chat)
|
||||
if (!roomAvatarUrl)
|
||||
{
|
||||
NSString* myUserId = room.mxSession.myUser.userId;
|
||||
|
||||
NSArray* members = room.state.members;
|
||||
|
||||
if (members.count < 3)
|
||||
{
|
||||
// use the member avatar only it is an active member
|
||||
for (MXRoomMember *roomMember in members)
|
||||
{
|
||||
if ((MXMembershipJoin == roomMember.membership) && ((members.count == 1) || ![roomMember.userId isEqualToString:myUserId]))
|
||||
{
|
||||
roomAvatarUrl = roomMember.avatarUrl;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (roomAvatarUrl)
|
||||
{
|
||||
self.roomAvatar.enableInMemoryCache = YES;
|
||||
|
||||
[self.roomAvatar setImageURL:[roomCellData.roomDataSource.mxSession.matrixRestClient urlOfContentThumbnail:roomAvatarUrl toFitViewSize:self.roomAvatar.frame.size withMethod:MXThumbnailingMethodCrop] withType:nil andImageOrientation:UIImageOrientationUp previewImage:nil];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user