package com.player.musicoo.adapter import android.annotation.SuppressLint import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.media3.common.C import androidx.media3.common.MediaItem import androidx.media3.common.Player import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide import com.player.musicoo.R import com.player.musicoo.bean.OfflineBean import com.player.musicoo.databinding.OfflineListItemBinding import com.player.musicoo.databinding.PlayListItemBinding import com.player.musicoo.media.MediaControllerManager class OfflineSongsAdapter( private val context: Context, private val list: List, ) : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val binding = OfflineListItemBinding.inflate(LayoutInflater.from(context), parent, false) return ViewHolder(binding) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { val bean = list[position] holder.bind(bean) holder.itemView.setOnClickListener { // val meController = MediaControllerManager.getController() // if (meController != null && meController.currentMediaItem != null) { // var index = holder.bindingAdapterPosition // if (index > meController.mediaItemCount) { // index = 1 // } // meController.seekTo(index, C.TIME_UNSET) // if (!meController.isPlaying) { // meController.prepare() // meController.play() // } // } } } override fun getItemCount(): Int = list.size inner class ViewHolder(private val binding: OfflineListItemBinding) : RecyclerView.ViewHolder(binding.root) { @SuppressLint("SetTextI18n") fun bind(bean: OfflineBean) { binding.apply { Glide.with(context) .load(bean.thumbnail) .into(image) title.text = bean.title if (bean.name.isEmpty()) { name.visibility = View.GONE } else { name.visibility = View.VISIBLE name.text = bean.name } size.text = bean.size val meController = MediaControllerManager.getController() if (meController != null && meController.currentMediaItem != null) { if (meController.currentMediaItem?.mediaId == bean.videoId) { binding.listPlayView.visibility = View.VISIBLE binding.title.setTextColor(context.getColor(R.color.green)) binding.name.setTextColor(context.getColor(R.color.green_60)) binding.size.setTextColor(context.getColor(R.color.green_60)) } else { binding.title.setTextColor(context.getColor(R.color.white)) binding.name.setTextColor(context.getColor(R.color.white_60)) binding.size.setTextColor(context.getColor(R.color.white_60)) binding.listPlayView.visibility = View.GONE } } } } } private var itemClickListener: OnItemClickListener? = null fun setOnItemClickListener(listener: OnItemClickListener) { itemClickListener = listener } interface OnItemClickListener { fun onItemClick(position: Int) } }