X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/b8b2f8c23859503ef922f87eda096fc7387b5375..449822818bf8c52aebcd4d784bf7818f56026b91:/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java diff --git a/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java b/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java index 17313e8b..7f92d5a8 100644 --- a/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java +++ b/src/eu/alefzero/owncloud/ui/activity/FileDisplayActivity.java @@ -185,41 +185,36 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements public boolean onOptionsItemSelected(MenuItem item) { boolean retval = true; switch (item.getItemId()) { - case R.id.settingsItem: { - Intent i = new Intent(this, Preferences.class); - startActivity(i); - break; - } - case R.id.createDirectoryItem: { - showDialog(DIALOG_CREATE_DIR); - break; - } - case R.id.startSync: { - Bundle bundle = new Bundle(); - bundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true); - ContentResolver.requestSync( - AccountUtils.getCurrentOwnCloudAccount(this), - "org.owncloud", bundle); - break; - } - case R.id.action_upload: { - Intent action = new Intent(Intent.ACTION_GET_CONTENT); - action = action.setType("*/*") - .addCategory(Intent.CATEGORY_OPENABLE); - startActivityForResult( - Intent.createChooser(action, "Upload file from..."), - ACTION_SELECT_FILE); - break; - } - - case android.R.id.home: { - Intent i = new Intent(this, AccountSelectActivity.class); - startActivity(i); - finish(); - break; - } - default: - retval = false; + case R.id.createDirectoryItem: { + showDialog(DIALOG_CREATE_DIR); + break; + } + case R.id.startSync: { + Bundle bundle = new Bundle(); + bundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true); + ContentResolver.requestSync( + AccountUtils.getCurrentOwnCloudAccount(this), + "org.owncloud", bundle); + break; + } + case R.id.action_upload: { + Intent action = new Intent(Intent.ACTION_GET_CONTENT); + action = action.setType("*/*") + .addCategory(Intent.CATEGORY_OPENABLE); + startActivityForResult( + Intent.createChooser(action, "Upload file from..."), + ACTION_SELECT_FILE); + break; + } + + case android.R.id.home: { + Intent i = new Intent(this, AccountSelectActivity.class); + startActivity(i); + finish(); + break; + } + default: + retval = false; } return retval; } @@ -250,14 +245,21 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements showDialog(DIALOG_SETUP_ACCOUNT); } mDirs = savedInstanceState.getStringArray(KEY_DIR); + mDirectories = new CustomArrayAdapter(this, R.layout.sherlock_spinner_dropdown_item); + mDirectories.add("/"); + if (mDirs != null) + for (String s : mDirs) + mDirectories.insert(s, 0); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); - mDirs = new String[mDirectories.getCount()-1]; - for (int j = mDirectories.getCount() - 2, i = 0; j >= 0; --j, ++i) { - mDirs[i] = mDirectories.getItem(j); + if(mDirectories != null){ + mDirs = new String[mDirectories.getCount()-1]; + for (int j = mDirectories.getCount() - 2, i = 0; j >= 0; --j, ++i) { + mDirs[i] = mDirectories.getItem(j); + } } } @@ -273,8 +275,7 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements syncBroadcastRevceiver = new SyncBroadcastReceiver(); registerReceiver(syncBroadcastRevceiver, f); - mDirectories = new CustomArrayAdapter(this, - R.layout.sherlock_spinner_dropdown_item); + mDirectories = new CustomArrayAdapter(this, R.layout.sherlock_spinner_dropdown_item); mDirectories.add("/"); if (mDirs != null) { for (String s : mDirs) @@ -295,7 +296,6 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements } public void onActivityResult(int requestCode, int resultCode, Intent data) { - Log.e("ASD", requestCode + " " + resultCode); if (resultCode == RESULT_OK) { if (requestCode == ACTION_SELECT_FILE) { Uri selectedImageUri = data.getData(); @@ -319,17 +319,16 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements AccountUtils.getCurrentOwnCloudAccount(this)); String remotepath = new String(); for (int j = mDirectories.getCount() - 2; j >= 0; --j) { - remotepath += "/" + URLDecoder.decode(mDirectories.getItem(j)); + remotepath += "/" + URLEncoder.encode(mDirectories.getItem(j)); } if (!remotepath.endsWith("/")) remotepath += "/"; - remotepath += new File(filepath).getName(); + remotepath += URLEncoder.encode(new File(filepath).getName()); Log.e("ASD", remotepath + ""); i.putExtra(FileUploader.KEY_LOCAL_FILE, filepath); i.putExtra(FileUploader.KEY_REMOTE_FILE, remotepath); - i.putExtra(FileUploader.KEY_UPLOAD_TYPE, - FileUploader.UPLOAD_SINGLE_FILE); + i.putExtra(FileUploader.KEY_UPLOAD_TYPE, FileUploader.UPLOAD_SINGLE_FILE); startService(i); } }