From 4c5ff18b75a92387d76783257eefb8d47fc98f4a Mon Sep 17 00:00:00 2001 From: yannick Date: Mon, 21 Dec 2015 14:28:18 +0100 Subject: [PATCH] room_members_search remove the session property --- Vector/Views/Contact/ContactTableViewCell.h | 4 --- Vector/Views/Contact/ContactTableViewCell.m | 33 ++++++++++++++------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/Vector/Views/Contact/ContactTableViewCell.h b/Vector/Views/Contact/ContactTableViewCell.h index fed81fd21..d1f1594c8 100644 --- a/Vector/Views/Contact/ContactTableViewCell.h +++ b/Vector/Views/Contact/ContactTableViewCell.h @@ -42,9 +42,5 @@ // This property is OPTIONAL. @property (nonatomic) MXRoom* mxRoom; -// The session where this contact is displayed. -// It is MANDATORY. -@property (nonatomic) MXSession* mxSession; - @end diff --git a/Vector/Views/Contact/ContactTableViewCell.m b/Vector/Views/Contact/ContactTableViewCell.m index 1c54e0e4f..2c95c507d 100644 --- a/Vector/Views/Contact/ContactTableViewCell.m +++ b/Vector/Views/Contact/ContactTableViewCell.m @@ -22,11 +22,11 @@ #import "AvatarGenerator.h" +#import "MXKContactManager.h" + @interface ContactTableViewCell() { - /** - The current displayed contact. - */ + // The current displayed contact. MXKContact *contact; /** @@ -37,7 +37,7 @@ @end @implementation ContactTableViewCell -@synthesize mxRoom, mxSession; +@synthesize mxRoom; - (void)awakeFromNib { @@ -194,14 +194,14 @@ { NSString* presenceText = nil; NSString* matrixId = [self getFirstMatrixId]; - MXRoomMember* member = [self.mxRoom.state memberWithUserId:matrixId]; - - // the oneself user is always active - if ([matrixId isEqualToString:self.mxSession.myUser.userId]) + MXRoomMember* member = nil; + + if (self.mxRoom) { - presenceText = NSLocalizedStringFromTable(@"room_participants_active", @"Vector", nil); + member = [self.mxRoom.state memberWithUserId:matrixId]; } - else if (!member || (member.membership != MXMembershipJoin)) + + if (!member || (member.membership != MXMembershipJoin)) { if (member.membership == MXMembershipInvite) { @@ -218,8 +218,19 @@ } else { - MXUser *user = [self.mxSession userWithUserId:matrixId]; + MXUser *user = nil; + // Consider here all sessions reported into contact manager + NSArray* mxSessions = [MXKContactManager sharedManager].mxSessions; + for (MXSession *mxSession in mxSessions) + { + user = [mxSession userWithUserId:matrixId]; + if (user) + { + break; + } + } + if (user) { if (user.presence == MXPresenceOnline)