making file download using progressbar view
[pub/Android/ownCloud.git] / src / eu / alefzero / webdav / WebdavClient.java
index f7cc060..c4e0a9b 100644 (file)
@@ -38,6 +38,7 @@ import org.apache.http.HttpStatus;
 import org.apache.jackrabbit.webdav.client.methods.MkColMethod;\r
 \r
 import eu.alefzero.owncloud.authenticator.EasySSLSocketFactory;\r
+import eu.alefzero.owncloud.files.interfaces.OnDatatransferProgressListener;\r
 \r
 import android.net.Uri;\r
 import android.util.Log;\r
@@ -48,6 +49,7 @@ public class WebdavClient extends HttpClient {
     final private static String TAG = "WebdavClient";\r
     private static final String USER_AGENT = "Android-ownCloud";\r
     private OnUploadProgressListener mUploadProgressListener;\r
+    private OnDatatransferProgressListener mDataTransferListener;\r
 \r
     public WebdavClient(Uri uri) {\r
         mUri = uri;\r
@@ -66,7 +68,7 @@ public class WebdavClient extends HttpClient {
         return mCredentials;\r
     }\r
 \r
-    public void allowUnsignedCertificates() {\r
+    public void allowSelfsignedCertificates() {\r
         // https\r
         Protocol.registerProtocol("https", new Protocol("https",\r
                 new EasySSLSocketFactory(), 443));\r
@@ -99,10 +101,13 @@ public class WebdavClient extends HttpClient {
                     get.getResponseBodyAsStream());\r
             FileOutputStream fos = new FileOutputStream(targetPath);\r
 \r
-            byte[] bytes = new byte[512];\r
+            byte[] bytes = new byte[4096];\r
             int readResult;\r
-            while ((readResult = bis.read(bytes)) != -1)\r
+            while ((readResult = bis.read(bytes)) != -1) {\r
+                if (mDataTransferListener != null)\r
+                    mDataTransferListener.transferProgress(readResult);\r
                 fos.write(bytes, 0, readResult);\r
+            }\r
 \r
         } catch (IOException e) {\r
             e.printStackTrace();\r
@@ -115,6 +120,10 @@ public class WebdavClient extends HttpClient {
         mUploadProgressListener = listener;\r
     }\r
     \r
+    public void setDataTransferProgressListener(OnDatatransferProgressListener listener) {\r
+        mDataTransferListener = listener;\r
+    }\r
+    \r
     public boolean putFile(String localFile, String remoteTarget,\r
             String contentType) {\r
         boolean result = true;\r