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;
|
- (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.
|
* @discussion Subclasses may use this to monitor data for a node should be loaded, either from a local or remote source.
|
||||||
*/
|
|
||||||
- (void)didExitDisplayRange ASDISPLAYNODE_REQUIRES_SUPER;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @abstract Called whenever the the node enters the fetch data range.
|
|
||||||
*
|
*
|
||||||
* @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;
|
- (void)loadStateDidChange:(BOOL)inLoadState 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;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called just before the view is added to a window.
|
* Called just before the view is added to a window.
|
||||||
|
|||||||
@ -2178,22 +2178,12 @@ void recursivelyTriggerDisplayForLayer(CALayer *layer, BOOL shouldBlock)
|
|||||||
// subclass override
|
// subclass override
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)didEnterDisplayRange
|
- (void)displayStateDidChange:(BOOL)inDisplayState
|
||||||
{
|
{
|
||||||
//subclass override
|
//subclass override
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)didExitDisplayRange
|
- (void)loadStateDidChange:(BOOL)inLoadState
|
||||||
{
|
|
||||||
//subclass override
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)didEnterFetchDataRange
|
|
||||||
{
|
|
||||||
//subclass override
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)didExitFetchDataRange
|
|
||||||
{
|
{
|
||||||
//subclass override
|
//subclass override
|
||||||
}
|
}
|
||||||
@ -2242,12 +2232,12 @@ void recursivelyTriggerDisplayForLayer(CALayer *layer, BOOL shouldBlock)
|
|||||||
if (nowFetchData != wasFetchData) {
|
if (nowFetchData != wasFetchData) {
|
||||||
if (nowFetchData) {
|
if (nowFetchData) {
|
||||||
[self fetchData];
|
[self fetchData];
|
||||||
[self didEnterFetchDataRange];
|
[self loadStateDidChange:YES];
|
||||||
} else {
|
} else {
|
||||||
if ([self supportsRangeManagedInterfaceState]) {
|
if ([self supportsRangeManagedInterfaceState]) {
|
||||||
[self clearFetchedData];
|
[self clearFetchedData];
|
||||||
}
|
}
|
||||||
[self didExitFetchDataRange];
|
[self loadStateDidChange:NO];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2293,9 +2283,9 @@ void recursivelyTriggerDisplayForLayer(CALayer *layer, BOOL shouldBlock)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (nowDisplay) {
|
if (nowDisplay) {
|
||||||
[self didEnterDisplayRange];
|
[self displayStateDidChange:YES];
|
||||||
} else {
|
} 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, copy) CGSize(^calculateSizeBlock)(ASTestDisplayNode *node, CGSize size);
|
||||||
@property (atomic) BOOL hasFetchedData;
|
@property (atomic) BOOL hasFetchedData;
|
||||||
|
|
||||||
@property (atomic) BOOL didCallEnterDisplayRange;
|
@property (atomic) BOOL displayRangeStateChangedToYES;
|
||||||
@property (atomic) BOOL didCallExitDisplayRange;
|
@property (atomic) BOOL displayRangeStateChangedToNO;
|
||||||
|
|
||||||
@property (atomic) BOOL didCallEnterFetchDataRange;
|
@property (atomic) BOOL loadStateChangedToYES;
|
||||||
@property (atomic) BOOL didCallExitFetchDataRange;
|
@property (atomic) BOOL loadStateChangedToNO;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface ASTestResponderNode : ASTestDisplayNode
|
@interface ASTestResponderNode : ASTestDisplayNode
|
||||||
@ -116,28 +116,26 @@ for (ASDisplayNode *n in @[ nodes ]) {\
|
|||||||
self.hasFetchedData = NO;
|
self.hasFetchedData = NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)didEnterDisplayRange
|
- (void)displayStateDidChange:(BOOL)inDisplayState
|
||||||
{
|
{
|
||||||
[super didEnterDisplayRange];
|
[super displayStateDidChange:inDisplayState];
|
||||||
self.didCallEnterDisplayRange = YES;
|
|
||||||
|
if (inDisplayState) {
|
||||||
|
self.displayRangeStateChangedToYES = YES;
|
||||||
|
} else {
|
||||||
|
self.displayRangeStateChangedToNO = YES;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)didExitDisplayRange
|
- (void)loadStateDidChange:(BOOL)inLoadState
|
||||||
{
|
{
|
||||||
[super didExitDisplayRange];
|
[super loadStateDidChange:inLoadState];
|
||||||
self.didCallExitDisplayRange = YES;
|
|
||||||
}
|
if (inLoadState) {
|
||||||
|
self.loadStateChangedToYES = YES;
|
||||||
- (void)didEnterFetchDataRange
|
} else {
|
||||||
{
|
self.loadStateChangedToNO = YES;
|
||||||
[super didEnterFetchDataRange];
|
}
|
||||||
self.didCallEnterFetchDataRange = YES;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)didExitFetchDataRange
|
|
||||||
{
|
|
||||||
[super didExitFetchDataRange];
|
|
||||||
self.didCallExitFetchDataRange = YES;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)dealloc
|
- (void)dealloc
|
||||||
@ -1914,7 +1912,7 @@ static bool stringContainsPointer(NSString *description, const void *p) {
|
|||||||
|
|
||||||
[node recursivelySetInterfaceState:ASInterfaceStateDisplay];
|
[node recursivelySetInterfaceState:ASInterfaceStateDisplay];
|
||||||
|
|
||||||
XCTAssert([node didCallEnterDisplayRange]);
|
XCTAssert([node displayRangeStateChangedToYES]);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)testDidExitDisplayIsCalledWhenNodesExitDisplayRange
|
- (void)testDidExitDisplayIsCalledWhenNodesExitDisplayRange
|
||||||
@ -1924,7 +1922,7 @@ static bool stringContainsPointer(NSString *description, const void *p) {
|
|||||||
[node recursivelySetInterfaceState:ASInterfaceStateDisplay];
|
[node recursivelySetInterfaceState:ASInterfaceStateDisplay];
|
||||||
[node recursivelySetInterfaceState:ASInterfaceStateFetchData];
|
[node recursivelySetInterfaceState:ASInterfaceStateFetchData];
|
||||||
|
|
||||||
XCTAssert([node didCallExitDisplayRange]);
|
XCTAssert([node displayRangeStateChangedToNO]);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)testDidEnterFetchDataIsCalledWhenNodesEnterFetchDataRange
|
- (void)testDidEnterFetchDataIsCalledWhenNodesEnterFetchDataRange
|
||||||
@ -1933,7 +1931,7 @@ static bool stringContainsPointer(NSString *description, const void *p) {
|
|||||||
|
|
||||||
[node recursivelySetInterfaceState:ASInterfaceStateFetchData];
|
[node recursivelySetInterfaceState:ASInterfaceStateFetchData];
|
||||||
|
|
||||||
XCTAssert([node didCallEnterFetchDataRange]);
|
XCTAssert([node loadStateChangedToYES]);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)testDidExitFetchDataIsCalledWhenNodesExitFetchDataRange
|
- (void)testDidExitFetchDataIsCalledWhenNodesExitFetchDataRange
|
||||||
@ -1943,7 +1941,7 @@ static bool stringContainsPointer(NSString *description, const void *p) {
|
|||||||
[node recursivelySetInterfaceState:ASInterfaceStateFetchData];
|
[node recursivelySetInterfaceState:ASInterfaceStateFetchData];
|
||||||
[node recursivelySetInterfaceState:ASInterfaceStateDisplay];
|
[node recursivelySetInterfaceState:ASInterfaceStateDisplay];
|
||||||
|
|
||||||
XCTAssert([node didCallExitFetchDataRange]);
|
XCTAssert([node loadStateChangedToNO]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user