From c07d7777cb1de394cb40f7ac7838c652a626d34a Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Thu, 14 Dec 2017 13:18:51 -0500 Subject: [PATCH] Reinstate notification when SignalAccounts change // FREEBIE --- Signal/src/ViewControllers/DebugUI/DebugUIContacts.m | 10 ++++++++++ Signal/src/contact/OWSContactsManager.m | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/Signal/src/ViewControllers/DebugUI/DebugUIContacts.m b/Signal/src/ViewControllers/DebugUI/DebugUIContacts.m index 24a5990a3..34ea4e2eb 100644 --- a/Signal/src/ViewControllers/DebugUI/DebugUIContacts.m +++ b/Signal/src/ViewControllers/DebugUI/DebugUIContacts.m @@ -46,6 +46,10 @@ NS_ASSUME_NONNULL_BEGIN actionBlock:^{ [DebugUIContacts deleteAllContacts]; }], + [OWSTableItem itemWithTitle:@"Clear SignalAccount Cache" + actionBlock:^{ + [DebugUIContacts clearSignalAccountCache]; + }], ]]; } @@ -1280,6 +1284,12 @@ NS_ASSUME_NONNULL_BEGIN }]; } ++ (void)clearSignalAccountCache +{ + DDLogWarn(@"%@ Deleting all signal accounts.", self.logTag); + [SignalAccount removeAllObjectsInCollection]; +} + + (void)deleteAllContacts { [self deleteContactsWithFilter:^(CNContact *contact) { diff --git a/Signal/src/contact/OWSContactsManager.m b/Signal/src/contact/OWSContactsManager.m index a283d354a..49cdc9230 100644 --- a/Signal/src/contact/OWSContactsManager.m +++ b/Signal/src/contact/OWSContactsManager.m @@ -273,6 +273,10 @@ NSString *const OWSContactsManagerSignalAccountsDidChangeNotification self.signalAccountMap = [signalAccountMap copy]; self.signalAccounts = [signalAccounts copy]; [self.profileManager setContactRecipientIds:signalAccountMap.allKeys]; + + [[NSNotificationCenter defaultCenter] + postNotificationNameAsync:OWSContactsManagerSignalAccountsDidChangeNotification + object:nil]; } // TODO dependency inject, avoid circular dependencies.