- public void uploadFiles() {\r
- OwnCloudVersion ocv = new OwnCloudVersion(mAccountManager\r
- .getUserData(mAccount, AccountAuthenticator.KEY_OC_VERSION));\r
- String base_url = mAccountManager.getUserData(mAccount, AccountAuthenticator.KEY_OC_BASE_URL);\r
- String webdav_path = AccountUtils.getWebdavPath(ocv);\r
- Uri oc_uri = Uri.parse(base_url+webdav_path);\r
- \r
- WebdavClient wdc = new WebdavClient(oc_uri);\r
- wdc.setCredentials(mUsername, mPassword);\r
- wdc.allowUnsignedCertificates();\r
-\r
- // create last directory in path if nessesary\r
- if (mCreateDir) {\r
- wdc.createDirectory(mUploadPath);\r
- }\r
- \r
- String[] local = new String[mStreamsToUpload.size()],\r
- remote = new String[mStreamsToUpload.size()];\r
-\r
- for (int i = 0; i < mStreamsToUpload.size(); ++i) {\r
- Uri uri = (Uri) mStreamsToUpload.get(i);\r
- if (uri.getScheme().equals("content")) {\r
- Cursor c = getContentResolver().query((Uri) mStreamsToUpload.get(i),\r
- CONTENT_PROJECTION,\r
- null,\r
- null,\r
- null);\r
-\r
- if (!c.moveToFirst()) continue;\r
- \r
- final String display_name = c.getString(c.getColumnIndex(Media.DISPLAY_NAME)),\r
- data = c.getString(c.getColumnIndex(Media.DATA));\r
- local[i] = data;\r
- remote[i] = mUploadPath + "/" + display_name;\r
-\r
- } else if (uri.getScheme().equals("file")) {\r
- final File file = new File(Uri.decode(uri.toString())\r
- .replace(uri.getScheme() + "://", ""));\r
- FileNameMap fileNameMap = URLConnection.getFileNameMap();\r
- String contentType = fileNameMap.getContentTypeFor(uri\r
- .toString());\r
- if (contentType == null) {\r
- contentType = "text/plain";\r
- }\r
- if (!wdc.putFile(file.getAbsolutePath(), mUploadPath + "/"\r
- + file.getName(), contentType)) {\r
- mHandler.post(new Runnable() {\r
- public void run() {\r
- Uploader.this.onUploadComplete(\r
- false,\r
- "Error while uploading file: "\r
- + file.getName());\r
- }\r
- });\r
- }\r
- }\r