teapod/app/src/main/java/org/mosad/teapod/util/adapter/MediaItemAdapter.kt

44 lines
1.6 KiB
Kotlin
Raw Normal View History

package org.mosad.teapod.util.adapter
2020-10-08 22:20:20 +02:00
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.core.view.isVisible
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
import org.mosad.teapod.util.ItemMedia
2020-10-08 22:20:20 +02:00
@Deprecated("Use MediaItemListAdapter instead")
class MediaItemAdapter(private val items: List<ItemMedia>) : RecyclerView.Adapter<MediaItemAdapter.MediaViewHolder>() {
2020-10-11 18:07:00 +02: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 {
holder.binding.textTitle.text = items[position].title
Glide.with(context).load(items[position].posterUrl).into(holder.binding.imagePoster)
}
2020-10-11 18:07:00 +02:00
}
override fun getItemCount(): Int {
return items.size
2020-12-06 15:18:15 +01:00
}
inner class MediaViewHolder(val binding: ItemMediaBinding) :
RecyclerView.ViewHolder(binding.root) {
init {
binding.imageEpisodePlay.isVisible = false // hide the play button for media items
2020-11-25 22:35:55 +01:00
binding.root.setOnClickListener {
onItemClick?.invoke(
items[bindingAdapterPosition].id,
bindingAdapterPosition
)
}
}
2020-10-11 18:07:00 +02:00
}
2020-10-08 22:20:20 +02:00
}