From b6d0d3a6823c5ebaf6a1fc8a1a42faf6f0c5be83 Mon Sep 17 00:00:00 2001 From: ZetaTom <70907959+ZetaTom@users.noreply.github.com> Date: Tue, 27 Jan 2026 16:37:43 +0100 Subject: [PATCH 1/2] Allow sorting files when SearchType.SHARED_FILTER is active - only filename based sorting options available - OCFiles are shallow copies of OCShare and lack data - hardcoded FileSortOrder.SORT_A_TO_Z for now Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com> --- .../ui/fragment/OCFileListSearchTask.kt | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListSearchTask.kt b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListSearchTask.kt index ef938616dd6c..c9da435e7e61 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListSearchTask.kt +++ b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListSearchTask.kt @@ -176,21 +176,26 @@ class OCFileListSearchTask( return@withContext FileStorageUtils.sortOcFolderDescDateModifiedWithoutFavoritesFirst(newList) } - if (searchType != SearchType.SHARED_FILTER) { - val foldersBeforeFiles = preferences.isSortFoldersBeforeFiles() - val favoritesFirst = preferences.isSortFavoritesFirst() + val foldersBeforeFiles = preferences.isSortFoldersBeforeFiles() + val favoritesFirst = preferences.isSortFavoritesFirst() - val sortOrder = - if (searchType == SearchType.FAVORITE_SEARCH) { - preferences.getSortOrderByType(FileSortOrder.Type.favoritesListView) - } else { - preferences.getSortOrderByFolder(folder) - } + val sortOrder = when (searchType) { + SearchType.FAVORITE_SEARCH -> { + preferences.getSortOrderByType(FileSortOrder.Type.favoritesListView) + } - setNewSortOrder(sortOrder) - newList = sortOrder.sortCloudFiles(newList, foldersBeforeFiles, favoritesFirst) + SearchType.SHARED_FILTER -> { + FileSortOrder.SORT_A_TO_Z + } + + else -> { + preferences.getSortOrderByFolder(folder) + } } + setNewSortOrder(sortOrder) + newList = sortOrder.sortCloudFiles(newList, foldersBeforeFiles, favoritesFirst) + return@withContext newList } From 2c2e6a59b10878d7af9524681925633baae97bfc Mon Sep 17 00:00:00 2001 From: ZetaTom <70907959+ZetaTom@users.noreply.github.com> Date: Tue, 27 Jan 2026 16:38:32 +0100 Subject: [PATCH 2/2] Remove duplicate entries from shared tab - deduplicate (cachedFiles + newFiles) Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com> --- .../com/owncloud/android/ui/adapter/OCShareToOCFileConverter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/OCShareToOCFileConverter.kt b/app/src/main/java/com/owncloud/android/ui/adapter/OCShareToOCFileConverter.kt index 45c5216e93f9..fd17de1605f6 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/OCShareToOCFileConverter.kt +++ b/app/src/main/java/com/owncloud/android/ui/adapter/OCShareToOCFileConverter.kt @@ -84,7 +84,7 @@ object OCShareToOCFileConverter { } storageManager?.saveShares(newShares, accountName) - cachedFiles + newFiles + (cachedFiles + newFiles).distinctBy { it.remotePath } } private fun buildOcFile(path: String, shares: List): OCFile {