Glitchy room list header when scrolling

- fixed
This commit is contained in:
Gil Eluard
2022-09-01 16:56:18 +02:00
parent f8b0c61691
commit fcc1a8a404
18 changed files with 1415 additions and 214 deletions
@@ -1714,7 +1714,10 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou
- (void)recentsListServiceDidChangeData:(id<RecentsListServiceProtocol>)service
totalCountsChanged:(BOOL)totalCountsChanged
{
[[AppDelegate theDelegate].masterTabBarController refreshTabBarBadges];
if (!BuildSettings.isNewAppLayoutActivated)
{
[[AppDelegate theDelegate].masterTabBarController refreshTabBarBadges];
}
}
- (void)recentsListServiceDidChangeData:(id<RecentsListServiceProtocol>)service
@@ -373,8 +373,6 @@ NSString *const RecentsViewControllerDataReadyNotification = @"RecentsViewContro
- (void)refreshRecentsTable
{
MXLogDebug(@"[RecentsViewController]: Refreshing recents table view")
if (!self.recentsUpdateEnabled)
{
isRefreshNeeded = YES;
@@ -384,7 +382,11 @@ NSString *const RecentsViewControllerDataReadyNotification = @"RecentsViewContro
isRefreshNeeded = NO;
// Refresh the tabBar icon badges
[[AppDelegate theDelegate].masterTabBarController refreshTabBarBadges];
if (!BuildSettings.isNewAppLayoutActivated)
{
// Refresh the tabBar icon badges
[[AppDelegate theDelegate].masterTabBarController refreshTabBarBadges];
}
// do not refresh if there is a pending recent drag and drop
if (movingCellPath)
@@ -1103,9 +1105,12 @@ NSString *const RecentsViewControllerDataReadyNotification = @"RecentsViewContro
[self refreshRecentsTable];
}
// Since we've enabled room list pagination, `refreshRecentsTable` not called in this case.
// Refresh tab bar badges separately.
[[AppDelegate theDelegate].masterTabBarController refreshTabBarBadges];
if (!BuildSettings.isNewAppLayoutActivated)
{
// Since we've enabled room list pagination, `refreshRecentsTable` not called in this case.
// Refresh tab bar badges separately.
[[AppDelegate theDelegate].masterTabBarController refreshTabBarBadges];
}
[self showEmptyViewIfNeeded];
@@ -1513,6 +1518,12 @@ NSString *const RecentsViewControllerDataReadyNotification = @"RecentsViewContro
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (!self.recentsSearchBar)
{
[super scrollViewDidScroll:scrollView];
return;
}
dispatch_async(dispatch_get_main_queue(), ^{
[self refreshStickyHeadersContainersHeight];
@@ -88,7 +88,7 @@
{
self.lastEventDescription.text = roomCellData.lastEventTextMessage;
}
self.unsentImageView.hidden = roomCellData.roomSummary.sentStatus == MXRoomSummarySentStatusOk;
self.lastEventDecriptionLabelTrailingConstraint.constant = self.unsentImageView.hidden ? 10 : 30;
@@ -96,17 +96,17 @@
if (roomCellData.hasUnread)
{
self.missedNotifAndUnreadIndicator.hidden = NO;
if (0 < roomCellData.notificationCount)
{
self.missedNotifAndUnreadIndicator.backgroundColor = roomCellData.highlightCount ? ThemeService.shared.theme.noticeColor : ThemeService.shared.theme.noticeSecondaryColor;
self.missedNotifAndUnreadBadgeBgView.hidden = NO;
self.missedNotifAndUnreadBadgeBgView.backgroundColor = self.missedNotifAndUnreadIndicator.backgroundColor;
self.missedNotifAndUnreadBadgeLabel.text = roomCellData.notificationCountStringValue;
[self.missedNotifAndUnreadBadgeLabel sizeToFit];
self.missedNotifAndUnreadBadgeBgViewWidthConstraint.constant = self.missedNotifAndUnreadBadgeLabel.frame.size.width + 18;
}
else
@@ -120,8 +120,8 @@
else
{
self.lastEventDate.textColor = ThemeService.shared.theme.textSecondaryColor;
// The room title is not bold anymore
// The room title is not bold anymore
self.roomTitle.font = [UIFont systemFontOfSize:17 weight:UIFontWeightMedium];
}