2020-05-11 08:19:26 +02:00
|
|
|
package org.thoughtcrime.securesms.loki.activities
|
2020-01-17 01:38:30 +01:00
|
|
|
|
|
|
|
import android.content.Context
|
|
|
|
import android.support.v7.widget.RecyclerView
|
|
|
|
import android.view.ViewGroup
|
|
|
|
import org.thoughtcrime.securesms.devicelist.Device
|
2020-05-11 08:19:26 +02:00
|
|
|
import org.thoughtcrime.securesms.loki.views.DeviceView
|
2020-01-17 01:38:30 +01:00
|
|
|
|
|
|
|
class LinkedDevicesAdapter(private val context: Context) : RecyclerView.Adapter<LinkedDevicesAdapter.ViewHolder>() {
|
|
|
|
var devices = listOf<Device>()
|
|
|
|
set(value) { field = value; notifyDataSetChanged() }
|
2020-01-17 02:53:32 +01:00
|
|
|
var deviceClickListener: DeviceClickListener? = null
|
2020-01-17 01:38:30 +01:00
|
|
|
|
|
|
|
class ViewHolder(val view: DeviceView) : RecyclerView.ViewHolder(view)
|
|
|
|
|
|
|
|
override fun getItemCount(): Int {
|
|
|
|
return devices.size
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
|
|
|
|
val view = DeviceView(context)
|
|
|
|
return ViewHolder(view)
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) {
|
|
|
|
val device = devices[position]
|
2020-01-17 02:53:32 +01:00
|
|
|
viewHolder.view.setOnClickListener { deviceClickListener?.onDeviceClick(device) }
|
2020-01-17 01:38:30 +01:00
|
|
|
viewHolder.view.bind(device)
|
|
|
|
}
|
|
|
|
}
|
2020-01-17 02:53:32 +01:00
|
|
|
|
|
|
|
interface DeviceClickListener {
|
|
|
|
|
|
|
|
fun onDeviceClick(device: Device)
|
|
|
|
}
|