From b96ef0ecc6eac215e755fd6fe1197168772612c9 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 14 Feb 2019 11:40:15 +0100 Subject: [PATCH] Workaround to allow client group chat with 1 participant without being one to one --- .../linphone/chat/ChatMessagesFragment.java | 2 +- .../org/linphone/chat/GroupInfoFragment.java | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java b/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java index dba4d930c..dbcbbf338 100644 --- a/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java +++ b/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java @@ -1083,7 +1083,7 @@ public class ChatMessagesFragment extends Fragment split = true; // Allow the last image to be sent with text if image and text at the same time OK - if (hasText && !sendImageAndTextAsDifferentMessages && i == filesCount - 1) { + if (hasText && i == filesCount - 1) { split = false; } } diff --git a/app/src/main/java/org/linphone/chat/GroupInfoFragment.java b/app/src/main/java/org/linphone/chat/GroupInfoFragment.java index 2a5a08174..285c6801b 100644 --- a/app/src/main/java/org/linphone/chat/GroupInfoFragment.java +++ b/app/src/main/java/org/linphone/chat/GroupInfoFragment.java @@ -329,13 +329,19 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { mIsEncryptionEnabled); mTempChatRoom.addListener(mChatRoomCreationListener); - int i = 0; - Address[] participantsToAdd = new Address[mParticipants.size()]; - for (ContactAddress ca : mParticipants) { - participantsToAdd[i] = ca.getAddress(); - i++; + if (mParticipants.size() == 1) { + // Ugly hack until new client chat group API so we can have a group + // chat room with 1 participant without being one to one + mTempChatRoom.addParticipant(mParticipants.get(0).getAddress()); + } else { + int i = 0; + Address[] participantsToAdd = new Address[mParticipants.size()]; + for (ContactAddress ca : mParticipants) { + participantsToAdd[i] = ca.getAddress(); + i++; + } + mTempChatRoom.addParticipants(participantsToAdd); } - mTempChatRoom.addParticipants(participantsToAdd); } else { // Subject String newSubject = mSubjectField.getText().toString();