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

[6/6] android commit: Fix URL encoded URLs

Fix URL encoded URLs


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

Branch: refs/heads/dataresource
Commit: aefb12951b3be269ea59e750621f1868de06073e
Parents: 570173d
Author: Braden Shepherdson <br...@gmail.com>
Authored: Fri Jun 14 14:51:38 2013 -0400
Committer: Braden Shepherdson <br...@gmail.com>
Committed: Fri Jun 14 14:52:10 2013 -0400

----------------------------------------------------------------------
 framework/src/org/apache/cordova/FileHelper.java | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/aefb1295/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 0d13c12..b64a5fa 100644
--- a/framework/src/org/apache/cordova/FileHelper.java
+++ b/framework/src/org/apache/cordova/FileHelper.java
@@ -18,6 +18,10 @@
  */
 package org.apache.cordova;
 
+import java.io.UnsupportedEncodingException;
+
+import java.net.URLDecoder;
+
 import android.database.Cursor;
 import android.net.Uri;
 import android.webkit.MimeTypeMap;
@@ -59,6 +63,19 @@ public class FileHelper {
             }
         } else if (uriString.startsWith("file://")) {
             realPath = uriString.substring(7);
+
+            int question = realPath.indexOf("?");
+            if (question > -1) {
+            	realPath = realPath.substring(0, question);
+            }
+
+            // Remove any URL encoding, for things like %20.
+            try {
+                realPath = URLDecoder.decode(realPath, "UTF-8");
+            } catch (UnsupportedEncodingException uee) {
+            }
+
+
             if (realPath.startsWith("/android_asset/")) {
                 LOG.e(LOG_TAG, "Cannot get real path for URI string %s because it is a file:///android_asset/ URI.", uriString);
                 realPath = null;