From 19ab701f6375d3a38abcdeb6301bd1ed9936ddf2 Mon Sep 17 00:00:00 2001 From: Danmei Chen Date: Wed, 6 Mar 2019 16:16:56 +0100 Subject: [PATCH] create a basic chatroom when non Encrypted --- Classes/ChatConversationCreateTableView.m | 1 - Classes/PhoneMainView.m | 2 +- Classes/Utils/Utils.m | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Classes/ChatConversationCreateTableView.m b/Classes/ChatConversationCreateTableView.m index 62bad03c1..fd9ff470c 100644 --- a/Classes/ChatConversationCreateTableView.m +++ b/Classes/ChatConversationCreateTableView.m @@ -158,7 +158,6 @@ return; if (!linphone_proxy_config_get_conference_factory_uri(linphone_core_get_default_proxy_config(LC)) || !_isGroupChat) { - // Create directly a basic chat room if there's no factory uri LinphoneAddress *addr = linphone_address_new(cell.addressLabel.text.UTF8String); [PhoneMainView.instance getOrCreateOneToOneChatRoom:addr waitView:_waitView isEncrypted:_isEncrypted]; if (!addr) { diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index 5caa8790b..54a19422b 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -919,7 +919,7 @@ static RootViewManager *rootViewManagerInstance = nil; - (LinphoneChatRoom *)createChatRoom:(const char *)subject addresses:(bctbx_list_t *)addresses andWaitView:(UIView *)waitView isEncrypted:(BOOL)isEncrypted{ if (!linphone_proxy_config_get_conference_factory_uri(linphone_core_get_default_proxy_config(LC)) - || ([[LinphoneManager instance] lpConfigBoolForKey:@"prefer_basic_chat_room" inSection:@"misc"] && bctbx_list_size(addresses) == 1)) { + || ((bctbx_list_size(addresses) == 1) && ([[LinphoneManager instance] lpConfigBoolForKey:@"prefer_basic_chat_room" inSection:@"misc"] || !isEncrypted))) { // If there's no factory uri, create a basic chat room if (bctbx_list_size(addresses) != 1) { // Display Error: unsuported group chat diff --git a/Classes/Utils/Utils.m b/Classes/Utils/Utils.m index 439536356..7e2bf3158 100644 --- a/Classes/Utils/Utils.m +++ b/Classes/Utils/Utils.m @@ -488,7 +488,7 @@ if (addr && cfg) { const char *username = linphone_proxy_config_get_dial_escape_plus(cfg) ? normvalue : value.UTF8String; if (linphone_proxy_config_is_phone_number(cfg, username)) - linphone_address_set_username(addr, username); + linphone_address_set_username(addr, linphone_proxy_config_normalize_phone_number(cfg, username)); } return addr; }