Add possible fixes for the ‘empty home view’ issue.

// FREEBIE
This commit is contained in:
Matthew Chen 2017-07-14 14:06:19 -04:00
parent 90dabe1c81
commit b6264383d3
2 changed files with 26 additions and 19 deletions

View File

@ -10,8 +10,6 @@ NS_ASSUME_NONNULL_BEGIN
@class OWSContactsManager;
@class AvatarImageView;
typedef enum : NSUInteger { kArchiveState = 0, kInboxState = 1 } CellState;
@interface InboxTableViewCell : UITableViewCell <UIScrollViewDelegate>
@property (nonatomic) IBOutlet UILabel *nameLabel;

View File

@ -30,6 +30,8 @@
#define CELL_HEIGHT 72.0f
typedef NS_ENUM(NSInteger, CellState) { kArchiveState, kInboxState };
@interface SignalsViewController () <UITableViewDelegate, UITableViewDataSource, UIViewControllerPreviewingDelegate>
@property (nonatomic) UITableView *tableView;
@ -175,7 +177,7 @@
@"INBOX_VIEW_ARCHIVE_MODE_REMINDER", @"Label reminding the user that they are in archive mode.");
__weak SignalsViewController *weakSelf = self;
archiveReminderView.tapAction = ^{
[weakSelf selectedInbox];
[weakSelf showInboxGrouping];
};
[self.view addSubview:archiveReminderView];
[archiveReminderView autoPinWidthToSuperview];
@ -239,7 +241,7 @@
// Create the database connection.
[self uiDatabaseConnection];
[self selectedInbox];
[self showInboxGrouping];
self.segmentedControl = [[UISegmentedControl alloc] initWithItems:@[
NSLocalizedString(@"WHISPER_NAV_BAR_TITLE", nil),
@ -349,9 +351,9 @@
- (void)swappedSegmentedControl {
if (self.segmentedControl.selectedSegmentIndex == 0) {
[self selectedInbox];
[self showInboxGrouping];
} else {
[self selectedArchive];
[self showArchiveGrouping];
}
}
@ -423,6 +425,11 @@
return;
}
DDLogDebug(@"%@ shouldObserveDBModifications: %d -> %d",
self.tag,
_shouldObserveDBModifications,
shouldObserveDBModifications);
_shouldObserveDBModifications = shouldObserveDBModifications;
if (!self.shouldObserveDBModifications) {
@ -793,18 +800,27 @@
#pragma mark - Groupings
- (void)selectedInbox
- (void)showInboxGrouping
{
self.segmentedControl.selectedSegmentIndex = 0;
self.viewingThreadsIn = kInboxState;
[self changeToGrouping:TSInboxGroup];
}
- (void)selectedArchive
- (void)showArchiveGrouping
{
self.segmentedControl.selectedSegmentIndex = 1;
self.viewingThreadsIn = kArchiveState;
[self changeToGrouping:TSArchiveGroup];
}
- (void)setViewingThreadsIn:(CellState)viewingThreadsIn
{
BOOL didChange = _viewingThreadsIn != viewingThreadsIn;
_viewingThreadsIn = viewingThreadsIn;
self.segmentedControl.selectedSegmentIndex = (viewingThreadsIn == kInboxState ? 0 : 1);
if (didChange || !self.threadMappings) {
[self changeToGrouping:(viewingThreadsIn == kInboxState ? TSInboxGroup : TSArchiveGroup)];
} else {
[self checkIfEmptyView];
[self updateReminderViews];
}
}
- (void)changeToGrouping:(NSString *)grouping {
@ -919,13 +935,6 @@
[self checkIfEmptyView];
}
- (void)setViewingThreadsIn:(CellState)viewingThreadsIn
{
_viewingThreadsIn = viewingThreadsIn;
[self checkIfEmptyView];
}
- (void)checkIfEmptyView {
[_tableView setHidden:NO];
[_emptyBoxLabel setHidden:NO];