Merge pull request #740 from owncloud/revert-669-master
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / activity / Preferences.java
index e0889b0..2033093 100644 (file)
@@ -104,7 +104,7 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
 
                 if (obj != null && obj instanceof LongClickableCheckBoxPreference) {
                     mShowContextMenu = true;
 
                 if (obj != null && obj instanceof LongClickableCheckBoxPreference) {
                     mShowContextMenu = true;
-                    mAccountName = obj.toString();
+                    mAccountName = ((LongClickableCheckBoxPreference) obj).getKey();
 
                     Preferences.this.openContextMenu(listView);
 
 
                     Preferences.this.openContextMenu(listView);
 
@@ -406,7 +406,8 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
             for (Account a : accounts) {
                 LongClickableCheckBoxPreference accountPreference = new LongClickableCheckBoxPreference(this);
                 accountPreference.setKey(a.name);
             for (Account a : accounts) {
                 LongClickableCheckBoxPreference accountPreference = new LongClickableCheckBoxPreference(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
                 mAccountsPrefCategory.addPreference(accountPreference);
 
                 // Check the current account that is being used
@@ -487,11 +488,22 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa
      * @return String: uploadPath
      */
     private String updateInstantUploadPath(String uploadPath) {
      * @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);
             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;
     }
         }
         return uploadPath;
     }