X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/390949b8323633b26d56b3a837e83941cbc24b4b..5f61cb15552eb2fda01716078a9191b88cebf764:/src/eu/alefzero/webdav/FileRequestEntity.java diff --git a/src/eu/alefzero/webdav/FileRequestEntity.java b/src/eu/alefzero/webdav/FileRequestEntity.java index 70154ec0..e466aa15 100644 --- a/src/eu/alefzero/webdav/FileRequestEntity.java +++ b/src/eu/alefzero/webdav/FileRequestEntity.java @@ -10,44 +10,52 @@ import org.apache.commons.httpclient.methods.RequestEntity; /** * A RequestEntity that represents a File. - * + * */ public class FileRequestEntity implements RequestEntity { - final File file; - final String contentType; + final File file; + final String contentType; + OnUploadProgressListener listener; + + public FileRequestEntity(final File file, final String contentType) { + super(); + if (file == null) { + throw new IllegalArgumentException("File may not be null"); + } + this.file = file; + this.contentType = contentType; + } + + public long getContentLength() { + return this.file.length(); + } + + public String getContentType() { + return this.contentType; + } - public FileRequestEntity(final File file, final String contentType) { - super(); - if (file == null) { - throw new IllegalArgumentException("File may not be null"); + public boolean isRepeatable() { + return true; + } + + public void setOnUploadProgressListener(OnUploadProgressListener listener) { + this.listener = listener; } - this.file = file; - this.contentType = contentType; - } - public long getContentLength() { - return this.file.length(); - } - - public String getContentType() { - return this.contentType; - } - - public boolean isRepeatable() { - return true; - } - - public void writeRequest(final OutputStream out) throws IOException { - byte[] tmp = new byte[4096]; - int i = 0; - InputStream instream = new FileInputStream(this.file); - try { - while ((i = instream.read(tmp)) >= 0) { - out.write(tmp, 0, i); - } - } finally { - instream.close(); + + public void writeRequest(final OutputStream out) throws IOException { + byte[] tmp = new byte[4096]; + int i = 0; + InputStream instream = new FileInputStream(this.file); + try { + while ((i = instream.read(tmp)) >= 0) { + out.write(tmp, 0, i); + if (listener != null) + listener.OnUploadProgress(i); + } + } finally { + instream.close(); + } } - } } \ No newline at end of file