Prefix URIs for file API with file:/// and persistent storage should never point to SD card

This commit is contained in:
Fil Maj 2012-02-16 15:18:13 -08:00
parent fd69095d3d
commit 7ee135e516

View File

@ -782,14 +782,14 @@ public class FileUtils extends Plugin {
File fp; File fp;
fs.put("name", "temporary"); fs.put("name", "temporary");
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
fs.put("root", Environment.getExternalStorageDirectory().getAbsolutePath() + fs.put("root", "file://" + Environment.getExternalStorageDirectory().getAbsolutePath() +
"/Android/data/" + ctx.getPackageName() + "/cache/"); "/Android/data/" + ctx.getPackageName() + "/cache/");
// Create the cache dir if it doesn't exist. // Create the cache dir if it doesn't exist.
fp = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + fp = new File(Environment.getExternalStorageDirectory().getAbsolutePath() +
"/Android/data/" + ctx.getPackageName() + "/cache/"); "/Android/data/" + ctx.getPackageName() + "/cache/");
} else { } else {
fs.put("root", "/data/data/" + ctx.getPackageName() + "/cache/"); fs.put("root", "file:///data/data/" + ctx.getPackageName() + "/cache/");
// Create the cache dir if it doesn't exist. // Create the cache dir if it doesn't exist.
fp = new File("/data/data/" + ctx.getPackageName() + "/cache/"); fp = new File("/data/data/" + ctx.getPackageName() + "/cache/");
} }
@ -797,11 +797,7 @@ public class FileUtils extends Plugin {
} }
else if (type == PERSISTENT) { else if (type == PERSISTENT) {
fs.put("name", "persistent"); fs.put("name", "persistent");
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { fs.put("root", "file:///data/data/" + ctx.getPackageName());
fs.put("root", Environment.getExternalStorageDirectory());
} else {
fs.put("root", "/data/data/" + ctx.getPackageName());
}
} }
else { else {
throw new IOException("No filesystem of type requested"); throw new IOException("No filesystem of type requested");