X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/ad291624a3f8d44472dcb56dbd5bd87d078d8711..dedd5bb36ba203a051484b3004ddd78c67534ef8:/src/com/owncloud/android/ui/activity/Preferences.java diff --git a/src/com/owncloud/android/ui/activity/Preferences.java b/src/com/owncloud/android/ui/activity/Preferences.java index e0889b06..8840eee9 100644 --- a/src/com/owncloud/android/ui/activity/Preferences.java +++ b/src/com/owncloud/android/ui/activity/Preferences.java @@ -51,6 +51,7 @@ import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; import com.owncloud.android.authentication.AuthenticatorActivity; import com.owncloud.android.db.DbHandler; +import com.owncloud.android.ui.CheckBoxPreferenceWithLongTitle; import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.ui.LongClickableCheckBoxPreference; import com.owncloud.android.utils.DisplayUtils; @@ -68,6 +69,7 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa private DbHandler mDbHandler; private CheckBoxPreference pCode; + private CheckBoxPreference pSaveLocation; private Preference pAboutApp; private PreferenceCategory mAccountsPrefCategory = null; @@ -134,6 +136,24 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa } + pSaveLocation = (CheckBoxPreferenceWithLongTitle) findPreference("save_last_upload_location"); + if(pSaveLocation != null){ + pSaveLocation.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + //The saved path is removed when the preference is turned off + if( newValue instanceof Boolean && !(Boolean) newValue) { + SharedPreferences.Editor appPrefs = PreferenceManager + .getDefaultSharedPreferences(getApplicationContext()).edit(); + appPrefs.remove("last_upload_path"); + appPrefs.commit(); + } + return true; + } + }); + } + + PreferenceCategory preferenceCategory = (PreferenceCategory) findPreference("more"); boolean helpEnabled = getResources().getBoolean(R.bool.help_enabled); @@ -487,11 +507,22 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa * @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; }