|
@@ -354,50 +354,55 @@ public class RefreshFolderOperation extends RemoteOperation {
|
|
|
}
|
|
|
|
|
|
|
|
|
- OCFile remoteFile = null, localFile = null;
|
|
|
+ OCFile remoteFile = null, localFile = null, updatedFile = null;
|
|
|
+ RemoteFile r;
|
|
|
for (int i=1; i<folderAndFiles.size(); i++) {
|
|
|
|
|
|
- remoteFile = FileStorageUtils.fillOCFile((RemoteFile) folderAndFiles.get(i));
|
|
|
- remoteFile.setParentId(mLocalFolder.getFileId());
|
|
|
+ r = (RemoteFile) folderAndFiles.get(i);
|
|
|
+ remoteFile = FileStorageUtils.fillOCFile(r);
|
|
|
+
|
|
|
+
|
|
|
+ updatedFile = FileStorageUtils.fillOCFile(r);
|
|
|
+ updatedFile.setParentId(mLocalFolder.getFileId());
|
|
|
|
|
|
|
|
|
|
|
|
localFile = localFilesMap.remove(remoteFile.getRemotePath());
|
|
|
|
|
|
-
|
|
|
- remoteFile.setLastSyncDateForProperties(mCurrentSyncTime);
|
|
|
+
|
|
|
+ updatedFile.setLastSyncDateForProperties(mCurrentSyncTime);
|
|
|
if (localFile != null) {
|
|
|
-
|
|
|
- remoteFile.setFileId(localFile.getFileId());
|
|
|
- remoteFile.setFavorite(localFile.isFavorite());
|
|
|
- remoteFile.setLastSyncDateForData(localFile.getLastSyncDateForData());
|
|
|
- remoteFile.setModificationTimestampAtLastSyncForData(
|
|
|
+ updatedFile.setFileId(localFile.getFileId());
|
|
|
+ updatedFile.setFavorite(localFile.isFavorite());
|
|
|
+ updatedFile.setLastSyncDateForData(localFile.getLastSyncDateForData());
|
|
|
+ updatedFile.setModificationTimestampAtLastSyncForData(
|
|
|
localFile.getModificationTimestampAtLastSyncForData()
|
|
|
);
|
|
|
- remoteFile.setStoragePath(localFile.getStoragePath());
|
|
|
+ updatedFile.setStoragePath(localFile.getStoragePath());
|
|
|
|
|
|
- remoteFile.setEtag(localFile.getEtag());
|
|
|
- if (remoteFile.isFolder()) {
|
|
|
- remoteFile.setFileLength(localFile.getFileLength());
|
|
|
+ updatedFile.setEtag(localFile.getEtag());
|
|
|
+ if (updatedFile.isFolder()) {
|
|
|
+ updatedFile.setFileLength(localFile.getFileLength());
|
|
|
|
|
|
} else if (mRemoteFolderChanged && remoteFile.isImage() &&
|
|
|
remoteFile.getModificationTimestamp() !=
|
|
|
localFile.getModificationTimestamp()) {
|
|
|
- remoteFile.setNeedsUpdateThumbnail(true);
|
|
|
+ updatedFile.setNeedsUpdateThumbnail(true);
|
|
|
Log.d(TAG, "Image " + remoteFile.getFileName() + " updated on the server");
|
|
|
}
|
|
|
- remoteFile.setPublicLink(localFile.getPublicLink());
|
|
|
- remoteFile.setShareByLink(localFile.isShareByLink());
|
|
|
+ updatedFile.setPublicLink(localFile.getPublicLink());
|
|
|
+ updatedFile.setShareByLink(localFile.isShareByLink());
|
|
|
+ updatedFile.setInConflict(localFile.isInConflict());
|
|
|
} else {
|
|
|
|
|
|
- remoteFile.setEtag("");
|
|
|
+ updatedFile.setEtag("");
|
|
|
}
|
|
|
|
|
|
|
|
|
- FileStorageUtils.searchForLocalFileInDefaultPath(remoteFile, mAccount);
|
|
|
+ FileStorageUtils.searchForLocalFileInDefaultPath(updatedFile, mAccount);
|
|
|
|
|
|
|
|
|
- if (remoteFile.isFavorite()) {
|
|
|
+ if (updatedFile.isFavorite()) {
|
|
|
SynchronizeFileOperation operation = new SynchronizeFileOperation( localFile,
|
|
|
remoteFile,
|
|
|
mAccount,
|
|
@@ -408,7 +413,7 @@ public class RefreshFolderOperation extends RemoteOperation {
|
|
|
mFilesToSyncContents.add(operation);
|
|
|
}
|
|
|
|
|
|
- updatedFiles.add(remoteFile);
|
|
|
+ updatedFiles.add(updatedFile);
|
|
|
}
|
|
|
|
|
|
|