diff options
author | Selim Gurun <sgurun@google.com> | 2012-06-13 14:51:23 -0700 |
---|---|---|
committer | Selim Gurun <sgurun@google.com> | 2012-06-13 15:04:41 -0700 |
commit | a770f8d4bd583e9a719af6ce314838db12003b33 (patch) | |
tree | 5771fd3ae79703562b631a2a83339c0fa81450e4 /src/com/android/browser/DownloadHandler.java | |
parent | eb2c7c2d3f4ddb0ebeab2a2d5537b208cf666db1 (diff) | |
download | packages_apps_Browser-a770f8d4bd583e9a719af6ce314838db12003b33.zip packages_apps_Browser-a770f8d4bd583e9a719af6ce314838db12003b33.tar.gz packages_apps_Browser-a770f8d4bd583e9a719af6ce314838db12003b33.tar.bz2 |
Encode characters that java.net.URI rejects
Bug: 5952386
Our java.net.URI implementation conforms to an old obsolete RFC and
it is very restrictive. Since in our download path, we use download
manager and so java.net.URI, this causes an odd bug (i.e. URIs that
are fetched fine by chromium http stack fails when download manager is
used). Also there is a second bug that when URI parsing fails and an
exception is thrown, we fail to catch it and crash. This CL fixes both.
Change-Id: I62ac289566efae97dd2161b8041b06a0a87211cb
Diffstat (limited to 'src/com/android/browser/DownloadHandler.java')
-rw-r--r-- | src/com/android/browser/DownloadHandler.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/com/android/browser/DownloadHandler.java b/src/com/android/browser/DownloadHandler.java index 6e2c786..219114e 100644 --- a/src/com/android/browser/DownloadHandler.java +++ b/src/com/android/browser/DownloadHandler.java @@ -107,7 +107,7 @@ public class DownloadHandler { boolean needed = false; for (char c : chars) { - if (c == '[' || c == ']') { + if (c == '[' || c == ']' || c == '|') { needed = true; break; } @@ -118,7 +118,7 @@ public class DownloadHandler { StringBuilder sb = new StringBuilder(""); for (char c : chars) { - if (c == '[' || c == ']') { + if (c == '[' || c == ']' || c == '|') { sb.append('%'); sb.append(Integer.toHexString(c)); } else { |