From 4d498563e7054dc0f0dadaba93a7903166f09095 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Wed, 30 May 2018 12:48:32 -0400 Subject: [PATCH] Unify the socket manager's 'can send requests' logic. --- SignalMessaging/profiles/ProfileFetcherJob.swift | 2 +- SignalServiceKit/src/Messages/OWSMessageSender.m | 2 +- SignalServiceKit/src/Network/WebSockets/TSSocketManager.h | 3 ++- SignalServiceKit/src/Network/WebSockets/TSSocketManager.m | 8 ++++++++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/SignalMessaging/profiles/ProfileFetcherJob.swift b/SignalMessaging/profiles/ProfileFetcherJob.swift index 4d224b298..068465d01 100644 --- a/SignalMessaging/profiles/ProfileFetcherJob.swift +++ b/SignalMessaging/profiles/ProfileFetcherJob.swift @@ -115,7 +115,7 @@ public class ProfileFetcherJob: NSObject { let (promise, fulfill, reject) = Promise.pending() - if self.socketManager.canMakeRequests { + if TSSocketManager.canMakeRequests() { self.socketManager.make(request, success: { (responseObject: Any?) -> Void in do { diff --git a/SignalServiceKit/src/Messages/OWSMessageSender.m b/SignalServiceKit/src/Messages/OWSMessageSender.m index 90f0659e3..d50c1b431 100644 --- a/SignalServiceKit/src/Messages/OWSMessageSender.m +++ b/SignalServiceKit/src/Messages/OWSMessageSender.m @@ -976,7 +976,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; messages:deviceMessages relay:recipient.relay timeStamp:message.timestamp]; - if (CurrentAppContext().isMainApp && TSSocketManager.sharedManager.canMakeRequests) { + if (TSSocketManager.canMakeRequests) { [TSSocketManager.sharedManager makeRequest:request success:^(id _Nullable responseObject) { [self messageSendDidSucceed:message diff --git a/SignalServiceKit/src/Network/WebSockets/TSSocketManager.h b/SignalServiceKit/src/Network/WebSockets/TSSocketManager.h index 00d26231d..acc1c61b2 100644 --- a/SignalServiceKit/src/Network/WebSockets/TSSocketManager.h +++ b/SignalServiceKit/src/Network/WebSockets/TSSocketManager.h @@ -25,7 +25,6 @@ typedef void (^TSSocketMessageFailure)(NSInteger statusCode, NSError *error); @interface TSSocketManager : NSObject @property (nonatomic, readonly) SocketManagerState state; -@property (atomic, readonly) BOOL canMakeRequests; + (instancetype)sharedManager; @@ -44,6 +43,8 @@ typedef void (^TSSocketMessageFailure)(NSInteger statusCode, NSError *error); #pragma mark - Message Sending ++ (BOOL)canMakeRequests; + - (void)makeRequest:(TSRequest *)request success:(TSSocketMessageSuccess)success failure:(TSSocketMessageFailure)failure; diff --git a/SignalServiceKit/src/Network/WebSockets/TSSocketManager.m b/SignalServiceKit/src/Network/WebSockets/TSSocketManager.m index d900c3127..324f28316 100644 --- a/SignalServiceKit/src/Network/WebSockets/TSSocketManager.m +++ b/SignalServiceKit/src/Network/WebSockets/TSSocketManager.m @@ -441,6 +441,14 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_ #pragma mark - Message Sending ++ (BOOL)canMakeRequests +{ + if (!CurrentAppContext().isMainApp) { + return NO; + } + return TSSocketManager.sharedManager.canMakeRequests; +} + - (void)makeRequest:(TSRequest *)request success:(TSSocketMessageSuccess)success failure:(TSSocketMessageFailure)failure { OWSAssert(request);