diff --git a/app/src/main/java/org/linphone/ui/main/meetings/fragment/EditMeetingFragment.kt b/app/src/main/java/org/linphone/ui/main/meetings/fragment/EditMeetingFragment.kt index 79e7ff92e..1813edea7 100644 --- a/app/src/main/java/org/linphone/ui/main/meetings/fragment/EditMeetingFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/meetings/fragment/EditMeetingFragment.kt @@ -190,8 +190,7 @@ class EditMeetingFragment : SlidingPaneChildFragment() { Log.i( "$TAG Found [${list.size}] new participants to add to the meeting, let's do it" ) - // TODO FIXME: instead of adding them, replace current list with new one - viewModel.addParticipants(list) + viewModel.setParticipants(list) } } } diff --git a/app/src/main/java/org/linphone/ui/main/meetings/fragment/ScheduleMeetingFragment.kt b/app/src/main/java/org/linphone/ui/main/meetings/fragment/ScheduleMeetingFragment.kt index 686c2380b..03ea8eb0b 100644 --- a/app/src/main/java/org/linphone/ui/main/meetings/fragment/ScheduleMeetingFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/meetings/fragment/ScheduleMeetingFragment.kt @@ -77,7 +77,7 @@ class ScheduleMeetingFragment : GenericFragment() { val participants = args.participants if (!participants.isNullOrEmpty()) { Log.i("$TAG Found pre-populated array of participants of size [${participants.size}]") - viewModel.addParticipants(participants.toList()) + viewModel.setParticipants(participants.toList()) } binding.setBackClickListener { @@ -191,8 +191,7 @@ class ScheduleMeetingFragment : GenericFragment() { Log.i( "$TAG Found [${list.size}] new participants to add to the meeting, let's do it" ) - // TODO FIXME: instead of adding them, replace current list with new one - viewModel.addParticipants(list) + viewModel.setParticipants(list) } } } diff --git a/app/src/main/java/org/linphone/ui/main/meetings/viewmodel/ScheduleMeetingViewModel.kt b/app/src/main/java/org/linphone/ui/main/meetings/viewmodel/ScheduleMeetingViewModel.kt index 2ef3abfa6..7251e8288 100644 --- a/app/src/main/java/org/linphone/ui/main/meetings/viewmodel/ScheduleMeetingViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/meetings/viewmodel/ScheduleMeetingViewModel.kt @@ -309,24 +309,15 @@ class ScheduleMeetingViewModel @UiThread constructor() : ViewModel() { } @UiThread - fun addParticipants(toAdd: List) { + fun setParticipants(toAdd: List) { coreContext.postOnCoreThread { val list = arrayListOf() - list.addAll(participants.value.orEmpty()) for (participant in toAdd) { val address = Factory.instance().createAddress(participant) if (address == null) { Log.e("$TAG Failed to parse [$participant] as address!") } else { - val found = list.find { it.address.weakEqual(address) } - if (found != null) { - Log.i( - "$TAG Participant [${found.address.asStringUriOnly()}] already in list, skipping" - ) - continue - } - val avatarModel = coreContext.contactsManager.getContactAvatarModelForAddress( address ) @@ -335,13 +326,11 @@ class ScheduleMeetingViewModel @UiThread constructor() : ViewModel() { removeModelFromSelection(model) } list.add(model) - Log.i("$TAG Added participant [${address.asStringUriOnly()}]") + Log.i("$TAG Participant [${address.asStringUriOnly()}] added to list") } } - Log.i( - "$TAG [${toAdd.size}] participants added, now there are [${list.size}] participants in list" - ) + Log.i("$TAG Now there are [${list.size}] participants in list") participants.postValue(list) } } diff --git a/app/src/main/res/layout/meeting_schedule_fragment.xml b/app/src/main/res/layout/meeting_schedule_fragment.xml index 4713db374..cde85dcb1 100644 --- a/app/src/main/res/layout/meeting_schedule_fragment.xml +++ b/app/src/main/res/layout/meeting_schedule_fragment.xml @@ -475,22 +475,7 @@ android:src="@drawable/users" android:visibility="@{viewModel.participants.size() > 0 ? View.VISIBLE : View.GONE, default=gone}" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="@id/participants_list" /> - - + app:layout_constraintTop_toTopOf="@id/add_more_participants" /> + +