Share extension mxstore rework

- Create the MXRoom instance only when the room is selected.
This commit is contained in:
Giom Foret
2017-09-29 10:37:54 +02:00
parent a07ba1589e
commit 35927d2117
11 changed files with 211 additions and 122 deletions
@@ -16,6 +16,8 @@
#import "RecentRoomTableViewCell.h"
#import "MXRoomSummary+Riot.h"
@interface RecentRoomTableViewCell ()
@property (weak, nonatomic) IBOutlet MXKImageView *avatarImageView;
@@ -23,8 +25,6 @@
@property (weak, nonatomic) IBOutlet UILabel *roomTitleLabel;
@property (weak, nonatomic) IBOutlet UIImageView *encryptedRoomIcon;
@end
@implementation RecentRoomTableViewCell
@@ -44,18 +44,35 @@
return nil;
}
- (void)render:(MXKRecentCellData *)cellData
- (void)layoutSubviews
{
[super layoutSubviews];
//NSString *imageUrl = [self.matrixRestClient urlOfContentThumbnail:cellData toFitViewSize:mxkImageView.frame.size withMethod:MXThumbnailingMethodCrop];
//[self.avatarImageView setImageURL:nil withType:nil andImageOrientation:UIImageOrientationUp previewImage:nil];
self.roomTitleLabel.text = cellData.roomDisplayname;
self.directRoomBorderView.hidden = !cellData.roomSummary.isDirect;
self.encryptedRoomIcon.hidden = !cellData.roomSummary.isEncrypted;
// Round room avatars
[self.avatarImageView.layer setCornerRadius:self.avatarImageView.frame.size.width / 2];
self.avatarImageView.clipsToBounds = YES;
}
- (void)render:(MXKCellData *)cellData
{
// Sanity check: accept only object of MXKRecentCellData classes or sub-classes
NSParameterAssert([cellData isKindOfClass:[MXKRecentCellData class]]);
roomCellData = (id<MXKRecentCellDataStoring>)cellData;
if (roomCellData)
{
[roomCellData.roomSummary setRoomAvatarImageIn:self.avatarImageView];
self.roomTitleLabel.text = roomCellData.roomSummary.displayname;
if (!self.roomTitleLabel.text.length)
{
self.roomTitleLabel.text = NSLocalizedStringFromTable(@"room_displayname_no_title", @"Vector", nil);
}
self.directRoomBorderView.hidden = !roomCellData.roomSummary.isDirect;
self.encryptedRoomIcon.hidden = !roomCellData.roomSummary.isEncrypted;
}
}
+ (CGFloat)cellHeight
@@ -63,15 +80,4 @@
return 74;
}
/*- (void)render:(MXRoom *)room
{
[room setRoomAvatarImageIn:self.avatarImageView];
self.titleLabel.text = room.riotDisplayname;
self.directRoomBorderView.hidden = !room.isDirect;
self.encryptedRoomIcon.hidden = !room.state.isEncrypted;
}*/
@end