Enable presence indicator border colour update

This commit is contained in:
aringenbach 2022-04-01 15:45:17 +02:00
parent c4e87e988b
commit e3204c4329
5 changed files with 10 additions and 2 deletions

View file

@ -27,6 +27,10 @@ IB_DESIGNABLE
Border width of the presence indicator.
*/
@property (nonatomic) IBInspectable CGFloat borderWidth;
/**
Border color of the presence indicator. Defaults to current theme background color.
*/
@property (nonatomic) UIColor* borderColor;
/**
Presence status to display.
*/

View file

@ -49,6 +49,7 @@
- (void)setup
{
self.borderColor = ThemeService.shared.theme.backgroundColor;
self.layer.cornerRadius = self.frame.size.width / 2.f;
self.borderLayer = [[CALayer alloc] init];
[self.layer addSublayer:self.borderLayer];
@ -73,12 +74,12 @@
switch (presence) {
case MXPresenceOnline:
self.backgroundColor = ThemeService.shared.theme.tintColor;
self.borderLayer.borderColor = ThemeService.shared.theme.backgroundColor.CGColor;
self.borderLayer.borderColor = self.borderColor.CGColor;
break;
case MXPresenceOffline:
case MXPresenceUnavailable:
self.backgroundColor = ThemeService.shared.theme.tabBarUnselectedItemTintColor;
self.borderLayer.borderColor = ThemeService.shared.theme.backgroundColor.CGColor;
self.borderLayer.borderColor = self.borderColor.CGColor;
break;
default:
self.backgroundColor = UIColor.clearColor;

View file

@ -130,6 +130,7 @@
mediaManager:roomCellData.mxSession.mediaManager];
// Presence indicator
self.presenceIndicatorView.borderColor = ThemeService.shared.theme.backgroundColor;
self.presenceIndicatorView.presence = roomCellData.presence;
self.presenceIndicatorView.hidden = roomCellData.presence == MXPresenceUnknown;
}

View file

@ -63,6 +63,7 @@
self.roomTitle.textColor = ThemeService.shared.theme.textPrimaryColor;
self.roomTitle1.textColor = ThemeService.shared.theme.textPrimaryColor;
self.roomTitle2.textColor = ThemeService.shared.theme.textPrimaryColor;
self.presenceIndicatorView.borderColor = ThemeService.shared.theme.backgroundColor;
self.editionArrowView.backgroundColor = ThemeService.shared.theme.headerBackgroundColor;

View file

@ -122,6 +122,7 @@
MXUser *contact = [self.mxRoom.mxSession userWithUserId:self.mxRoom.directUserId];
self.presenceIndicatorView.hidden = contact.presence == MXPresenceUnknown;
self.presenceIndicatorView.borderColor = ThemeService.shared.theme.headerBackgroundColor;
self.presenceIndicatorView.presence = contact.presence;
}
}