Merge pull request #1940 from vector-im/reduce_room_state_dependency

Reduce dependency to room.state
This commit is contained in:
manuroe 2018-07-18 04:33:10 +00:00 committed by GitHub
commit 01182b8ab7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 70 additions and 71 deletions

View file

@ -2544,7 +2544,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
MXSession *session = self.mxSessions.firstObject;
for (MXRoom *room in session.rooms)
{
if (room.state.isEncrypted)
if (room.summary.isEncrypted)
{
message = [message stringByAppendingString:[NSString stringWithFormat:@"\n\n%@", NSLocalizedStringFromTable(@"settings_sign_out_e2e_warn", @"Vector", nil)]];
break;
@ -3201,7 +3201,7 @@ NSString *const kAppDelegateNetworkStatusDidChangeNotification = @"kAppDelegateN
success:^(MXRoom *room) {
// Open created room
[self showRoom:room.state.roomId andEventId:nil withMatrixSession:mxSession];
[self showRoom:room.roomId andEventId:nil withMatrixSession:mxSession];
if (completion)
{

View file

@ -43,7 +43,7 @@
NSString* tagOrder = [self.mxSession tagOrderToBeAtIndex:0 from:NSNotFound withTag:tag];
NSLog(@"[MXRoom+Riot] Update the room %@ tag from %@ to %@ with tag order %@", self.state.roomId, oldTag, tag, tagOrder);
NSLog(@"[MXRoom+Riot] Update the room %@ tag from %@ to %@ with tag order %@", self.roomId, oldTag, tag, tagOrder);
[self replaceTag:oldTag
byTag:tag
@ -57,7 +57,7 @@
} failure:^(NSError *error) {
NSLog(@"[MXRoom+Riot] Failed to update the tag %@ of room (%@)", tag, self.state.roomId);
NSLog(@"[MXRoom+Riot] Failed to update the tag %@ of room (%@)", tag, self.roomId);
NSString *userId = self.mxSession.myUser.userId;
// Notify user
@ -95,7 +95,7 @@
MXJSONModelSetString(key, ruleCondition.parameters[@"key"]);
MXJSONModelSetString(pattern, ruleCondition.parameters[@"pattern"]);
if (key && pattern && [key isEqualToString:@"room_id"] && [pattern isEqualToString:self.state.roomId])
if (key && pattern && [key isEqualToString:@"room_id"] && [pattern isEqualToString:self.roomId])
{
return rule.enabled;
}
@ -337,7 +337,7 @@
{
// the rule id is the room Id
// it is the server trick to avoid duplicated rule on the same room.
if ([rule.ruleId isEqualToString:self.state.roomId])
if ([rule.ruleId isEqualToString:self.roomId])
{
return rule;
}
@ -358,7 +358,7 @@
{
// the rule id is the room Id
// it is the server trick to avoid duplicated rule on the same room.
if ([rule.ruleId isEqualToString:self.state.roomId])
if ([rule.ruleId isEqualToString:self.roomId])
{
return rule;
}
@ -421,7 +421,7 @@
}];
}
[notificationCenter addRoomRule:self.state.roomId
[notificationCenter addRoomRule:self.roomId
notify:NO
sound:NO
highlight:NO];
@ -480,8 +480,8 @@
}];
}
[notificationCenter addOverrideRuleWithId:self.state.roomId
conditions:@[@{@"kind":@"event_match", @"key":@"room_id", @"pattern":self.state.roomId}]
[notificationCenter addOverrideRuleWithId:self.roomId
conditions:@[@{@"kind":@"event_match", @"key":@"room_id", @"pattern":self.roomId}]
notify:NO
sound:NO
highlight:NO];

View file

@ -86,16 +86,16 @@
[_roomDataSource finalizeInitialization];
_roomDataSource.markTimelineInitialEvent = YES;
_roomName = peekingRoom.state.name;
_roomAvatarUrl = peekingRoom.state.avatar;
_roomName = peekingRoom.summary.displayname;
_roomAvatarUrl = peekingRoom.summary.avatar;
_roomTopic = [MXTools stripNewlineCharacters:peekingRoom.state.topic];;
_roomTopic = [MXTools stripNewlineCharacters:peekingRoom.summary.topic];;
_roomAliases = peekingRoom.state.aliases;
// Room members count
// Note that room members presence/activity is not available
_numJoinedMembers = 0;
for (MXRoomMember *mxMember in peekingRoom.state.members)
for (MXRoomMember *mxMember in peekingRoom.state.members.members)
{
if (mxMember.membership == MXMembershipJoin)
{

View file

@ -387,7 +387,7 @@
else if (self.mxCall.isConferenceCall)
{
peerDisplayName = self.mxCall.room.summary.displayname;
peerAvatarURL = self.mxCall.room.state.avatar;
peerAvatarURL = self.mxCall.room.summary.avatar;
}
self.callerNameLabel.text = peerDisplayName;
@ -447,7 +447,7 @@
if (self.mxCall.room)
{
// Open the room page
[[AppDelegate theDelegate] showRoom:self.mxCall.room.state.roomId andEventId:nil withMatrixSession:self.mxCall.room.mxSession];
[[AppDelegate theDelegate] showRoom:self.mxCall.room.roomId andEventId:nil withMatrixSession:self.mxCall.room.mxSession];
}
}];

View file

@ -1085,7 +1085,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou
{
[lowPriorityCellDataArray addObject:recentCellDataStoring];
}
else if (room.state.membership == MXMembershipInvite)
else if (room.summary.membership == MXMembershipInvite)
{
[invitesCellDataArray addObject:recentCellDataStoring];
}
@ -1111,7 +1111,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou
// Keep only the direct rooms which are not low priority
if (room.isDirect && !room.accountData.tags[kMXRoomTagLowPriority])
{
if (room.state.membership == MXMembershipInvite)
if (room.summary.membership == MXMembershipInvite)
{
[invitesCellDataArray addObject:recentCellDataStoring];
}
@ -1127,7 +1127,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou
if (!room.isDirect)
{
// Keep only the invites, the favourites and the rooms without tag
if (room.state.membership == MXMembershipInvite)
if (room.summary.membership == MXMembershipInvite)
{
[invitesCellDataArray addObject:recentCellDataStoring];
}
@ -1179,7 +1179,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou
}
}
}
else if (room.state.membership == MXMembershipInvite)
else if (room.summary.membership == MXMembershipInvite)
{
if (room.isDirect)
{
@ -1489,7 +1489,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou
NSString* tagOrder = [room.mxSession tagOrderToBeAtIndex:newPath.row from:oldPos withTag:dstRoomTag];
NSLog(@"[RecentsDataSource] Update the room %@ [%@] tag from %@ to %@ with tag order %@", room.state.roomId, room.summary.displayname, oldRoomTag, dstRoomTag, tagOrder);
NSLog(@"[RecentsDataSource] Update the room %@ [%@] tag from %@ to %@ with tag order %@", room.roomId, room.summary.displayname, oldRoomTag, dstRoomTag, tagOrder);
[room replaceTag:oldRoomTag
byTag:dstRoomTag
@ -1507,7 +1507,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou
} failure:^(NSError *error) {
NSLog(@"[RecentsDataSource] Failed to update the tag %@ of room (%@)", dstRoomTag, room.state.roomId);
NSLog(@"[RecentsDataSource] Failed to update the tag %@ of room (%@)", dstRoomTag, room.roomId);
if (moveFailure)
{

View file

@ -756,7 +756,7 @@
{
id<MXKRecentCellDataStoring> cellDataStoring = (id<MXKRecentCellDataStoring> )cellData;
if (cellDataStoring.roomSummary.room.state.membership != MXMembershipInvite)
if (cellDataStoring.roomSummary.room.summary.membership != MXMembershipInvite)
{
return RecentTableViewCell.class;
}
@ -787,7 +787,7 @@
MXRoom *invitedRoom = userInfo[kInviteRecentTableViewCellRoomKey];
// Display the room preview
[[AppDelegate theDelegate].masterTabBarController selectRoomWithId:invitedRoom.state.roomId andEventId:nil inMatrixSession:invitedRoom.mxSession];
[[AppDelegate theDelegate].masterTabBarController selectRoomWithId:invitedRoom.roomId andEventId:nil inMatrixSession:invitedRoom.mxSession];
}
else if ([actionIdentifier isEqualToString:kInviteRecentTableViewCellDeclineButtonPressed])
{
@ -803,7 +803,7 @@
} failure:^(NSError *error) {
NSLog(@"[RecentsViewController] Failed to reject an invited room (%@)", invitedRoom.state.roomId);
NSLog(@"[RecentsViewController] Failed to reject an invited room (%@)", invitedRoom.roomId);
}];
}
@ -827,13 +827,13 @@
if (room)
{
// Display no action for the invited room
if (room.state.membership == MXMembershipInvite)
if (room.summary.membership == MXMembershipInvite)
{
return actions;
}
// Store the identifier of the room related to the edited cell.
editedRoomId = room.state.roomId;
editedRoomId = room.roomId;
NSString* title = @" ";
@ -990,11 +990,11 @@
// cancel pending uploads/downloads
// they are useless by now
[MXMediaManager cancelDownloadsInCacheFolder:room.state.roomId];
[MXMediaManager cancelDownloadsInCacheFolder:room.roomId];
// TODO GFO cancel pending uploads related to this room
NSLog(@"[RecentsViewController] Leave room (%@)", room.state.roomId);
NSLog(@"[RecentsViewController] Leave room (%@)", room.roomId);
[room leave:^{
@ -1702,7 +1702,7 @@
currentAlert = nil;
}
[[AppDelegate theDelegate].masterTabBarController selectRoomWithId:room.state.roomId andEventId:nil inMatrixSession:self.mainSession];
[[AppDelegate theDelegate].masterTabBarController selectRoomWithId:room.roomId andEventId:nil inMatrixSession:self.mainSession];
// Force the expanded header
[AppDelegate theDelegate].masterTabBarController.currentRoomViewController.showExpandedHeader = YES;
@ -1801,7 +1801,7 @@
[self.activityIndicator stopAnimating];
// Show the room
[[AppDelegate theDelegate] showRoom:room.state.roomId andEventId:nil withMatrixSession:self.mainSession];
[[AppDelegate theDelegate] showRoom:room.roomId andEventId:nil withMatrixSession:self.mainSession];
} failure:^(NSError *error) {

View file

@ -732,7 +732,7 @@
// [self.activityIndicator stopAnimating];
//
// // Show the room
// [[AppDelegate theDelegate] showRoom:room.state.roomId andEventId:nil withMatrixSession:self.mainSession];
// [[AppDelegate theDelegate] showRoom:room.roomId andEventId:nil withMatrixSession:self.mainSession];
//
// } failure:^(NSError *error) {
//

View file

@ -1050,7 +1050,7 @@
[self removePendingActionMask];
[[AppDelegate theDelegate] showRoom:room.state.roomId andEventId:nil withMatrixSession:self.mainSession];
[[AppDelegate theDelegate] showRoom:room.roomId andEventId:nil withMatrixSession:self.mainSession];
}
failure:^(NSError *error) {

View file

@ -65,7 +65,7 @@ static const CGFloat kDirectRoomBorderWidth = 3.0;
self.directRoomBorderView.hidden = !room.isDirect;
self.encryptedRoomIcon.hidden = !room.state.isEncrypted;
self.encryptedRoomIcon.hidden = !room.summary.isEncrypted;
}
- (void)prepareForReuse

View file

@ -462,13 +462,13 @@
if (room)
{
// Display no action for the invited room
if (room.state.membership == MXMembershipInvite)
if (room.summary.membership == MXMembershipInvite)
{
return;
}
// Store the identifier of the room related to the edited cell.
selectedRoomId = room.state.roomId;
selectedRoomId = room.roomId;
// Store the concerned section
selectedCollectionViewContentOffset = -1;
selectedSection = selectedCell.collectionViewTag;

View file

@ -143,7 +143,7 @@ static const CGFloat kDirectRoomBorderWidth = 3.0;
self.roomTitle.font = self.roomTitle1.font = self.roomTitle2.font = [UIFont boldSystemFontOfSize:13];
}
}
else if (roomCellData.roomSummary.room.state.membership == MXMembershipInvite)
else if (roomCellData.roomSummary.room.summary.membership == MXMembershipInvite)
{
self.missedNotifAndUnreadBadgeBgView.hidden = NO;
self.missedNotifAndUnreadBadgeBgView.backgroundColor = kRiotColorPinkRed;

View file

@ -454,7 +454,7 @@ NSString *const kIntegrationManagerAddIntegrationScreen = @"add_integ";
MXRoom *room = [self roomCheckForRequest:requestId data:requestData];
if (room)
{
[self sendBoolResponse:room.state.isEncrypted toRequest:requestId];
[self sendBoolResponse:room.summary.isEncrypted toRequest:requestId];
}
}
@ -467,7 +467,7 @@ NSString *const kIntegrationManagerAddIntegrationScreen = @"add_integ";
if (room)
{
if (room.state.membership != MXMembershipJoin)
if (room.summary.membership != MXMembershipJoin)
{
[self sendLocalisedError:@"widget_integration_must_be_in_room" toRequest:requestId];
return;
@ -692,7 +692,7 @@ NSString *const kIntegrationManagerAddIntegrationScreen = @"add_integ";
MXRoom *room = [self roomCheckForRequest:requestId data:requestData];
if (room)
{
NSUInteger membershipCount = room.state.membersCount.joined;
NSUInteger membershipCount = room.summary.membersCount.joined;
[self sendIntegerResponse:membershipCount toRequest:requestId];
}
}

View file

@ -370,7 +370,7 @@
if (notif.object == _mxRoom.mxSession)
{
NSString *roomId = notif.userInfo[kMXSessionNotificationRoomIdKey];
if (roomId && [roomId isEqualToString:_mxRoom.state.roomId])
if (roomId && [roomId isEqualToString:_mxRoom.roomId])
{
// We remove the current view controller.
[self withdrawViewControllerAnimated:YES completion:nil];
@ -382,7 +382,7 @@
roomDidFlushDataNotificationObserver = [[NSNotificationCenter defaultCenter] addObserverForName:kMXRoomDidFlushDataNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *notif) {
MXRoom *room = notif.object;
if (_mxRoom.mxSession == room.mxSession && [_mxRoom.state.roomId isEqualToString:room.state.roomId])
if (_mxRoom.mxSession == room.mxSession && [_mxRoom.roomId isEqualToString:room.roomId])
{
// The existing room history has been flushed during server sync. Take into account the updated room members list.
[self refreshParticipantsFromRoomMembers];
@ -1386,7 +1386,7 @@
} failure:^(NSError *error) {
[self removePendingActionMask];
NSLog(@"[RoomParticipantsVC] Leave room %@ failed", self.mxRoom.state.roomId);
NSLog(@"[RoomParticipantsVC] Leave room %@ failed", self.mxRoom.roomId);
// Alert user
[[AppDelegate theDelegate] showErrorAsAlert:error];

View file

@ -553,7 +553,7 @@
// Warn about the beta state of e2e encryption when entering the first time in an encrypted room
MXKAccount *account = [[MXKAccountManager sharedManager] accountForUserId:self.roomDataSource.mxSession.myUser.userId];
if (account && !account.isWarnedAboutEncryption && self.roomDataSource.room.state.isEncrypted)
if (account && !account.isWarnedAboutEncryption && self.roomDataSource.room.summary.isEncrypted)
{
[currentAlert dismissViewControllerAnimated:NO completion:nil];
@ -830,7 +830,7 @@
- (void)onRoomDataSourceReady
{
// Handle here invitation
if (self.roomDataSource.room.state.membership == MXMembershipInvite)
if (self.roomDataSource.room.summary.membership == MXMembershipInvite)
{
self.navigationItem.rightBarButtonItem.enabled = NO;
@ -1004,7 +1004,7 @@
[self.mainSession joinRoom:roomAlias success:^(MXRoom *room) {
// Show the room
[[AppDelegate theDelegate] showRoom:room.state.roomId andEventId:nil withMatrixSession:self.mainSession];
[[AppDelegate theDelegate] showRoom:room.roomId andEventId:nil withMatrixSession:self.mainSession];
} failure:^(NSError *error) {
@ -1232,7 +1232,7 @@
return YES;
}
if (self.roomDataSource && self.roomDataSource.state == MXKDataSourceStateReady && self.roomDataSource.room.state.membership == MXMembershipInvite)
if (self.roomDataSource && self.roomDataSource.state == MXKDataSourceStateReady && self.roomDataSource.room.summary.membership == MXMembershipInvite)
{
return YES;
}
@ -1335,7 +1335,7 @@
RoomInputToolbarView *roomInputToolbarView = (RoomInputToolbarView*)self.inputToolbarView;
// Check whether the call option is supported
roomInputToolbarView.supportCallOption = self.roomDataSource.mxSession.callManager && self.roomDataSource.room.state.membersCount.joined >= 2;
roomInputToolbarView.supportCallOption = self.roomDataSource.mxSession.callManager && self.roomDataSource.room.summary.membersCount.joined >= 2;
// Get user picture view in input toolbar
userPictureView = roomInputToolbarView.pictureView;
@ -1357,7 +1357,7 @@
}
// Check whether the encryption is enabled in the room
if (self.roomDataSource.room.state.isEncrypted)
if (self.roomDataSource.room.summary.isEncrypted)
{
// Encrypt the user's messages as soon as the user supports the encryption?
roomInputToolbarView.isEncryptionEnabled = (self.mainSession.crypto != nil);
@ -1423,7 +1423,7 @@
// - if the view controller is not embedded inside a split view controller yet.
// - if the encryption view is displayed
// - if the event details view is displayed
if (isVisible && (isSizeTransitionInProgress == YES || !self.roomDataSource || !self.roomDataSource.isLive || (self.roomDataSource.room.state.membership != MXMembershipJoin) || !self.splitViewController || encryptionInfoView.superview || eventDetailsView.superview))
if (isVisible && (isSizeTransitionInProgress == YES || !self.roomDataSource || !self.roomDataSource.isLive || (self.roomDataSource.room.summary.membership != MXMembershipJoin) || !self.splitViewController || encryptionInfoView.superview || eventDetailsView.superview))
{
NSLog(@"[RoomVC] Show expanded header ignored");
return;
@ -1744,7 +1744,7 @@
- (Class<MXKCellRendering>)cellViewClassForCellData:(MXKCellData*)cellData
{
Class cellViewClass = nil;
BOOL isEncryptedRoom = self.roomDataSource.room.state.isEncrypted;
BOOL isEncryptedRoom = self.roomDataSource.room.summary.isEncrypted;
// Sanity check
if ([cellData conformsToProtocol:@protocol(MXKRoomBubbleCellDataStoring)])
@ -2562,7 +2562,7 @@
}]];
}
if (level == 1 && self.roomDataSource.room.state.isEncrypted)
if (level == 1 && self.roomDataSource.room.summary.isEncrypted)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:NSLocalizedStringFromTable(@"room_event_action_view_encryption", @"Vector", nil)
style:UIAlertActionStyleDefault
@ -3015,7 +3015,7 @@
// If enabled, create the conf using jitsi widget and open it directly
else if (RiotSettings.shared.createConferenceCallsWithJitsi
&& self.roomDataSource.room.state.membersCount.joined > 2)
&& self.roomDataSource.room.summary.membersCount.joined > 2)
{
[self startActivityIndicator];
@ -3043,7 +3043,7 @@
}];
}
// Classic conference call is not supported in encrypted rooms
else if (self.roomDataSource.room.state.isEncrypted && self.roomDataSource.room.state.membersCount.joined > 2)
else if (self.roomDataSource.room.summary.isEncrypted && self.roomDataSource.room.summary.membersCount.joined > 2)
{
[currentAlert dismissViewControllerAnimated:NO completion:nil];
@ -3066,7 +3066,7 @@
}
// In case of conference call, check that the user has enough power level
else if (self.roomDataSource.room.state.membersCount.joined > 2 &&
else if (self.roomDataSource.room.summary.membersCount.joined > 2 &&
![MXCallManager canPlaceConferenceCallInRoom:self.roomDataSource.room])
{
[currentAlert dismissViewControllerAnimated:NO completion:nil];
@ -3539,7 +3539,7 @@
} failure:^(NSError *error) {
[self stopActivityIndicator];
NSLog(@"[RoomVC] Failed to reject an invited room (%@) failed", self.roomDataSource.room.state.roomId);
NSLog(@"[RoomVC] Failed to reject an invited room (%@) failed", self.roomDataSource.room.roomId);
}];
}

View file

@ -194,7 +194,7 @@ NSString *const kRoomSettingsAdvancedE2eEnabledCellViewIdentifier = @"kRoomSetti
if (direction == MXTimelineDirectionForwards)
{
[self updateRoomState:mxRoom.state];
[self updateRoomState:roomState];
}
}];
}
@ -2002,7 +2002,7 @@ NSString *const kRoomSettingsAdvancedE2eEnabledCellViewIdentifier = @"kRoomSetti
{
count++;
if (mxRoom.state.isEncrypted)
if (mxRoom.summary.isEncrypted)
{
count++;
}
@ -2670,7 +2670,7 @@ NSString *const kRoomSettingsAdvancedE2eEnabledCellViewIdentifier = @"kRoomSetti
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
else if (mxRoom.state.isEncrypted)
else if (mxRoom.summary.isEncrypted)
{
if (indexPath.row == 1)
{

View file

@ -33,7 +33,7 @@ NSString *const kRoomEncryptedDataBubbleCellTapOnEncryptionIcon = @"kRoomEncrypt
{
// Patch: Display the verified icon by default on pending outgoing messages in the encrypted rooms when the encryption is enabled
MXRoom *room = [session roomWithRoomId:event.roomId];
if (room.state.isEncrypted && session.crypto)
if (room.summary.isEncrypted && session.crypto)
{
// The outgoing message are encrypted by default
encryptionIcon = @"e2e_verified";

View file

@ -62,7 +62,7 @@
self.displayNameTextField.textColor = kRiotPrimaryTextColor;
}
self.roomTopic.text = [MXTools stripNewlineCharacters:self.mxRoom.state.topic];
self.roomTopic.text = [MXTools stripNewlineCharacters:self.mxRoom.summary.topic];
// Compute active members count
NSArray *members = [self.mxRoom.state.members membersWithMembership:MXMembershipJoin includeConferenceUser:NO];
@ -84,7 +84,7 @@
if (memberCount)
{
// Check whether the logged in user is alone in this room
if (memberCount == 1 && self.mxRoom.state.membership == MXMembershipJoin)
if (memberCount == 1 && self.mxRoom.summary.membership == MXMembershipJoin)
{
self.roomMembers.text = NSLocalizedStringFromTable(@"room_title_invite_members", @"Vector", nil);
}

View file

@ -179,10 +179,10 @@
}
// Display room topic
self.roomTopic.text = [MXTools stripNewlineCharacters:self.mxRoom.state.topic];
self.roomTopic.text = [MXTools stripNewlineCharacters:self.mxRoom.summary.topic];
// Compute active members count, and look for the inviter
NSArray *members = self.mxRoom.state.members;
NSArray *members = self.mxRoom.state.members.members;
NSUInteger activeCount = 0;
NSUInteger memberCount = 0;
NSString *inviter = nil;

View file

@ -2973,7 +2973,7 @@ typedef void (^blockSettingsViewController_onReadyToDestroy)();
for (MXRoom *room in session.rooms)
{
if (room.state.isEncrypted)
if (room.summary.isEncrypted)
{
MXKRoomDataSource *roomDataSource = [roomDataSourceManager roomDataSourceForRoom:room.roomId create:NO];
[roomDataSource reload];

View file

@ -582,7 +582,7 @@
[self stopActivityIndicator];
[[AppDelegate theDelegate] showRoom:room.state.roomId andEventId:nil withMatrixSession:self.mainSession];
[[AppDelegate theDelegate] showRoom:room.roomId andEventId:nil withMatrixSession:self.mainSession];
} failure:^(NSError *error) {

View file

@ -361,7 +361,7 @@ NSString *const kEventFormatterOnReRequestKeysLinkActionSeparator = @"/";
NSString* myUserId = mxSession.myUser.userId;
NSArray* members = roomState.members;
NSArray* members = roomState.members.members;
NSMutableArray* othersActiveMembers = [[NSMutableArray alloc] init];
NSMutableArray* activeMembers = [[NSMutableArray alloc] init];
@ -461,12 +461,11 @@ NSString *const kEventFormatterOnReRequestKeysLinkActionSeparator = @"/";
if (!roomAvatarUrl)
{
// If the room has only two members, use the avatar of the second member.
NSArray* members = roomState.members.members;
if (members.count == 2)
if (roomState.membersCount.members == 2)
{
NSString* myUserId = mxSession.myUser.userId;
NSArray* members = roomState.members.members;
for (MXRoomMember *roomMember in members)
{
if (![roomMember.userId isEqualToString:myUserId])

View file

@ -667,7 +667,7 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
UIImage *thumbnail = nil;
// Thumbnail is useful only in case of encrypted room
if (room.state.isEncrypted)
if (room.summary.isEncrypted)
{
thumbnail = [MXKTools reduceImage:convertedImage toFitInSize:CGSizeMake(800, 600)];
if (thumbnail == convertedImage)