mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-21 17:12:45 +02:00
New async [MXRoom state:]: Make Riot build
This commit is contained in:
@@ -65,46 +65,49 @@
|
||||
self.roomTopic.text = [MXTools stripNewlineCharacters:self.mxRoom.summary.topic];
|
||||
|
||||
// Compute active members count
|
||||
NSArray *members = [self.mxRoom.state.members membersWithMembership:MXMembershipJoin includeConferenceUser:NO];
|
||||
NSUInteger activeCount = 0;
|
||||
NSUInteger memberCount = 0;
|
||||
for (MXRoomMember *mxMember in members)
|
||||
{
|
||||
memberCount ++;
|
||||
[self.mxRoom state:^(MXRoomState *roomState) {
|
||||
|
||||
// Get the user that corresponds to this member
|
||||
MXUser *user = [self.mxRoom.mxSession userWithUserId:mxMember.userId];
|
||||
// existing user ?
|
||||
if (user && user.presence == MXPresenceOnline)
|
||||
NSArray *members = [roomState.members membersWithMembership:MXMembershipJoin includeConferenceUser:NO];
|
||||
NSUInteger activeCount = 0;
|
||||
NSUInteger memberCount = 0;
|
||||
for (MXRoomMember *mxMember in members)
|
||||
{
|
||||
activeCount ++;
|
||||
}
|
||||
}
|
||||
memberCount ++;
|
||||
|
||||
if (memberCount)
|
||||
{
|
||||
// Check whether the logged in user is alone in this room
|
||||
if (memberCount == 1 && self.mxRoom.summary.membership == MXMembershipJoin)
|
||||
{
|
||||
self.roomMembers.text = NSLocalizedStringFromTable(@"room_title_invite_members", @"Vector", nil);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (activeCount > 1)
|
||||
// Get the user that corresponds to this member
|
||||
MXUser *user = [self.mxRoom.mxSession userWithUserId:mxMember.userId];
|
||||
// existing user ?
|
||||
if (user && user.presence == MXPresenceOnline)
|
||||
{
|
||||
self.roomMembers.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"room_title_multiple_active_members", @"Vector", nil), @(activeCount), @(memberCount)];
|
||||
activeCount ++;
|
||||
}
|
||||
}
|
||||
|
||||
if (memberCount)
|
||||
{
|
||||
// Check whether the logged in user is alone in this room
|
||||
if (memberCount == 1 && self.mxRoom.summary.membership == MXMembershipJoin)
|
||||
{
|
||||
self.roomMembers.text = NSLocalizedStringFromTable(@"room_title_invite_members", @"Vector", nil);
|
||||
}
|
||||
else
|
||||
{
|
||||
self.roomMembers.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"room_title_one_active_member", @"Vector", nil), @(activeCount), @(memberCount)];
|
||||
if (activeCount > 1)
|
||||
{
|
||||
self.roomMembers.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"room_title_multiple_active_members", @"Vector", nil), @(activeCount), @(memberCount)];
|
||||
}
|
||||
else
|
||||
{
|
||||
self.roomMembers.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"room_title_one_active_member", @"Vector", nil), @(activeCount), @(memberCount)];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Should not happen
|
||||
self.roomMembers.text = nil;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Should not happen
|
||||
self.roomMembers.text = nil;
|
||||
}
|
||||
}];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -182,51 +182,54 @@
|
||||
self.roomTopic.text = [MXTools stripNewlineCharacters:self.mxRoom.summary.topic];
|
||||
|
||||
// Compute active members count, and look for the inviter
|
||||
NSArray *members = self.mxRoom.state.members.members;
|
||||
NSUInteger activeCount = 0;
|
||||
NSUInteger memberCount = 0;
|
||||
NSString *inviter = nil;
|
||||
|
||||
for (MXRoomMember *mxMember in members)
|
||||
{
|
||||
if (mxMember.membership == MXMembershipJoin)
|
||||
[self.mxRoom state:^(MXRoomState *roomState) {
|
||||
|
||||
NSArray *members = roomState.members.members;
|
||||
NSUInteger activeCount = 0;
|
||||
NSUInteger memberCount = 0;
|
||||
NSString *inviter = nil;
|
||||
|
||||
for (MXRoomMember *mxMember in members)
|
||||
{
|
||||
memberCount ++;
|
||||
|
||||
// Get the user that corresponds to this member
|
||||
MXUser *user = [self.mxRoom.mxSession userWithUserId:mxMember.userId];
|
||||
// existing user ?
|
||||
if (user && user.presence == MXPresenceOnline)
|
||||
if (mxMember.membership == MXMembershipJoin)
|
||||
{
|
||||
activeCount ++;
|
||||
memberCount ++;
|
||||
|
||||
// Get the user that corresponds to this member
|
||||
MXUser *user = [self.mxRoom.mxSession userWithUserId:mxMember.userId];
|
||||
// existing user ?
|
||||
if (user && user.presence == MXPresenceOnline)
|
||||
{
|
||||
activeCount ++;
|
||||
}
|
||||
|
||||
// Presently only one member is available from invited room data
|
||||
// This is the inviter
|
||||
inviter = mxMember.displayname.length ? mxMember.displayname : mxMember.userId;
|
||||
}
|
||||
|
||||
// Presently only one member is available from invited room data
|
||||
// This is the inviter
|
||||
inviter = mxMember.displayname.length ? mxMember.displayname : mxMember.userId;
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME: Display members status when it will be available
|
||||
self.roomMembers.text = nil;
|
||||
// if (memberCount)
|
||||
// {
|
||||
// if (activeCount > 1)
|
||||
// {
|
||||
// self.roomMembers.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"room_title_multiple_active_members", @"Vector", nil), @(activeCount), @(memberCount)];
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// self.roomMembers.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"room_title_one_active_member", @"Vector", nil), @(activeCount), @(memberCount)];
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // Should not happen
|
||||
// self.roomMembers.text = nil;
|
||||
// }
|
||||
|
||||
self.previewLabel.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"room_preview_invitation_format", @"Vector", nil), inviter];
|
||||
|
||||
// FIXME: Display members status when it will be available
|
||||
self.roomMembers.text = nil;
|
||||
// if (memberCount)
|
||||
// {
|
||||
// if (activeCount > 1)
|
||||
// {
|
||||
// self.roomMembers.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"room_title_multiple_active_members", @"Vector", nil), @(activeCount), @(memberCount)];
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// self.roomMembers.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"room_title_one_active_member", @"Vector", nil), @(activeCount), @(memberCount)];
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // Should not happen
|
||||
// self.roomMembers.text = nil;
|
||||
// }
|
||||
|
||||
self.previewLabel.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"room_preview_invitation_format", @"Vector", nil), inviter];
|
||||
}];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user