2021-05-18 13:43:32 +00:00
|
|
|
package com.lagradost.cloudstream3.ui.result
|
|
|
|
|
|
|
|
import android.app.Activity
|
|
|
|
import android.view.LayoutInflater
|
|
|
|
import android.view.View
|
|
|
|
import android.view.ViewGroup
|
|
|
|
import android.widget.ImageView
|
|
|
|
import android.widget.LinearLayout
|
|
|
|
import android.widget.TextView
|
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
|
|
import com.lagradost.cloudstream3.*
|
|
|
|
import com.lagradost.cloudstream3.APIHolder.getApiFromName
|
2021-05-20 15:22:28 +00:00
|
|
|
import com.lagradost.cloudstream3.utils.ExtractorLink
|
2021-05-18 13:43:32 +00:00
|
|
|
import kotlinx.android.synthetic.main.result_episode.view.*
|
|
|
|
|
|
|
|
|
|
|
|
class EpisodeAdapter(
|
2021-05-20 15:22:28 +00:00
|
|
|
private var activity: Activity,
|
|
|
|
var cardList: ArrayList<ResultEpisode>,
|
|
|
|
val resView: RecyclerView,
|
|
|
|
val clickCallback: (ResultEpisode) -> Unit
|
2021-05-18 13:43:32 +00:00
|
|
|
) :
|
|
|
|
RecyclerView.Adapter<RecyclerView.ViewHolder>() {
|
|
|
|
|
|
|
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
|
|
|
return CardViewHolder(
|
|
|
|
LayoutInflater.from(parent.context).inflate(R.layout.result_episode, parent, false),
|
|
|
|
activity,
|
2021-05-20 15:22:28 +00:00
|
|
|
resView,
|
|
|
|
clickCallback
|
2021-05-18 13:43:32 +00:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
|
|
|
|
when (holder) {
|
|
|
|
is CardViewHolder -> {
|
|
|
|
holder.bind(cardList[position])
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun getItemCount(): Int {
|
|
|
|
return cardList.size
|
|
|
|
}
|
|
|
|
|
|
|
|
class CardViewHolder
|
2021-05-20 15:22:28 +00:00
|
|
|
constructor(itemView: View, _activity: Activity, resView: RecyclerView, clickCallback: (ResultEpisode) -> Unit) : RecyclerView.ViewHolder(itemView) {
|
2021-05-18 13:43:32 +00:00
|
|
|
val activity = _activity
|
|
|
|
val episode_view_procentage: View = itemView.episode_view_procentage
|
|
|
|
val episode_view_procentage_off: View = itemView.episode_view_procentage_off
|
|
|
|
val episode_text: TextView = itemView.episode_text
|
|
|
|
val episode_extra: ImageView = itemView.episode_extra
|
|
|
|
val episode_play: ImageView = itemView.episode_play
|
2021-05-20 15:22:28 +00:00
|
|
|
val clickCallback = clickCallback
|
2021-05-18 13:43:32 +00:00
|
|
|
|
|
|
|
fun bind(card: ResultEpisode) {
|
|
|
|
episode_text.text = card.name ?: "Episode ${card.episode}"
|
|
|
|
|
|
|
|
fun setWidth(v: View, procentage: Float) {
|
|
|
|
val param = LinearLayout.LayoutParams(
|
|
|
|
v.layoutParams.width,
|
|
|
|
v.layoutParams.height,
|
|
|
|
procentage
|
|
|
|
)
|
|
|
|
v.layoutParams = param
|
|
|
|
}
|
|
|
|
setWidth(episode_view_procentage, card.watchProgress)
|
|
|
|
setWidth(episode_view_procentage_off, 1 - card.watchProgress)
|
|
|
|
|
|
|
|
episode_play.setOnClickListener {
|
2021-05-20 15:22:28 +00:00
|
|
|
clickCallback.invoke(card)
|
2021-05-18 13:43:32 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|