2020-10-14 20:22:20 +02:00
package org.mosad.teapod.util.adapter
2020-10-08 22:20:20 +02:00
import android.view.LayoutInflater
import android.view.ViewGroup
2022-05-18 20:59:28 +02:00
import androidx.core.view.isVisible
2020-10-15 13:00:44 +02:00
import androidx.recyclerview.widget.RecyclerView
2020-10-08 22:20:20 +02:00
import com.bumptech.glide.Glide
2020-11-25 22:35:55 +01:00
import org.mosad.teapod.databinding.ItemMediaBinding
2020-10-16 19:56:08 +02:00
import org.mosad.teapod.util.ItemMedia
2020-10-08 22:20:20 +02:00
2022-04-10 17:46:02 +02:00
@Deprecated ( " Use MediaItemListAdapter instead " )
2021-12-27 22:50:29 +01:00
class MediaItemAdapter ( private val items : List < ItemMedia > ) : RecyclerView . Adapter < MediaItemAdapter . MediaViewHolder > ( ) {
2020-10-11 18:07:00 +02:00
2021-12-27 21:14:35 +01:00
var onItemClick : ( ( id : String , position : Int ) -> Unit ) ? = null
2020-10-11 18:07:00 +02:00
2020-11-25 22:35:55 +01:00
override fun onCreateViewHolder ( parent : ViewGroup , viewType : Int ) : MediaItemAdapter . MediaViewHolder {
return MediaViewHolder ( ItemMediaBinding . inflate ( LayoutInflater . from ( parent . context ) , parent , false ) )
2020-10-08 22:20:20 +02:00
}
2020-11-25 22:35:55 +01:00
override fun onBindViewHolder ( holder : MediaItemAdapter . MediaViewHolder , position : Int ) {
holder . binding . root . apply {
2021-12-27 22:50:29 +01:00
holder . binding . textTitle . text = items [ position ] . title
Glide . with ( context ) . load ( items [ position ] . posterUrl ) . into ( holder . binding . imagePoster )
2020-10-15 13:00:44 +02:00
}
2020-10-11 18:07:00 +02:00
}
2020-10-15 13:00:44 +02:00
override fun getItemCount ( ) : Int {
2021-12-27 22:50:29 +01:00
return items . size
2020-12-06 15:18:15 +01:00
}
2021-12-27 21:14:35 +01:00
inner class MediaViewHolder ( val binding : ItemMediaBinding ) :
RecyclerView . ViewHolder ( binding . root ) {
2020-10-15 13:00:44 +02:00
init {
2022-05-18 20:59:28 +02:00
binding . imageEpisodePlay . isVisible = false // hide the play button for media items
2020-11-25 22:35:55 +01:00
binding . root . setOnClickListener {
2021-12-27 21:14:35 +01:00
onItemClick ?. invoke (
2021-12-27 22:50:29 +01:00
items [ bindingAdapterPosition ] . id ,
2021-12-27 21:14:35 +01:00
bindingAdapterPosition
)
2020-10-15 13:00:44 +02:00
}
}
2020-10-11 18:07:00 +02:00
}
2020-10-08 22:20:20 +02:00
}