From 7f21a1bf62376725b52499b6d0366df95f260859 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Tue, 4 Apr 2017 18:08:51 -0400 Subject: [PATCH] =?UTF-8?q?Dismiss=20=E2=80=9Cblock=20state=20indicator?= =?UTF-8?q?=E2=80=9D=20if=20user=20scrolls=20message=20view.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit // FREEBIE --- .../ViewControllers/MessagesViewController.m | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Signal/src/ViewControllers/MessagesViewController.m b/Signal/src/ViewControllers/MessagesViewController.m index 894c91adb..8602e87bd 100644 --- a/Signal/src/ViewControllers/MessagesViewController.m +++ b/Signal/src/ViewControllers/MessagesViewController.m @@ -220,6 +220,7 @@ typedef enum : NSUInteger { @property (nonatomic, readonly) OWSBlockingManager *blockingManager; @property (nonatomic) NSCache *messageAdapterCache; +@property (nonatomic) BOOL userHasScrolled; @end @@ -527,6 +528,12 @@ typedef enum : NSUInteger { [self ensureBlockStateIndicator]; } +- (void)setUserHasScrolled:(BOOL)userHasScrolled { + _userHasScrolled = userHasScrolled; + + [self ensureBlockStateIndicator]; +} + - (void)ensureBlockStateIndicator { // This method should be called rarely, so it's simplest to discard and @@ -534,6 +541,10 @@ typedef enum : NSUInteger { [self.blockStateIndicator removeFromSuperview]; self.blockStateIndicator = nil; + if (self.userHasScrolled) { + return; + } + NSString *blockStateMessage = nil; if ([self isBlockedContactConversation]) { blockStateMessage = NSLocalizedString(@"MESSAGES_VIEW_CONTACT_BLOCKED", @@ -725,6 +736,7 @@ typedef enum : NSUInteger { - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; self.inputToolbar.contentView.textView.editable = NO; + self.userHasScrolled = NO; } #pragma mark - Initiliazers @@ -2781,6 +2793,13 @@ typedef enum : NSUInteger { completion:nil]; } +#pragma mark - UIScrollViewDelegate + +- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView +{ + self.userHasScrolled = YES; +} + #pragma mark - Class methods + (UINib *)nib