You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2013/06/11 02:15:34 UTC
[19/32] android commit: [CB-3569] Allow FileTransfer.upload to
reference android_assets
[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/3.0.0
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 +++++++++++-----
.../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();
}
}