Merge branch 'master' into release-1.7.0
[pub/Android/ownCloud.git] / src / com / owncloud / android / files / FileOperationsHelper.java
index fe8d6c5..cf9f474 100644 (file)
@@ -1,5 +1,5 @@
 /* ownCloud Android client application
- *   Copyright (C) 2012-2014 ownCloud Inc.
+ *   Copyright (C) 2012-2015 ownCloud Inc.
  *
  *   This program is free software: you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License version 2,
@@ -29,7 +29,6 @@ import android.widget.Toast;
 
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.OCFile;
-import com.owncloud.android.files.services.FileDownloader;
 import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;
 import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
 
@@ -209,35 +208,11 @@ public class FileOperationsHelper {
             mFileActivity.showLoadingDialog();
             
         } else {
-            /*
-            // Add files recursivly
-            FileDataStorageManager storageManager = mFileActivity.getStorageManager();
-            filesList.addAll(storageManager.getFolderContent(file));
-            boolean newfiles;
-            do {
-                Vector<OCFile> tmpFolders = new Vector<OCFile>();
-                for (OCFile tmpfile : filesList) {
-                    if (tmpfile.isFolder()) {
-                        tmpFolders.add(tmpfile);
-                    }
-                }
-                if (tmpFolders.isEmpty()){
-                    newfiles = false;
-                }else {
-                    for(OCFile tmpFolder : tmpFolders){
-                        filesList.remove(tmpFolder);
-                        filesList.addAll(storageManager.getFolderContent(tmpFolder));
-                    }
-                    newfiles = true;
-                }
-            } while(newfiles);
-            */
             Intent intent = new Intent(mFileActivity, OperationsService.class);
             intent.setAction(OperationsService.ACTION_SYNC_FOLDER);
             intent.putExtra(OperationsService.EXTRA_ACCOUNT, mFileActivity.getAccount());
             intent.putExtra(OperationsService.EXTRA_REMOTE_PATH, file.getRemotePath());
-            mFileActivity.startService(intent);   // reevaluating: with or without Binder?
-            //mFileActivity.getOperationsServiceBinder().queueNewOperation(intent);
+            mFileActivity.startService(intent);
         }
     }
     
@@ -285,29 +260,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 && 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);
         }
     }