瀏覽代碼

Review cancel download for keep_in_sync files. Clear etag for parent folder, to force the download when refreshing the folder

masensio 11 年之前
父節點
當前提交
bf90cb0f16

+ 8 - 1
src/com/owncloud/android/files/FileOperationsHelper.java

@@ -253,8 +253,15 @@ public class FileOperationsHelper {
         FileDownloaderBinder downloaderBinder = mFileActivity.getFileDownloaderBinder();
         FileUploaderBinder uploaderBinder =  mFileActivity.getFileUploaderBinder();
         if (downloaderBinder != null && downloaderBinder.isDownloading(account, file)) {
+            // Remove etag for parent, if file is a keep_in_sync
+            if (file.keepInSync()) {
+               OCFile parent = mFileActivity.getStorageManager().getFileById(file.getParentId());
+               parent.setEtag("");
+               mFileActivity.getStorageManager().saveFile(parent);
+            }
+            
             downloaderBinder.cancel(account, file);
-
+            
         } else if (uploaderBinder != null && uploaderBinder.isUploading(account, file)) {
             uploaderBinder.cancel(account, file);
         }

+ 3 - 0
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -440,6 +440,9 @@ public class OCFileListFragment extends ExtendedListFragment {
         super.onRefresh();
         
         if (mFile != null) {
+            // Refresh mFile
+            mFile = mContainerActivity.getStorageManager().getFileById(mFile.getFileId());
+            
             listDirectory(mFile);
             
             ((FileDisplayActivity)mContainerActivity).startSyncFolderOperation(mFile);