EtchDroid/app/src/main/java/eu/depau/etchdroid/adapters/UsbDrivesRecyclerViewAdapte...

49 lines
1.7 KiB
Kotlin
Raw Normal View History

package eu.depau.etchdroid.adapters
2018-08-13 23:32:02 +00:00
import android.annotation.SuppressLint
import android.os.Build
import androidx.recyclerview.widget.RecyclerView
2018-08-13 23:32:02 +00:00
import android.view.LayoutInflater
import android.view.ViewGroup
import android.widget.RelativeLayout
import com.github.mjdev.libaums.UsbMassStorageDevice
2018-08-15 17:04:45 +00:00
import eu.depau.etchdroid.R
import eu.depau.etchdroid.kotlin_exts.vidpid
2018-08-13 23:32:02 +00:00
import kotlinx.android.synthetic.main.usb_device_row.view.*
class UsbDrivesRecyclerViewAdapter(private val dataset: Array<UsbMassStorageDevice>) : RecyclerView.Adapter<UsbDrivesRecyclerViewAdapter.ViewHolder>() {
class ViewHolder(val relLayout: RelativeLayout) : RecyclerView.ViewHolder(relLayout)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int):
ViewHolder {
2018-08-13 23:32:02 +00:00
val relLayout = LayoutInflater.from(parent.context)
.inflate(R.layout.usb_device_row, parent, false) as RelativeLayout
return ViewHolder(relLayout)
}
@SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val usbDevice = dataset[position].usbDevice
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
2018-08-30 17:10:48 +00:00
holder.relLayout.usbdev_name.text = "${usbDevice.manufacturerName} ${usbDevice.productName}"
2018-08-13 23:32:02 +00:00
holder.relLayout.devpath.text = usbDevice.deviceName
holder.relLayout.vidpid.text = usbDevice.vidpid
} else {
2018-08-30 17:10:48 +00:00
holder.relLayout.usbdev_name.text = usbDevice.deviceName
2018-08-13 23:32:02 +00:00
holder.relLayout.devpath.text = usbDevice.vidpid
}
}
override fun getItemCount(): Int = dataset.size
fun get(position: Int): UsbMassStorageDevice {
return dataset[position]
}
}