package com.dmc.callcrm.ui import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.dmc.callcrm.R import com.dmc.callcrm.data.CallStats.ContactItem class ContactAdapter( private var items: List, private val onCall: (String) -> Unit ) : RecyclerView.Adapter() { class VH(v: View) : RecyclerView.ViewHolder(v) { val avatar: TextView = v.findViewById(R.id.avatar) val name: TextView = v.findViewById(R.id.name) val number: TextView = v.findViewById(R.id.number) val total: TextView = v.findViewById(R.id.total) val callBtn: TextView = v.findViewById(R.id.callBtn) } fun submit(list: List) { items = list; notifyDataSetChanged() } override fun onCreateViewHolder(p: ViewGroup, vt: Int) = VH(LayoutInflater.from(p.context).inflate(R.layout.item_contact, p, false)) override fun getItemCount() = items.size override fun onBindViewHolder(h: VH, pos: Int) { val item = items[pos] val label = item.name ?: item.number h.avatar.text = label.trim().firstOrNull()?.uppercase() ?: "?" h.name.text = item.name ?: "Unknown" h.number.text = item.number h.total.text = "Total Calls : ${item.totalCalls}" h.callBtn.setOnClickListener { onCall(item.number) } } }