import com.owncloud.android.authentication.AuthenticatorActivity;
import com.owncloud.android.db.DbHandler;
import com.owncloud.android.lib.common.utils.Log_OC;
-import com.owncloud.android.ui.LongClickableCheckBoxPreference;
+import com.owncloud.android.ui.RadioButtonPreference;
import com.owncloud.android.utils.DisplayUtils;
ListAdapter listAdapter = listView.getAdapter();
Object obj = listAdapter.getItem(position);
- if (obj != null && obj instanceof LongClickableCheckBoxPreference) {
+ if (obj != null && obj instanceof RadioButtonPreference) {
mShowContextMenu = true;
- mAccountName = obj.toString();
+ mAccountName = ((RadioButtonPreference) obj).getKey();
Preferences.this.openContextMenu(listView);
else {
for (Account a : accounts) {
- LongClickableCheckBoxPreference accountPreference = new LongClickableCheckBoxPreference(this);
+ RadioButtonPreference accountPreference = new RadioButtonPreference(this);
accountPreference.setKey(a.name);
- accountPreference.setTitle(a.name);
+ // Handle internationalized domain names
+ accountPreference.setTitle(DisplayUtils.convertIdn(a.name, false));
mAccountsPrefCategory.addPreference(accountPreference);
// Check the current account that is being used
AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE);
Account accounts[] = am.getAccountsByType(MainApp.getAccountType());
for (Account a : accounts) {
- CheckBoxPreference p = (CheckBoxPreference) findPreference(a.name);
+ RadioButtonPreference p = (RadioButtonPreference) findPreference(a.name);
if (key.equals(a.name)) {
boolean accountChanged = !p.isChecked();
p.setChecked(true);
* @return String: uploadPath
*/
private String updateInstantUploadPath(String uploadPath) {
- String uploadPathInitialSlash = "/";
- if (uploadPath.isEmpty()) {
+ String slashString = "/";
+
+ // If slashes are duplicated, replace them for only one slash
+ uploadPath = uploadPath.replaceAll("/+", slashString);
+
+ // Remove last slash from path
+ if (uploadPath.length() > 0 && uploadPath.charAt(uploadPath.length()-1) == slashString.charAt(0)) {
+ uploadPath = uploadPath.substring(0, uploadPath.length()-1);
+ }
+
+ if (uploadPath.isEmpty()) { // Set default instant upload path
uploadPath = getString(R.string.instant_upload_path);
- } else if (!uploadPath.startsWith(uploadPathInitialSlash)) {
- uploadPath = uploadPathInitialSlash.concat(uploadPath);
+ }else {
+ if (!uploadPath.startsWith(slashString)) { // Add initial slash on path if necessary
+ uploadPath = slashString.concat(uploadPath);
+ }
}
return uploadPath;
}