Fix potentially redundant table reloading.

This commit is contained in:
Doug
2021-09-03 18:18:36 +01:00
parent 29daec8173
commit 8d4a4706d6
2 changed files with 17 additions and 5 deletions
+10 -3
View File
@@ -97,10 +97,17 @@ const CGFloat kTypingCellHeight = 24;
}];
// Observe URL preview updates.
kURLPreviewDidUpdateNotificationObserver = [NSNotificationCenter.defaultCenter addObserverForName:URLPreviewDidUpdateNotification object:nil queue:NSOperationQueue.mainQueue usingBlock:^(NSNotification * _Nonnull note) {
kURLPreviewDidUpdateNotificationObserver = [NSNotificationCenter.defaultCenter addObserverForName:URLPreviewDidUpdateNotification object:nil queue:NSOperationQueue.mainQueue usingBlock:^(NSNotification * _Nonnull notification) {
// Refresh all cells.
[self refreshCells];
if (![(NSString*)notification.userInfo[@"roomId"] isEqualToString:self.roomId] || !self.delegate)
{
return;
}
// Refresh the updated cell.
// Note - it doesn't appear as though MXKRoomViewController actually uses the index path.
NSInteger index = [self indexOfCellDataWithEventId:(NSString*)notification.userInfo[@"eventId"]];
[self.delegate dataSource:self didCellChange:[NSIndexPath indexPathWithIndex:index]];
}];
[self registerKeyVerificationRequestNotification];