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. Border width of the presence indicator.
*/ */
@property (nonatomic) IBInspectable CGFloat borderWidth; @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. Presence status to display.
*/ */

View file

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

View file

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

View file

@ -63,6 +63,7 @@
self.roomTitle.textColor = ThemeService.shared.theme.textPrimaryColor; self.roomTitle.textColor = ThemeService.shared.theme.textPrimaryColor;
self.roomTitle1.textColor = ThemeService.shared.theme.textPrimaryColor; self.roomTitle1.textColor = ThemeService.shared.theme.textPrimaryColor;
self.roomTitle2.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; self.editionArrowView.backgroundColor = ThemeService.shared.theme.headerBackgroundColor;

View file

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