Merge branch 'develop' of https://github.com/tobiasKaminsky/android into thumbnails_f...
[pub/Android/ownCloud.git] / src / com / owncloud / android / files / FileOperationsHelper.java
index c473c0f..62b4900 100644 (file)
@@ -253,12 +253,36 @@ public class FileOperationsHelper {
         FileDownloaderBinder downloaderBinder = mFileActivity.getFileDownloaderBinder();
         FileUploaderBinder uploaderBinder =  mFileActivity.getFileUploaderBinder();
         if (downloaderBinder != null && downloaderBinder.isDownloading(account, file)) {
         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);
             downloaderBinder.cancel(account, file);
-
+            
         } else if (uploaderBinder != null && uploaderBinder.isUploading(account, file)) {
             uploaderBinder.cancel(account, file);
         }
         } else if (uploaderBinder != null && uploaderBinder.isUploading(account, file)) {
             uploaderBinder.cancel(account, file);
         }
-    }    
+    }
+
+    /**
+     * Start move file operation
+     * @param newfile           File where it is going to be moved
+     * @param currentFile       File with the previous info
+     */
+    public void moveFile(OCFile newfile, OCFile currentFile) {
+        // Move files
+        Intent service = new Intent(mFileActivity, OperationsService.class);
+        service.setAction(OperationsService.ACTION_MOVE_FILE);
+        service.putExtra(OperationsService.EXTRA_NEW_PARENT_PATH, newfile.getRemotePath());
+        service.putExtra(OperationsService.EXTRA_REMOTE_PATH, currentFile.getRemotePath());
+        service.putExtra(OperationsService.EXTRA_ACCOUNT, mFileActivity.getAccount());
+        mWaitingForOpId =  mFileActivity.getOperationsServiceBinder().newOperation(service);
+
+        mFileActivity.showLoadingDialog();
+    }
 
 
     public long getOpIdWaitingFor() {
 
 
     public long getOpIdWaitingFor() {