46 lines
1.4 KiB
Kotlin
46 lines
1.4 KiB
Kotlin
package com.lagradost.cloudstream3.ui.home
|
|
|
|
import android.view.LayoutInflater
|
|
import android.view.View
|
|
import android.view.ViewGroup
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
import com.lagradost.cloudstream3.R
|
|
import com.lagradost.cloudstream3.SearchResponse
|
|
import com.lagradost.cloudstream3.ui.search.SearchClickCallback
|
|
import com.lagradost.cloudstream3.ui.search.SearchResultBuilder
|
|
|
|
class HomeChildItemAdapter(
|
|
var cardList: List<SearchResponse>,
|
|
private val clickCallback: (SearchClickCallback) -> Unit
|
|
) :
|
|
RecyclerView.Adapter<RecyclerView.ViewHolder>() {
|
|
|
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
|
val layout = R.layout.home_result_grid
|
|
return CardViewHolder(
|
|
LayoutInflater.from(parent.context).inflate(layout, parent, false), clickCallback
|
|
)
|
|
}
|
|
|
|
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
|
|
constructor(itemView: View, private val clickCallback: (SearchClickCallback) -> Unit) :
|
|
RecyclerView.ViewHolder(itemView) {
|
|
|
|
fun bind(card: SearchResponse) {
|
|
SearchResultBuilder.bind(clickCallback, card, itemView)
|
|
}
|
|
}
|
|
}
|