mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 14:45:21 +00:00
Move most of the batch fetching logic to a central place for ASTableView and ASCollectionView usage
This commit is contained in:
@@ -10,27 +10,26 @@
|
||||
|
||||
#import "ASBatchContext.h"
|
||||
#import "ASScrollDirection.h"
|
||||
#import "ASBaseDefines.h"
|
||||
|
||||
ASDISPLAYNODE_EXTERN_C_BEGIN
|
||||
|
||||
@protocol ASBatchFetchingScrollView <NSObject>
|
||||
|
||||
- (BOOL)canBatchFetch;
|
||||
- (ASBatchContext *)batchContext;
|
||||
- (CGFloat)leadingScreensForBatching;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
@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.
|
||||
@param context The scroll view that in-flight fetches are happening.
|
||||
@param scrollDirection The current scrolling direction of the scroll view.
|
||||
@param targetOffset The offset that the scrollview will scroll to.
|
||||
@return Whether or not the current state should proceed with batch fetching.
|
||||
*/
|
||||
extern BOOL ASDisplayShouldFetchBatchForContext(ASBatchContext *context,
|
||||
ASScrollDirection scrollDirection,
|
||||
CGRect bounds,
|
||||
CGSize contentSize,
|
||||
CGPoint targetOffset,
|
||||
CGFloat leadingScreens);
|
||||
BOOL ASDisplayShouldFetchBatchForScrollView(UIScrollView<ASBatchFetchingScrollView> *scrollView, ASScrollDirection scrollDirection, CGPoint contentOffset);
|
||||
|
||||
ASDISPLAYNODE_EXTERN_C_END
|
||||
|
||||
Reference in New Issue
Block a user