diff options
author | Jorge Ruesga <jorge@ruesga.com> | 2013-01-13 21:23:58 +0100 |
---|---|---|
committer | Jorge Ruesga <jorge@ruesga.com> | 2013-01-13 21:23:58 +0100 |
commit | 57ab2195de9a3a4e84d2565cecf59080249782e4 (patch) | |
tree | 9f65f850d35d667a6553213185ffb27939439454 | |
parent | 0eb0a64d07c5a7e5cea683a8b8ee9b522f11443b (diff) | |
download | android_packages_apps_CMFileManager-57ab2195de9a3a4e84d2565cecf59080249782e4.tar.gz android_packages_apps_CMFileManager-57ab2195de9a3a4e84d2565cecf59080249782e4.tar.bz2 android_packages_apps_CMFileManager-57ab2195de9a3a4e84d2565cecf59080249782e4.zip |
CMFM: Fix change to root when initial directory not exists
Fix also R.string.msgs_settings_invalid_initial_directory string for default string.xml file
Change-Id: I35ddf7f1ca2b250638ea96bfee894de9f07ed5b9
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
-rw-r--r-- | res/values/strings.xml | 2 | ||||
-rw-r--r-- | src/com/cyanogenmod/filemanager/activities/NavigationActivity.java | 19 |
2 files changed, 17 insertions, 4 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 033e763a..eecc7c50 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -88,7 +88,7 @@ <string name="msgs_settings_save_failure">The setting could not be applied or stored.</string> <!-- The initial directory has an invalid or inaccessible reference --> <string name="msgs_settings_invalid_initial_directory">The initial folder - "<xliff:g id="initial_dir">%1$s</xliff:g>" is invalid. Changing to root folder.</string> + \"<xliff:g id="initial_dir">%1$s</xliff:g>\" is invalid. Changing to root folder.</string> <!-- Success --> <string name="msgs_success">The operation was completed successfully.</string> diff --git a/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java b/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java index 26aaebde..1766d432 100644 --- a/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java +++ b/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java @@ -620,6 +620,8 @@ public class NavigationActivity extends Activity StorageHelper.getStorageVolumes(NavigationActivity.this); if (volumes != null && volumes.length > 0) { initialDir = volumes[0].getPath(); + //Ensure that initial directory is an absolute directory + initialDir = FileHelper.getAbsPath(initialDir); } else { // Show exception and exit DialogHelper.showToast( @@ -628,11 +630,22 @@ public class NavigationActivity extends Activity exit(); return; } + } else { + //Ensure that initial directory is an absolute directory + initialDir = FileHelper.getAbsPath(initialDir); + File f = new File(initialDir); + if (!f.exists()) { + // Change to root directory + DialogHelper.showToast( + NavigationActivity.this, + getString( + R.string.msgs_settings_invalid_initial_directory, + initialDir), + Toast.LENGTH_SHORT); + initialDir = FileHelper.ROOT_DIRECTORY; + } } - //Ensure that initial directory is an absolute directory - initialDir = FileHelper.getAbsPath(initialDir); - // Change the current directory to the preference initial directory navigationView.changeCurrentDir(initialDir); } |