From dc3a382c238ec2f772bcbfa9b7ad06a55d391ada Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Thu, 13 Apr 2017 15:38:32 -0400 Subject: [PATCH] Respond to CR. // FREEBIE --- Podfile.lock | 2 +- Signal/src/contact/OWSContactsManager.m | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Podfile.lock b/Podfile.lock index cd4e9a9f9..2ba43b29a 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -138,7 +138,7 @@ CHECKOUT OPTIONS: :commit: 7054e4b13ee5bcd6d524adb6dc9a726e8c466308 :git: https://github.com/WhisperSystems/JSQMessagesViewController.git SignalServiceKit: - :commit: 1d946ccfed4d83aa36f08642f2f527a0cf4b96d0 + :commit: 173823e3adaf1ba5e7a3ab731c7d34f48be8cf3a :git: https://github.com/WhisperSystems/SignalServiceKit.git SocketRocket: :commit: 877ac7438be3ad0b45ef5ca3969574e4b97112bf diff --git a/Signal/src/contact/OWSContactsManager.m b/Signal/src/contact/OWSContactsManager.m index bf5313c87..a458a20f9 100644 --- a/Signal/src/contact/OWSContactsManager.m +++ b/Signal/src/contact/OWSContactsManager.m @@ -6,6 +6,7 @@ #import "ContactsUpdater.h" #import "Environment.h" #import "Util.h" +#import #define ADDRESSBOOK_QUEUE dispatch_get_main_queue() @@ -171,15 +172,19 @@ void onAddressBookChanged(ABAddressBookRef notifyAddressBook, CFDictionaryRef in } - (void)intersectContacts +{ + [self intersectContactsWithRetryDelay:1.f]; +} + +- (void)intersectContactsWithRetryDelay:(CGFloat)retryDelaySeconds { void (^success)() = ^{ DDLogInfo(@"%@ Successfully intersected contacts.", self.tag); [self fireSignalRecipientsDidChange]; }; void (^failure)(NSError *error) = ^(NSError *error) { - - if ([error.domain isEqualToString:kContactsUpdaterErrorDomain] - && error.code == kContactsUpdaterRateLimitErrorCode) { + if ([error.domain isEqualToString:OWSSignalServiceKitErrorDomain] + && error.code == OWSErrorCodeContactsUpdaterRateLimit) { DDLogError(@"Contact intersection hit rate limit with error: %@", error); return; } @@ -190,7 +195,7 @@ void onAddressBookChanged(ABAddressBookRef notifyAddressBook, CFDictionaryRef in // // TODO: Abort if another contact intersection succeeds in the meantime. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [self intersectContacts]; + [self intersectContactsWithRetryDelay:retryDelaySeconds * 2.f]; }); }; [[ContactsUpdater sharedUpdater] updateSignalContactIntersectionWithABContacts:self.allContacts