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(
 | 
			
		||||
    private val headerClickCallback: (DownloadHeaderClickEvent) -> Unit,
 | 
			
		||||
    private val mediaClickCallback: (DownloadClickEvent) -> Unit,
 | 
			
		||||
    private val selectedChangedCallback: (VisualDownloadCached, Boolean) -> Unit,
 | 
			
		||||
    private val multiDeleteStateCallback: (VisualDownloadCached) -> Unit,
 | 
			
		||||
    private val onHeaderClickEvent: (DownloadHeaderClickEvent) -> Unit,
 | 
			
		||||
    private val onItemClickEvent: (DownloadClickEvent) -> Unit,
 | 
			
		||||
    private val onItemSelectionChanged: (VisualDownloadCached, Boolean) -> Unit,
 | 
			
		||||
) : ListAdapter<VisualDownloadCached, DownloadAdapter.DownloadViewHolder>(DiffCallback()) {
 | 
			
		||||
 | 
			
		||||
    private var isMultiDeleteState: Boolean = false
 | 
			
		||||
| 
						 | 
				
			
			@ -102,8 +101,8 @@ class DownloadAdapter(
 | 
			
		|||
                    }
 | 
			
		||||
 | 
			
		||||
                    setOnLongClickListener {
 | 
			
		||||
                        multiDeleteStateCallback.invoke(card)
 | 
			
		||||
                        toggleIsChecked(deleteCheckbox, card)
 | 
			
		||||
                        onItemSelectionChanged.invoke(card, selectedIds[data.id] ?: false)
 | 
			
		||||
                        true
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
| 
						 | 
				
			
			@ -116,13 +115,13 @@ class DownloadAdapter(
 | 
			
		|||
                        }
 | 
			
		||||
                    } else {
 | 
			
		||||
                        setOnClickListener {
 | 
			
		||||
                            headerClickCallback.invoke(DownloadHeaderClickEvent(DOWNLOAD_ACTION_LOAD_RESULT, data))
 | 
			
		||||
                            onHeaderClickEvent.invoke(DownloadHeaderClickEvent(DOWNLOAD_ACTION_LOAD_RESULT, data))
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    setOnLongClickListener {
 | 
			
		||||
                        multiDeleteStateCallback.invoke(card)
 | 
			
		||||
                        toggleIsChecked(deleteCheckbox, card)
 | 
			
		||||
                        onItemSelectionChanged.invoke(card, selectedIds[data.id] ?: false)
 | 
			
		||||
                        true
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
| 
						 | 
				
			
			@ -136,7 +135,7 @@ class DownloadAdapter(
 | 
			
		|||
                if (isMultiDeleteState) {
 | 
			
		||||
                    deleteCheckbox.setOnCheckedChangeListener { _, isChecked ->
 | 
			
		||||
                        selectedIds[data.id] = isChecked
 | 
			
		||||
                        selectedChangedCallback.invoke(card, isChecked)
 | 
			
		||||
                        onItemSelectionChanged.invoke(card, isChecked)
 | 
			
		||||
                    }
 | 
			
		||||
                } else deleteCheckbox.setOnCheckedChangeListener(null)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -174,12 +173,12 @@ class DownloadAdapter(
 | 
			
		|||
                    ContextCompat.getDrawable(downloadButton.context, downloadButton.progressDrawable)
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            downloadButton.setDefaultClickListener(card.child, downloadHeaderInfo, mediaClickCallback)
 | 
			
		||||
            downloadButton.setDefaultClickListener(card.child, downloadHeaderInfo, onItemClickEvent)
 | 
			
		||||
            downloadButton.isVisible = !isMultiDeleteState
 | 
			
		||||
 | 
			
		||||
            if (!isMultiDeleteState) {
 | 
			
		||||
                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) {
 | 
			
		||||
                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)
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                downloadButton.setDefaultClickListener(data, downloadChildEpisodeTextExtra, mediaClickCallback)
 | 
			
		||||
                downloadButton.setDefaultClickListener(data, downloadChildEpisodeTextExtra, onItemClickEvent)
 | 
			
		||||
                downloadButton.isVisible = !isMultiDeleteState
 | 
			
		||||
 | 
			
		||||
                downloadChildEpisodeText.apply {
 | 
			
		||||
| 
						 | 
				
			
			@ -254,7 +253,7 @@ class DownloadAdapter(
 | 
			
		|||
                }
 | 
			
		||||
 | 
			
		||||
                downloadChildEpisodeHolder.setOnClickListener {
 | 
			
		||||
                    mediaClickCallback.invoke(DownloadClickEvent(DOWNLOAD_ACTION_PLAY_FILE, data))
 | 
			
		||||
                    onItemClickEvent.invoke(DownloadClickEvent(DOWNLOAD_ACTION_PLAY_FILE, data))
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                downloadChildEpisodeHolder.apply {
 | 
			
		||||
| 
						 | 
				
			
			@ -266,14 +265,14 @@ class DownloadAdapter(
 | 
			
		|||
                        }
 | 
			
		||||
                        else -> {
 | 
			
		||||
                            setOnClickListener {
 | 
			
		||||
                                mediaClickCallback.invoke(DownloadClickEvent(DOWNLOAD_ACTION_PLAY_FILE, data))
 | 
			
		||||
                                onItemClickEvent.invoke(DownloadClickEvent(DOWNLOAD_ACTION_PLAY_FILE, data))
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    setOnLongClickListener {
 | 
			
		||||
                        multiDeleteStateCallback.invoke(card)
 | 
			
		||||
                        toggleIsChecked(deleteCheckbox, card)
 | 
			
		||||
                        onItemSelectionChanged.invoke(card, selectedIds[data.id] ?: false)
 | 
			
		||||
                        true
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
| 
						 | 
				
			
			@ -281,7 +280,7 @@ class DownloadAdapter(
 | 
			
		|||
                if (isMultiDeleteState) {
 | 
			
		||||
                    deleteCheckbox.setOnCheckedChangeListener { _, isChecked ->
 | 
			
		||||
                        selectedIds[data.id] = isChecked
 | 
			
		||||
                        selectedChangedCallback.invoke(card, isChecked)
 | 
			
		||||
                        onItemSelectionChanged.invoke(card, isChecked)
 | 
			
		||||
                    }
 | 
			
		||||
                } else deleteCheckbox.setOnCheckedChangeListener(null)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -343,7 +342,7 @@ class DownloadAdapter(
 | 
			
		|||
        val isChecked = !checkbox.isChecked
 | 
			
		||||
        checkbox.isChecked = isChecked
 | 
			
		||||
        selectedIds[item.data.id] = isChecked
 | 
			
		||||
        selectedChangedCallback.invoke(item, isChecked)
 | 
			
		||||
        onItemSelectionChanged.invoke(item, isChecked)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class DiffCallback : DiffUtil.ItemCallback<VisualDownloadCached>() {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -140,8 +140,7 @@ class DownloadChildFragment : Fragment() {
 | 
			
		|||
                if (isChecked) {
 | 
			
		||||
                    downloadsViewModel.addSelected(card)
 | 
			
		||||
                } else downloadsViewModel.removeSelected(card)
 | 
			
		||||
            },
 | 
			
		||||
            { card -> downloadsViewModel.addSelected(card) }
 | 
			
		||||
            }
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        binding?.downloadChildList?.apply {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -165,8 +165,7 @@ class DownloadFragment : Fragment() {
 | 
			
		|||
                if (isChecked) {
 | 
			
		||||
                    downloadsViewModel.addSelected(card)
 | 
			
		||||
                } else downloadsViewModel.removeSelected(card)
 | 
			
		||||
            },
 | 
			
		||||
            { card -> downloadsViewModel.addSelected(card) }
 | 
			
		||||
            }
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        binding?.downloadList?.apply {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue