Call pagination api from appropriate points

This commit is contained in:
ismailgulek
2022-01-04 04:31:18 +03:00
parent 1bccd1543e
commit c938a604de
4 changed files with 78 additions and 0 deletions
+21
View File
@@ -25,6 +25,8 @@
RecentsDataSource *recentsDataSource;
}
@property (nonatomic, strong) MXThrottler *tableViewPaginationThrottler;
@end
@implementation RoomsViewController
@@ -41,6 +43,7 @@
[super finalizeInit];
self.screenTimer = [[AnalyticsScreenTimer alloc] initWithScreen:AnalyticsScreenRooms];
self.tableViewPaginationThrottler = [[MXThrottler alloc] initWithMinimumDelay:0.1];
}
- (void)viewDidLoad
@@ -112,6 +115,24 @@
return [super tableView:tableView heightForHeaderInSection:section];
}
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([super respondsToSelector:@selector(tableView:willDisplayCell:forRowAtIndexPath:)])
{
[super tableView:tableView willDisplayCell:cell forRowAtIndexPath:indexPath];
}
[self.tableViewPaginationThrottler throttle:^{
NSInteger section = indexPath.section;
NSInteger numberOfRowsInSection = [tableView numberOfRowsInSection:section];
if (tableView.numberOfSections > section
&& indexPath.row == numberOfRowsInSection - 1)
{
[self->recentsDataSource paginateInSection:section];
}
}];
}
#pragma mark -
- (void)scrollToNextRoomWithMissedNotifications