You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ia...@apache.org on 2013/06/03 22:20:50 UTC

android commit: [CB-3569] Allow FileTransfer.upload to reference android_assets

Updated Branches:
  refs/heads/master c509c8e7e -> c28a31337


[CB-3569] Allow FileTransfer.upload to reference android_assets


Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/c28a3133
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/c28a3133
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/c28a3133

Branch: refs/heads/master
Commit: c28a3133743567808d022b04ce028c30cca86b83
Parents: c509c8e
Author: Ian Clelland <ic...@chromium.org>
Authored: Mon Jun 3 15:03:47 2013 -0400
Committer: Ian Clelland <ic...@chromium.org>
Committed: Mon Jun 3 16:14:22 2013 -0400

----------------------------------------------------------------------
 framework/src/org/apache/cordova/FileHelper.java   |   16 ++++++++----
 framework/src/org/apache/cordova/FileTransfer.java |   19 +++++---------
 2 files changed, 18 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c28a3133/framework/src/org/apache/cordova/FileHelper.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/FileHelper.java b/framework/src/org/apache/cordova/FileHelper.java
index 8bc24aa..0d13c12 100644
--- a/framework/src/org/apache/cordova/FileHelper.java
+++ b/framework/src/org/apache/cordova/FileHelper.java
@@ -94,12 +94,18 @@ public class FileHelper {
         if (uriString.startsWith("content:")) {
             Uri uri = Uri.parse(uriString);
             return cordova.getActivity().getContentResolver().openInputStream(uri);
-        } else if (uriString.startsWith("file:///android_asset/")) {
-            Uri uri = Uri.parse(uriString);
-            String relativePath = uri.getPath().substring(15);
-            return cordova.getActivity().getAssets().open(relativePath);
         } else if (uriString.startsWith("file://")) {
-            return new FileInputStream(getRealPath(uriString, cordova));
+            int question = uriString.indexOf("?");
+            if (question > -1) {
+            	uriString = uriString.substring(0,question);
+            }
+            if (uriString.startsWith("file:///android_asset/")) {
+                Uri uri = Uri.parse(uriString);
+                String relativePath = uri.getPath().substring(15);
+                return cordova.getActivity().getAssets().open(relativePath);
+            } else {
+                return new FileInputStream(getRealPath(uriString, cordova));
+            }
         } else {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c28a3133/framework/src/org/apache/cordova/FileTransfer.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/FileTransfer.java b/framework/src/org/apache/cordova/FileTransfer.java
index 784c34c..1b45fef 100644
--- a/framework/src/org/apache/cordova/FileTransfer.java
+++ b/framework/src/org/apache/cordova/FileTransfer.java
@@ -855,20 +855,15 @@ public class FileTransfer extends CordovaPlugin {
      * @throws FileNotFoundException
      */
     private InputStream getPathFromUri(String path) throws FileNotFoundException {
-        if (path.startsWith("content:")) {
-            Uri uri = Uri.parse(path);
-            return cordova.getActivity().getContentResolver().openInputStream(uri);
-        }
-        else if (path.startsWith("file://")) {
-            int question = path.indexOf("?");
-            if (question == -1) {
-                return new FileInputStream(path.substring(7));
+        try {
+            InputStream stream = FileHelper.getInputStreamFromUriString(path, cordova);
+            if (stream == null) {
+                return new FileInputStream(path);
             } else {
-                return new FileInputStream(path.substring(7, question));
+                return stream;
             }
-        }
-        else {
-            return new FileInputStream(path);
+        } catch (IOException e) {
+        	throw new FileNotFoundException();
         }
     }