Skip to content

Commit

Permalink
Minor refactoring of changes to AFNetworkActivityIndicatorManager
Browse files Browse the repository at this point in the history
Slightly reducing invisibility delay
  • Loading branch information
mattt committed Jul 23, 2012
1 parent e6bbfab commit 69ff078
Showing 1 changed file with 4 additions and 9 deletions.
13 changes: 4 additions & 9 deletions AFNetworking/AFNetworkActivityIndicatorManager.m
Expand Up @@ -25,14 +25,15 @@
#import "AFHTTPRequestOperation.h"

#if __IPHONE_OS_VERSION_MIN_REQUIRED
static NSTimeInterval const kAFNetworkActivityIndicatorInvisibilityDelay = 0.25;
static NSTimeInterval const kAFNetworkActivityIndicatorInvisibilityDelay = 0.17;

@interface AFNetworkActivityIndicatorManager ()
@property (readwrite, atomic, assign) NSInteger activityCount;
@property (readwrite, nonatomic, retain) NSTimer *activityIndicatorVisibilityTimer;
@property (readonly, getter = isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;

- (void)updateNetworkActivityIndicatorVisibility;
- (void)updateNetworkActivityIndicatorVisibilityDelayed;
@end

@implementation AFNetworkActivityIndicatorManager
Expand Down Expand Up @@ -77,10 +78,10 @@ - (void)updateNetworkActivityIndicatorVisibilityDelayed {
// Delay hiding of activity indicator for a short interval, to avoid flickering
if (![self isNetworkActivityIndicatorVisible]) {
[self.activityIndicatorVisibilityTimer invalidate];
self.activityIndicatorVisibilityTimer = [NSTimer timerWithTimeInterval:kAFNetworkActivityIndicatorInvisibilityDelay target:self selector:@selector(updateNetworkActivityIndicatorVisibilityOnCurrentQueue) userInfo:nil repeats:NO];
self.activityIndicatorVisibilityTimer = [NSTimer timerWithTimeInterval:kAFNetworkActivityIndicatorInvisibilityDelay target:self selector:@selector(updateNetworkActivityIndicatorVisibility) userInfo:nil repeats:NO];
[[NSRunLoop mainRunLoop] addTimer:self.activityIndicatorVisibilityTimer forMode:NSRunLoopCommonModes];
} else {
[self updateNetworkActivityIndicatorVisibility];
[self performSelectorOnMainThread:@selector(updateNetworkActivityIndicatorVisibility) withObject:nil waitUntilDone:NO modes:[NSArray arrayWithObject:NSRunLoopCommonModes]];
}
}
}
Expand All @@ -90,12 +91,6 @@ - (BOOL)isNetworkActivityIndicatorVisible {
}

- (void)updateNetworkActivityIndicatorVisibility {
dispatch_async(dispatch_get_main_queue(), ^{
[self updateNetworkActivityIndicatorVisibilityOnCurrentQueue];
});
}

- (void)updateNetworkActivityIndicatorVisibilityOnCurrentQueue {
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:[self isNetworkActivityIndicatorVisible]];
}

Expand Down

0 comments on commit 69ff078

Please sign in to comment.