Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.24 KB | None | 0 0
  1. class MetricDataListAdapter : RecyclerView.Adapter<MetricDataViewHolder>() {
  2.  
  3. private val metricDataList: LinkedList<PresentationMetricData> = LinkedList()
  4.  
  5. fun addItem(item: PresentationMetricData) {
  6. metricDataList.add(0, item)
  7. notifyDataSetChanged()
  8. }
  9.  
  10. override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MetricDataViewHolder {
  11. val row = LayoutInflater.from(parent.context).inflate(R.layout.data_item, parent, false)
  12. return MetricDataViewHolder(row)
  13. }
  14.  
  15. override fun getItemCount(): Int = metricDataList.size
  16.  
  17. override fun onBindViewHolder(holder: MetricDataViewHolder, position: Int) {
  18. holder.bind(metricDataList[position])
  19. }
  20. }
  21.  
  22. class MetricDataViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
  23.  
  24. private val yearMonth: TextView = itemView.findViewById(R.id.year_month)
  25. private val day: TextView = itemView.findViewById(R.id.day)
  26. private val time: TextView = itemView.findViewById(R.id.hour)
  27. private val temperature: TextView = itemView.findViewById(R.id.temperature)
  28. private val batteryLevel: TextView = itemView.findViewById(R.id.batteryLevel)
  29. private val batteryHealth: TextView = itemView.findViewById(R.id.batteryHealth)
  30. private val batteryTemp: TextView = itemView.findViewById(R.id.batteryTemp)
  31. private val ram: TextView = itemView.findViewById(R.id.ram)
  32. private val storage: TextView = itemView.findViewById(R.id.storage)
  33. private val accelerometer: TextView = itemView.findViewById(R.id.accelerometer)
  34. private val gyroscope: TextView = itemView.findViewById(R.id.gyroscope)
  35. private val magnetic: TextView = itemView.findViewById(R.id.magnetic)
  36. private val light: TextView = itemView.findViewById(R.id.light)
  37. private val pressure: TextView = itemView.findViewById(R.id.pressure)
  38. private val location: TextView = itemView.findViewById(R.id.location)
  39. private val orientation: TextView = itemView.findViewById(R.id.orientation)
  40.  
  41. private val mainLayout: LinearLayout = itemView.findViewById(R.id.main_layout)
  42. private val detailsLayout: LinearLayout = itemView.findViewById(R.id.layout_to_expand)
  43.  
  44. fun bind(metricData: PresentationMetricData) {
  45. yearMonth.text = metricData.yearMonth
  46. day.text = metricData.day
  47. time.text = metricData.time
  48. temperature.text = metricData.temperature
  49. batteryLevel.text = metricData.batteryChargeLevel
  50. batteryHealth.text = metricData.batteryHealth
  51. batteryTemp.text = metricData.batteryTemperature
  52. ram.text = metricData.freeRam
  53. storage.text = metricData.freeInternalStorage
  54. accelerometer.text = metricData.accelerometer
  55. gyroscope.text = metricData.gyroscope
  56. magnetic.text = metricData.magnetic
  57. light.text = metricData.lightSensor
  58. pressure.text = metricData.pressure
  59. location.text = metricData.location
  60. orientation.text = metricData.orientation
  61.  
  62. mainLayout.setOnClickListener {
  63. if (detailsLayout.isGone) {
  64. detailsLayout.visibility = View.VISIBLE
  65. } else if (detailsLayout.isVisible) {
  66. detailsLayout.visibility = View.GONE
  67. }
  68. }
  69. }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement