From bb110ca6e8c1ba1fb2fd42e2dbe33902868e6305 Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Fri, 8 Apr 2016 20:02:20 -0700 Subject: [PATCH] Readd ASDisplayShouldFetchBatchForContext --- AsyncDisplayKit/Private/ASBatchFetching.h | 20 ++++++++++++++++++++ AsyncDisplayKit/Private/ASBatchFetching.m | 16 ++++++++++++---- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/AsyncDisplayKit/Private/ASBatchFetching.h b/AsyncDisplayKit/Private/ASBatchFetching.h index 6b0c1be595..094a2c6c5d 100644 --- a/AsyncDisplayKit/Private/ASBatchFetching.h +++ b/AsyncDisplayKit/Private/ASBatchFetching.h @@ -32,4 +32,24 @@ ASDISPLAYNODE_EXTERN_C_BEGIN */ BOOL ASDisplayShouldFetchBatchForScrollView(UIScrollView *scrollView, ASScrollDirection scrollDirection, CGPoint contentOffset); + +/** + @abstract Determine if batch fetching should begin based on the state of the parameters. + @param context The batch fetching context that contains knowledge about in-flight fetches. + @param scrollDirection The current scrolling direction of the scroll view. + @param bounds The bounds of the scrollview. + @param contentSize The content size of the scrollview. + @param targetOffset The offset that the scrollview will scroll to. + @param leadingScreens How many screens in the remaining distance will trigger batch fetching. + @return Whether or not the current state should proceed with batch fetching. + @discussion This method is broken into a category for unit testing purposes and should be used with the ASTableView and + * ASCollectionView batch fetching API. + */ +extern BOOL ASDisplayShouldFetchBatchForContext(ASBatchContext *context, + ASScrollDirection scrollDirection, + CGRect bounds, + CGSize contentSize, + CGPoint targetOffset, + CGFloat leadingScreens); + ASDISPLAYNODE_EXTERN_C_END diff --git a/AsyncDisplayKit/Private/ASBatchFetching.m b/AsyncDisplayKit/Private/ASBatchFetching.m index 9158c30b84..6a8d9fc10d 100644 --- a/AsyncDisplayKit/Private/ASBatchFetching.m +++ b/AsyncDisplayKit/Private/ASBatchFetching.m @@ -10,7 +10,6 @@ BOOL ASDisplayShouldFetchBatchForScrollView(UIScrollView *scrollView, ASScrollDirection scrollDirection, CGPoint contentOffset) { - // Don't fetch if the scroll view does not allow if (![scrollView canBatchFetch]) { return NO; @@ -21,7 +20,16 @@ BOOL ASDisplayShouldFetchBatchForScrollView(UIScrollView