RecentsDataSource: Factorize section reset management and do not make it in refreshRoomsSection method.

This commit is contained in:
SBiOSoftWhare
2021-07-23 10:42:08 +02:00
parent 9e4e70f934
commit a75ee5e354

View File

@@ -71,17 +71,9 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou
processingQueue = dispatch_queue_create("RecentsDataSource", DISPATCH_QUEUE_SERIAL);
_crossSigningBannerDisplay = CrossSigningBannerDisplayNone;
crossSigningBannerSection = -1;
_secureBackupBannerDisplay = SecureBackupBannerDisplayNone;
secureBackupBannerSection = -1;
directorySection = -1;
invitesSection = -1;
favoritesSection = -1;
peopleSection = -1;
conversationSection = -1;
lowPrioritySection = -1;
serverNoticeSection = -1;
[self resetSectionIndexes];
_areSectionsShrinkable = NO;
shrinkedSectionsBitMask = 0;
@@ -96,6 +88,19 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou
return self;
}
- (void)resetSectionIndexes
{
crossSigningBannerSection = -1;
secureBackupBannerSection = -1;
directorySection = -1;
invitesSection = -1;
favoritesSection = -1;
peopleSection = -1;
conversationSection = -1;
lowPrioritySection = -1;
serverNoticeSection = -1;
}
#pragma mark - Properties
@@ -445,7 +450,7 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou
// Check whether all data sources are ready before rendering recents
if (self.state == MXKDataSourceStateReady)
{
crossSigningBannerSection = secureBackupBannerSection = directorySection = favoritesSection = peopleSection = conversationSection = lowPrioritySection = invitesSection = serverNoticeSection = -1;
[self resetSectionIndexes];
if (self.crossSigningBannerDisplay != CrossSigningBannerDisplayNone)
{
@@ -1119,10 +1124,8 @@ NSString *const kRecentsDataSourceTapOnDirectoryServerChange = @"kRecentsDataSou
#pragma mark - MXKDataSourceDelegate
- (void)refreshRoomsSection:(void (^)(void))onComplete;
- (void)refreshRoomsSection:(void (^)(void))onComplete
{
secureBackupBannerSection = directorySection = favoritesSection = peopleSection = conversationSection = lowPrioritySection = serverNoticeSection = invitesSection = -1;
if (displayedRecentsDataSourceArray.count > 0)
{
// FIXME manage multi accounts