From 24befe7501b0ab88a2a2be5c5703c5b01e159afe Mon Sep 17 00:00:00 2001 From: Danmei Chen Date: Fri, 4 Jan 2019 15:28:55 +0100 Subject: [PATCH] (IPAD)fix ChatCreateView --- Classes/ChatConversationCreateView.m | 17 ++++++++++++++++- Classes/ChatsListView.m | 4 ++++ Classes/LinphoneManager.h | 1 + Classes/LinphoneManager.m | 1 + 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/Classes/ChatConversationCreateView.m b/Classes/ChatConversationCreateView.m index 187f23a0a..30d538160 100644 --- a/Classes/ChatConversationCreateView.m +++ b/Classes/ChatConversationCreateView.m @@ -54,7 +54,16 @@ static UICompositeViewDescription *compositeDescription = nil; - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; + [self viewUpdateEvent:nil]; + + if (IPAD) + [NSNotificationCenter.defaultCenter addObserver:self + selector:@selector(viewUpdateEvent:) + name:kLinphoneChatCreateViewChange + object:nil]; +} +- (void)viewUpdateEvent:(NSNotification *)notif { CGRect frame = _chiffreOptionView.frame; if (_isGroupChat) { _nextButton.hidden = FALSE; @@ -95,7 +104,13 @@ static UICompositeViewDescription *compositeDescription = nil; _tableController.isForEditing = _isForEditing; _tableController.isGroupChat = _isGroupChat; _tableController.isEncrypted = _isEncrypted; - [self changeView:ContactsLinphone]; + [self changeView:ContactsLinphone]; +} + +- (void)viewWillDisappear:(BOOL)animated { + [super viewWillDisappear:animated]; + if (IPAD) + [NSNotificationCenter.defaultCenter removeObserver:self]; } #pragma mark - Chat room functions diff --git a/Classes/ChatsListView.m b/Classes/ChatsListView.m index d328a124e..84e6d0f8c 100644 --- a/Classes/ChatsListView.m +++ b/Classes/ChatsListView.m @@ -105,10 +105,14 @@ static UICompositeViewDescription *compositeDescription = nil; - (IBAction)onAddGroupChatClick:(id)event { [self newChatCreate:TRUE]; + if (IPAD) + [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneChatCreateViewChange object:VIEW(ChatConversationCreateView) userInfo:nil]; } - (IBAction)onAddClick:(id)event { [self newChatCreate:FALSE]; + if (IPAD) + [NSNotificationCenter.defaultCenter postNotificationName:kLinphoneChatCreateViewChange object:VIEW(ChatConversationCreateView) userInfo:nil]; } - (IBAction)onEditionChangeClick:(id)sender { diff --git a/Classes/LinphoneManager.h b/Classes/LinphoneManager.h index e6df3db59..2c49263ed 100644 --- a/Classes/LinphoneManager.h +++ b/Classes/LinphoneManager.h @@ -57,6 +57,7 @@ extern NSString *const kLinphoneCallEncryptionChanged; extern NSString *const kLinphoneFileTransferSendUpdate; extern NSString *const kLinphoneFileTransferRecvUpdate; extern NSString *const kLinphoneQRCodeFound; +extern NSString *const kLinphoneChatCreateViewChange; typedef enum _NetworkType { network_none = 0, diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index fc43159cb..8b7c329c3 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -77,6 +77,7 @@ NSString *const kLinphoneCallEncryptionChanged = @"LinphoneCallEncryptionChanged NSString *const kLinphoneFileTransferSendUpdate = @"LinphoneFileTransferSendUpdate"; NSString *const kLinphoneFileTransferRecvUpdate = @"LinphoneFileTransferRecvUpdate"; NSString *const kLinphoneQRCodeFound = @"LinphoneQRCodeFound"; +NSString *const kLinphoneChatCreateViewChange = @"LinphoneChatCreateViewChange"; const int kLinphoneAudioVbrCodecDefaultBitrate = 36; /*you can override this from linphonerc or linphonerc-factory*/