From b4233d28aeadfb4220f38e734a24a9cdb8712103 Mon Sep 17 00:00:00 2001 From: Alex Kucherenko Date: Fri, 5 Jun 2026 16:16:56 +0300 Subject: [PATCH 1/2] Add a favorite icon to the search screen --- .../UnifiedSearchCurrentDirItemViewHolder.kt | 2 ++ .../ui/adapter/UnifiedSearchItemViewHolder.kt | 6 ++++++ .../unified_search_current_directory_item.xml | 14 ++++++++++++++ app/src/main/res/layout/unified_search_item.xml | 13 +++++++++++++ 4 files changed, 35 insertions(+) diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchCurrentDirItemViewHolder.kt b/app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchCurrentDirItemViewHolder.kt index d4bc6d68114a..c26a33624232 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchCurrentDirItemViewHolder.kt +++ b/app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchCurrentDirItemViewHolder.kt @@ -62,6 +62,8 @@ class UnifiedSearchCurrentDirItemViewHolder( overlayManager ) + binding.favoriteAction.visibility = if (file.isFavorite) View.VISIBLE else View.GONE + binding.more.setOnClickListener { action.openFile(file.decryptedRemotePath, true) } diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchItemViewHolder.kt b/app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchItemViewHolder.kt index 97c32785c018..2f2476220aa1 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchItemViewHolder.kt +++ b/app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchItemViewHolder.kt @@ -61,6 +61,7 @@ class UnifiedSearchItemViewHolder( bindTextView(binding.title, entry.title) bindTextView(binding.subline, entry.subline) bindLocalFileIndicator(entry) + bindFavoriteIndicator(entry) val entryType = entry.getType() bindThumbnail(entry, entryType) @@ -85,6 +86,11 @@ class UnifiedSearchItemViewHolder( binding.localFileIndicator.setVisibleIf(showLocalFileIndicator) } + private fun bindFavoriteIndicator(entry: SearchResultEntry) { + val file = storageManager.getFileByRemotePath(entry.remotePath()) + binding.favoriteAction.setVisibleIf(file?.isFavorite == true) + } + private fun bindThumbnail(entry: SearchResultEntry, entryType: SearchResultEntryType) { val file = storageManager.getFileByRemotePath(entry.remotePath()) Glide.with(context).clear(binding.thumbnail) diff --git a/app/src/main/res/layout/unified_search_current_directory_item.xml b/app/src/main/res/layout/unified_search_current_directory_item.xml index 5b5c8d6e6533..dfc008d2578e 100644 --- a/app/src/main/res/layout/unified_search_current_directory_item.xml +++ b/app/src/main/res/layout/unified_search_current_directory_item.xml @@ -38,6 +38,20 @@ + + + + Date: Mon, 8 Jun 2026 18:05:13 +0300 Subject: [PATCH 2/2] [Optimization] Add a favorite icon to the search screen --- .../android/ui/adapter/UnifiedSearchItemViewHolder.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchItemViewHolder.kt b/app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchItemViewHolder.kt index 2f2476220aa1..2a446e843bf8 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchItemViewHolder.kt +++ b/app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchItemViewHolder.kt @@ -61,10 +61,11 @@ class UnifiedSearchItemViewHolder( bindTextView(binding.title, entry.title) bindTextView(binding.subline, entry.subline) bindLocalFileIndicator(entry) - bindFavoriteIndicator(entry) val entryType = entry.getType() - bindThumbnail(entry, entryType) + val file = storageManager.getFileByRemotePath(entry.remotePath()) + bindThumbnail(file, entry, entryType) + bindFavoriteIndicator(file) bindMoreButton(entry) binding.unifiedSearchItemLayout.setOnClickListener { searchEntryOnClick(entry, entryType) @@ -86,13 +87,11 @@ class UnifiedSearchItemViewHolder( binding.localFileIndicator.setVisibleIf(showLocalFileIndicator) } - private fun bindFavoriteIndicator(entry: SearchResultEntry) { - val file = storageManager.getFileByRemotePath(entry.remotePath()) + private fun bindFavoriteIndicator(file: OCFile?) { binding.favoriteAction.setVisibleIf(file?.isFavorite == true) } - private fun bindThumbnail(entry: SearchResultEntry, entryType: SearchResultEntryType) { - val file = storageManager.getFileByRemotePath(entry.remotePath()) + private fun bindThumbnail(file: OCFile?, entry: SearchResultEntry, entryType: SearchResultEntryType) { Glide.with(context).clear(binding.thumbnail) binding.thumbnailOverlayIcon.setVisibleIf(false)