X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/e6be60679fd7bc781dbd7a2a2b82d58eb720b746..c0c52fa16a79f6be71ffbe7c7cb587af67335793:/src/com/owncloud/android/files/FileOperationsHelper.java?ds=sidebyside diff --git a/src/com/owncloud/android/files/FileOperationsHelper.java b/src/com/owncloud/android/files/FileOperationsHelper.java index 22370289..c0b00e55 100644 --- a/src/com/owncloud/android/files/FileOperationsHelper.java +++ b/src/com/owncloud/android/files/FileOperationsHelper.java @@ -205,9 +205,12 @@ public class FileOperationsHelper { } } - + /** + * Request the synchronization of a file or folder with the OC server, including its contents. + * + * @param file The file or folder to synchronize + */ public void syncFile(OCFile file) { - if (!file.isFolder()){ Intent intent = new Intent(mFileActivity, OperationsService.class); intent.setAction(OperationsService.ACTION_SYNC_FILE); @@ -223,6 +226,31 @@ public class FileOperationsHelper { intent.putExtra(OperationsService.EXTRA_ACCOUNT, mFileActivity.getAccount()); intent.putExtra(OperationsService.EXTRA_REMOTE_PATH, file.getRemotePath()); mFileActivity.startService(intent); + + } + } + + + /** + * Request the synchronization of a file or the DOWNLOAD OF A FOLDER, including its contents. + * + * For files, it's the same as syncFile(OCFile file); for folders, this method does not trigger uploads for + * file locally modified. + * + * Kept 'til synchronization of full folders is considered good enough. + * + * @param file The file or folder to synchronize + */ + public void downloadFile(OCFile file) { + if (!file.isFolder()){ + syncFile(file); + + } else { + Intent intent = new Intent(mFileActivity, OperationsService.class); + intent.setAction(OperationsService.ACTION_DOWNLOAD_FOLDER); + intent.putExtra(OperationsService.EXTRA_ACCOUNT, mFileActivity.getAccount()); + intent.putExtra(OperationsService.EXTRA_REMOTE_PATH, file.getRemotePath()); + mFileActivity.startService(intent); } } @@ -297,7 +325,6 @@ public class FileOperationsHelper { // for both files and folders FileDownloaderBinder downloaderBinder = mFileActivity.getFileDownloaderBinder(); - FileUploaderBinder uploaderBinder = mFileActivity.getFileUploaderBinder(); if (downloaderBinder != null && downloaderBinder.isDownloading(account, file)) { downloaderBinder.cancel(account, file); @@ -309,7 +336,9 @@ public class FileOperationsHelper { mFileActivity.getStorageManager().saveFile(parent); } - } else if (uploaderBinder != null && uploaderBinder.isUploading(account, file)) { + } + FileUploaderBinder uploaderBinder = mFileActivity.getFileUploaderBinder(); + if (uploaderBinder != null && uploaderBinder.isUploading(account, file)) { uploaderBinder.cancel(account, file); } }