aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJorge Ruesga <jorge@ruesga.com>2013-01-13 21:23:58 +0100
committerJorge Ruesga <jorge@ruesga.com>2013-01-13 21:23:58 +0100
commit57ab2195de9a3a4e84d2565cecf59080249782e4 (patch)
tree9f65f850d35d667a6553213185ffb27939439454
parent0eb0a64d07c5a7e5cea683a8b8ee9b522f11443b (diff)
downloadandroid_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.xml2
-rw-r--r--src/com/cyanogenmod/filemanager/activities/NavigationActivity.java19
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);
}