From 6a23577cdb78afb17ba451d42982924aa628e088 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 10 Nov 2017 15:01:10 +0100 Subject: [PATCH] Use removeParticipants and addParticipants instead of removeParticipant and addParticipant --- src/android/org/linphone/chat/GroupInfoFragment.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/android/org/linphone/chat/GroupInfoFragment.java b/src/android/org/linphone/chat/GroupInfoFragment.java index 8c20dafbc..4fa8e77a0 100644 --- a/src/android/org/linphone/chat/GroupInfoFragment.java +++ b/src/android/org/linphone/chat/GroupInfoFragment.java @@ -194,6 +194,7 @@ public class GroupInfoFragment extends Fragment { } // Participants removed + ArrayList toRemove = new ArrayList<>(); for (Participant p : mChatRoom.getParticipants()) { boolean found = false; for (ContactAddress c : mParticipants) { @@ -203,11 +204,15 @@ public class GroupInfoFragment extends Fragment { } } if (!found) { - mChatRoom.removeParticipant(p); + toRemove.add(p); } } + Participant[] participantsToRemove = new Participant[toRemove.size()]; + toRemove.toArray(participantsToRemove); + mChatRoom.removeParticipants(participantsToRemove); // Participants added + ArrayList
toAdd = new ArrayList<>(); for (ContactAddress c : mParticipants) { boolean found = false; for (Participant p : mChatRoom.getParticipants()) { @@ -223,12 +228,15 @@ public class GroupInfoFragment extends Fragment { if (!found) { Address addr = LinphoneManager.getLc().createAddress(c.getAddress()); if (addr != null) { - mChatRoom.addParticipant(addr); + toAdd.add(addr); } else { //TODO error } } } + Address[] participantsToAdd = new Address[toAdd.size()]; + toAdd.toArray(participantsToAdd); + mChatRoom.addParticipants(participantsToAdd); LinphoneActivity.instance().goToChat(mGroupChatRoomAddress.asString()); }