mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-09-16 17:00:58 +00:00
Update automatic range mode at the beginning of the update pass to consider new information in a possible next pass
This commit is contained in:
parent
b2eaf83264
commit
568aa6c2fb
@ -23,6 +23,7 @@
|
||||
ASScrollDirection _scrollDirection;
|
||||
NSSet<NSIndexPath *> *_allPreviousIndexPaths;
|
||||
ASLayoutRangeMode _currentRangeMode;
|
||||
BOOL _didUpdateCurrentRange;
|
||||
BOOL _didRegisterForNotifications;
|
||||
CFAbsoluteTime _pendingDisplayNodesTimestamp;
|
||||
}
|
||||
@ -39,6 +40,7 @@
|
||||
|
||||
_rangeIsValid = YES;
|
||||
_currentRangeMode = ASLayoutRangeModeInvalid;
|
||||
_didUpdateCurrentRange = NO;
|
||||
|
||||
return self;
|
||||
}
|
||||
@ -74,6 +76,7 @@
|
||||
- (void)updateCurrentRangeWithMode:(ASLayoutRangeMode)rangeMode
|
||||
{
|
||||
_currentRangeMode = rangeMode;
|
||||
_didUpdateCurrentRange = YES;
|
||||
|
||||
[self scheduleRangeUpdate];
|
||||
}
|
||||
@ -139,8 +142,8 @@
|
||||
|
||||
ASInterfaceState selfInterfaceState = [_dataSource interfaceStateForRangeController:self];
|
||||
ASLayoutRangeMode rangeMode = _currentRangeMode;
|
||||
if (rangeMode == ASLayoutRangeModeInvalid) {
|
||||
rangeMode = ASLayoutRangeModeMinimum;
|
||||
if (!_didUpdateCurrentRange) {
|
||||
rangeMode = [ASRangeController rangeModeForInterfaceState:selfInterfaceState currentRangeMode:_currentRangeMode];
|
||||
}
|
||||
|
||||
ASRangeTuningParameters parametersFetchData = [_layoutController tuningParametersForRangeMode:rangeMode
|
||||
@ -179,8 +182,8 @@
|
||||
[allIndexPaths unionSet:_allPreviousIndexPaths];
|
||||
_allPreviousIndexPaths = allCurrentIndexPaths;
|
||||
|
||||
// Update the current range mode based on interface state
|
||||
_currentRangeMode = [ASRangeController rangeModeForInterfaceState:selfInterfaceState currentRangeMode:_currentRangeMode];
|
||||
_currentRangeMode = rangeMode;
|
||||
_didUpdateCurrentRange = NO;
|
||||
|
||||
if (!_rangeIsValid) {
|
||||
[allIndexPaths addObjectsFromArray:ASIndexPathsForMultidimensionalArray(allNodes)];
|
||||
|
Loading…
x
Reference in New Issue
Block a user