X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/639d12272170721020b345abbcfd8bfa0b4416d7..956a78753b58e95c1199dee32e88a464757b5061:/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 ff30bd0a..90921e65 100644 --- a/src/com/owncloud/android/operations/SynchronizeFolderOperation.java +++ b/src/com/owncloud/android/operations/SynchronizeFolderOperation.java @@ -30,6 +30,7 @@ import java.util.Map; import java.util.Vector; import org.apache.http.HttpStatus; + import android.accounts.Account; import android.content.Context; import android.content.Intent; @@ -38,19 +39,17 @@ import android.util.Log; import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; - import com.owncloud.android.lib.common.OwnCloudClient; -import com.owncloud.android.lib.resources.shares.OCShare; import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.common.utils.Log_OC; -import com.owncloud.android.lib.resources.shares.GetRemoteSharesForFileOperation; import com.owncloud.android.lib.resources.files.FileUtils; import com.owncloud.android.lib.resources.files.ReadRemoteFileOperation; import com.owncloud.android.lib.resources.files.ReadRemoteFolderOperation; import com.owncloud.android.lib.resources.files.RemoteFile; - +import com.owncloud.android.lib.resources.shares.GetRemoteSharesForFileOperation; +import com.owncloud.android.lib.resources.shares.OCShare; import com.owncloud.android.syncadapter.FileSyncAdapter; import com.owncloud.android.utils.FileStorageUtils; @@ -199,7 +198,7 @@ public class SynchronizeFolderOperation extends RemoteOperation { if (mRemoteFolderChanged) { result = fetchAndSyncRemoteFolder(client); } else { - mChildren = mStorageManager.getFolderContent(mLocalFolder); + mChildren = mStorageManager.getFolderContent(mLocalFolder, false); } } @@ -324,8 +323,6 @@ public class SynchronizeFolderOperation extends RemoteOperation { * @return 'True' when any change was made in the local data, 'false' otherwise */ private void synchronizeData(ArrayList folderAndFiles, OwnCloudClient client) { - Vector mImageFiles = mStorageManager.getFolderImages(mLocalFolder); - // get 'fresh data' from the database mLocalFolder = mStorageManager.getFileByPath(mLocalFolder.getRemotePath()); @@ -341,7 +338,7 @@ public class SynchronizeFolderOperation extends RemoteOperation { List filesToSyncContents = new Vector(); // get current data about local contents of the folder to synchronize - List localFiles = mStorageManager.getFolderContent(mLocalFolder); + List localFiles = mStorageManager.getFolderContent(mLocalFolder, false); Map localFilesMap = new HashMap(localFiles.size()); for (OCFile file : localFiles) { localFilesMap.put(file.getRemotePath(), file); @@ -375,15 +372,10 @@ public class SynchronizeFolderOperation extends RemoteOperation { if (remoteFile.isFolder()) { remoteFile.setFileLength(localFile.getFileLength()); // TODO move operations about size of folders to FileContentProvider - } else if (mRemoteFolderChanged && remoteFile.isImage()) { - // If image has been updated on the server, set for updating the thumbnail - for (OCFile fileImage: mImageFiles) { - if (remoteFile.getRemoteId().equals(fileImage.getRemoteId()) && - remoteFile.getModificationTimestamp() > fileImage.getModificationTimestamp()) { - remoteFile.setNeedsUpdateThumbnail(true); - Log.d(TAG, "Image " + remoteFile.getFileName() + " updated on the server"); - } - } + } else if (mRemoteFolderChanged && remoteFile.isImage() && + remoteFile.getModificationTimestamp() != localFile.getModificationTimestamp()) { + remoteFile.setNeedsUpdateThumbnail(true); + Log.d(TAG, "Image " + remoteFile.getFileName() + " updated on the server"); } remoteFile.setPublicLink(localFile.getPublicLink()); remoteFile.setShareByLink(localFile.isShareByLink());