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.text.format.Formatter.formatShortFileSize
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import android.widget.CheckBox
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
|
@ -116,8 +117,19 @@ class DownloadAdapter(
|
||||||
binding.apply {
|
binding.apply {
|
||||||
downloadHeaderPoster.apply {
|
downloadHeaderPoster.apply {
|
||||||
setImage(data.poster)
|
setImage(data.poster)
|
||||||
setOnClickListener {
|
if (isMultiDeleteState) {
|
||||||
headerClickCallback.invoke(DownloadHeaderClickEvent(DOWNLOAD_ACTION_LOAD_RESULT, data))
|
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
|
downloadHeaderTitle.text = data.name
|
||||||
|
@ -136,7 +148,7 @@ class DownloadAdapter(
|
||||||
|
|
||||||
deleteCheckbox.apply {
|
deleteCheckbox.apply {
|
||||||
isVisible = isMultiDeleteState
|
isVisible = isMultiDeleteState
|
||||||
isChecked = selectedIds[card.data.id] == true
|
isChecked = selectedIds[data.id] == true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -174,10 +186,7 @@ class DownloadAdapter(
|
||||||
episodeHolder.apply {
|
episodeHolder.apply {
|
||||||
if (isMultiDeleteState) {
|
if (isMultiDeleteState) {
|
||||||
setOnClickListener {
|
setOnClickListener {
|
||||||
val isChecked = !deleteCheckbox.isChecked
|
toggleIsChecked(deleteCheckbox, card.data.id, card.data.name)
|
||||||
deleteCheckbox.isChecked = isChecked
|
|
||||||
selectedIds[card.data.id] = isChecked
|
|
||||||
selectedChangedCallback.invoke(card.data.id, card.data.name, isChecked)
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
setOnClickListener {
|
setOnClickListener {
|
||||||
|
@ -214,10 +223,7 @@ class DownloadAdapter(
|
||||||
episodeHolder.apply {
|
episodeHolder.apply {
|
||||||
if (isMultiDeleteState) {
|
if (isMultiDeleteState) {
|
||||||
setOnClickListener {
|
setOnClickListener {
|
||||||
val isChecked = !deleteCheckbox.isChecked
|
toggleIsChecked(deleteCheckbox, card.data.id, card.data.name)
|
||||||
deleteCheckbox.isChecked = isChecked
|
|
||||||
selectedIds[card.data.id] = isChecked
|
|
||||||
selectedChangedCallback.invoke(card.data.id, card.data.name, isChecked)
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
setOnClickListener {
|
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>() {
|
class DiffCallback : DiffUtil.ItemCallback<VisualDownloadCached>() {
|
||||||
override fun areItemsTheSame(oldItem: VisualDownloadCached, newItem: VisualDownloadCached): Boolean {
|
override fun areItemsTheSame(oldItem: VisualDownloadCached, newItem: VisualDownloadCached): Boolean {
|
||||||
return oldItem.data.id == newItem.data.id
|
return oldItem.data.id == newItem.data.id
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue