From 2b45a8348eb24efd07402bdf92d10f84ee5ec715 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Thu, 11 Oct 2018 13:18:07 -0400 Subject: [PATCH] Clean up ahead of PR. --- .../src/Messages/OWSDeliveryReceiptManager.m | 22 +++++++++++++++++++ .../src/Messages/OWSMessageManager.m | 6 ----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/SignalServiceKit/src/Messages/OWSDeliveryReceiptManager.m b/SignalServiceKit/src/Messages/OWSDeliveryReceiptManager.m index 70a5b88b2..1da548cd8 100644 --- a/SignalServiceKit/src/Messages/OWSDeliveryReceiptManager.m +++ b/SignalServiceKit/src/Messages/OWSDeliveryReceiptManager.m @@ -10,6 +10,7 @@ #import "SSKEnvironment.h" #import "TSContactThread.h" #import "TSYapDatabaseObject.h" +#import #import NS_ASSUME_NONNULL_BEGIN @@ -20,6 +21,8 @@ NSString *const kDeliveryReceiptManagerCollection = @"kDeliveryReceiptManagerCol @property (nonatomic, readonly) YapDatabaseConnection *dbConnection; +@property (nonatomic) Reachability *reachability; + // Should only be accessed on the serialQueue. @property (nonatomic) BOOL isProcessing; @@ -42,10 +45,17 @@ NSString *const kDeliveryReceiptManagerCollection = @"kDeliveryReceiptManagerCol return self; } + self.reachability = [Reachability reachabilityForInternetConnection]; + _dbConnection = primaryStorage.newDatabaseConnection; OWSSingletonAssert(); + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(reachabilityChanged) + name:kReachabilityChangedNotification + object:nil]; + // Start processing. [AppReadiness runNowOrWhenAppIsReady:^{ [self scheduleProcessing]; @@ -96,6 +106,12 @@ NSString *const kDeliveryReceiptManagerCollection = @"kDeliveryReceiptManagerCol - (void)process { OWSLogVerbose(@"Processing outbound delivery receipts."); + if (!self.reachability.isReachable) { + // No network availability; abort. + self.isProcessing = NO; + return; + } + NSMutableDictionary *> *deliveryReceiptMap = [NSMutableDictionary new]; [self.dbConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) { [transaction enumerateKeysAndObjectsInCollection:kDeliveryReceiptManagerCollection @@ -221,6 +237,12 @@ NSString *const kDeliveryReceiptManagerCollection = @"kDeliveryReceiptManagerCol }); } +- (void)reachabilityChanged { + OWSAssertIsOnMainThread(); + + [self scheduleProcessing]; +} + @end NS_ASSUME_NONNULL_END diff --git a/SignalServiceKit/src/Messages/OWSMessageManager.m b/SignalServiceKit/src/Messages/OWSMessageManager.m index 8eba401ef..e4ede225b 100644 --- a/SignalServiceKit/src/Messages/OWSMessageManager.m +++ b/SignalServiceKit/src/Messages/OWSMessageManager.m @@ -507,12 +507,6 @@ NS_ASSUME_NONNULL_BEGIN } } -- (void)sendDeliveryReceiptForEnvelope:(SSKProtoEnvelope *)envelope { - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), - ^ { - }); -} - - (void)sendGroupInfoRequest:(NSData *)groupId envelope:(SSKProtoEnvelope *)envelope transaction:(YapDatabaseReadWriteTransaction *)transaction