diff --git a/Riot/Modules/Common/Recents/RecentsViewController.m b/Riot/Modules/Common/Recents/RecentsViewController.m index 0bcceb09a..0b8e9efbb 100644 --- a/Riot/Modules/Common/Recents/RecentsViewController.m +++ b/Riot/Modules/Common/Recents/RecentsViewController.m @@ -29,6 +29,7 @@ #import "InviteRecentTableViewCell.h" #import "DirectoryRecentTableViewCell.h" #import "RoomIdOrAliasTableViewCell.h" +#import "TableViewCellWithCollectionView.h" #import "GeneratedInterface-Swift.h" @@ -1006,9 +1007,32 @@ NSString *const RecentsViewControllerDataReadyNotification = @"RecentsViewContro - (void)dataSource:(MXKDataSource *)dataSource didCellChange:(id)changes { - [super dataSource:dataSource didCellChange:changes]; + BOOL cellReloaded = NO; + if ([changes isKindOfClass:NSNumber.class]) + { + NSInteger section = ((NSNumber *)changes).integerValue; + if (section >= 0) + { + NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:section]; + UITableViewCell *cell = [self.recentsTableView cellForRowAtIndexPath:indexPath]; + if ([cell isKindOfClass:TableViewCellWithCollectionView.class]) + { + TableViewCellWithCollectionView *collectionViewCell = (TableViewCellWithCollectionView *)cell; + [collectionViewCell.collectionView reloadData]; + cellReloaded = YES; + } + } + } - [self showEmptyViewIfNeeded]; + if (!cellReloaded) + { + [super dataSource:dataSource didCellChange:changes]; + } + + if (changes == nil) + { + [self showEmptyViewIfNeeded]; + } if (dataSource.state == MXKDataSourceStateReady) {