From f142e66e7db03117365b6fb10c2fcfaba68ff4e2 Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Fri, 17 Apr 2026 09:31:14 +0200 Subject: [PATCH 1/2] fix(offline-sync): remote path npe Signed-off-by: alperozturk96 --- .../java/com/nextcloud/client/jobs/OfflineSyncWork.kt | 8 +++++++- .../android/operations/SynchronizeFileOperation.java | 10 ++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/nextcloud/client/jobs/OfflineSyncWork.kt b/app/src/main/java/com/nextcloud/client/jobs/OfflineSyncWork.kt index 2c0e0ebf91a1..480293c74607 100644 --- a/app/src/main/java/com/nextcloud/client/jobs/OfflineSyncWork.kt +++ b/app/src/main/java/com/nextcloud/client/jobs/OfflineSyncWork.kt @@ -72,8 +72,14 @@ class OfflineSyncWork( if (files != null) { for (file in files) { val ocFile = storageManager.getFileByLocalPath(file.path) + val remotePath = ocFile?.remotePath + if (remotePath == null) { + Log_OC.w(TAG, "remote path is null can't sync") + continue + } + val synchronizeFileOperation = SynchronizeFileOperation( - ocFile?.remotePath, + remotePath, user, true, context, diff --git a/app/src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java b/app/src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java index 4aba8f2d5f63..354084d66702 100644 --- a/app/src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java +++ b/app/src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java @@ -186,10 +186,20 @@ protected RemoteOperationResult run(OwnCloudClient client) { mTransferWasRequested = false; if (mLocalFile == null) { + if (mRemotePath == null) { + Log_OC.e(TAG, "Cannot synchronize file: remotePath is null"); + return new RemoteOperationResult<>(ResultCode.FILE_NOT_FOUND); + } + // Get local file from the DB mLocalFile = getStorageManager().getFileByPath(mRemotePath); } + if (mLocalFile == null) { + Log_OC.e(TAG, "Cannot synchronize file: local file not found in database for path: " + mRemotePath); + return new RemoteOperationResult(ResultCode.FILE_NOT_FOUND); + } + if (!mLocalFile.isDown()) { /// easy decision requestForDownload(mLocalFile); From c33328e6ef7a1646ece4d33a3af457478dcecc08 Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Fri, 17 Apr 2026 09:37:10 +0200 Subject: [PATCH 2/2] fix(offline-sync): remote path npe Signed-off-by: alperozturk96 --- .../android/operations/SynchronizeFileOperation.java | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java b/app/src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java index 354084d66702..4aba8f2d5f63 100644 --- a/app/src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java +++ b/app/src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java @@ -186,20 +186,10 @@ protected RemoteOperationResult run(OwnCloudClient client) { mTransferWasRequested = false; if (mLocalFile == null) { - if (mRemotePath == null) { - Log_OC.e(TAG, "Cannot synchronize file: remotePath is null"); - return new RemoteOperationResult<>(ResultCode.FILE_NOT_FOUND); - } - // Get local file from the DB mLocalFile = getStorageManager().getFileByPath(mRemotePath); } - if (mLocalFile == null) { - Log_OC.e(TAG, "Cannot synchronize file: local file not found in database for path: " + mRemotePath); - return new RemoteOperationResult(ResultCode.FILE_NOT_FOUND); - } - if (!mLocalFile.isDown()) { /// easy decision requestForDownload(mLocalFile);