X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/b22ad95e2fe78bc03a43c83dfef6232a187d8fdd..d29a3658c9b22cd60f0900aabd987fdb0d48ed5b:/src/eu/alefzero/owncloud/Uploader.java diff --git a/src/eu/alefzero/owncloud/Uploader.java b/src/eu/alefzero/owncloud/Uploader.java index 757f8030..523db940 100644 --- a/src/eu/alefzero/owncloud/Uploader.java +++ b/src/eu/alefzero/owncloud/Uploader.java @@ -28,15 +28,15 @@ import java.util.Vector; import android.accounts.Account; import android.accounts.AccountManager; import android.app.AlertDialog; +import android.app.AlertDialog.Builder; import android.app.Dialog; import android.app.ListActivity; import android.app.ProgressDialog; -import android.app.AlertDialog.Builder; import android.content.Context; import android.content.DialogInterface; -import android.content.Intent; import android.content.DialogInterface.OnCancelListener; import android.content.DialogInterface.OnClickListener; +import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; @@ -46,21 +46,15 @@ import android.util.Log; import android.view.View; import android.view.Window; import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.EditText; -import android.widget.ListView; import android.widget.SimpleAdapter; -import android.widget.SimpleCursorAdapter; -import android.widget.AdapterView.OnItemClickListener; -import android.widget.Toast; import eu.alefzero.owncloud.authenticator.AccountAuthenticator; import eu.alefzero.owncloud.datamodel.DataStorageManager; import eu.alefzero.owncloud.datamodel.FileDataStorageManager; import eu.alefzero.owncloud.datamodel.OCFile; -import eu.alefzero.owncloud.db.ProviderMeta; -import eu.alefzero.owncloud.db.ProviderMeta.ProviderTableMeta; import eu.alefzero.owncloud.files.services.FileUploader; -import eu.alefzero.owncloud.utils.OwnCloudVersion; import eu.alefzero.webdav.WebdavClient; /** @@ -74,7 +68,6 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro private Account mAccount; private AccountManager mAccountManager; - private String mUsername, mPassword; private Stack mParents; private ArrayList mStreamsToUpload; private boolean mCreateDir; @@ -173,7 +166,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro null, null, null); mCursor.moveToFirst(); pathToUpload = mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_PATH)) - + mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_NAME)).replace(" ", "%20"); + + mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_NAME)).replace(" ", "%20"); // TODO don't make this ; use WebdavUtils.encode in the right moment } a a = new a(pathToUpload, dirName); builder.setPositiveButton(R.string.common_ok, a); @@ -258,10 +251,9 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro // click on button switch (v.getId()) { case R.id.uploader_choose_folder: - mUploadPath = "/"; + mUploadPath = ""; // first element in mParents is root dir, represented by ""; init mUploadPath with "/" results in a "//" prefix for (String p : mParents) - mUploadPath += p + "/"; - mUploadPath = Uri.encode(mUploadPath, "/"); + mUploadPath += p + OCFile.PATH_SEPARATOR; Log.d(TAG, "Uploading file to dir " + mUploadPath); uploadFiles(); @@ -298,8 +290,6 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro } private void populateDirectoryList() { - mUsername = mAccount.name.substring(0, mAccount.name.indexOf('@')); - mPassword = mAccountManager.getPassword(mAccount); setContentView(R.layout.uploader_layout); String full_path = ""; @@ -378,14 +368,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro } public void uploadFiles() { - OwnCloudVersion ocv = new OwnCloudVersion(mAccountManager.getUserData(mAccount, - AccountAuthenticator.KEY_OC_VERSION)); - String base_url = mAccountManager.getUserData(mAccount, AccountAuthenticator.KEY_OC_BASE_URL); - String webdav_path = AccountUtils.getWebdavPath(ocv); - Uri oc_uri = Uri.parse(base_url + webdav_path); - - WebdavClient wdc = new WebdavClient(oc_uri); - wdc.setCredentials(mUsername, mPassword); + WebdavClient wdc = new WebdavClient(mAccount, getApplicationContext()); wdc.allowSelfsignedCertificates(); // create last directory in path if nessesary @@ -410,11 +393,11 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro final String display_name = c.getString(c.getColumnIndex(Media.DISPLAY_NAME)), data = c.getString(c.getColumnIndex(Media.DATA)); local[i] = data; - remote[i] = mUploadPath + Uri.encode(display_name); + remote[i] = mUploadPath + display_name; } else if (uri.getScheme().equals("file")) { final File file = new File(Uri.decode(uri.toString()).replace(uri.getScheme() + "://", "")); local[i] = file.getAbsolutePath(); - remote[i] = mUploadPath + Uri.encode(file.getName()); + remote[i] = mUploadPath + file.getName(); } }