|
|
|
@ -14,17 +14,22 @@ class EditClosedGroupMembersAdapter(
|
|
|
|
|
private val memberClickListener: ((String) -> Unit)? = null
|
|
|
|
|
) : RecyclerView.Adapter<EditClosedGroupMembersAdapter.ViewHolder>() {
|
|
|
|
|
|
|
|
|
|
private val items = ArrayList<String>()
|
|
|
|
|
private val members = ArrayList<String>()
|
|
|
|
|
private val lockedMembers = HashSet<String>()
|
|
|
|
|
|
|
|
|
|
// private val selectedItems = mutableSetOf<String>()
|
|
|
|
|
fun setMembers(members: Collection<String>) {
|
|
|
|
|
this.members.clear()
|
|
|
|
|
this.members.addAll(members)
|
|
|
|
|
notifyDataSetChanged()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fun setItems(items: Collection<String>) {
|
|
|
|
|
this.items.clear()
|
|
|
|
|
this.items.addAll(items)
|
|
|
|
|
fun setLockedMembers(members: Collection<String>) {
|
|
|
|
|
this.lockedMembers.clear()
|
|
|
|
|
this.lockedMembers.addAll(members)
|
|
|
|
|
notifyDataSetChanged()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun getItemCount(): Int = items.size
|
|
|
|
|
override fun getItemCount(): Int = members.size
|
|
|
|
|
|
|
|
|
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
|
|
|
|
|
val view = UserView(context)
|
|
|
|
@ -32,10 +37,19 @@ class EditClosedGroupMembersAdapter(
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) {
|
|
|
|
|
val item = items[position]
|
|
|
|
|
// val isSelected = selectedItems.contains(item)
|
|
|
|
|
viewHolder.view.bind(Recipient.from(context, Address.fromSerialized(item), false), false, glide, true)
|
|
|
|
|
viewHolder.view.setOnClickListener { this.memberClickListener?.invoke(item) }
|
|
|
|
|
val member = members[position]
|
|
|
|
|
|
|
|
|
|
val lockedMember = lockedMembers.contains(member)
|
|
|
|
|
|
|
|
|
|
viewHolder.view.bind(Recipient.from(
|
|
|
|
|
context,
|
|
|
|
|
Address.fromSerialized(member), false),
|
|
|
|
|
glide,
|
|
|
|
|
(if (lockedMember) UserView.ActionIndicator.NONE else UserView.ActionIndicator.MENU))
|
|
|
|
|
|
|
|
|
|
if (!lockedMember) {
|
|
|
|
|
viewHolder.view.setOnClickListener { this.memberClickListener?.invoke(member) }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class ViewHolder(val view: UserView) : RecyclerView.ViewHolder(view)
|
|
|
|
|