mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
Some cleanup
This commit is contained in:
parent
7f50f0ca14
commit
a52ae5296a
3 changed files with 18 additions and 21 deletions
|
@ -64,10 +64,9 @@ data class DownloadHeaderClickEvent(
|
||||||
)
|
)
|
||||||
|
|
||||||
class DownloadAdapter(
|
class DownloadAdapter(
|
||||||
private val headerClickCallback: (DownloadHeaderClickEvent) -> Unit,
|
private val onHeaderClickEvent: (DownloadHeaderClickEvent) -> Unit,
|
||||||
private val mediaClickCallback: (DownloadClickEvent) -> Unit,
|
private val onItemClickEvent: (DownloadClickEvent) -> Unit,
|
||||||
private val selectedChangedCallback: (VisualDownloadCached, Boolean) -> Unit,
|
private val onItemSelectionChanged: (VisualDownloadCached, Boolean) -> Unit,
|
||||||
private val multiDeleteStateCallback: (VisualDownloadCached) -> Unit,
|
|
||||||
) : ListAdapter<VisualDownloadCached, DownloadAdapter.DownloadViewHolder>(DiffCallback()) {
|
) : ListAdapter<VisualDownloadCached, DownloadAdapter.DownloadViewHolder>(DiffCallback()) {
|
||||||
|
|
||||||
private var isMultiDeleteState: Boolean = false
|
private var isMultiDeleteState: Boolean = false
|
||||||
|
@ -102,8 +101,8 @@ class DownloadAdapter(
|
||||||
}
|
}
|
||||||
|
|
||||||
setOnLongClickListener {
|
setOnLongClickListener {
|
||||||
multiDeleteStateCallback.invoke(card)
|
|
||||||
toggleIsChecked(deleteCheckbox, card)
|
toggleIsChecked(deleteCheckbox, card)
|
||||||
|
onItemSelectionChanged.invoke(card, selectedIds[data.id] ?: false)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -116,13 +115,13 @@ class DownloadAdapter(
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
setOnClickListener {
|
setOnClickListener {
|
||||||
headerClickCallback.invoke(DownloadHeaderClickEvent(DOWNLOAD_ACTION_LOAD_RESULT, data))
|
onHeaderClickEvent.invoke(DownloadHeaderClickEvent(DOWNLOAD_ACTION_LOAD_RESULT, data))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setOnLongClickListener {
|
setOnLongClickListener {
|
||||||
multiDeleteStateCallback.invoke(card)
|
|
||||||
toggleIsChecked(deleteCheckbox, card)
|
toggleIsChecked(deleteCheckbox, card)
|
||||||
|
onItemSelectionChanged.invoke(card, selectedIds[data.id] ?: false)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -136,7 +135,7 @@ class DownloadAdapter(
|
||||||
if (isMultiDeleteState) {
|
if (isMultiDeleteState) {
|
||||||
deleteCheckbox.setOnCheckedChangeListener { _, isChecked ->
|
deleteCheckbox.setOnCheckedChangeListener { _, isChecked ->
|
||||||
selectedIds[data.id] = isChecked
|
selectedIds[data.id] = isChecked
|
||||||
selectedChangedCallback.invoke(card, isChecked)
|
onItemSelectionChanged.invoke(card, isChecked)
|
||||||
}
|
}
|
||||||
} else deleteCheckbox.setOnCheckedChangeListener(null)
|
} else deleteCheckbox.setOnCheckedChangeListener(null)
|
||||||
|
|
||||||
|
@ -174,12 +173,12 @@ class DownloadAdapter(
|
||||||
ContextCompat.getDrawable(downloadButton.context, downloadButton.progressDrawable)
|
ContextCompat.getDrawable(downloadButton.context, downloadButton.progressDrawable)
|
||||||
}
|
}
|
||||||
|
|
||||||
downloadButton.setDefaultClickListener(card.child, downloadHeaderInfo, mediaClickCallback)
|
downloadButton.setDefaultClickListener(card.child, downloadHeaderInfo, onItemClickEvent)
|
||||||
downloadButton.isVisible = !isMultiDeleteState
|
downloadButton.isVisible = !isMultiDeleteState
|
||||||
|
|
||||||
if (!isMultiDeleteState) {
|
if (!isMultiDeleteState) {
|
||||||
episodeHolder.setOnClickListener {
|
episodeHolder.setOnClickListener {
|
||||||
mediaClickCallback.invoke(DownloadClickEvent(DOWNLOAD_ACTION_PLAY_FILE, card.child))
|
onItemClickEvent.invoke(DownloadClickEvent(DOWNLOAD_ACTION_PLAY_FILE, card.child))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -205,7 +204,7 @@ class DownloadAdapter(
|
||||||
|
|
||||||
if (!isMultiDeleteState) {
|
if (!isMultiDeleteState) {
|
||||||
episodeHolder.setOnClickListener {
|
episodeHolder.setOnClickListener {
|
||||||
headerClickCallback.invoke(DownloadHeaderClickEvent(DOWNLOAD_ACTION_GO_TO_CHILD, card.data))
|
onHeaderClickEvent.invoke(DownloadHeaderClickEvent(DOWNLOAD_ACTION_GO_TO_CHILD, card.data))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -245,7 +244,7 @@ class DownloadAdapter(
|
||||||
ContextCompat.getDrawable(downloadButton.context, downloadButton.progressDrawable)
|
ContextCompat.getDrawable(downloadButton.context, downloadButton.progressDrawable)
|
||||||
}
|
}
|
||||||
|
|
||||||
downloadButton.setDefaultClickListener(data, downloadChildEpisodeTextExtra, mediaClickCallback)
|
downloadButton.setDefaultClickListener(data, downloadChildEpisodeTextExtra, onItemClickEvent)
|
||||||
downloadButton.isVisible = !isMultiDeleteState
|
downloadButton.isVisible = !isMultiDeleteState
|
||||||
|
|
||||||
downloadChildEpisodeText.apply {
|
downloadChildEpisodeText.apply {
|
||||||
|
@ -254,7 +253,7 @@ class DownloadAdapter(
|
||||||
}
|
}
|
||||||
|
|
||||||
downloadChildEpisodeHolder.setOnClickListener {
|
downloadChildEpisodeHolder.setOnClickListener {
|
||||||
mediaClickCallback.invoke(DownloadClickEvent(DOWNLOAD_ACTION_PLAY_FILE, data))
|
onItemClickEvent.invoke(DownloadClickEvent(DOWNLOAD_ACTION_PLAY_FILE, data))
|
||||||
}
|
}
|
||||||
|
|
||||||
downloadChildEpisodeHolder.apply {
|
downloadChildEpisodeHolder.apply {
|
||||||
|
@ -266,14 +265,14 @@ class DownloadAdapter(
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
setOnClickListener {
|
setOnClickListener {
|
||||||
mediaClickCallback.invoke(DownloadClickEvent(DOWNLOAD_ACTION_PLAY_FILE, data))
|
onItemClickEvent.invoke(DownloadClickEvent(DOWNLOAD_ACTION_PLAY_FILE, data))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setOnLongClickListener {
|
setOnLongClickListener {
|
||||||
multiDeleteStateCallback.invoke(card)
|
|
||||||
toggleIsChecked(deleteCheckbox, card)
|
toggleIsChecked(deleteCheckbox, card)
|
||||||
|
onItemSelectionChanged.invoke(card, selectedIds[data.id] ?: false)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -281,7 +280,7 @@ class DownloadAdapter(
|
||||||
if (isMultiDeleteState) {
|
if (isMultiDeleteState) {
|
||||||
deleteCheckbox.setOnCheckedChangeListener { _, isChecked ->
|
deleteCheckbox.setOnCheckedChangeListener { _, isChecked ->
|
||||||
selectedIds[data.id] = isChecked
|
selectedIds[data.id] = isChecked
|
||||||
selectedChangedCallback.invoke(card, isChecked)
|
onItemSelectionChanged.invoke(card, isChecked)
|
||||||
}
|
}
|
||||||
} else deleteCheckbox.setOnCheckedChangeListener(null)
|
} else deleteCheckbox.setOnCheckedChangeListener(null)
|
||||||
|
|
||||||
|
@ -343,7 +342,7 @@ class DownloadAdapter(
|
||||||
val isChecked = !checkbox.isChecked
|
val isChecked = !checkbox.isChecked
|
||||||
checkbox.isChecked = isChecked
|
checkbox.isChecked = isChecked
|
||||||
selectedIds[item.data.id] = isChecked
|
selectedIds[item.data.id] = isChecked
|
||||||
selectedChangedCallback.invoke(item, isChecked)
|
onItemSelectionChanged.invoke(item, isChecked)
|
||||||
}
|
}
|
||||||
|
|
||||||
class DiffCallback : DiffUtil.ItemCallback<VisualDownloadCached>() {
|
class DiffCallback : DiffUtil.ItemCallback<VisualDownloadCached>() {
|
||||||
|
|
|
@ -140,8 +140,7 @@ class DownloadChildFragment : Fragment() {
|
||||||
if (isChecked) {
|
if (isChecked) {
|
||||||
downloadsViewModel.addSelected(card)
|
downloadsViewModel.addSelected(card)
|
||||||
} else downloadsViewModel.removeSelected(card)
|
} else downloadsViewModel.removeSelected(card)
|
||||||
},
|
}
|
||||||
{ card -> downloadsViewModel.addSelected(card) }
|
|
||||||
)
|
)
|
||||||
|
|
||||||
binding?.downloadChildList?.apply {
|
binding?.downloadChildList?.apply {
|
||||||
|
|
|
@ -165,8 +165,7 @@ class DownloadFragment : Fragment() {
|
||||||
if (isChecked) {
|
if (isChecked) {
|
||||||
downloadsViewModel.addSelected(card)
|
downloadsViewModel.addSelected(card)
|
||||||
} else downloadsViewModel.removeSelected(card)
|
} else downloadsViewModel.removeSelected(card)
|
||||||
},
|
}
|
||||||
{ card -> downloadsViewModel.addSelected(card) }
|
|
||||||
)
|
)
|
||||||
|
|
||||||
binding?.downloadList?.apply {
|
binding?.downloadList?.apply {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue