X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/0162d2f9c97b2e0999c3445181c1edb4d4288811..0bd47a3fb5629f49bbcb72f7860a7fefcf17c9c0:/src/com/owncloud/android/operations/SynchronizeFolderOperation.java diff --git a/src/com/owncloud/android/operations/SynchronizeFolderOperation.java b/src/com/owncloud/android/operations/SynchronizeFolderOperation.java index 36955a51..227e2b2f 100644 --- a/src/com/owncloud/android/operations/SynchronizeFolderOperation.java +++ b/src/com/owncloud/android/operations/SynchronizeFolderOperation.java @@ -278,7 +278,7 @@ public class SynchronizeFolderOperation extends SyncOperation { FileDataStorageManager storageManager = getStorageManager(); // parse data from remote folder - OCFile remoteFolder = fillOCFile((RemoteFile)folderAndFiles.get(0)); + OCFile remoteFolder = FileStorageUtils.fillOCFile((RemoteFile) folderAndFiles.get(0)); remoteFolder.setParentId(mLocalFolder.getParentId()); remoteFolder.setFileId(mLocalFolder.getFileId()); @@ -294,57 +294,60 @@ public class SynchronizeFolderOperation extends SyncOperation { } // get current data about local contents of the folder to synchronize - // TODO Enable when "On Device" is recovered ? - List localFiles = storageManager.getFolderContent(mLocalFolder/*, false*/); + List localFiles = storageManager.getFolderContent(mLocalFolder, false); Map localFilesMap = new HashMap(localFiles.size()); for (OCFile file : localFiles) { localFilesMap.put(file.getRemotePath(), file); } // loop to synchronize every child - OCFile remoteFile = null, localFile = null; + OCFile remoteFile = null, localFile = null, updatedFile = null; + RemoteFile r; for (int i=1; i children = getStorageManager().getFolderContent(mLocalFolder/*, false*/); + List children = getStorageManager().getFolderContent(mLocalFolder, false); for (OCFile child : children) { /// classify file to sync/download contents later if (child.isFolder()) { @@ -405,7 +395,7 @@ public class SynchronizeFolderOperation extends SyncOperation { } } else { - /// prepare limited synchronization for regular files + /// synchronization for regular files if (!child.isDown()) { mFilesForDirectDownload.add(child); @@ -413,7 +403,7 @@ public class SynchronizeFolderOperation extends SyncOperation { /// this should result in direct upload of files that were locally modified SynchronizeFileOperation operation = new SynchronizeFileOperation( child, - child, // cheating with the remote file to get an upadte to server; to refactor + (child.getEtagInConflict() != null ? child : null), mAccount, true, mContext @@ -488,26 +478,6 @@ public class SynchronizeFolderOperation extends SyncOperation { /** - * Creates and populates a new {@link com.owncloud.android.datamodel.OCFile} - * object with the data read from the server. - * - * @param remote remote file read from the server (remote file or folder). - * @return New OCFile instance representing the remote resource described by we. - */ - private OCFile fillOCFile(RemoteFile remote) { - OCFile file = new OCFile(remote.getRemotePath()); - file.setCreationTimestamp(remote.getCreationTimestamp()); - file.setFileLength(remote.getLength()); - file.setMimetype(remote.getMimeType()); - file.setModificationTimestamp(remote.getModifiedTimestamp()); - file.setEtag(remote.getEtag()); - file.setPermissions(remote.getPermissions()); - file.setRemoteId(remote.getRemoteId()); - return file; - } - - - /** * Scans the default location for saving local copies of files searching for * a 'lost' file with the same full name as the {@link com.owncloud.android.datamodel.OCFile} * received as parameter.