Browse Source

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

David A. Velasco 10 năm trước cách đây
mục cha
commit
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