mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-21 09:02:44 +02:00
MESSENGER-5203 add federation icon to tableview cell
This commit is contained in:
@@ -38,6 +38,34 @@
|
||||
// Initialize unread count badge
|
||||
[_missedNotifAndUnreadBadgeBgView.layer setCornerRadius:10];
|
||||
_missedNotifAndUnreadBadgeBgViewWidthConstraint.constant = 0;
|
||||
|
||||
// bwi: 5203 add federation icon
|
||||
if (BWIBuildSettings.shared.isFederationEnabled)
|
||||
{
|
||||
if ([ThemeService.shared isCurrentThemeDark])
|
||||
{
|
||||
self.federationImage = AssetImages.roomFederatedBumIconDark.image;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.federationImage = AssetImages.roomFederatedBumIconLight.image;
|
||||
}
|
||||
self.federationImageView = [[UIImageView alloc] initWithImage:self.federationImage];
|
||||
self.federationImageView.translatesAutoresizingMaskIntoConstraints = NO;
|
||||
self.federationImageView.contentMode = UIViewContentModeScaleAspectFit;
|
||||
[self.contentView addSubview:self.federationImageView];
|
||||
|
||||
// scale and new with federation icon
|
||||
float scaleFactor = ((self.roomAvatar.frame.size.height * 0.34) / self.federationImage.size.height);
|
||||
float imageWidth = scaleFactor * self.federationImage.size.width;
|
||||
// offset federation icon
|
||||
float offset = 3 * scaleFactor;
|
||||
|
||||
[self.federationImageView.bottomAnchor constraintEqualToAnchor:self.roomAvatar.bottomAnchor constant:0].active = YES;
|
||||
[self.federationImageView.trailingAnchor constraintEqualToAnchor:self.roomAvatar.trailingAnchor constant:offset].active = YES;
|
||||
[self.federationImageView.heightAnchor constraintEqualToConstant:(self.roomAvatar.frame.size.height * 0.34)].active = YES;
|
||||
[self.federationImageView.widthAnchor constraintEqualToConstant:imageWidth].active = YES;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)customizeTableViewCellRendering
|
||||
@@ -61,6 +89,20 @@
|
||||
// Round image view
|
||||
[_roomAvatar.layer setCornerRadius:_roomAvatar.frame.size.width / 2];
|
||||
_roomAvatar.clipsToBounds = YES;
|
||||
|
||||
// bwi: 5203 add federation icon
|
||||
if (BWIBuildSettings.shared.isFederationEnabled)
|
||||
{
|
||||
if ([ThemeService.shared isCurrentThemeDark])
|
||||
{
|
||||
self.federationImage = AssetImages.roomFederatedBumIconDark.image;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.federationImage = AssetImages.roomFederatedBumIconLight.image;
|
||||
}
|
||||
self.federationImageView.image = self.federationImage;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)render:(MXKCellData *)cellData
|
||||
@@ -74,6 +116,43 @@
|
||||
roomCellData = (id<MXKRecentCellDataStoring>)cellData;
|
||||
if (roomCellData)
|
||||
{
|
||||
|
||||
// bwi: 5203 add federation icon
|
||||
if (BWIBuildSettings.shared.isFederationEnabled)
|
||||
{
|
||||
MXRoom *room = [roomCellData.mxSession roomWithRoomId:roomCellData.roomSummary.roomId];
|
||||
if (room.isPersonalNotesRoom)
|
||||
{
|
||||
self.federationImageView.hidden = YES;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (room.isDirect)
|
||||
{
|
||||
if ([room isDMFederated])
|
||||
{
|
||||
self.federationImageView.hidden = NO;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.federationImageView.hidden = YES;
|
||||
}
|
||||
}
|
||||
else if ([room isRoomFederated])
|
||||
{
|
||||
self.federationImageView.hidden = NO;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.federationImageView.hidden = YES;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
self.federationImageView.hidden = YES;
|
||||
}
|
||||
|
||||
// Report computed values as is
|
||||
self.roomTitle.text = roomCellData.roomDisplayname;
|
||||
self.lastEventDate.text = roomCellData.lastEventDate;
|
||||
|
||||
Reference in New Issue
Block a user