From fe2f7ce8a6588daeb4139b0cbbc8152f2debdaca Mon Sep 17 00:00:00 2001 From: "David A. Velasco" Date: Thu, 16 Oct 2014 13:11:32 +0200 Subject: [PATCH] Fix lost update of remoteId when file is sync'ed after being replaced in server by other one --- src/com/owncloud/android/files/services/FileDownloader.java | 1 + src/com/owncloud/android/operations/SynchronizeFileOperation.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/com/owncloud/android/files/services/FileDownloader.java b/src/com/owncloud/android/files/services/FileDownloader.java index cb0f12ce..fdc35f8d 100644 --- a/src/com/owncloud/android/files/services/FileDownloader.java +++ b/src/com/owncloud/android/files/services/FileDownloader.java @@ -398,6 +398,7 @@ public class FileDownloader extends Service implements OnDatatransferProgressLis file.setMimetype(mCurrentDownload.getMimeType()); file.setStoragePath(mCurrentDownload.getSavePath()); file.setFileLength((new File(mCurrentDownload.getSavePath()).length())); + file.setRemoteId(mCurrentDownload.getFile().getRemoteId()); mStorageManager.saveFile(file); } diff --git a/src/com/owncloud/android/operations/SynchronizeFileOperation.java b/src/com/owncloud/android/operations/SynchronizeFileOperation.java index c8ee1e2c..45a73057 100644 --- a/src/com/owncloud/android/operations/SynchronizeFileOperation.java +++ b/src/com/owncloud/android/operations/SynchronizeFileOperation.java @@ -170,6 +170,8 @@ public class SynchronizeFileOperation extends SyncOperation { result = new RemoteOperationResult(ResultCode.OK); } else if (serverChanged) { + mLocalFile.setRemoteId(mServerFile.getRemoteId()); + if (mSyncFileContents) { requestForDownload(mLocalFile); // local, not server; we won't to keep the value of keepInSync! // the update of local data will be done later by the FileUploader service when the upload finishes -- 2.11.0