From a44b74abe3593a5cddce188b30f9595cc5af41c1 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Tue, 6 Jan 2026 08:57:02 +0100 Subject: [PATCH 1/2] Media: handle back press on selection correct Signed-off-by: tobiasKaminsky --- .../main/java/com/owncloud/android/ui/adapter/GalleryAdapter.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/GalleryAdapter.kt b/app/src/main/java/com/owncloud/android/ui/adapter/GalleryAdapter.kt index edbbe0d4a19d..b482e565f229 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/GalleryAdapter.kt +++ b/app/src/main/java/com/owncloud/android/ui/adapter/GalleryAdapter.kt @@ -314,8 +314,10 @@ class GalleryAdapter( } } + @SuppressLint("NotifyDataSetChanged") override fun setMultiSelect(boolean: Boolean) { ocFileListDelegate.isMultiSelect = boolean + notifyDataSetChanged() } private fun getAllFiles(): List = cachedAllFiles ?: files.flatMap { galleryItem -> From 16d41bcd6780a4456f6800755e769c1d2aea3ef1 Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Mon, 19 Jan 2026 13:29:37 +0100 Subject: [PATCH 2/2] add doc Signed-off-by: alperozturk96 --- .../CommonOCFileListAdapterInterface.kt | 2 +- .../android/ui/adapter/GalleryAdapter.kt | 23 +++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/CommonOCFileListAdapterInterface.kt b/app/src/main/java/com/owncloud/android/ui/adapter/CommonOCFileListAdapterInterface.kt index 314688f7283e..94962be8a753 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/CommonOCFileListAdapterInterface.kt +++ b/app/src/main/java/com/owncloud/android/ui/adapter/CommonOCFileListAdapterInterface.kt @@ -33,7 +33,7 @@ interface CommonOCFileListAdapterInterface { fun removeCheckedFile(file: OCFile) fun notifyItemChanged(file: OCFile) fun getFilesCount(): Int - fun setMultiSelect(boolean: Boolean) + fun setMultiSelect(isMultiSelect: Boolean) fun clearCheckedItems() fun selectAll(value: Boolean) } diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/GalleryAdapter.kt b/app/src/main/java/com/owncloud/android/ui/adapter/GalleryAdapter.kt index b482e565f229..864e856999c5 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/GalleryAdapter.kt +++ b/app/src/main/java/com/owncloud/android/ui/adapter/GalleryAdapter.kt @@ -314,9 +314,28 @@ class GalleryAdapter( } } + /** + * Enables or disables multi-select mode in the gallery. + * + * When multi-select mode is enabled: + * - Checkboxes are shown for all items. + * - Users can select multiple files. + * + * When multi-select mode is disabled: + * - Checkboxes are hidden. + * - Selected files remain visually unselected. + * + * Note: + * - This function is only called when the user explicitly enters or exits multi-select mode. + * It is **not** called for individual file selection or deselection. + * - The entire adapter is refreshed using [notifyDataSetChanged] to properly show or hide + * checkboxes across all rows, as individual item updates are not sufficient in this case. + * + * @param isMultiSelect true to enable multi-select mode, false to disable it. + */ @SuppressLint("NotifyDataSetChanged") - override fun setMultiSelect(boolean: Boolean) { - ocFileListDelegate.isMultiSelect = boolean + override fun setMultiSelect(isMultiSelect: Boolean) { + ocFileListDelegate.isMultiSelect = isMultiSelect notifyDataSetChanged() }