Show loading cell when contacts are still loading.

// FREEBIE
pull/1/head
Michael Kirk 7 years ago
parent c07d7777cb
commit 1f8042685d

@ -396,14 +396,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 ];

Loading…
Cancel
Save