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

// FREEBIE
pull/1/head
Matthew Chen 8 years ago
parent 90dabe1c81
commit b6264383d3

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

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

Loading…
Cancel
Save