SIOS-20 : the left participants are not displayed by default (must be enabled in the device settings)

This commit is contained in:
Yannick Le Collen
2014-12-17 14:40:39 +01:00
parent 88d7b6b19e
commit 8a97f1f291
5 changed files with 38 additions and 4 deletions
@@ -647,7 +647,21 @@ NSString *const kCmdResetUserPowerLevel = @"/deop";
# pragma mark - Room members
- (void)updateRoomMembers {
members = [[self.mxRoom.state members] sortedArrayUsingComparator:^NSComparisonResult(MXRoomMember *member1, MXRoomMember *member2) {
NSArray* membersList = [self.mxRoom.state members];
if (![[AppSettings sharedSettings] displayLeftUsers]) {
NSMutableArray* filteredMembers = [[NSMutableArray alloc] init];
for (MXRoomMember* member in membersList) {
if (member.membership != MXMembershipLeave) {
[filteredMembers addObject:member];
}
}
membersList = filteredMembers;
}
members = [membersList sortedArrayUsingComparator:^NSComparisonResult(MXRoomMember *member1, MXRoomMember *member2) {
// Move banned and left members at the end of the list
if (member1.membership == MXMembershipLeave || member1.membership == MXMembershipBan) {
if (member2.membership != MXMembershipLeave && member2.membership != MXMembershipBan) {
@@ -665,7 +679,7 @@ NSString *const kCmdResetUserPowerLevel = @"/deop";
} else if (member2.membership == MXMembershipInvite) {
return NSOrderedAscending;
}
if ([[AppSettings sharedSettings] sortMembersUsingLastSeenTime]) {
// Get the users that correspond to these members
MatrixHandler *mxHandler = [MatrixHandler sharedHandler];