diff --git a/Podfile.lock b/Podfile.lock index bef05e428..ba7c3c4c6 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -132,7 +132,7 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: SignalServiceKit: - :commit: 3083e2929c7dcfe5c60e003dd77c310d26dab177 + :commit: 34ffce89f59356ab23f290866b1c3437f03312ce :git: https://github.com/WhisperSystems/SignalServiceKit.git SocketRocket: :commit: 41b57bb2fc292a814f758441a05243eb38457027 diff --git a/Signal/src/contact/OWSContactsManager.m b/Signal/src/contact/OWSContactsManager.m index e5c896562..5695e0fe8 100644 --- a/Signal/src/contact/OWSContactsManager.m +++ b/Signal/src/contact/OWSContactsManager.m @@ -385,46 +385,10 @@ void onAddressBookChanged(ABAddressBookRef notifyAddressBook, CFDictionaryRef in signalContacts[contact.textSecureIdentifiers.firstObject] = contact; } } - return [signalContacts.allValues sortedArrayUsingComparator:[[self class] contactComparator]]; -} -+ (NSComparator)contactComparator { - return ^NSComparisonResult(id obj1, id obj2) { - Contact *contact1 = (Contact *)obj1; - Contact *contact2 = (Contact *)obj2; - - BOOL firstNameOrdering = ABPersonGetSortOrdering() == kABPersonCompositeNameFormatFirstNameFirst ? YES : NO; - - if (firstNameOrdering) { - if (contact1.firstName) { - if (contact2.firstName) { - return [contact1.firstName caseInsensitiveCompare:contact2.firstName]; - } else { - return [contact1.firstName caseInsensitiveCompare:contact2.lastName]; - } - } else { - if (contact2.firstName) { - return [contact1.lastName caseInsensitiveCompare:contact2.firstName]; - } else { - return [contact1.lastName caseInsensitiveCompare:contact2.lastName]; - } - } - } else { - if (contact1.lastName) { - if (contact2.lastName) { - return [contact1.lastName caseInsensitiveCompare:contact2.lastName]; - } else { - return [contact1.lastName caseInsensitiveCompare:contact2.firstName]; - } - } else { - if (contact2.lastName) { - return [contact1.firstName caseInsensitiveCompare:contact2.lastName]; - } else { - return [contact1.firstName caseInsensitiveCompare:contact2.firstName]; - } - } - }; - }; + BOOL firstNameOrdering = ABPersonGetSortOrdering() == kABPersonCompositeNameFormatFirstNameFirst ? YES : NO; + NSComparator contactsComparator = [Contact comparatorSortingNamesByFirstThenLast:firstNameOrdering]; + return [signalContacts.allValues sortedArrayUsingComparator:contactsComparator]; } - (NSArray *)signalContacts {