mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
Make clicking items select them if isMultiDeleteState
This commit is contained in:
parent
e5be3e1866
commit
028cc46123
2 changed files with 40 additions and 4 deletions
|
@ -172,9 +172,19 @@ class DownloadAdapter(
|
|||
downloadButton.isVisible = !isMultiDeleteState
|
||||
|
||||
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)
|
||||
}
|
||||
} else {
|
||||
setOnClickListener {
|
||||
mediaClickCallback.invoke(DownloadClickEvent(DOWNLOAD_ACTION_PLAY_FILE, card.child))
|
||||
}
|
||||
}
|
||||
|
||||
setOnLongClickListener {
|
||||
mediaClickCallback.invoke(DownloadClickEvent(DOWNLOAD_ACTION_LONG_CLICK, card.child))
|
||||
true
|
||||
|
@ -201,11 +211,27 @@ class DownloadAdapter(
|
|||
logError(e)
|
||||
}
|
||||
|
||||
episodeHolder.setOnClickListener {
|
||||
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)
|
||||
}
|
||||
} else {
|
||||
setOnClickListener {
|
||||
headerClickCallback.invoke(DownloadHeaderClickEvent(DOWNLOAD_ACTION_GO_TO_CHILD, card.data))
|
||||
}
|
||||
}
|
||||
|
||||
setOnLongClickListener {
|
||||
headerClickCallback.invoke(DownloadHeaderClickEvent(DOWNLOAD_ACTION_LONG_CLICK, card.data))
|
||||
true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun bindChild(card: VisualDownloadChildCached?) {
|
||||
if (binding !is DownloadChildEpisodeBinding || card == null) return
|
||||
|
||||
|
|
|
@ -187,6 +187,16 @@ class DownloadFragment : Fragment() {
|
|||
DOWNLOAD_ACTION_LOAD_RESULT -> {
|
||||
(activity as AppCompatActivity?)?.loadResult(click.data.url, click.data.apiName)
|
||||
}
|
||||
DOWNLOAD_ACTION_LONG_CLICK -> {
|
||||
downloadsViewModel.addSelected(
|
||||
click.data.id,
|
||||
click.data.name
|
||||
)
|
||||
(binding?.downloadList?.adapter as? DownloadAdapter)?.updateSelectedItem(
|
||||
click.data.id,
|
||||
true
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue