From 7029bb1d6ba934f6c6b086017778b179c9550ac0 Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Wed, 6 May 2026 16:03:19 +0200 Subject: [PATCH 1/7] fix(oc-search-task): data consistency Signed-off-by: alperozturk96 --- .../android/ui/adapter/OCFileListAdapter.java | 2 +- .../android/ui/adapter/OCFileListDelegate.kt | 23 ++++++++----- .../ui/fragment/OCFileListSearchTask.kt | 33 ++++++++++++++++++- 3 files changed, 48 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java index a2c7616dda3c..ab79b5298b8f 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java +++ b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java @@ -495,7 +495,7 @@ public void bindRecommendedFilesHolder(OCFileListRecommendedItemViewHolder holde } private void bindHolder(@NonNull RecyclerView.ViewHolder holder, ListViewHolder viewHolder, OCFile file) { - ocFileListDelegate.bindViewHolder(viewHolder, file, currentDirectory, searchType, overlayManager); + ocFileListDelegate.bindViewHolder(viewHolder, file, currentDirectory, overlayManager); if (holder instanceof ListItemViewHolder itemViewHolder) { bindListItemViewHolder(itemViewHolder, file); diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt index 65bc90380aaf..c509f2881b36 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt +++ b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt @@ -32,7 +32,6 @@ import com.owncloud.android.lib.common.utils.Log_OC import com.owncloud.android.ui.activity.ComponentsGetter import com.owncloud.android.ui.activity.FolderPickerActivity import com.owncloud.android.ui.fragment.GalleryFragment -import com.owncloud.android.ui.fragment.SearchType import com.owncloud.android.ui.interfaces.OCFileListFragmentInterface import com.owncloud.android.utils.DisplayUtils import com.owncloud.android.utils.EncryptionUtils @@ -207,7 +206,6 @@ class OCFileListDelegate( viewHolder: ListViewHolder, file: OCFile, currentDirectory: OCFile?, - searchType: SearchType?, overlayManager: OverlayManager ) { // thumbnail @@ -243,13 +241,12 @@ class OCFileListDelegate( file.isEncrypted && !EncryptionUtils.supportsSecureFiledrop(file, user) ) || - (searchType == SearchType.FAVORITE_SEARCH) || ( file.isFolder && (currentDirectory?.isEncrypted ?: false) ) ) - ) // sharing an encrypted subfolder is not possible + ) if (shouldHideShare) { viewHolder.shared.visibility = View.GONE } else { @@ -405,18 +402,28 @@ class OCFileListDelegate( return null } - if (file.isOfflineOperation) return null + if (file.isOfflineOperation) { + return null + } - if (holder !is OCFileListItemViewHolder && file.unreadCommentsCount != 0) return null + if (holder !is OCFileListItemViewHolder && file.unreadCommentsCount != 0) { + return null + } return when { file.isSharedWithSharee || file.isSharedWithMe -> { - if (showShareAvatar) null else R.drawable.shared_via_users to R.string.shared_icon_shared + if (showShareAvatar) { + null + } else { + R.drawable.shared_via_users to R.string.shared_icon_shared + } } file.isSharedViaLink -> R.drawable.shared_via_link to R.string.shared_icon_shared_via_link - else -> R.drawable.ic_unshared to R.string.shared_icon_share + else -> { + R.drawable.ic_unshared to R.string.shared_icon_share + } } } 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 26a8943b311d..78fa5199956f 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 @@ -209,7 +209,14 @@ class OCFileListSearchTask( for (obj in data) { try { val remoteFile = obj as? RemoteFile ?: continue - var ocFile = FileStorageUtils.fillOCFile(remoteFile) + val newFile = FileStorageUtils.fillOCFile(remoteFile) + + val existingFile = storageManager.getFileByPath(newFile.remotePath) + if (existingFile != null) { + preserveLocalFieldsOverEmptyRemoteFile(newFile, existingFile) + } + + var ocFile = newFile FileStorageUtils.searchForLocalFileInDefaultPath(ocFile, currentUser.accountName) ocFile = storageManager.saveFileWithParent(ocFile, activity) ocFile = handleEncryptionIfNeeded(ocFile, storageManager, activity) @@ -248,6 +255,30 @@ class OCFileListSearchTask( storageManager.saveVirtuals(contentValuesList) } + /** + * Needed to prevent overwriting the valid local fields. + */ + private fun preserveLocalFieldsOverEmptyRemoteFile(newFile: OCFile, existingFile: OCFile) { + if (newFile.sharees.isNullOrEmpty()) { + newFile.sharees = existingFile.sharees + } + if (!newFile.isSharedViaLink) { + newFile.isSharedViaLink = existingFile.isSharedViaLink + } + if (!newFile.isSharedWithSharee) { + newFile.isSharedWithSharee = existingFile.isSharedWithSharee + } + if (newFile.firstShareTimestamp == 0L) { + newFile.firstShareTimestamp = existingFile.firstShareTimestamp + } + if (newFile.tags.isNullOrEmpty()) { + newFile.tags = existingFile.tags + } + if (newFile.imageDimension == null) { + newFile.imageDimension = existingFile.imageDimension + } + } + @Suppress("DEPRECATION") private fun handleEncryptionIfNeeded( ocFile: OCFile, From 957a0ebd6573a1f35bb4e0c74e1fbc7e70f34fdd Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Wed, 6 May 2026 16:04:15 +0200 Subject: [PATCH 2/7] fix(oc-search-task): data consistency Signed-off-by: alperozturk96 --- .../android/ui/adapter/OCFileListAdapter.java | 2 +- .../android/ui/adapter/OCFileListDelegate.kt | 23 +++++++------------ 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java index ab79b5298b8f..a2c7616dda3c 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java +++ b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java @@ -495,7 +495,7 @@ public void bindRecommendedFilesHolder(OCFileListRecommendedItemViewHolder holde } private void bindHolder(@NonNull RecyclerView.ViewHolder holder, ListViewHolder viewHolder, OCFile file) { - ocFileListDelegate.bindViewHolder(viewHolder, file, currentDirectory, overlayManager); + ocFileListDelegate.bindViewHolder(viewHolder, file, currentDirectory, searchType, overlayManager); if (holder instanceof ListItemViewHolder itemViewHolder) { bindListItemViewHolder(itemViewHolder, file); diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt index c509f2881b36..65bc90380aaf 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt +++ b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt @@ -32,6 +32,7 @@ import com.owncloud.android.lib.common.utils.Log_OC import com.owncloud.android.ui.activity.ComponentsGetter import com.owncloud.android.ui.activity.FolderPickerActivity import com.owncloud.android.ui.fragment.GalleryFragment +import com.owncloud.android.ui.fragment.SearchType import com.owncloud.android.ui.interfaces.OCFileListFragmentInterface import com.owncloud.android.utils.DisplayUtils import com.owncloud.android.utils.EncryptionUtils @@ -206,6 +207,7 @@ class OCFileListDelegate( viewHolder: ListViewHolder, file: OCFile, currentDirectory: OCFile?, + searchType: SearchType?, overlayManager: OverlayManager ) { // thumbnail @@ -241,12 +243,13 @@ class OCFileListDelegate( file.isEncrypted && !EncryptionUtils.supportsSecureFiledrop(file, user) ) || + (searchType == SearchType.FAVORITE_SEARCH) || ( file.isFolder && (currentDirectory?.isEncrypted ?: false) ) ) - ) + ) // sharing an encrypted subfolder is not possible if (shouldHideShare) { viewHolder.shared.visibility = View.GONE } else { @@ -402,28 +405,18 @@ class OCFileListDelegate( return null } - if (file.isOfflineOperation) { - return null - } + if (file.isOfflineOperation) return null - if (holder !is OCFileListItemViewHolder && file.unreadCommentsCount != 0) { - return null - } + if (holder !is OCFileListItemViewHolder && file.unreadCommentsCount != 0) return null return when { file.isSharedWithSharee || file.isSharedWithMe -> { - if (showShareAvatar) { - null - } else { - R.drawable.shared_via_users to R.string.shared_icon_shared - } + if (showShareAvatar) null else R.drawable.shared_via_users to R.string.shared_icon_shared } file.isSharedViaLink -> R.drawable.shared_via_link to R.string.shared_icon_shared_via_link - else -> { - R.drawable.ic_unshared to R.string.shared_icon_share - } + else -> R.drawable.ic_unshared to R.string.shared_icon_share } } From 0c73cb5b08faf2b7d073587d1914db89c586ff76 Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Fri, 8 May 2026 11:47:20 +0200 Subject: [PATCH 3/7] fetch result from search directly Signed-off-by: alperozturk96 --- .../android/ui/adapter/OCFileListDelegate.kt | 2 +- .../ui/asynctasks/GallerySearchTask.kt | 7 ++-- .../ui/fragment/OCFileListSearchTask.kt | 35 ++----------------- 3 files changed, 7 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt index 65bc90380aaf..3f607b3e6b0b 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt +++ b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt @@ -414,7 +414,7 @@ class OCFileListDelegate( if (showShareAvatar) null else R.drawable.shared_via_users to R.string.shared_icon_shared } - file.isSharedViaLink -> R.drawable.shared_via_link to R.string.shared_icon_shared_via_link + file.isShared || file.isSharedViaLink -> R.drawable.shared_via_link to R.string.shared_icon_shared_via_link else -> R.drawable.ic_unshared to R.string.shared_icon_share } diff --git a/app/src/main/java/com/owncloud/android/ui/asynctasks/GallerySearchTask.kt b/app/src/main/java/com/owncloud/android/ui/asynctasks/GallerySearchTask.kt index d3d4a0660875..138bbf8c8814 100644 --- a/app/src/main/java/com/owncloud/android/ui/asynctasks/GallerySearchTask.kt +++ b/app/src/main/java/com/owncloud/android/ui/asynctasks/GallerySearchTask.kt @@ -70,10 +70,11 @@ class GallerySearchTask( ocCapability: com.owncloud.android.lib.resources.status.OCCapability ): SearchRemoteOperation = SearchRemoteOperation("", SearchRemoteOperation.SearchType.GALLERY_SEARCH, false, ocCapability).apply { - setLimit(limit) - setEndDate(endDate) + limit = this@GallerySearchTask.limit + endDate = this@GallerySearchTask.endDate + // workaround to keep SearchRemoteOperation functioning correctly even if we don't actively use startDate - setStartDate(0L) + startDate = 0L } private fun logSearchStart() { 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 78fa5199956f..d0e72abf2afa 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 @@ -208,15 +208,8 @@ class OCFileListSearchTask( for (obj in data) { try { - val remoteFile = obj as? RemoteFile ?: continue - val newFile = FileStorageUtils.fillOCFile(remoteFile) - - val existingFile = storageManager.getFileByPath(newFile.remotePath) - if (existingFile != null) { - preserveLocalFieldsOverEmptyRemoteFile(newFile, existingFile) - } - - var ocFile = newFile + val remoteFile = (obj as? RemoteFile) ?: continue + var ocFile = FileStorageUtils.fillOCFile(remoteFile) FileStorageUtils.searchForLocalFileInDefaultPath(ocFile, currentUser.accountName) ocFile = storageManager.saveFileWithParent(ocFile, activity) ocFile = handleEncryptionIfNeeded(ocFile, storageManager, activity) @@ -255,30 +248,6 @@ class OCFileListSearchTask( storageManager.saveVirtuals(contentValuesList) } - /** - * Needed to prevent overwriting the valid local fields. - */ - private fun preserveLocalFieldsOverEmptyRemoteFile(newFile: OCFile, existingFile: OCFile) { - if (newFile.sharees.isNullOrEmpty()) { - newFile.sharees = existingFile.sharees - } - if (!newFile.isSharedViaLink) { - newFile.isSharedViaLink = existingFile.isSharedViaLink - } - if (!newFile.isSharedWithSharee) { - newFile.isSharedWithSharee = existingFile.isSharedWithSharee - } - if (newFile.firstShareTimestamp == 0L) { - newFile.firstShareTimestamp = existingFile.firstShareTimestamp - } - if (newFile.tags.isNullOrEmpty()) { - newFile.tags = existingFile.tags - } - if (newFile.imageDimension == null) { - newFile.imageDimension = existingFile.imageDimension - } - } - @Suppress("DEPRECATION") private fun handleEncryptionIfNeeded( ocFile: OCFile, From 5ff1ac31de2d23bfb69043bcfd67eb2ae146321b Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Wed, 27 May 2026 10:08:44 +0300 Subject: [PATCH 4/7] fix user file selection order Signed-off-by: alperozturk96 --- gradle/libs.versions.toml | 2 +- gradle/verification-metadata.xml | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 21cc251dfeda..b1e1ea628810 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ androidCommonLibraryVersion = "0.33.2" androidGifDrawableVersion = "1.2.31" androidImageCropperVersion = "4.7.0" -androidLibraryVersion ="1c847678482c739d0b92e27a445d2f5f168f7d33" +androidLibraryVersion ="bf4287e5a6" androidPluginVersion = "9.2.1" androidsvgVersion = "1.4" androidxMediaVersion = "1.5.1" diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 4ec7b49b5934..16521448ca73 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -21688,6 +21688,14 @@ + + + + + + + + From 7c45eab5c63d6d65f0c4fb9bc170cf9d28c96bf7 Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Tue, 2 Jun 2026 13:58:18 +0300 Subject: [PATCH 5/7] wip Signed-off-by: alperozturk96 --- .../owncloud/android/ui/fragment/SharedListFragment.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/SharedListFragment.kt b/app/src/main/java/com/owncloud/android/ui/fragment/SharedListFragment.kt index 5e7b26a3b019..56e11a40c360 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/SharedListFragment.kt +++ b/app/src/main/java/com/owncloud/android/ui/fragment/SharedListFragment.kt @@ -83,16 +83,18 @@ class SharedListFragment : etag = it } } - val file = FileStorageUtils.fillOCFile(remoteFile) - FileStorageUtils.searchForLocalFileInDefaultPath(file, user.accountName) - val savedFile = mContainerActivity.storageManager.saveFileWithParent(file, context) - savedFile.apply { + // todo: ideally remote operation must return valid values via webdav entry + val file = FileStorageUtils.fillOCFile(remoteFile).apply { + fileId = partialFile.fileId + parentId = partialFile.parentId ownerId = partialFile.ownerId ownerDisplayName = partialFile.ownerDisplayName isSharedViaLink = partialFile.isSharedViaLink isSharedWithSharee = partialFile.isSharedWithSharee sharees = partialFile.sharees } + FileStorageUtils.searchForLocalFileInDefaultPath(file, user.accountName) + val savedFile = mContainerActivity.storageManager.saveFileWithParent(file, context) savedFile } else { logger.e(SHARED_TAG, "Error fetching file") From 87cc7d91c536366085a0051233a301cd894ef6a7 Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Tue, 2 Jun 2026 15:30:08 +0300 Subject: [PATCH 6/7] add missing fields Signed-off-by: alperozturk96 --- .../utils/extensions/RemoteFileExtensions.kt | 11 +++++++++++ .../android/ui/fragment/SharedListFragment.kt | 6 ------ .../com/owncloud/android/utils/FileStorageUtils.java | 11 +++++++++-- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/nextcloud/utils/extensions/RemoteFileExtensions.kt b/app/src/main/java/com/nextcloud/utils/extensions/RemoteFileExtensions.kt index 114849b5a831..2b0eabc011d4 100644 --- a/app/src/main/java/com/nextcloud/utils/extensions/RemoteFileExtensions.kt +++ b/app/src/main/java/com/nextcloud/utils/extensions/RemoteFileExtensions.kt @@ -9,6 +9,8 @@ package com.nextcloud.utils.extensions import com.nextcloud.utils.TimeConstants import com.owncloud.android.lib.resources.files.model.RemoteFile +import com.owncloud.android.lib.resources.shares.ShareeUser +import com.owncloud.android.lib.resources.tags.Tag import com.owncloud.android.utils.FileUtil import com.owncloud.android.utils.MimeTypeUtil @@ -27,6 +29,15 @@ fun RemoteFile.isSame(path: String?): Boolean { this.areImageDimensionsSame(path) } +fun RemoteFile.sharedViaLink(): Boolean = sharees?.any { it.shareType?.isLink == true } ?: false + +fun RemoteFile.sharedWithSharee(): Boolean = sharees?.isNotEmpty() ?: false + +fun RemoteFile.getShareeList(): List = sharees?.toList() ?: emptyList() + +fun RemoteFile.tags(): List = + tags?.mapNotNull { it } ?: emptyList() + @Suppress("ReturnCount") private fun RemoteFile.areImageDimensionsSame(path: String): Boolean { if (!MimeTypeUtil.isImage(mimeType)) { diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/SharedListFragment.kt b/app/src/main/java/com/owncloud/android/ui/fragment/SharedListFragment.kt index 56e11a40c360..30857c9665eb 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/SharedListFragment.kt +++ b/app/src/main/java/com/owncloud/android/ui/fragment/SharedListFragment.kt @@ -83,15 +83,9 @@ class SharedListFragment : etag = it } } - // todo: ideally remote operation must return valid values via webdav entry val file = FileStorageUtils.fillOCFile(remoteFile).apply { fileId = partialFile.fileId parentId = partialFile.parentId - ownerId = partialFile.ownerId - ownerDisplayName = partialFile.ownerDisplayName - isSharedViaLink = partialFile.isSharedViaLink - isSharedWithSharee = partialFile.isSharedWithSharee - sharees = partialFile.sharees } FileStorageUtils.searchForLocalFileInDefaultPath(file, user.accountName) val savedFile = mContainerActivity.storageManager.saveFileWithParent(file, context) diff --git a/app/src/main/java/com/owncloud/android/utils/FileStorageUtils.java b/app/src/main/java/com/owncloud/android/utils/FileStorageUtils.java index 1068358b9bcd..014f4e12d64e 100644 --- a/app/src/main/java/com/owncloud/android/utils/FileStorageUtils.java +++ b/app/src/main/java/com/owncloud/android/utils/FileStorageUtils.java @@ -21,6 +21,7 @@ import android.webkit.MimeTypeMap; import com.nextcloud.client.preferences.SubFolderRule; +import com.nextcloud.utils.extensions.RemoteFileExtensionsKt; import com.nextcloud.utils.extensions.StringConstants; import com.owncloud.android.MainApp; import com.owncloud.android.R; @@ -28,6 +29,8 @@ import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.lib.resources.files.model.RemoteFile; +import com.owncloud.android.lib.resources.shares.ShareType; +import com.owncloud.android.lib.resources.shares.ShareeUser; import com.owncloud.android.ui.helpers.FileOperationsHelper; import org.apache.commons.io.FilenameUtils; @@ -349,7 +352,11 @@ public static OCFile fillOCFile(RemoteFile remote) { file.setOwnerId(remote.getOwnerId()); file.setOwnerDisplayName(remote.getOwnerDisplayName()); file.setNote(remote.getNote()); - file.setSharees(new ArrayList<>(Arrays.asList(remote.getSharees()))); + + file.setSharees(RemoteFileExtensionsKt.getShareeList(remote)); + file.setSharedWithSharee(RemoteFileExtensionsKt.sharedWithSharee(remote)); + file.setSharedViaLink(RemoteFileExtensionsKt.sharedViaLink(remote)); + file.setRichWorkspace(remote.getRichWorkspace()); file.setLocked(remote.isLocked()); file.setLockType(remote.getLockType()); @@ -359,7 +366,7 @@ public static OCFile fillOCFile(RemoteFile remote) { file.setLockTimestamp(remote.getLockTimestamp()); file.setLockTimeout(remote.getLockTimeout()); file.setLockToken(remote.getLockToken()); - file.setTags(new ArrayList<>(Arrays.asList(remote.getTags()))); + file.setTags(RemoteFileExtensionsKt.tags(remote)); file.setImageDimension(remote.getImageDimension()); file.setGeoLocation(remote.getGeoLocation()); file.setLivePhoto(remote.getLivePhoto()); From de5b04128e413f285d649fd8163229f6b1a0f8dd Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Tue, 2 Jun 2026 15:40:31 +0300 Subject: [PATCH 7/7] add missing fields Signed-off-by: alperozturk96 --- .../nextcloud/utils/extensions/RemoteFileExtensions.kt | 9 ++++----- .../owncloud/android/ui/asynctasks/GallerySearchTask.kt | 2 +- gradle/libs.versions.toml | 2 +- gradle/verification-metadata.xml | 8 ++++++++ 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/nextcloud/utils/extensions/RemoteFileExtensions.kt b/app/src/main/java/com/nextcloud/utils/extensions/RemoteFileExtensions.kt index 2b0eabc011d4..22758d6140a2 100644 --- a/app/src/main/java/com/nextcloud/utils/extensions/RemoteFileExtensions.kt +++ b/app/src/main/java/com/nextcloud/utils/extensions/RemoteFileExtensions.kt @@ -29,14 +29,13 @@ fun RemoteFile.isSame(path: String?): Boolean { this.areImageDimensionsSame(path) } -fun RemoteFile.sharedViaLink(): Boolean = sharees?.any { it.shareType?.isLink == true } ?: false +fun RemoteFile.sharedViaLink(): Boolean = sharees?.any { it.shareType?.isLink == true } ?: false -fun RemoteFile.sharedWithSharee(): Boolean = sharees?.isNotEmpty() ?: false +fun RemoteFile.sharedWithSharee(): Boolean = sharees?.isNotEmpty() ?: false -fun RemoteFile.getShareeList(): List = sharees?.toList() ?: emptyList() +fun RemoteFile.getShareeList(): List = sharees?.toList() ?: emptyList() -fun RemoteFile.tags(): List = - tags?.mapNotNull { it } ?: emptyList() +fun RemoteFile.tags(): List = tags?.mapNotNull { it } ?: emptyList() @Suppress("ReturnCount") private fun RemoteFile.areImageDimensionsSame(path: String): Boolean { diff --git a/app/src/main/java/com/owncloud/android/ui/asynctasks/GallerySearchTask.kt b/app/src/main/java/com/owncloud/android/ui/asynctasks/GallerySearchTask.kt index 138bbf8c8814..b75f9374dc47 100644 --- a/app/src/main/java/com/owncloud/android/ui/asynctasks/GallerySearchTask.kt +++ b/app/src/main/java/com/owncloud/android/ui/asynctasks/GallerySearchTask.kt @@ -71,7 +71,7 @@ class GallerySearchTask( ): SearchRemoteOperation = SearchRemoteOperation("", SearchRemoteOperation.SearchType.GALLERY_SEARCH, false, ocCapability).apply { limit = this@GallerySearchTask.limit - endDate = this@GallerySearchTask.endDate + endDate = this@GallerySearchTask.endDate // workaround to keep SearchRemoteOperation functioning correctly even if we don't actively use startDate startDate = 0L diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b1e1ea628810..1a5232190bd7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ androidCommonLibraryVersion = "0.33.2" androidGifDrawableVersion = "1.2.31" androidImageCropperVersion = "4.7.0" -androidLibraryVersion ="bf4287e5a6" +androidLibraryVersion ="445f4b7b3d" androidPluginVersion = "9.2.1" androidsvgVersion = "1.4" androidxMediaVersion = "1.5.1" diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 16521448ca73..5c2938ca0718 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -21168,6 +21168,14 @@ + + + + + + + +