session-android/src/org/thoughtcrime/securesms/loki/activities/LinkedDevicesAdapter.kt

36 lines
1.1 KiB
Kotlin
Raw Normal View History

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)
}