diff --git a/Classes/ChatRoomViewController.h b/Classes/ChatRoomViewController.h index 4ba2c6b0d..49b77c955 100644 --- a/Classes/ChatRoomViewController.h +++ b/Classes/ChatRoomViewController.h @@ -35,6 +35,7 @@ ImageSharing *imageSharing; OrderedDictionary *imageQualities; BOOL scrollOnGrowingEnabled; + BOOL composingVisible; } @property (nonatomic, retain) IBOutlet ChatRoomTableViewController* tableController; diff --git a/Classes/ChatRoomViewController.m b/Classes/ChatRoomViewController.m index 236619ef6..22418207e 100644 --- a/Classes/ChatRoomViewController.m +++ b/Classes/ChatRoomViewController.m @@ -62,6 +62,7 @@ [NSNumber numberWithFloat:0.9], NSLocalizedString(@"Maximum", nil), [NSNumber numberWithFloat:0.5], NSLocalizedString(@"Average", nil), [NSNumber numberWithFloat:0.0], NSLocalizedString(@"Minimum", nil), nil]; + self->composingVisible = TRUE; } return self; } @@ -440,6 +441,9 @@ static void message_status(LinphoneChatMessage* msg,LinphoneChatMessageState sta } - (void)setComposingVisible:(BOOL)visible withDelay:(CGFloat)delay { + + if( composingVisible == visible ) return; + CGRect keyboardFrame = [self.messageView frame]; CGRect newComposingFrame = [self.composeIndicatorView frame]; CGRect newTableFrame = [self.tableController.tableView frame]; @@ -459,10 +463,11 @@ static void message_status(LinphoneChatMessage* msg,LinphoneChatMessageState sta animations:^{ self.tableController.tableView.frame = newTableFrame; self.composeIndicatorView.frame = newComposingFrame; - } completion:^(BOOL finished) { + } + completion:^(BOOL finished) { + composingVisible = visible; [self.tableController scrollToBottom:TRUE]; }]; - }