diff --git a/Riot/Modules/Common/PresenceIndicator/PresenceIndicatorView.h b/Riot/Modules/Common/PresenceIndicator/PresenceIndicatorView.h index 673d56e3c..b370a0942 100644 --- a/Riot/Modules/Common/PresenceIndicator/PresenceIndicatorView.h +++ b/Riot/Modules/Common/PresenceIndicator/PresenceIndicatorView.h @@ -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. */ diff --git a/Riot/Modules/Common/PresenceIndicator/PresenceIndicatorView.m b/Riot/Modules/Common/PresenceIndicator/PresenceIndicatorView.m index 9c61829e2..bdc27fdef 100644 --- a/Riot/Modules/Common/PresenceIndicator/PresenceIndicatorView.m +++ b/Riot/Modules/Common/PresenceIndicator/PresenceIndicatorView.m @@ -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; diff --git a/Riot/Modules/Common/Recents/Views/RecentTableViewCell.m b/Riot/Modules/Common/Recents/Views/RecentTableViewCell.m index 3fedab2c8..4ab4b68bc 100644 --- a/Riot/Modules/Common/Recents/Views/RecentTableViewCell.m +++ b/Riot/Modules/Common/Recents/Views/RecentTableViewCell.m @@ -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; } diff --git a/Riot/Modules/Home/Views/RoomCollectionViewCell.m b/Riot/Modules/Home/Views/RoomCollectionViewCell.m index 2fdd3883a..550aa8ce1 100644 --- a/Riot/Modules/Home/Views/RoomCollectionViewCell.m +++ b/Riot/Modules/Home/Views/RoomCollectionViewCell.m @@ -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; diff --git a/Riot/Modules/Room/Views/Title/RoomTitleView.m b/Riot/Modules/Room/Views/Title/RoomTitleView.m index 2abffafaa..5b4fd538c 100644 --- a/Riot/Modules/Room/Views/Title/RoomTitleView.m +++ b/Riot/Modules/Room/Views/Title/RoomTitleView.m @@ -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; } }