From cd667d6af5f1382747440ba5312ad740925758ec Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Thu, 16 Feb 2012 17:46:16 -0800 Subject: [PATCH] remove file:// protocol from various fileutils methods --- .../src/org/apache/cordova/FileUtils.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/framework/src/org/apache/cordova/FileUtils.java b/framework/src/org/apache/cordova/FileUtils.java index 87be54f9..31a4f526 100755 --- a/framework/src/org/apache/cordova/FileUtils.java +++ b/framework/src/org/apache/cordova/FileUtils.java @@ -712,6 +712,10 @@ public class FileUtils extends Plugin { * @throws JSONException */ private JSONObject getParent(String filePath) throws JSONException { + if (filePath.startsWith("file://")) { + filePath = filePath.substring(7); + } + if (atRootDirectory(filePath)) { return getEntry(filePath); } @@ -726,8 +730,13 @@ public class FileUtils extends Plugin { * @return true if we are at the root, false otherwise. */ private boolean atRootDirectory(String filePath) { + if (filePath.startsWith("file://")) { + filePath = filePath.substring(7); + } + if (filePath.equals(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Android/data/" + ctx.getPackageName() + "/cache") || - filePath.equals(Environment.getExternalStorageDirectory().getAbsolutePath())) { + filePath.equals(Environment.getExternalStorageDirectory().getAbsolutePath()) || + filePath.equals("/data/data/" + ctx.getPackageName() + "/")) { return true; } return false; @@ -742,6 +751,10 @@ public class FileUtils extends Plugin { * @throws JSONException */ private JSONObject getMetadata(String filePath) throws FileNotFoundException, JSONException { + if (filePath.startsWith("file://")) { + filePath = filePath.substring(7); + } + File file = new File(filePath); if (!file.exists()) { @@ -766,6 +779,7 @@ public class FileUtils extends Plugin { if (filePath.startsWith("file://")) { filePath = filePath.substring(7); } + File file = new File(filePath); if (!file.exists()) { @@ -811,7 +825,7 @@ public class FileUtils extends Plugin { } else if (type == PERSISTENT) { fs.put("name", "persistent"); - fs.put("root", "file:///data/data/" + ctx.getPackageName()); + fs.put("root", "file:///data/data/" + ctx.getPackageName() + "/"); } else { throw new IOException("No filesystem of type requested");