diff --git a/Parse/PFNetworkActivityIndicatorManager.m b/Parse/PFNetworkActivityIndicatorManager.m index 327ca0024..6fb3b0466 100644 --- a/Parse/PFNetworkActivityIndicatorManager.m +++ b/Parse/PFNetworkActivityIndicatorManager.m @@ -10,6 +10,7 @@ #import "PFNetworkActivityIndicatorManager.h" #import "PFApplication.h" +#import "PFCommandRunningConstants.h" static NSTimeInterval const PFNetworkActivityIndicatorVisibilityDelay = 0.17; @@ -49,10 +50,20 @@ - (instancetype)init { _networkActivityAccessQueue = dispatch_queue_create("com.parse.networkActivityIndicatorManager", DISPATCH_QUEUE_SERIAL); + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_handleWillSendURLRequestNotification:) + name:PFCommandRunnerWillSendURLRequestNotification + object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_handleDidReceiveURLResponseNotification:) + name:PFCommandRunnerDidReceiveURLResponseNotification + object:nil]; + return self; } - (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; [_activityIndicatorVisibilityTimer invalidate]; } @@ -137,4 +148,16 @@ - (void)_updateNetworkActivityIndicatorVisibility { } } +///-------------------------------------- +#pragma mark - Command Running +///-------------------------------------- + +- (void)_handleWillSendURLRequestNotification:(NSNotification *)notification { + [self incrementActivityCount]; +} + +- (void)_handleDidReceiveURLResponseNotification:(NSNotification *)notification { + [self decrementActivityCount]; +} + @end