From 663790c21be45de2d4ca89ed81814e66668e8472 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 2 Nov 2018 11:42:09 +0100 Subject: [PATCH] Fixed missing chat room creation scenario --- .../org/linphone/chat/ChatCreationFragment.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/android/org/linphone/chat/ChatCreationFragment.java b/src/android/org/linphone/chat/ChatCreationFragment.java index 535695527..5b4efbc26 100644 --- a/src/android/org/linphone/chat/ChatCreationFragment.java +++ b/src/android/org/linphone/chat/ChatCreationFragment.java @@ -481,12 +481,17 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen } } else { if (lpc != null && lpc.getConferenceFactoryUri() != null && !LinphonePreferences.instance().useBasicChatRoomFor1To1()) { - mWaitLayout.setVisibility(View.VISIBLE); - mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject), true); - mChatRoom.addListener(mChatRoomCreationListener); - Address participants[] = new Address[1]; - participants[0] = ca.getAddress(); - mChatRoom.addParticipants(participants); + mChatRoom = lc.findOneToOneChatRoom(lpc.getIdentityAddress(), ca.getAddress(), false); + if (mChatRoom == null) { + mWaitLayout.setVisibility(View.VISIBLE); + mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject), true); + mChatRoom.addListener(mChatRoomCreationListener); + Address participants[] = new Address[1]; + participants[0] = ca.getAddress(); + mChatRoom.addParticipants(participants); + } else { + LinphoneActivity.instance().goToChat(mChatRoom.getPeerAddress().asStringUriOnly(), mShareInfos, mChatRoom.getLocalAddress().asString()); + } } else { ChatRoom chatRoom = lc.getChatRoom(ca.getAddress()); LinphoneActivity.instance().goToChat(chatRoom.getPeerAddress().asStringUriOnly(), mShareInfos, chatRoom.getLocalAddress().asString());