diff --git a/SignalServiceKit/src/Messages/OWSMessageSender.m b/SignalServiceKit/src/Messages/OWSMessageSender.m index 36424f815..cb1da141c 100644 --- a/SignalServiceKit/src/Messages/OWSMessageSender.m +++ b/SignalServiceKit/src/Messages/OWSMessageSender.m @@ -1310,7 +1310,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; TSRequest *request = [[TSRecipientPrekeyRequest alloc] initWithRecipient:identifier deviceId:[deviceNumber stringValue]]; [self.networkManager makeRequest:request - shouldCompleteOnMainQueue:NO + completionQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) success:^(NSURLSessionDataTask *task, id responseObject) { bundle = [PreKeyBundle preKeyBundleFromDictionary:responseObject forDeviceNumber:deviceNumber]; dispatch_semaphore_signal(sema); diff --git a/SignalServiceKit/src/Network/API/TSNetworkManager.h b/SignalServiceKit/src/Network/API/TSNetworkManager.h index 67a016a04..94f58d498 100644 --- a/SignalServiceKit/src/Network/API/TSNetworkManager.h +++ b/SignalServiceKit/src/Network/API/TSNetworkManager.h @@ -41,9 +41,12 @@ typedef void (^TSNetworkManagerFailure)(NSURLSessionDataTask *task, NSError *err failure:(TSNetworkManagerFailure)failure NS_SWIFT_NAME(makeRequest(_:success:failure:)); - (void)makeRequest:(TSRequest *)request - shouldCompleteOnMainQueue:(BOOL)shouldCompleteOnMainQueue - success:(TSNetworkManagerSuccess)success - failure:(TSNetworkManagerFailure)failure NS_SWIFT_NAME(makeRequest(_:shouldCompleteOnMainQueue:success:failure:)); + completionQueue:(dispatch_queue_t)completionQueue + success:(TSNetworkManagerSuccess)success + failure:(TSNetworkManagerFailure)failure NS_SWIFT_NAME(makeRequest(_:shouldCompleteOnMainQueue +:success +:failure +:)); @end diff --git a/SignalServiceKit/src/Network/API/TSNetworkManager.m b/SignalServiceKit/src/Network/API/TSNetworkManager.m index 1493eafe0..c43f84b09 100644 --- a/SignalServiceKit/src/Network/API/TSNetworkManager.m +++ b/SignalServiceKit/src/Network/API/TSNetworkManager.m @@ -58,13 +58,13 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error); success:(TSNetworkManagerSuccess)success failure:(TSNetworkManagerFailure)failure { - return [self makeRequest:request shouldCompleteOnMainQueue:YES success:success failure:failure]; + return [self makeRequest:request completionQueue:dispatch_get_main_queue() success:success failure:failure]; } - (void)makeRequest:(TSRequest *)request - shouldCompleteOnMainQueue:(BOOL)shouldCompleteOnMainQueue - success:(TSNetworkManagerSuccess)success - failure:(TSNetworkManagerFailure)failureBlock + completionQueue:(dispatch_queue_t)completionQueue + success:(TSNetworkManagerSuccess)success + failure:(TSNetworkManagerFailure)failureBlock { OWSAssert(request); OWSAssert(success); @@ -87,11 +87,7 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error); AFHTTPSessionManager *sessionManager = [OWSSignalService sharedInstance].signalServiceSessionManager; // [OWSSignalService signalServiceSessionManager] always returns a new instance of // session manager, so its safe to reconfigure it here. - if (shouldCompleteOnMainQueue) { - sessionManager.completionQueue = dispatch_get_main_queue(); - } else { - sessionManager.completionQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); - } + sessionManager.completionQueue = completionQueue; if ([request isKindOfClass:[TSVerifyCodeRequest class]]) { // We plant the Authorization parameter ourselves, no need to double add.