From 4a4f8a5e06dd7c42312ed4f3cd2f5dbd55b5bbbf Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Fri, 14 Jun 2019 11:36:23 -0500 Subject: [PATCH] Don't show new-user notification for first time contact syncs --- SignalMessaging/contacts/OWSContactsManager.m | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/SignalMessaging/contacts/OWSContactsManager.m b/SignalMessaging/contacts/OWSContactsManager.m index 53c5017406..7c293b6a1c 100644 --- a/SignalMessaging/contacts/OWSContactsManager.m +++ b/SignalMessaging/contacts/OWSContactsManager.m @@ -345,9 +345,22 @@ NSString *const OWSContactsManagerKeyNextFullIntersectionDate = @"OWSContactsMan if (isRegularlyScheduledRun) { NSMutableSet *newSignalRecipients = [registeredRecipients mutableCopy]; [newSignalRecipients minusSet:existingRegisteredRecipients]; - // Not for first time users - if (existingRegisteredRecipients.count > 0 && newSignalRecipients.count > 0) { - [OWSNewAccountDiscovery.shared discoveredNewRecipients:newSignalRecipients]; + + if (newSignalRecipients.count == 0) { + OWSLogInfo(@"No new recipients."); + } else { + __block NSSet *_Nullable lastKnownContactPhoneNumbers; + [self.dbReadConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) { + lastKnownContactPhoneNumbers = + [transaction objectForKey:OWSContactsManagerKeyLastKnownContactPhoneNumbers + inCollection:OWSContactsManagerCollection]; + }]; + + if (lastKnownContactPhoneNumbers != nil && lastKnownContactPhoneNumbers.count > 0) { + [OWSNewAccountDiscovery.shared discoveredNewRecipients:newSignalRecipients]; + } else { + OWSLogInfo(@"skipping new recipient notification for first successful contact sync."); + } } }