From: jabarros Date: Tue, 14 Oct 2014 13:04:00 +0000 (+0200) Subject: Fixed. App crash when setting a path without slash X-Git-Tag: oc-android-1.7.0_signed~141^2~4 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/d5625e6cccd85dfb0f9e66a2da8f844341c96e2b?ds=inline;hp=-c Fixed. App crash when setting a path without slash --- d5625e6cccd85dfb0f9e66a2da8f844341c96e2b diff --git a/src/com/owncloud/android/ui/activity/Preferences.java b/src/com/owncloud/android/ui/activity/Preferences.java index 9ac6e27b..ec17f031 100644 --- a/src/com/owncloud/android/ui/activity/Preferences.java +++ b/src/com/owncloud/android/ui/activity/Preferences.java @@ -74,6 +74,7 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa private final Handler mHandler = new Handler(); private String mAccountName; private boolean mShowContextMenu = false; + private String mUploadPath; @SuppressWarnings("deprecation") @@ -87,7 +88,9 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa actionBar.setIcon(DisplayUtils.getSeasonalIconId()); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setTitle(R.string.actionbar_settings); - + + loadUploadPath(); + // Load the accounts category for adding the list of accounts mAccountsPrefCategory = (PreferenceCategory) findPreference("accounts_category"); @@ -239,6 +242,16 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa preferenceCategory.removePreference(pImprint); } } + + Preference pInstantUploadPathApp = (Preference) findPreference("instant_upload_path"); + + pInstantUploadPathApp.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + mUploadPath = updateUploadPath(newValue.toString()); + return true; + } + }); /* About App */ pAboutApp = (Preference) findPreference("about_app"); @@ -357,6 +370,12 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa @Override protected void onDestroy() { mDbHandler.close(); + + SharedPreferences appPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); + SharedPreferences.Editor editor = appPrefs.edit(); + editor.putString("instant_upload_path", mUploadPath); + editor.commit(); + super.onDestroy(); } @@ -462,4 +481,26 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa } + /** + * Update the upload path checking that it is a correct path + * @param uploadPath: path write by user + * @return String: uploadPath + */ + private String updateUploadPath(String uploadPath) { + String uploadPathInitialSlash = "/"; + if (uploadPath.isEmpty()) { + uploadPath = getString(R.string.instant_upload_path); + } else if (!uploadPath.startsWith(uploadPathInitialSlash)) { + uploadPath = uploadPathInitialSlash.concat(uploadPath); + } + return uploadPath; + } + + /** + * Load upload path set on preferences + */ + private void loadUploadPath() { + SharedPreferences appPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); + mUploadPath = appPrefs.getString("instant_upload_path", getString(R.string.instant_upload_path)); + } }