소스 검색

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

masensio 11 년 전
부모
커밋
bf90cb0f16
2개의 변경된 파일11개의 추가작업 그리고 1개의 파일을 삭제
  1. 8 1
      src/com/owncloud/android/files/FileOperationsHelper.java
  2. 3 0
      src/com/owncloud/android/ui/fragment/OCFileListFragment.java

+ 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);