X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/435b31ba4f3597cc7a43270cd4a54fb0180956c1..a032bdeebc51a6e81d1bd5c558944f96fc55eacb:/src/eu/alefzero/webdav/FileRequestEntity.java diff --git a/src/eu/alefzero/webdav/FileRequestEntity.java b/src/eu/alefzero/webdav/FileRequestEntity.java index 3fc0ab03..ca16e89e 100644 --- a/src/eu/alefzero/webdav/FileRequestEntity.java +++ b/src/eu/alefzero/webdav/FileRequestEntity.java @@ -8,6 +8,8 @@ import java.io.OutputStream; import org.apache.commons.httpclient.methods.RequestEntity; +import eu.alefzero.owncloud.files.interfaces.OnDatatransferProgressListener; + /** * A RequestEntity that represents a File. * @@ -16,6 +18,7 @@ public class FileRequestEntity implements RequestEntity { final File file; final String contentType; + OnDatatransferProgressListener listener; public FileRequestEntity(final File file, final String contentType) { super(); @@ -25,7 +28,7 @@ public class FileRequestEntity implements RequestEntity { this.file = file; this.contentType = contentType; } - + public long getContentLength() { return this.file.length(); } @@ -37,6 +40,10 @@ public class FileRequestEntity implements RequestEntity { public boolean isRepeatable() { return true; } + + public void setOnDatatransferProgressListener(OnDatatransferProgressListener listener) { + this.listener = listener; + } public void writeRequest(final OutputStream out) throws IOException { byte[] tmp = new byte[4096]; @@ -45,6 +52,8 @@ public class FileRequestEntity implements RequestEntity { try { while ((i = instream.read(tmp)) >= 0) { out.write(tmp, 0, i); + if (listener != null) + listener.transferProgress(i); } } finally { instream.close();