[fenix] For https://github.com/mozilla-mobile/fenix/issues/20848 - Hide Download List delete icon in multiselect mode

pull/600/head
sunil9211 2 years ago committed by mergify[bot]
parent 7cfdab86d8
commit e255de64bc

@ -35,7 +35,7 @@ class DownloadAdapter(
override fun onBindViewHolder(holder: DownloadsListItemViewHolder, position: Int) {
val current = downloads[position]
val isPendingDeletion = pendingDeletionIds.contains(current.id)
holder.bind(downloads[position], isPendingDeletion)
holder.bind(downloads[position], mode, isPendingDeletion)
}
fun updateDownloads(downloads: List<DownloadItem>) {

@ -14,7 +14,9 @@ import org.mozilla.fenix.selection.SelectionHolder
import org.mozilla.fenix.library.downloads.DownloadInteractor
import org.mozilla.fenix.library.downloads.DownloadItem
import org.mozilla.fenix.ext.getIcon
import org.mozilla.fenix.ext.hideAndDisable
import org.mozilla.fenix.ext.showAndEnable
import org.mozilla.fenix.library.downloads.DownloadFragmentState
import org.mozilla.fenix.library.downloads.DownloadItemMenu
class DownloadsListItemViewHolder(
@ -31,8 +33,12 @@ class DownloadsListItemViewHolder(
setupMenu()
}
/**
* Binds the view in the [DownloadFragment].
*/
fun bind(
item: DownloadItem,
mode: DownloadFragmentState.Mode,
isPendingDeletion: Boolean = false
) {
binding.downloadLayout.visibility = if (isPendingDeletion) {
@ -56,6 +62,11 @@ class DownloadsListItemViewHolder(
downloadInteractor.onDeleteSome(setOf(item))
}
if (mode is DownloadFragmentState.Mode.Editing) {
binding.downloadLayout.overflowView.hideAndDisable()
} else {
binding.downloadLayout.overflowView.showAndEnable()
}
this.item = item
}

Loading…
Cancel
Save