Merge tag '2.19.3.1'

This commit is contained in:
Michael Kirk 2017-12-14 16:21:41 -05:00
commit 4f06518539
3 changed files with 42 additions and 8 deletions

View file

@ -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) {

View file

@ -398,14 +398,34 @@ NS_ASSUME_NONNULL_BEGIN
// No Contacts
OWSTableSection *contactsSection = [OWSTableSection new];
if (self.contactsViewHelper.contactsManager.isSystemContactsAuthorized
&& self.contactsViewHelper.hasUpdatedContactsAtLeastOnce) {
[contactsSection
addItem:[OWSTableItem
softCenterLabelItemWithText:NSLocalizedString(@"SETTINGS_BLOCK_LIST_NO_CONTACTS",
@"A label that indicates the user has no Signal contacts.")
customRowHeight:self.actionCellHeight]];
if (self.contactsViewHelper.contactsManager.isSystemContactsAuthorized) {
if (self.contactsViewHelper.hasUpdatedContactsAtLeastOnce) {
[contactsSection
addItem:[OWSTableItem softCenterLabelItemWithText:
NSLocalizedString(@"SETTINGS_BLOCK_LIST_NO_CONTACTS",
@"A label that indicates the user has no Signal contacts.")
customRowHeight:self.actionCellHeight]];
} else {
UITableViewCell *loadingCell = [UITableViewCell new];
OWSAssert(loadingCell.contentView);
UIActivityIndicatorView *activityIndicatorView =
[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[loadingCell.contentView addSubview:activityIndicatorView];
[activityIndicatorView startAnimating];
[activityIndicatorView autoCenterInSuperview];
[activityIndicatorView setCompressionResistanceHigh];
[activityIndicatorView setContentHuggingHigh];
// hide separator for loading cell. The loading cell doesn't really feel like a cell
loadingCell.backgroundView = [UIView new];
OWSTableItem *loadingItem =
[OWSTableItem itemWithCustomCell:loadingCell customRowHeight:40 actionBlock:nil];
[contactsSection addItem:loadingItem];
}
}
return @[ contactsSection ];

View file

@ -281,6 +281,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.