Respond to CR.

pull/1/head
Matthew Chen 7 years ago
parent 1eb02bfd92
commit a7d712d1b2

@ -95,7 +95,7 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
successBlock(task, responseObject); successBlock(task, responseObject);
[OutageDetection.sharedManager reportNetworkSuccess]; [OutageDetection.sharedManager reportConnectionSuccess];
}; };
TSNetworkManagerFailure failure = [TSNetworkManager errorPrettifyingForFailureBlock:failureBlock request:request]; TSNetworkManagerFailure failure = [TSNetworkManager errorPrettifyingForFailureBlock:failureBlock request:request];
@ -155,9 +155,9 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
return ^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull networkError) { return ^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull networkError) {
NSInteger statusCode = [task statusCode]; NSInteger statusCode = [task statusCode];
[OutageDetection.sharedManager reportNetworkFailure]; [OutageDetection.sharedManager reportConnectionFailure];
NSError *error = [self errorWithHTTPCode:statusCode NSError *error = [self errorWithHTTPCode:statusCode
description:nil description:nil
failureReason:nil failureReason:nil
recoverySuggestion:nil recoverySuggestion:nil

@ -18,10 +18,14 @@ public class OutageDetection: NSObject {
didSet { didSet {
SwiftAssertIsOnMainThread(#function) SwiftAssertIsOnMainThread(#function)
NotificationCenter.default.postNotificationNameAsync(OutageDetection.outageStateDidChange, object: nil) if hasOutage != oldValue {
Logger.info("\(self.logTag) hasOutage: \(hasOutage).")
NotificationCenter.default.postNotificationNameAsync(OutageDetection.outageStateDidChange, object: nil)
}
} }
} }
private var mayHaveOutage = false { private var shouldCheckForOutage = false {
didSet { didSet {
SwiftAssertIsOnMainThread(#function) SwiftAssertIsOnMainThread(#function)
@ -64,6 +68,8 @@ public class OutageDetection: NSObject {
} }
private func checkForOutageAsync() { private func checkForOutageAsync() {
Logger.info("\(self.logTag) \(#function).")
DispatchQueue.global().async { DispatchQueue.global().async {
let isOutageDetected = self.checkForOutageSync() let isOutageDetected = self.checkForOutageSync()
DispatchQueue.main.async { DispatchQueue.main.async {
@ -79,7 +85,7 @@ public class OutageDetection: NSObject {
return return
} }
if mayHaveOutage { if shouldCheckForOutage {
if checkTimer != nil { if checkTimer != nil {
// Already has timer. // Already has timer.
return return
@ -106,17 +112,17 @@ public class OutageDetection: NSObject {
} }
@objc @objc
public func reportNetworkSuccess() { public func reportConnectionSuccess() {
SwiftAssertIsOnMainThread(#function) SwiftAssertIsOnMainThread(#function)
mayHaveOutage = true shouldCheckForOutage = false
hasOutage = false hasOutage = false
} }
@objc @objc
public func reportNetworkFailure() { public func reportConnectionFailure() {
SwiftAssertIsOnMainThread(#function) SwiftAssertIsOnMainThread(#function)
mayHaveOutage = false shouldCheckForOutage = true
} }
} }

@ -679,7 +679,7 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
// If socket opens, we know we're not de-registered. // If socket opens, we know we're not de-registered.
[TSAccountManager.sharedInstance setIsDeregistered:NO]; [TSAccountManager.sharedInstance setIsDeregistered:NO];
[OutageDetection.sharedManager reportNetworkSuccess]; [OutageDetection.sharedManager reportConnectionSuccess];
} }
- (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error { - (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error {
@ -826,7 +826,7 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
[self applyDesiredSocketState]; [self applyDesiredSocketState];
} }
[OutageDetection.sharedManager reportNetworkFailure]; [OutageDetection.sharedManager reportConnectionFailure];
} }
- (void)webSocket:(SRWebSocket *)webSocket - (void)webSocket:(SRWebSocket *)webSocket

Loading…
Cancel
Save