From: David A. Velasco Date: Wed, 11 Dec 2013 17:48:56 +0000 (+0100) Subject: File with just one chunk use the old non-chunked interface, so that they work in... X-Git-Tag: oc-android-1.5.5~100^2~7 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/f33e416bf358f4cd03099e6c498cd05693d16588?ds=inline File with just one chunk use the old non-chunked interface, so that they work in all the servers under 6.0 --- diff --git a/src/com/owncloud/android/files/services/FileUploader.java b/src/com/owncloud/android/files/services/FileUploader.java index f0c66297..e84b2d09 100644 --- a/src/com/owncloud/android/files/services/FileUploader.java +++ b/src/com/owncloud/android/files/services/FileUploader.java @@ -48,6 +48,7 @@ import com.owncloud.android.oc_framework.operations.RemoteOperationResult.Result import com.owncloud.android.oc_framework.utils.OwnCloudVersion; import com.owncloud.android.oc_framework.network.webdav.OnDatatransferProgressListener; import com.owncloud.android.oc_framework.accounts.OwnCloudAccount; +import com.owncloud.android.oc_framework.network.webdav.ChunkFromFileChannelRequestEntity; import com.owncloud.android.oc_framework.network.webdav.OwnCloudClientFactory; import com.owncloud.android.oc_framework.network.webdav.WebdavClient; import com.owncloud.android.oc_framework.network.webdav.WebdavEntry; @@ -266,7 +267,9 @@ public class FileUploader extends Service implements OnDatatransferProgressListe try { for (int i = 0; i < files.length; i++) { uploadKey = buildRemoteName(account, files[i].getRemotePath()); - if (chunked) { + if (chunked + && (new File(files[i].getStoragePath())).length() > ChunkedUploadFileOperation.CHUNK_SIZE) // added to work around bug in servers 5.x + { newUpload = new ChunkedUploadFileOperation(account, files[i], isInstant, forceOverwrite, localAction); } else { diff --git a/src/com/owncloud/android/operations/ChunkedUploadFileOperation.java b/src/com/owncloud/android/operations/ChunkedUploadFileOperation.java index fd8a5a6d..9e4e1ade 100644 --- a/src/com/owncloud/android/operations/ChunkedUploadFileOperation.java +++ b/src/com/owncloud/android/operations/ChunkedUploadFileOperation.java @@ -40,7 +40,7 @@ import android.accounts.Account; public class ChunkedUploadFileOperation extends UploadFileOperation { - private static final long CHUNK_SIZE = 1024000; + public static final long CHUNK_SIZE = 1024000; private static final String OC_CHUNKED_HEADER = "OC-Chunked"; private static final String TAG = ChunkedUploadFileOperation.class.getSimpleName();