From 9bacc3de78d8b7b39bc9b66a31a1353ca80ff5a5 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Tue, 17 May 2016 09:38:49 -0700 Subject: [PATCH] Reset compose view on thread switch (#1187) * all Signal users can send text messages, never hide texting toolbar. //FREEBIE * Fix composition box size when switching threads. Partial revert of 2c83046ff667d28944038d4d459efbbecb86a81e which introduced a shared reusable message view controller across threads. 2c83046ff667d28944038d4d459efbbecb86a81e resulted in several discovered bugs so far (#1179, #1150, #1152, and maybe: #1146). It's pretty clear at this point we're going against the grain of how JSQMesageViewController is intended to be used, and since the nominal purpose of this feature (iPad Layout) doesn't exist, we should revert to the known good way of interacting with the MessageViewController, creating a fresh instance per thread. // FREEBIE --- Signal/src/view controllers/MessagesViewController.m | 3 +-- Signal/src/view controllers/UITests/SignalsViewController.m | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/Signal/src/view controllers/MessagesViewController.m b/Signal/src/view controllers/MessagesViewController.m index 9bf9b7af2..4d0152c17 100644 --- a/Signal/src/view controllers/MessagesViewController.m +++ b/Signal/src/view controllers/MessagesViewController.m @@ -139,10 +139,9 @@ typedef enum : NSUInteger { if ([_thread isKindOfClass:[TSGroupThread class]] && ![((TSGroupThread *)_thread).groupModel.groupMemberIds containsObject:[TSAccountManager localNumber]]) { + [self inputToolbar].hidden = YES; // user has requested they leave the group. further sends disallowed self.navigationItem.rightBarButtonItem = nil; // further group action disallowed - } else if (![self isTextSecureReachable]) { - [self inputToolbar].hidden = YES; // only RedPhone } else { [self inputToolbar].hidden = NO; [self loadDraftInCompose]; diff --git a/Signal/src/view controllers/UITests/SignalsViewController.m b/Signal/src/view controllers/UITests/SignalsViewController.m index ab9010048..e64ad52d0 100644 --- a/Signal/src/view controllers/UITests/SignalsViewController.m +++ b/Signal/src/view controllers/UITests/SignalsViewController.m @@ -324,10 +324,8 @@ static NSString *const kShowSignupFlowSegue = @"showSignupFlow"; - (void)presentThread:(TSThread *)thread keyboardOnViewAppearing:(BOOL)keyboardOnViewAppearing { dispatch_async(dispatch_get_main_queue(), ^{ - if (!_mvc) { - _mvc = [[UIStoryboard storyboardWithName:@"Storyboard" bundle:NULL] - instantiateViewControllerWithIdentifier:@"MessagesViewController"]; - } + _mvc = [[UIStoryboard storyboardWithName:@"Storyboard" bundle:NULL] + instantiateViewControllerWithIdentifier:@"MessagesViewController"]; if (self.presentedViewController) { [self.presentedViewController dismissViewControllerAnimated:YES completion:nil];