mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Show check mark next to selected contacts when creating a group call/conversation
This commit is contained in:
parent
b9addcf683
commit
fb86cd9bcb
5 changed files with 63 additions and 6 deletions
|
|
@ -50,6 +50,8 @@ class ConversationContactOrSuggestionModel @WorkerThread constructor(
|
|||
|
||||
val avatarModel = MutableLiveData<ContactAvatarModel>()
|
||||
|
||||
val selected = MutableLiveData<Boolean>()
|
||||
|
||||
@UiThread
|
||||
fun onClicked() {
|
||||
onClicked?.invoke(address)
|
||||
|
|
|
|||
|
|
@ -146,6 +146,11 @@ abstract class AddressSelectionViewModel @UiThread constructor() : DefaultAccoun
|
|||
list.add(model)
|
||||
list.addAll(actual)
|
||||
|
||||
val found = modelsList.value.orEmpty().find {
|
||||
it.address.weakEqual(model.address)
|
||||
}
|
||||
found?.selected?.postValue(true)
|
||||
|
||||
selectionCount.postValue(
|
||||
AppUtils.getStringWithPlural(
|
||||
R.plurals.selection_count_label,
|
||||
|
|
@ -173,6 +178,11 @@ abstract class AddressSelectionViewModel @UiThread constructor() : DefaultAccoun
|
|||
model.avatarModel?.destroy()
|
||||
list.remove(model)
|
||||
|
||||
val found = modelsList.value.orEmpty().find {
|
||||
it.address.weakEqual(model.address)
|
||||
}
|
||||
found?.selected?.postValue(false)
|
||||
|
||||
selectionCount.postValue(
|
||||
AppUtils.getStringWithPlural(
|
||||
R.plurals.selection_count_label,
|
||||
|
|
|
|||
|
|
@ -67,15 +67,30 @@
|
|||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style"
|
||||
android:id="@+id/name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:text="@{model.name, default=`John Doe`}"
|
||||
android:textSize="14sp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintStart_toEndOf="@id/avatar"
|
||||
app:layout_constraintEnd_toStartOf="@id/selected"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/selected"
|
||||
android:layout_width="@dimen/icon_size"
|
||||
android:layout_height="@dimen/icon_size"
|
||||
android:contentDescription="@null"
|
||||
android:src="@drawable/check"
|
||||
android:visibility="@{model.selected ? View.VISIBLE : View.GONE, default=gone}"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:tint="?attr/color_main1_500" />
|
||||
|
||||
<View
|
||||
android:id="@+id/separator"
|
||||
android:layout_width="0dp"
|
||||
|
|
|
|||
|
|
@ -49,15 +49,30 @@
|
|||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style"
|
||||
android:id="@+id/name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:text="@{model.name, default=`Friends group`}"
|
||||
android:textSize="14sp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintStart_toEndOf="@id/avatar"
|
||||
app:layout_constraintEnd_toStartOf="@id/selected"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/selected"
|
||||
android:layout_width="@dimen/icon_size"
|
||||
android:layout_height="@dimen/icon_size"
|
||||
android:contentDescription="@null"
|
||||
android:src="@drawable/check"
|
||||
android:visibility="@{model.selected ? View.VISIBLE : View.GONE, default=gone}"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:tint="?attr/color_main1_500" />
|
||||
|
||||
<View
|
||||
android:id="@+id/separator"
|
||||
android:layout_width="0dp"
|
||||
|
|
|
|||
|
|
@ -37,15 +37,30 @@
|
|||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style"
|
||||
android:id="@+id/name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:text="@{model.sipUri, default=`john.doe@sip.linphone.org`}"
|
||||
android:textSize="14sp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintStart_toEndOf="@id/avatar"
|
||||
app:layout_constraintEnd_toStartOf="@id/selected"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/selected"
|
||||
android:layout_width="@dimen/icon_size"
|
||||
android:layout_height="@dimen/icon_size"
|
||||
android:contentDescription="@null"
|
||||
android:src="@drawable/check"
|
||||
android:visibility="@{model.selected ? View.VISIBLE : View.GONE, default=gone}"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:tint="?attr/color_main1_500" />
|
||||
|
||||
<View
|
||||
android:id="@+id/separator"
|
||||
android:layout_width="0dp"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue