ProgrammeAdapter.kt 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package fr.riff_app.riff.ui.programme
  2. import android.annotation.SuppressLint
  3. import android.view.LayoutInflater
  4. import android.view.ViewGroup
  5. import android.widget.TextView
  6. import androidx.constraintlayout.widget.ConstraintLayout
  7. import androidx.recyclerview.widget.RecyclerView
  8. import fr.riff_app.riff.R
  9. import fr.riff_app.riff.colorAccent
  10. import fr.riff_app.riff.colorWhited
  11. import fr.riff_app.riff.planning.Planning
  12. import fr.riff_app.riff.planning.Programme
  13. import fr.riff_app.riff.weekdaysSundayFirst
  14. import java.util.*
  15. class ProgrammeAdapter(private val dataSet: ArrayList<Programme>, private val day: String
  16. /*,
  17. context: Context,
  18. resource: Int,
  19. objects: ArrayList<Programme>*/
  20. ) : RecyclerView.Adapter<ProgrammeAdapter.MyViewHolder>() /*ArrayAdapter<Song>(context, resource, objects)*/ {
  21. class MyViewHolder(view: ConstraintLayout) : RecyclerView.ViewHolder(view)
  22. // Create new views (invoked by the layout manager)
  23. override fun onCreateViewHolder(parent: ViewGroup,
  24. viewType: Int): MyViewHolder {
  25. // create a new view
  26. val view = LayoutInflater.from(parent.context)
  27. .inflate(R.layout.programme_view, parent, false) as ConstraintLayout
  28. return MyViewHolder(
  29. view
  30. )
  31. }
  32. // Replace the contents of a view (invoked by the layout manager)
  33. @SuppressLint("SetTextI18n")
  34. override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
  35. val programmeStart = holder.itemView.findViewById<TextView>(R.id.programme_start)
  36. val programmeEnd = holder.itemView.findViewById<TextView>(R.id.programme_end)
  37. val programmeName = holder.itemView.findViewById<TextView>(R.id.programme_name)
  38. programmeStart.text = dataSet[position].begin()
  39. programmeName.text = dataSet[position].title
  40. programmeEnd.text = dataSet[position].end()
  41. val color = if (dataSet[position].isCurrent() && (Calendar.getInstance(Planning.instance.timeZone).get(Calendar.DAY_OF_WEEK) - 1 == weekdaysSundayFirst.indexOf(day)))
  42. colorAccent
  43. else
  44. colorWhited
  45. programmeStart.setTextColor(color)
  46. programmeEnd.setTextColor(color)
  47. programmeName.setTextColor(color)
  48. //TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(
  49. // programmeName,8, 16, 2, TypedValue.COMPLEX_UNIT_SP)
  50. }
  51. // Return the size of your dataset (invoked by the layout manager)
  52. override fun getItemCount() = dataSet.size
  53. /*
  54. override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
  55. // create a new view
  56. val view = LayoutInflater.from(parent.context)
  57. .inflate(R.layout.song_view, parent, false) as ConstraintLayout
  58. }
  59. */
  60. }