From a1b0a4243f71650e919f5f15fa0a6388d612c146 Mon Sep 17 00:00:00 2001 From: Blair Mitchelmore Date: Fri, 20 Jun 2014 12:40:41 -0400 Subject: [PATCH] Update EEEUnifiedAddressBook.m Fixed reintroduction of duplicate contacts when removing source filter --- Classes/EEEUnifiedAddressBook.m | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Classes/EEEUnifiedAddressBook.m b/Classes/EEEUnifiedAddressBook.m index 121f7a1..02b7586 100644 --- a/Classes/EEEUnifiedAddressBook.m +++ b/Classes/EEEUnifiedAddressBook.m @@ -208,12 +208,16 @@ - (BOOL)unifyAddressBook:(ABAddressBookRef)addressBook NSArray *records = (__bridge_transfer NSArray *) ABAddressBookCopyArrayOfAllPeople(addressBook); + NSMutableDictionary *root = [NSMutableDictionary dictionary]; + NSUInteger idx = 0; NSUInteger count = [records count]; for (id untypedRecord in records) { ABRecordRef unifiedRecordRef = (__bridge ABRecordRef) untypedRecord; NSNumber *recordID = [NSNumber numberWithInteger:ABRecordGetRecordID(unifiedRecordRef)]; + + if (root[recordID]) continue; EEECDUnifiedRecord *unifiedRecord = [EEECDUnifiedRecord insertInManagedObjectContext:context]; unifiedRecord.recordID = recordID; @@ -230,6 +234,8 @@ - (BOOL)unifyAddressBook:(ABAddressBookRef)addressBook EEECDLinkedRecord *linkedRecord = [EEECDLinkedRecord insertInManagedObjectContext:context]; linkedRecord.recordID = linkedRecordID; linkedRecord.unifiedRecord = unifiedRecord; + + root[linkedRecordID] = @YES; } idx++;