mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
Apply to poster as well
This commit is contained in:
parent
028cc46123
commit
ab7235f43b
1 changed files with 24 additions and 11 deletions
|
@ -4,6 +4,7 @@ import android.annotation.SuppressLint
|
|||
import android.text.format.Formatter.formatShortFileSize
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import android.widget.CheckBox
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
|
@ -116,10 +117,21 @@ class DownloadAdapter(
|
|||
binding.apply {
|
||||
downloadHeaderPoster.apply {
|
||||
setImage(data.poster)
|
||||
if (isMultiDeleteState) {
|
||||
setOnClickListener {
|
||||
toggleIsChecked(deleteCheckbox, data.id, data.name)
|
||||
}
|
||||
} else {
|
||||
setOnClickListener {
|
||||
headerClickCallback.invoke(DownloadHeaderClickEvent(DOWNLOAD_ACTION_LOAD_RESULT, data))
|
||||
}
|
||||
}
|
||||
|
||||
setOnLongClickListener {
|
||||
headerClickCallback.invoke(DownloadHeaderClickEvent(DOWNLOAD_ACTION_LONG_CLICK, data))
|
||||
true
|
||||
}
|
||||
}
|
||||
downloadHeaderTitle.text = data.name
|
||||
val formattedSize = formatShortFileSize(itemView.context, card.totalBytes)
|
||||
|
||||
|
@ -136,7 +148,7 @@ class DownloadAdapter(
|
|||
|
||||
deleteCheckbox.apply {
|
||||
isVisible = isMultiDeleteState
|
||||
isChecked = selectedIds[card.data.id] == true
|
||||
isChecked = selectedIds[data.id] == true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -174,10 +186,7 @@ class DownloadAdapter(
|
|||
episodeHolder.apply {
|
||||
if (isMultiDeleteState) {
|
||||
setOnClickListener {
|
||||
val isChecked = !deleteCheckbox.isChecked
|
||||
deleteCheckbox.isChecked = isChecked
|
||||
selectedIds[card.data.id] = isChecked
|
||||
selectedChangedCallback.invoke(card.data.id, card.data.name, isChecked)
|
||||
toggleIsChecked(deleteCheckbox, card.data.id, card.data.name)
|
||||
}
|
||||
} else {
|
||||
setOnClickListener {
|
||||
|
@ -214,10 +223,7 @@ class DownloadAdapter(
|
|||
episodeHolder.apply {
|
||||
if (isMultiDeleteState) {
|
||||
setOnClickListener {
|
||||
val isChecked = !deleteCheckbox.isChecked
|
||||
deleteCheckbox.isChecked = isChecked
|
||||
selectedIds[card.data.id] = isChecked
|
||||
selectedChangedCallback.invoke(card.data.id, card.data.name, isChecked)
|
||||
toggleIsChecked(deleteCheckbox, card.data.id, card.data.name)
|
||||
}
|
||||
} else {
|
||||
setOnClickListener {
|
||||
|
@ -324,6 +330,13 @@ class DownloadAdapter(
|
|||
}
|
||||
}
|
||||
|
||||
private fun toggleIsChecked(checkbox: CheckBox, id: Int, name: String) {
|
||||
val isChecked = !checkbox.isChecked
|
||||
checkbox.isChecked = isChecked
|
||||
selectedIds[id] = isChecked
|
||||
selectedChangedCallback.invoke(id, name, isChecked)
|
||||
}
|
||||
|
||||
class DiffCallback : DiffUtil.ItemCallback<VisualDownloadCached>() {
|
||||
override fun areItemsTheSame(oldItem: VisualDownloadCached, newItem: VisualDownloadCached): Boolean {
|
||||
return oldItem.data.id == newItem.data.id
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue