From 69ef2a8ee4409803f263945f2b2886161c58f0fb Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 29 Oct 2018 15:40:55 +0100 Subject: [PATCH] Allow group chat room with 1 participant --- .../linphone/chat/ChatCreationFragment.java | 30 ++++--------------- .../org/linphone/chat/GroupInfoFragment.java | 2 +- 2 files changed, 6 insertions(+), 26 deletions(-) diff --git a/src/android/org/linphone/chat/ChatCreationFragment.java b/src/android/org/linphone/chat/ChatCreationFragment.java index 502febffb..3794cc60b 100644 --- a/src/android/org/linphone/chat/ChatCreationFragment.java +++ b/src/android/org/linphone/chat/ChatCreationFragment.java @@ -447,29 +447,8 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen } } else if (id == R.id.next) { if (mChatRoomAddress == null && mChatRoomSubject == null) { - if (mContactsSelected.size() == 1) { - mContactsSelectedLayout.removeAllViews(); - mWaitLayout.setVisibility(View.VISIBLE); - Core lc = LinphoneManager.getLc(); - Address participant = mContactsSelected.get(0).getAddress(); - ChatRoom chatRoom = lc.findOneToOneChatRoom(lc.getDefaultProxyConfig().getContact(), participant); - if (chatRoom == null) { - ProxyConfig lpc = lc.getDefaultProxyConfig(); - if (lpc != null && lpc.getConferenceFactoryUri() != null && !LinphonePreferences.instance().useBasicChatRoomFor1To1()) { - mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject), !mSecurityToggle.isChecked(), mSecurityToggle.isChecked()); - mChatRoom.addListener(mChatRoomCreationListener); - mChatRoom.addParticipant(participant); - } else { - chatRoom = lc.getChatRoom(participant); - LinphoneActivity.instance().goToChat(chatRoom.getPeerAddress().asStringUriOnly(), mShareInfos, participant.asString()); - } - } else { - LinphoneActivity.instance().goToChat(chatRoom.getPeerAddress().asStringUriOnly(), mShareInfos, participant.asString()); - } - } else { - mContactsSelectedLayout.removeAllViews(); - LinphoneActivity.instance().goToChatGroupInfos(null, mContactsSelected, null, true, false, mShareInfos, mSecurityToggle.isChecked()); - } + mContactsSelectedLayout.removeAllViews(); + LinphoneActivity.instance().goToChatGroupInfos(null, mContactsSelected, null, true, false, mShareInfos, mSecurityToggle.isChecked()); } else { LinphoneActivity.instance().goToChatGroupInfos(mChatRoomAddress, mContactsSelected, mChatRoomSubject, true, true, mShareInfos, mSecurityToggle.isChecked()); } @@ -487,9 +466,10 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen ContactAddress ca = mSearchAdapter.getContacts().get(position); Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); ProxyConfig lpc = lc.getDefaultProxyConfig(); + boolean createEncryptedChatRoom = mSecurityToggle.isChecked(); if (lpc == null || lpc.getConferenceFactoryUri() == null || mCreateGroupChatRoom == false) { - if (mSecurityToggle.isChecked() && lpc != null && lpc.getConferenceFactoryUri() != null) { - mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject), !mSecurityToggle.isChecked(), mSecurityToggle.isChecked()); + if (createEncryptedChatRoom && lpc != null && lpc.getConferenceFactoryUri() != null) { + mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject), !createEncryptedChatRoom, createEncryptedChatRoom); mChatRoom.addListener(mChatRoomCreationListener); Address participants[] = new Address[1]; participants[0] = ca.getAddress(); diff --git a/src/android/org/linphone/chat/GroupInfoFragment.java b/src/android/org/linphone/chat/GroupInfoFragment.java index cf8f3a844..b2da3a52d 100644 --- a/src/android/org/linphone/chat/GroupInfoFragment.java +++ b/src/android/org/linphone/chat/GroupInfoFragment.java @@ -261,7 +261,7 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { public void onClick(View view) { if (!mIsAlreadyCreatedGroup) { mWaitLayout.setVisibility(View.VISIBLE); - mTempChatRoom = LinphoneManager.getLc().createClientGroupChatRoom(mSubjectField.getText().toString(), mParticipants.size() == 1 && !mIsEncryptionEnabled, mIsEncryptionEnabled); + mTempChatRoom = LinphoneManager.getLc().createClientGroupChatRoom(mSubjectField.getText().toString(), false, mIsEncryptionEnabled); mTempChatRoom.addListener(mChatRoomCreationListener); Address addresses[] = new Address[mParticipants.size()];