mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-20 13:19:16 +00:00
updated load and display did change methods
This commit is contained in:
parent
8526171b30
commit
d47059dffe
@ -243,32 +243,22 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
- (void)visibilityDidChange:(BOOL)isVisible ASDISPLAYNODE_REQUIRES_SUPER;
|
||||
|
||||
/**
|
||||
* @abstract Called whenever the the node enters the display range.
|
||||
* @abstract Called whenever the the node has entered or left the display state.
|
||||
*
|
||||
* @discussion Subclasses may use this to monitor when they enter the display range.
|
||||
* @discussion Subclasses may use this to monitor when a node should be rendering its content.
|
||||
*
|
||||
* @note This method can be called from any thread and should therefore be thread safe.
|
||||
*/
|
||||
- (void)didEnterDisplayRange ASDISPLAYNODE_REQUIRES_SUPER;
|
||||
- (void)displayStateDidChange:(BOOL)inDisplayState ASDISPLAYNODE_REQUIRES_SUPER;
|
||||
|
||||
/**
|
||||
* @abstract Called whenever the the node exits the display range.
|
||||
* @abstract Called whenever the the node has entered or left the load state.
|
||||
*
|
||||
* @discussion Subclasses may use this to monitor when they exit the display range.
|
||||
*/
|
||||
- (void)didExitDisplayRange ASDISPLAYNODE_REQUIRES_SUPER;
|
||||
|
||||
/**
|
||||
* @abstract Called whenever the the node enters the fetch data range.
|
||||
* @discussion Subclasses may use this to monitor data for a node should be loaded, either from a local or remote source.
|
||||
*
|
||||
* @discussion Subclasses may use this to monitor when they enter the fetch data range.
|
||||
* @note This method can be called from any thread and should therefore be thread safe.
|
||||
*/
|
||||
- (void)didEnterFetchDataRange ASDISPLAYNODE_REQUIRES_SUPER;
|
||||
|
||||
/**
|
||||
* @abstract Called whenever the the node exits the fetch data range.
|
||||
*
|
||||
* @discussion Subclasses may use this to monitor when they exit the fetch data range.
|
||||
*/
|
||||
- (void)didExitFetchDataRange ASDISPLAYNODE_REQUIRES_SUPER;
|
||||
- (void)loadStateDidChange:(BOOL)inLoadState ASDISPLAYNODE_REQUIRES_SUPER;
|
||||
|
||||
/**
|
||||
* Called just before the view is added to a window.
|
||||
|
||||
@ -2178,22 +2178,12 @@ void recursivelyTriggerDisplayForLayer(CALayer *layer, BOOL shouldBlock)
|
||||
// subclass override
|
||||
}
|
||||
|
||||
- (void)didEnterDisplayRange
|
||||
- (void)displayStateDidChange:(BOOL)inDisplayState
|
||||
{
|
||||
//subclass override
|
||||
}
|
||||
|
||||
- (void)didExitDisplayRange
|
||||
{
|
||||
//subclass override
|
||||
}
|
||||
|
||||
- (void)didEnterFetchDataRange
|
||||
{
|
||||
//subclass override
|
||||
}
|
||||
|
||||
- (void)didExitFetchDataRange
|
||||
- (void)loadStateDidChange:(BOOL)inLoadState
|
||||
{
|
||||
//subclass override
|
||||
}
|
||||
@ -2242,12 +2232,12 @@ void recursivelyTriggerDisplayForLayer(CALayer *layer, BOOL shouldBlock)
|
||||
if (nowFetchData != wasFetchData) {
|
||||
if (nowFetchData) {
|
||||
[self fetchData];
|
||||
[self didEnterFetchDataRange];
|
||||
[self loadStateDidChange:YES];
|
||||
} else {
|
||||
if ([self supportsRangeManagedInterfaceState]) {
|
||||
[self clearFetchedData];
|
||||
}
|
||||
[self didExitFetchDataRange];
|
||||
[self loadStateDidChange:NO];
|
||||
}
|
||||
}
|
||||
|
||||
@ -2293,9 +2283,9 @@ void recursivelyTriggerDisplayForLayer(CALayer *layer, BOOL shouldBlock)
|
||||
}
|
||||
|
||||
if (nowDisplay) {
|
||||
[self didEnterDisplayRange];
|
||||
[self displayStateDidChange:YES];
|
||||
} else {
|
||||
[self didExitDisplayRange];
|
||||
[self displayStateDidChange:NO];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -87,11 +87,11 @@ for (ASDisplayNode *n in @[ nodes ]) {\
|
||||
@property (atomic, copy) CGSize(^calculateSizeBlock)(ASTestDisplayNode *node, CGSize size);
|
||||
@property (atomic) BOOL hasFetchedData;
|
||||
|
||||
@property (atomic) BOOL didCallEnterDisplayRange;
|
||||
@property (atomic) BOOL didCallExitDisplayRange;
|
||||
@property (atomic) BOOL displayRangeStateChangedToYES;
|
||||
@property (atomic) BOOL displayRangeStateChangedToNO;
|
||||
|
||||
@property (atomic) BOOL didCallEnterFetchDataRange;
|
||||
@property (atomic) BOOL didCallExitFetchDataRange;
|
||||
@property (atomic) BOOL loadStateChangedToYES;
|
||||
@property (atomic) BOOL loadStateChangedToNO;
|
||||
@end
|
||||
|
||||
@interface ASTestResponderNode : ASTestDisplayNode
|
||||
@ -116,28 +116,26 @@ for (ASDisplayNode *n in @[ nodes ]) {\
|
||||
self.hasFetchedData = NO;
|
||||
}
|
||||
|
||||
- (void)didEnterDisplayRange
|
||||
- (void)displayStateDidChange:(BOOL)inDisplayState
|
||||
{
|
||||
[super didEnterDisplayRange];
|
||||
self.didCallEnterDisplayRange = YES;
|
||||
[super displayStateDidChange:inDisplayState];
|
||||
|
||||
if (inDisplayState) {
|
||||
self.displayRangeStateChangedToYES = YES;
|
||||
} else {
|
||||
self.displayRangeStateChangedToNO = YES;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)didExitDisplayRange
|
||||
- (void)loadStateDidChange:(BOOL)inLoadState
|
||||
{
|
||||
[super didExitDisplayRange];
|
||||
self.didCallExitDisplayRange = YES;
|
||||
}
|
||||
[super loadStateDidChange:inLoadState];
|
||||
|
||||
- (void)didEnterFetchDataRange
|
||||
{
|
||||
[super didEnterFetchDataRange];
|
||||
self.didCallEnterFetchDataRange = YES;
|
||||
if (inLoadState) {
|
||||
self.loadStateChangedToYES = YES;
|
||||
} else {
|
||||
self.loadStateChangedToNO = YES;
|
||||
}
|
||||
|
||||
- (void)didExitFetchDataRange
|
||||
{
|
||||
[super didExitFetchDataRange];
|
||||
self.didCallExitFetchDataRange = YES;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
@ -1914,7 +1912,7 @@ static bool stringContainsPointer(NSString *description, const void *p) {
|
||||
|
||||
[node recursivelySetInterfaceState:ASInterfaceStateDisplay];
|
||||
|
||||
XCTAssert([node didCallEnterDisplayRange]);
|
||||
XCTAssert([node displayRangeStateChangedToYES]);
|
||||
}
|
||||
|
||||
- (void)testDidExitDisplayIsCalledWhenNodesExitDisplayRange
|
||||
@ -1924,7 +1922,7 @@ static bool stringContainsPointer(NSString *description, const void *p) {
|
||||
[node recursivelySetInterfaceState:ASInterfaceStateDisplay];
|
||||
[node recursivelySetInterfaceState:ASInterfaceStateFetchData];
|
||||
|
||||
XCTAssert([node didCallExitDisplayRange]);
|
||||
XCTAssert([node displayRangeStateChangedToNO]);
|
||||
}
|
||||
|
||||
- (void)testDidEnterFetchDataIsCalledWhenNodesEnterFetchDataRange
|
||||
@ -1933,7 +1931,7 @@ static bool stringContainsPointer(NSString *description, const void *p) {
|
||||
|
||||
[node recursivelySetInterfaceState:ASInterfaceStateFetchData];
|
||||
|
||||
XCTAssert([node didCallEnterFetchDataRange]);
|
||||
XCTAssert([node loadStateChangedToYES]);
|
||||
}
|
||||
|
||||
- (void)testDidExitFetchDataIsCalledWhenNodesExitFetchDataRange
|
||||
@ -1943,7 +1941,7 @@ static bool stringContainsPointer(NSString *description, const void *p) {
|
||||
[node recursivelySetInterfaceState:ASInterfaceStateFetchData];
|
||||
[node recursivelySetInterfaceState:ASInterfaceStateDisplay];
|
||||
|
||||
XCTAssert([node didCallExitFetchDataRange]);
|
||||
XCTAssert([node loadStateChangedToNO]);
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user