import android.accounts.Account;\r
import android.accounts.AccountManager;\r
import android.app.AlertDialog;\r
+import android.app.AlertDialog.Builder;\r
import android.app.Dialog;\r
import android.app.ListActivity;\r
import android.app.ProgressDialog;\r
-import android.app.AlertDialog.Builder;\r
import android.content.Context;\r
import android.content.DialogInterface;\r
-import android.content.Intent;\r
import android.content.DialogInterface.OnCancelListener;\r
import android.content.DialogInterface.OnClickListener;\r
+import android.content.Intent;\r
import android.database.Cursor;\r
import android.net.Uri;\r
import android.os.Bundle;\r
import android.view.View;\r
import android.view.Window;\r
import android.widget.AdapterView;\r
+import android.widget.AdapterView.OnItemClickListener;\r
import android.widget.Button;\r
import android.widget.EditText;\r
-import android.widget.ListView;\r
import android.widget.SimpleAdapter;\r
-import android.widget.SimpleCursorAdapter;\r
-import android.widget.AdapterView.OnItemClickListener;\r
-import android.widget.Toast;\r
import eu.alefzero.owncloud.authenticator.AccountAuthenticator;\r
import eu.alefzero.owncloud.datamodel.DataStorageManager;\r
import eu.alefzero.owncloud.datamodel.FileDataStorageManager;\r
import eu.alefzero.owncloud.datamodel.OCFile;\r
-import eu.alefzero.owncloud.db.ProviderMeta;\r
-import eu.alefzero.owncloud.db.ProviderMeta.ProviderTableMeta;\r
import eu.alefzero.owncloud.files.services.FileUploader;\r
-import eu.alefzero.owncloud.utils.OwnCloudVersion;\r
import eu.alefzero.webdav.WebdavClient;\r
\r
/**\r
\r
private Account mAccount;\r
private AccountManager mAccountManager;\r
- private String mUsername, mPassword;\r
private Stack<String> mParents;\r
private ArrayList<Parcelable> mStreamsToUpload;\r
private boolean mCreateDir;\r
null, null, null);\r
mCursor.moveToFirst();\r
pathToUpload = mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_PATH))\r
- + mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_NAME)).replace(" ", "%20");\r
+ + mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_NAME)).replace(" ", "%20"); // TODO don't make this ; use WebdavUtils.encode in the right moment\r
}\r
a a = new a(pathToUpload, dirName);\r
builder.setPositiveButton(R.string.common_ok, a);\r
// click on button\r
switch (v.getId()) {\r
case R.id.uploader_choose_folder:\r
- mUploadPath = "/";\r
+ mUploadPath = ""; // first element in mParents is root dir, represented by ""; init mUploadPath with "/" results in a "//" prefix\r
for (String p : mParents)\r
- mUploadPath += p + "/";\r
- mUploadPath = Uri.encode(mUploadPath, "/");\r
+ mUploadPath += p + OCFile.PATH_SEPARATOR;\r
Log.d(TAG, "Uploading file to dir " + mUploadPath);\r
\r
uploadFiles();\r
}\r
\r
private void populateDirectoryList() {\r
- mUsername = mAccount.name.substring(0, mAccount.name.indexOf('@'));\r
- mPassword = mAccountManager.getPassword(mAccount);\r
setContentView(R.layout.uploader_layout);\r
\r
String full_path = "";\r
}\r
\r
public void uploadFiles() {\r
- OwnCloudVersion ocv = new OwnCloudVersion(mAccountManager.getUserData(mAccount,\r
- 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
+ WebdavClient wdc = new WebdavClient(mAccount, getApplicationContext());\r
wdc.allowSelfsignedCertificates();\r
\r
// create last directory in path if nessesary\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 + Uri.encode(display_name);\r
+ remote[i] = mUploadPath + display_name;\r
} else if (uri.getScheme().equals("file")) {\r
final File file = new File(Uri.decode(uri.toString()).replace(uri.getScheme() + "://", ""));\r
local[i] = file.getAbsolutePath();\r
- remote[i] = mUploadPath + Uri.encode(file.getName());\r
+ remote[i] = mUploadPath + file.getName();\r
}\r
\r
}\r