Added indexed tree of synchronizing folders to SyncFolderHandler
[pub/Android/ownCloud.git] / src / com / owncloud / android / files / FileOperationsHelper.java
index 47e4472..22be2a7 100644 (file)
@@ -284,30 +284,29 @@ public class FileOperationsHelper {
      */
     public void cancelTransference(OCFile file) {
         Account account = mFileActivity.getAccount();
-        if (!file.isFolder()) {
-            FileDownloaderBinder downloaderBinder = mFileActivity.getFileDownloaderBinder();
-            FileUploaderBinder uploaderBinder = mFileActivity.getFileUploaderBinder();
-            //if (downloaderBinder != null && file.isDownloading()) {
-            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);
-                }
+        if (file.isFolder()) {
+            OperationsService.OperationsServiceBinder opsBinder = mFileActivity.getOperationsServiceBinder();
+            if (opsBinder != null) {
+                opsBinder.cancel(account, file);
+            }
+        }
 
-                downloaderBinder.cancel(account, file);
+        // for both files and folders
+        FileDownloaderBinder downloaderBinder = mFileActivity.getFileDownloaderBinder();
+        FileUploaderBinder uploaderBinder = mFileActivity.getFileUploaderBinder();
+        if (downloaderBinder != null && downloaderBinder.isDownloading(account, file)) {
+            downloaderBinder.cancel(account, file);
 
-            } else if (uploaderBinder != null && uploaderBinder.isUploading(account, file)) {
-                uploaderBinder.cancel(account, file);
+            // TODO - review why is this here, and solve in a better way
+            // 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);
             }
-        } else {
-            Intent intent = new Intent(mFileActivity, OperationsService.class);
-            intent.setAction(OperationsService.ACTION_CANCEL_SYNC_FOLDER);
-            intent.putExtra(OperationsService.EXTRA_ACCOUNT, account);
-            intent.putExtra(OperationsService.EXTRA_FILE, file);
-            mFileActivity.startService(intent);
 
+        } else if (uploaderBinder != null && uploaderBinder.isUploading(account, file)) {
+            uploaderBinder.cancel(account, file);
         }
     }