*/
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);
}
}