From e255de64bca450e26eca4165334cc73259cba8cb Mon Sep 17 00:00:00 2001 From: sunil9211 Date: Sun, 6 Feb 2022 19:55:22 +0530 Subject: [PATCH] [fenix] For https://github.com/mozilla-mobile/fenix/issues/20848 - Hide Download List delete icon in multiselect mode --- .../fenix/library/downloads/DownloadAdapter.kt | 2 +- .../viewholders/DownloadsListItemViewHolder.kt | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/mozilla/fenix/library/downloads/DownloadAdapter.kt b/app/src/main/java/org/mozilla/fenix/library/downloads/DownloadAdapter.kt index 3e6a14e4d4..caf1cf507d 100644 --- a/app/src/main/java/org/mozilla/fenix/library/downloads/DownloadAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/library/downloads/DownloadAdapter.kt @@ -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) { diff --git a/app/src/main/java/org/mozilla/fenix/library/downloads/viewholders/DownloadsListItemViewHolder.kt b/app/src/main/java/org/mozilla/fenix/library/downloads/viewholders/DownloadsListItemViewHolder.kt index eb272e05d0..1cb5d99d18 100644 --- a/app/src/main/java/org/mozilla/fenix/library/downloads/viewholders/DownloadsListItemViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/library/downloads/viewholders/DownloadsListItemViewHolder.kt @@ -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 }