From 27c99cf4d26e49ac97e6bb5d1916b2e385596e9b Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Sat, 16 Dec 2017 12:26:47 -0500 Subject: [PATCH] sort SignalAccounts loaded from cache --- Signal/src/contact/OWSContactsManager.m | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Signal/src/contact/OWSContactsManager.m b/Signal/src/contact/OWSContactsManager.m index 05a037731..435ef2bc4 100644 --- a/Signal/src/contact/OWSContactsManager.m +++ b/Signal/src/contact/OWSContactsManager.m @@ -74,6 +74,7 @@ NSString *const OWSContactsManagerSignalAccountsDidChangeNotification }]; }]; + [signalAccounts sortUsingComparator:self.signalAccountComparator]; [self updateSignalAccounts:signalAccounts]; } @@ -324,12 +325,7 @@ NSString *const OWSContactsManagerSignalAccountsDidChangeNotification } // re-sort signal accounts since we've appended some orphans - [signalAccounts sortUsingComparator:^NSComparisonResult(SignalAccount *left, SignalAccount *right) { - NSString *leftName = [self comparableNameForSignalAccount:left]; - NSString *rightName = [self comparableNameForSignalAccount:right]; - - return [leftName compare:rightName]; - }]; + [signalAccounts sortUsingComparator:self.signalAccountComparator]; } } }]; @@ -699,6 +695,16 @@ NSString *const OWSContactsManagerSignalAccountsDidChangeNotification return image; } +- (NSComparisonResult (^)(SignalAccount *left, SignalAccount *right))signalAccountComparator +{ + return ^NSComparisonResult(SignalAccount *left, SignalAccount *right) { + NSString *leftName = [self comparableNameForSignalAccount:left]; + NSString *rightName = [self comparableNameForSignalAccount:right]; + + return [leftName compare:rightName]; + }; +} + - (NSString *)comparableNameForSignalAccount:(SignalAccount *)signalAccount { NSString *_Nullable name;