From 0eb13dd827b8025ddbfaa79898f269b1503cb550 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 21 Sep 2018 11:35:55 -0400 Subject: [PATCH 1/2] Fix nag reminder v. dark theme. --- Signal/src/views/ReminderView.swift | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Signal/src/views/ReminderView.swift b/Signal/src/views/ReminderView.swift index 6fa627849..cffe1035d 100644 --- a/Signal/src/views/ReminderView.swift +++ b/Signal/src/views/ReminderView.swift @@ -61,12 +61,18 @@ class ReminderView: UIView { } func setupSubviews() { + let textColor: UIColor + let iconColor: UIColor switch (mode) { case .nag: self.backgroundColor = UIColor.ows_reminderYellow + textColor = UIColor.ows_gray90 + iconColor = UIColor.ows_gray60 case .explanation: // TODO: Theme, review with design. self.backgroundColor = Theme.offBackgroundColor + textColor = Theme.primaryColor + iconColor = Theme.secondaryColor } self.clipsToBounds = true @@ -85,7 +91,7 @@ class ReminderView: UIView { // Label label.font = UIFont.ows_dynamicTypeSubheadline container.addArrangedSubview(label) - label.textColor = Theme.primaryColor + label.textColor = textColor label.numberOfLines = 0 label.lineBreakMode = .byWordWrapping @@ -99,7 +105,7 @@ class ReminderView: UIView { } let iconView = UIImageView(image: iconImage.withRenderingMode(.alwaysTemplate)) iconView.contentMode = .scaleAspectFit - iconView.tintColor = Theme.secondaryColor + iconView.tintColor = iconColor iconView.autoSetDimension(.width, toSize: 13) container.addArrangedSubview(iconView) } From d13624897d891766516d0f89800b153540d7aea8 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 21 Sep 2018 11:37:40 -0400 Subject: [PATCH 2/2] Fix reminder changes in home view. --- .../HomeView/HomeViewController.m | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Signal/src/ViewControllers/HomeView/HomeViewController.m b/Signal/src/ViewControllers/HomeView/HomeViewController.m index b51368349..fb480f738 100644 --- a/Signal/src/ViewControllers/HomeView/HomeViewController.m +++ b/Signal/src/ViewControllers/HomeView/HomeViewController.m @@ -157,7 +157,10 @@ NSString *const kArchivedConversationsReuseIdentifier = @"kArchivedConversations #pragma GCC diagnostic ignored "-Wunused-result" [ExperienceUpgradeFinder sharedManager]; #pragma GCC diagnostic pop +} +- (void)observeNotifications +{ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(signalAccountsDidChange:) name:OWSContactsManagerSignalAccountsDidChangeNotification @@ -332,8 +335,6 @@ NSString *const kArchivedConversationsReuseIdentifier = @"kArchivedConversations action:@selector(pullToRefreshPerformed:) forControlEvents:UIControlEventValueChanged]; [self.tableView insertSubview:pullToRefreshView atIndex:0]; - - [self updateReminderViews]; } - (void)updateReminderViews @@ -349,6 +350,16 @@ NSString *const kArchivedConversationsReuseIdentifier = @"kArchivedConversations || !self.deregisteredView.isHidden || !self.outageView.isHidden; } +- (void)setHasVisibleReminders:(BOOL)hasVisibleReminders +{ + if (_hasVisibleReminders == hasVisibleReminders) { + return; + } + _hasVisibleReminders = hasVisibleReminders; + // If the reminders show/hide, reload the table. + [self.tableView reloadData]; +} + - (void)viewDidLoad { [super viewDidLoad]; @@ -361,6 +372,7 @@ NSString *const kArchivedConversationsReuseIdentifier = @"kArchivedConversations [self updateMappings]; [self checkIfEmptyView]; [self updateReminderViews]; + [self observeNotifications]; // because this uses the table data source, `tableViewSetup` must happen // after mappings have been set up in `showInboxGrouping` @@ -411,6 +423,7 @@ NSString *const kArchivedConversationsReuseIdentifier = @"kArchivedConversations } searchResultsController.view.hidden = YES; + [self updateReminderViews]; [self updateBarButtonItems]; [self applyTheme]; @@ -802,6 +815,8 @@ NSString *const kArchivedConversationsReuseIdentifier = @"kArchivedConversations HomeViewControllerSection section = (HomeViewControllerSection)indexPath.section; switch (section) { case HomeViewControllerSectionReminders: { + OWSAssert(self.reminderStackView); + return self.reminderViewCell; } case HomeViewControllerSectionConversations: {