From c039a5dbe9190939a320b1164f6751cb5d631b0e Mon Sep 17 00:00:00 2001 From: daniele-verducci Date: Fri, 11 Sep 2026 19:00:28 +0200 Subject: [PATCH] feature/create-folder-during-upload: use new auto folder creation feature Signed-off-by: daniele-verducci --- .../android/operations/UploadFileOperation.java | 14 +++++++++----- gradle/libs.versions.toml | 2 +- gradle/verification-metadata.xml | 8 ++++++++ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/operations/UploadFileOperation.java b/app/src/main/java/com/owncloud/android/operations/UploadFileOperation.java index d525f37de441..51948546e394 100644 --- a/app/src/main/java/com/owncloud/android/operations/UploadFileOperation.java +++ b/app/src/main/java/com/owncloud/android/operations/UploadFileOperation.java @@ -55,6 +55,7 @@ import com.owncloud.android.lib.resources.files.ReadFileRemoteOperation; import com.owncloud.android.lib.resources.files.UploadFileRemoteOperation; import com.owncloud.android.lib.resources.files.model.RemoteFile; +import com.owncloud.android.lib.resources.status.NextcloudVersion; import com.owncloud.android.lib.resources.status.OCCapability; import com.owncloud.android.operations.common.SyncOperation; import com.owncloud.android.operations.e2e.E2EClientData; @@ -475,12 +476,15 @@ protected RemoteOperationResult run(OwnCloudClient client) { final boolean isResumingEncryptedUpload = (mFolderUnlockToken != null && !mFolderUnlockToken.isEmpty()); if (!isResumingEncryptedUpload && (parent == null || mRemoteFolderToBeCreated)) { Log_OC.d(TAG, "verifying remote parent folder exists: " + remoteParentPath); - final var result = grantFolderExistence(remoteParentPath, client); - if (!result.isSuccess()) { - Log_OC.e(TAG, "grantFolderExistence failed for: " + remoteParentPath + ", code: " + - result.getCode() + ", message: " + result.getMessage()); - return result; + if (!getCapabilities().getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_32)) { + // No automatic folder creation before Nextcloud 32, create them + final var result = grantFolderExistence(remoteParentPath, client); + if (!result.isSuccess()) { + Log_OC.e(TAG, "grantFolderExistence failed for: " + remoteParentPath + ", code: " + + result.getCode() + ", message: " + result.getMessage()); + return result; + } } parent = getStorageManager().getFileByPath(remoteParentPath); diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8ea32ee9c59b..deb97a3d9166 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ androidCommonLibraryVersion = "f46fb3b6789dee1f476269903da61e9b48c99587" androidGifDrawableVersion = "1.2.32" androidImageCropperVersion = "4.7.0" -androidLibraryVersion ="d22a01f4b8327b6593d6af75f6be3aa7fbc2c854" +androidLibraryVersion ="23b7bc1dbc7be64caf3bb00f06c9fa8b618ad144" androidOpensslVersion = "3.5.6" androidPluginVersion = "9.4.0" androidsvgVersion = "1.4" diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index bed32c794130..050ef31ee51c 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -21169,6 +21169,14 @@ + + + + + + + +