Room view controller: remove properly members listener.

This commit is contained in:
giomfo 2015-05-12 14:29:42 +02:00
parent 0e0a84dfd0
commit f644c3edc0

View file

@ -82,24 +82,28 @@
self.actionMenu = nil;
}
// Store the potential message partially typed in text input
self.roomDataSource.partialTextMessage = self.inputToolbarView.textMessage;
if (membersListener) {
[self.roomDataSource.room removeListener:membersListener];
membersListener = nil;
if (self.roomDataSource) {
// Store the potential message partially typed in text input
self.roomDataSource.partialTextMessage = self.inputToolbarView.textMessage;
if (membersListener) {
[self.roomDataSource.room removeListener:membersListener];
membersListener = nil;
}
}
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// Set visible room id
[AppDelegate theDelegate].masterTabBarController.visibleRoomId = self.roomDataSource.roomId;
// Retrieve the potential message partially typed during last room display.
// Note: We have to wait for viewDidAppear before updating growingTextView (viewWillAppear is too early)
self.inputToolbarView.textMessage = self.roomDataSource.partialTextMessage;
if (self.roomDataSource) {
// Set visible room id
[AppDelegate theDelegate].masterTabBarController.visibleRoomId = self.roomDataSource.roomId;
// Retrieve the potential message partially typed during last room display.
// Note: We have to wait for viewDidAppear before updating growingTextView (viewWillAppear is too early)
self.inputToolbarView.textMessage = self.roomDataSource.partialTextMessage;
}
}
- (void)viewDidDisappear:(BOOL)animated {
@ -111,6 +115,17 @@
#pragma mark -
- (void)displayRoom:(MXKRoomDataSource *)dataSource {
// Remove members listener (if any) before changing dataSource.
if (membersListener) {
[self.roomDataSource.room removeListener:membersListener];
membersListener = nil;
}
[super displayRoom:dataSource];
}
- (void)dismissKeyboard {
[_roomTitleView dismissKeyboard];