X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/f533fa8205d4f1c25e40b5862822a172226ed84c..3d3046dc264792475c72987afc25beae23da4dc6:/src/com/owncloud/android/files/FileOperationsHelper.java?ds=inline diff --git a/src/com/owncloud/android/files/FileOperationsHelper.java b/src/com/owncloud/android/files/FileOperationsHelper.java index dc8d6b7b..5ed2bb14 100644 --- a/src/com/owncloud/android/files/FileOperationsHelper.java +++ b/src/com/owncloud/android/files/FileOperationsHelper.java @@ -1,5 +1,8 @@ /* ownCloud Android client application - * Copyright (C) 2012-2014 ownCloud Inc. + * + * @author masensio + * @author David A. Velasco + * 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, @@ -41,9 +44,7 @@ import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.ui.dialog.ShareLinkToDialog; /** - * - * @author masensio - * @author David A. Velasco + * */ public class FileOperationsHelper { @@ -208,36 +209,11 @@ public class FileOperationsHelper { mFileActivity.showLoadingDialog(); } else { - /* - // Add files recursivly - FileDataStorageManager storageManager = mFileActivity.getStorageManager(); - filesList.addAll(storageManager.getFolderContent(file)); - boolean newfiles; - do { - Vector tmpFolders = new Vector(); - 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()); - intent.putExtra(OperationsService.EXTRA_SYNC_FILE_CONTENTS, true); - mFileActivity.startService(intent); // reevaluating: with or without Binder? - //mFileActivity.getOperationsServiceBinder().queueNewOperation(intent); + mFileActivity.startService(intent); } } @@ -279,21 +255,33 @@ public class FileOperationsHelper { mFileActivity.showLoadingDialog(); } - + /** + * Cancel the transference in downloads (files/folders) and file uploads + * @param file OCFile + */ public void cancelTransference(OCFile file) { Account account = mFileActivity.getAccount(); + if (file.isFolder()) { + OperationsService.OperationsServiceBinder opsBinder = mFileActivity.getOperationsServiceBinder(); + if (opsBinder != null) { + opsBinder.cancel(account, file); + } + } + + // for both files and folders FileDownloaderBinder downloaderBinder = mFileActivity.getFileDownloaderBinder(); - FileUploaderBinder uploaderBinder = mFileActivity.getFileUploaderBinder(); + FileUploaderBinder uploaderBinder = mFileActivity.getFileUploaderBinder(); if (downloaderBinder != null && downloaderBinder.isDownloading(account, file)) { + downloaderBinder.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); + 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); }