From fc5467b110644b68ea83ca5743cc67c08fe00791 Mon Sep 17 00:00:00 2001 From: Luke Parham Date: Mon, 6 Jun 2016 02:02:23 -0500 Subject: [PATCH] fixed typo and added backwards compatibility for 'visibilityDidChange' --- AsyncDisplayKit/ASCellNode.mm | 4 ++-- AsyncDisplayKit/ASCollectionNode.mm | 4 ++-- AsyncDisplayKit/ASDisplayNode+Subclasses.h | 11 +++++++++-- AsyncDisplayKit/ASDisplayNode.mm | 18 ++++++++++-------- AsyncDisplayKit/ASImageNode+AnimatedImage.mm | 4 ++-- AsyncDisplayKit/ASMultiplexImageNode.mm | 6 +++--- AsyncDisplayKit/ASNetworkImageNode.mm | 6 +++--- AsyncDisplayKit/ASTableNode.mm | 4 ++-- AsyncDisplayKit/ASVideoNode.mm | 4 ++-- AsyncDisplayKit/ASVideoPlayerNode.mm | 4 ++-- AsyncDisplayKit/Details/ASRangeController.mm | 2 +- AsyncDisplayKitTests/ASVideoNodeTests.m | 3 +-- 12 files changed, 39 insertions(+), 31 deletions(-) diff --git a/AsyncDisplayKit/ASCellNode.mm b/AsyncDisplayKit/ASCellNode.mm index f6f3dfcef0..cb50b6cb05 100644 --- a/AsyncDisplayKit/ASCellNode.mm +++ b/AsyncDisplayKit/ASCellNode.mm @@ -214,9 +214,9 @@ // To be overriden by subclasses } -- (void)visibileStateDidChange:(BOOL)isVisible +- (void)visibleStateDidChange:(BOOL)isVisible { - [super visibileStateDidChange:isVisible]; + [super visibleStateDidChange:isVisible]; CGRect cellFrame = CGRectZero; if (_scrollView) { diff --git a/AsyncDisplayKit/ASCollectionNode.mm b/AsyncDisplayKit/ASCollectionNode.mm index be44e9362e..2ddb0d35b8 100644 --- a/AsyncDisplayKit/ASCollectionNode.mm +++ b/AsyncDisplayKit/ASCollectionNode.mm @@ -173,9 +173,9 @@ } #if ASRangeControllerLoggingEnabled -- (void)visibileStateDidChange:(BOOL)isVisible +- (void)visibleStateDidChange:(BOOL)isVisible { - [super visibileStateDidChange:isVisible]; + [super visibleStateDidChange:isVisible]; NSLog(@"%@ - visible: %d", self, isVisible); } #endif diff --git a/AsyncDisplayKit/ASDisplayNode+Subclasses.h b/AsyncDisplayKit/ASDisplayNode+Subclasses.h index 53b1fa3d95..381184c849 100644 --- a/AsyncDisplayKit/ASDisplayNode+Subclasses.h +++ b/AsyncDisplayKit/ASDisplayNode+Subclasses.h @@ -240,10 +240,17 @@ NS_ASSUME_NONNULL_BEGIN * * @discussion Subclasses may use this to monitor when they become visible. */ -- (void)visibileStateDidChange:(BOOL)isVisible ASDISPLAYNODE_REQUIRES_SUPER; +- (void)visibilityDidChange:(BOOL)isVisible ASDISPLAYNODE_REQUIRES_SUPER; /** - * @abstract Called whenever the the node has entered or left the display state. + * @abstract Called whenever the visiblity of the node changed. + * + * @discussion Subclasses may use this to monitor when they become visible. + */ +- (void)visibleStateDidChange:(BOOL)isVisible ASDISPLAYNODE_REQUIRES_SUPER; + +/** + * @abstract Called whenever the the node has entered or exited the display state. * * @discussion Subclasses may use this to monitor when a node should be rendering its content. * diff --git a/AsyncDisplayKit/ASDisplayNode.mm b/AsyncDisplayKit/ASDisplayNode.mm index 7fc85d3c90..293048f9ee 100644 --- a/AsyncDisplayKit/ASDisplayNode.mm +++ b/AsyncDisplayKit/ASDisplayNode.mm @@ -2173,9 +2173,14 @@ void recursivelyTriggerDisplayForLayer(CALayer *layer, BOOL shouldBlock) }); } -- (void)visibileStateDidChange:(BOOL)isVisible +- (void)visibilityDidChange:(BOOL)isVisible { - // subclass override + // subclass override +} + +- (void)visibleStateDidChange:(BOOL)isVisible +{ + // subclass override } - (void)displayStateDidChange:(BOOL)inDisplayState @@ -2282,11 +2287,7 @@ void recursivelyTriggerDisplayForLayer(CALayer *layer, BOOL shouldBlock) } } - if (nowDisplay) { - [self displayStateDidChange:YES]; - } else { - [self displayStateDidChange:NO]; - } + [self displayStateDidChange:nowDisplay]; } // Became visible or invisible. When range-managed, this represents literal visibility - at least one pixel @@ -2295,7 +2296,8 @@ void recursivelyTriggerDisplayForLayer(CALayer *layer, BOOL shouldBlock) BOOL wasVisible = ASInterfaceStateIncludesVisible(oldState); if (nowVisible != wasVisible) { - [self visibileStateDidChange:nowVisible]; + [self visibleStateDidChange:nowVisible]; + [self visibilityDidChange:nowVisible]; //TODO: remove once this method has been deprecated } [self interfaceStateDidChange:newState fromState:oldState]; diff --git a/AsyncDisplayKit/ASImageNode+AnimatedImage.mm b/AsyncDisplayKit/ASImageNode+AnimatedImage.mm index df0da6554a..d149a65e7c 100644 --- a/AsyncDisplayKit/ASImageNode+AnimatedImage.mm +++ b/AsyncDisplayKit/ASImageNode+AnimatedImage.mm @@ -135,9 +135,9 @@ [self.animatedImage clearAnimatedImageCache]; } -- (void)visibileStateDidChange:(BOOL)isVisible +- (void)visibleStateDidChange:(BOOL)isVisible { - [super visibileStateDidChange:isVisible]; + [super visibleStateDidChange:isVisible]; ASDisplayNodeAssertMainThread(); if (isVisible) { diff --git a/AsyncDisplayKit/ASMultiplexImageNode.mm b/AsyncDisplayKit/ASMultiplexImageNode.mm index 22e87588e0..d121a052f6 100644 --- a/AsyncDisplayKit/ASMultiplexImageNode.mm +++ b/AsyncDisplayKit/ASMultiplexImageNode.mm @@ -295,11 +295,11 @@ typedef void(^ASMultiplexImageLoadCompletionBlock)(UIImage *image, id imageIdent } } -/* visibilityDidChange in ASNetworkImageNode has a very similar implementation. Changes here are likely necessary +/* visibileStateDidChange in ASNetworkImageNode has a very similar implementation. Changes here are likely necessary in ASNetworkImageNode as well. */ -- (void)visibileStateDidChange:(BOOL)isVisible +- (void)visibleStateDidChange:(BOOL)isVisible { - [super visibileStateDidChange:isVisible]; + [super visibleStateDidChange:isVisible]; if (_downloaderImplementsSetPriority) { ASDN::MutexLocker l(_downloadIdentifierLock); diff --git a/AsyncDisplayKit/ASNetworkImageNode.mm b/AsyncDisplayKit/ASNetworkImageNode.mm index bbac40e467..77158e93d4 100755 --- a/AsyncDisplayKit/ASNetworkImageNode.mm +++ b/AsyncDisplayKit/ASNetworkImageNode.mm @@ -278,11 +278,11 @@ static const CGSize kMinReleaseImageOnBackgroundSize = {20.0, 20.0}; } } -/* visibilityDidChange in ASMultiplexImageNode has a very similar implementation. Changes here are likely necessary +/* visibileStateDidChange in ASMultiplexImageNode has a very similar implementation. Changes here are likely necessary in ASMultiplexImageNode as well. */ -- (void)visibileStateDidChange:(BOOL)isVisible +- (void)visibleStateDidChange:(BOOL)isVisible { - [super visibileStateDidChange:isVisible]; + [super visibleStateDidChange:isVisible]; if (_downloaderImplementsSetPriority) { _lock.lock(); diff --git a/AsyncDisplayKit/ASTableNode.mm b/AsyncDisplayKit/ASTableNode.mm index ab65e6b4cd..1e81e2e059 100644 --- a/AsyncDisplayKit/ASTableNode.mm +++ b/AsyncDisplayKit/ASTableNode.mm @@ -145,9 +145,9 @@ } #if ASRangeControllerLoggingEnabled -- (void)visibileStateDidChange:(BOOL)isVisible +- (void)visibleStateDidChange:(BOOL)isVisible { - [super visibileStateDidChange:isVisible]; + [super visibleStateDidChange:isVisible]; NSLog(@"%@ - visible: %d", self, isVisible); } #endif diff --git a/AsyncDisplayKit/ASVideoNode.mm b/AsyncDisplayKit/ASVideoNode.mm index 98813e5c7b..472a4d1f61 100644 --- a/AsyncDisplayKit/ASVideoNode.mm +++ b/AsyncDisplayKit/ASVideoNode.mm @@ -382,9 +382,9 @@ static NSString * const kStatus = @"status"; } } -- (void)visibileStateDidChange:(BOOL)isVisible +- (void)visibleStateDidChange:(BOOL)isVisible { - [super visibileStateDidChange:isVisible]; + [super visibleStateDidChange:isVisible]; ASDN::MutexLocker l(_videoLock); diff --git a/AsyncDisplayKit/ASVideoPlayerNode.mm b/AsyncDisplayKit/ASVideoPlayerNode.mm index ec19fda312..3e046e57a2 100644 --- a/AsyncDisplayKit/ASVideoPlayerNode.mm +++ b/AsyncDisplayKit/ASVideoPlayerNode.mm @@ -163,9 +163,9 @@ static void *ASVideoPlayerNodeContext = &ASVideoPlayerNodeContext; } } -- (void)visibilityDidChange:(BOOL)isVisible +- (void)visibleStateDidChange:(BOOL)isVisible { - [super visibilityDidChange:isVisible]; + [super visibleStateDidChange:isVisible]; ASDN::MutexLocker l(_videoPlayerLock); diff --git a/AsyncDisplayKit/Details/ASRangeController.mm b/AsyncDisplayKit/Details/ASRangeController.mm index 6a14b833ac..6221ff02e0 100644 --- a/AsyncDisplayKit/Details/ASRangeController.mm +++ b/AsyncDisplayKit/Details/ASRangeController.mm @@ -95,7 +95,7 @@ static UIApplicationState __ApplicationState = UIApplicationStateActive; { _scrollDirection = scrollDirection; - // Perform update immediately, so that cells receive a visibileStateDidChange: call before their first pixel is visible. + // Perform update immediately, so that cells receive a visibleStateDidChange: call before their first pixel is visible. [self scheduleRangeUpdate]; } diff --git a/AsyncDisplayKitTests/ASVideoNodeTests.m b/AsyncDisplayKitTests/ASVideoNodeTests.m index 6fec8701f2..d03fdcfea2 100644 --- a/AsyncDisplayKitTests/ASVideoNodeTests.m +++ b/AsyncDisplayKitTests/ASVideoNodeTests.m @@ -223,12 +223,11 @@ }]; _videoNode.playerNode.layer.frame = CGRectZero; - [_videoNode visibileStateDidChange:YES]; + [_videoNode visibleStateDidChange:YES]; XCTAssertTrue(_videoNode.shouldBePlaying); } - - (void)testVideoShouldPauseWhenItLeavesVisibleButShouldKnowPlayingShouldRestartLater { _videoNode.asset = _firstAsset;