浏览代码

Fix lost update of remoteId when file is sync'ed after being replaced in server by other one

David A. Velasco 10 年之前
父节点
当前提交
fe2f7ce8a6

+ 1 - 0
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);
     }
 

+ 2 - 0
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