diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/SelectContactsAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/SelectContactsAdapter.kt index 135762f661..c81c0e38d3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/SelectContactsAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/SelectContactsAdapter.kt @@ -26,7 +26,7 @@ class SelectContactsAdapter(private val context: Context, private val glide: Gli override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) { val member = members[position] - viewHolder.view.setOnClickListener { onMemberClick(member) } + viewHolder.view.setOnClickListener { onMemberClick(viewHolder, member) } val isSelected = selectedMembers.contains(member) viewHolder.view.bind(Recipient.from( context, @@ -36,13 +36,13 @@ class SelectContactsAdapter(private val context: Context, private val glide: Gli isSelected) } - private fun onMemberClick(member: String) { + private fun onMemberClick(viewHolder: ViewHolder, member: String) { if (selectedMembers.contains(member)) { selectedMembers.remove(member) + viewHolder.view.toggleCheckbox() } else { selectedMembers.add(member) + viewHolder.view.toggleCheckbox(true) } - val index = members.indexOf(member) - notifyItemChanged(index) } } \ No newline at end of file diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/views/UserView.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/views/UserView.kt index 4c6098a710..ae9f001f5c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/views/UserView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/views/UserView.kt @@ -82,6 +82,11 @@ class UserView : LinearLayout { } } + fun toggleCheckbox(isSelected: Boolean = false) { + actionIndicatorImageView.visibility = View.VISIBLE + actionIndicatorImageView.setImageResource(if (isSelected) R.drawable.ic_circle_check else R.drawable.ic_circle) + } + fun unbind() { }