Skip to content

Commit

Permalink
Refactored check in IGListCollectionViewLayout for more reliable cove…
Browse files Browse the repository at this point in the history
…rage

Summary:
The `[context invalidateDataSourceCounts] && _minimumInvalidatedSection == NSNotFound` condition was never getting triggered in any of our tests.

I tried to simulate this condition in my testing, but it doesn't seem possible to have `_minimumInvalidatedSection` set to `NSNotFound` when execution reaches this point. This is because the only public pathway I could see to `[context invalidateLayoutWithContext:]` was via the regular `invalidateLayout` method which always sets `_minimumInvalidatedSection` to 0 before continuing.

To solve this, since the resulting logic ends up being the same in the check above, I simply collapsed this check into the one above it.

Reviewed By: fabiomassimo

Differential Revision: D50000788

fbshipit-source-id: da0bf0cb16c98de95f802dfd35bbdf0e935e615f
  • Loading branch information
TimOliver authored and GreeMoz committed Jan 31, 2024
1 parent 988870b commit 38db972
Showing 1 changed file with 1 addition and 3 deletions.
4 changes: 1 addition & 3 deletions Source/IGListKit/IGListCollectionViewLayout.mm
Original file line number Diff line number Diff line change
Expand Up @@ -389,12 +389,10 @@ - (void)invalidateLayoutWithContext:(IGListCollectionViewLayoutInvalidationConte

if (hasInvalidatedItemIndexPaths
|| [context invalidateEverything]
|| ([context invalidateDataSourceCounts] && _minimumInvalidatedSection == NSNotFound) // if count changed and we don't have information on the minimum invalidated section
|| context.ig_invalidateAllAttributes) {
// invalidates all
_minimumInvalidatedSection = 0;
} else if ([context invalidateDataSourceCounts] && _minimumInvalidatedSection == NSNotFound) {
// invalidate all if count changed and we don't have information on the minimum invalidated section
_minimumInvalidatedSection = 0;
}

if (context.ig_invalidateSupplementaryAttributes) {
Expand Down

0 comments on commit 38db972

Please # to comment.