From d680e7a2e4d13097d7488c543dbd5edfbc2564aa Mon Sep 17 00:00:00 2001 From: Danmei Chen Date: Fri, 3 Apr 2020 10:56:22 +0200 Subject: [PATCH] fix IPAD go to chat view from ContactDetailView --- Classes/ChatsListTableView.m | 10 ++++------ Classes/LinphoneUI/UIContactDetailsCell.m | 2 ++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Classes/ChatsListTableView.m b/Classes/ChatsListTableView.m index f946ed206..fce0fc0d8 100644 --- a/Classes/ChatsListTableView.m +++ b/Classes/ChatsListTableView.m @@ -98,12 +98,7 @@ static int sorted_history_comparison(LinphoneChatRoom *to_insert, LinphoneChatRo while (iter) { // store last message in user data LinphoneChatRoom *chat_room = iter->data; - // hide empty one-to-one chat room - LinphoneChatRoomCapabilitiesMask capabilities = linphone_chat_room_get_capabilities(chat_room); - ChatConversationView *view = VIEW(ChatConversationView); - if (linphone_chat_room_get_history_size(chat_room) > 0 || !(capabilities & LinphoneChatRoomCapabilitiesOneToOne) || (IPAD && view.chatRoom == chat_room)) { - sorted = bctbx_list_insert_sorted(sorted, chat_room, (bctbx_compare_func)sorted_history_comparison); - } + sorted = bctbx_list_insert_sorted(sorted, chat_room, (bctbx_compare_func)sorted_history_comparison); iter = iter->next; } return sorted; @@ -120,6 +115,9 @@ static int sorted_history_comparison(LinphoneChatRoom *to_insert, LinphoneChatRo if (idx != -1) { NSIndexPath *indexPath = [NSIndexPath indexPathForRow:idx inSection:0]; [self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone]; + } else if ([LinphoneManager.instance lpConfigBoolForKey:@"create_chat" withDefault:FALSE]) { + // if create chat, show the empty chat + [LinphoneManager.instance lpConfigSetBool:FALSE forKey:@"create_chat"]; } else if (![self selectFirstRow]) { ChatConversationCreateView *view = VIEW(ChatConversationCreateView); view.tableController.notFirstTime = FALSE; diff --git a/Classes/LinphoneUI/UIContactDetailsCell.m b/Classes/LinphoneUI/UIContactDetailsCell.m index f303d6f53..c3fe44fdb 100644 --- a/Classes/LinphoneUI/UIContactDetailsCell.m +++ b/Classes/LinphoneUI/UIContactDetailsCell.m @@ -152,12 +152,14 @@ - (IBAction)onChatClick:(id)event { LinphoneAddress *addr = [LinphoneUtils normalizeSipOrPhoneAddress:_addressLabel.text]; + [LinphoneManager.instance lpConfigSetBool:TRUE forKey:@"create_chat"]; [PhoneMainView.instance getOrCreateOneToOneChatRoom:addr waitView:_waitView isEncrypted:FALSE]; linphone_address_unref(addr); } - (IBAction)onEncrptedChatClick:(id)sender { LinphoneAddress *addr = [LinphoneUtils normalizeSipOrPhoneAddress:_addressLabel.text]; + [LinphoneManager.instance lpConfigSetBool:TRUE forKey:@"create_chat"]; [PhoneMainView.instance getOrCreateOneToOneChatRoom:addr waitView:_waitView isEncrypted:TRUE]; linphone_address_unref(addr); }