From c84ca99269b4a02c63367c6f59a2611195a913c2 Mon Sep 17 00:00:00 2001 From: Mattt Thompson Date: Thu, 22 Sep 2011 10:25:55 -0500 Subject: [PATCH] Adding documentation for AFNetworkActivityIndicatorManager Changing public API for AFNetworkActivityIndicatorManager from -start/stopAnimating to -increment/decrementActivityCount --- AFNetworking/AFHTTPRequestOperation.m | 4 ++-- .../AFNetworkActivityIndicatorManager.h | 19 +++++++++++++++++-- .../AFNetworkActivityIndicatorManager.m | 4 ++-- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/AFNetworking/AFHTTPRequestOperation.m b/AFNetworking/AFHTTPRequestOperation.m index af4c841..11eb2c2 100644 --- a/AFNetworking/AFHTTPRequestOperation.m +++ b/AFNetworking/AFHTTPRequestOperation.m @@ -227,11 +227,11 @@ static NSThread *_networkRequestThread = nil; switch (state) { case AFHTTPOperationExecutingState: - [[AFNetworkActivityIndicatorManager sharedManager] startAnimating]; + [[AFNetworkActivityIndicatorManager sharedManager] incrementActivityCount]; [[NSNotificationCenter defaultCenter] postNotificationName:AFHTTPOperationDidStartNotification object:self]; break; case AFHTTPOperationFinishedState: - [[AFNetworkActivityIndicatorManager sharedManager] stopAnimating]; + [[AFNetworkActivityIndicatorManager sharedManager] decrementActivityCount]; [[NSNotificationCenter defaultCenter] postNotificationName:AFHTTPOperationDidFinishNotification object:self]; break; default: diff --git a/AFNetworking/AFNetworkActivityIndicatorManager.h b/AFNetworking/AFNetworkActivityIndicatorManager.h index f5366e4..59110b9 100644 --- a/AFNetworking/AFNetworkActivityIndicatorManager.h +++ b/AFNetworking/AFNetworkActivityIndicatorManager.h @@ -22,14 +22,29 @@ #import +/** + `AFNetworkActivityIndicatorManager` manages the state of the network activity indicator in the status bar. When network operations start, they can call `-incrementActivityCount`, and once they're finished, call `-decrementActivityCount`. The number of active requests is incremented and decremented much like a stack or a semaphore, and the activity indicator will animate so long as that number is greater than zero. + */ @interface AFNetworkActivityIndicatorManager : NSObject { @private NSInteger _activityCount; } +/** + Returns the shared network activity indicator manager object for the system. + + @return The systemwide network activity indicator manager. + */ + (AFNetworkActivityIndicatorManager *)sharedManager; -- (void)startAnimating; -- (void)stopAnimating; +/** + Increments the number of active network requests. If this number was zero before incrementing, this will start animating the status bar network activity indicator. + */ +- (void)incrementActivityCount; + +/** + Decrements the number of active network requests. If this number becomes zero before decrementing, this will stop animating the status bar network activity indicator. + */ +- (void)decrementActivityCount; @end diff --git a/AFNetworking/AFNetworkActivityIndicatorManager.m b/AFNetworking/AFNetworkActivityIndicatorManager.m index 17f4d18..89d12cb 100644 --- a/AFNetworking/AFNetworkActivityIndicatorManager.m +++ b/AFNetworking/AFNetworkActivityIndicatorManager.m @@ -47,13 +47,13 @@ [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:self.activityCount > 0]; } -- (void)startAnimating { +- (void)incrementActivityCount { @synchronized(self) { self.activityCount += 1; } } -- (void)stopAnimating { +- (void)decrementActivityCount { @synchronized(self) { self.activityCount -= 1; }