diff options
author | Selim Gurun <sgurun@google.com> | 2012-06-14 10:33:37 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-06-14 10:33:37 -0700 |
commit | 7bdd187c26e5eb304aaa71d0812d33804408a7e5 (patch) | |
tree | 081e637e2388e2859e545b04562b3831ae8ceb0d /src | |
parent | 170b2a9d197c5597cf7a4e163eaabf9c4e0a800c (diff) | |
parent | 17e3ba9b808c0ca3b4a06c3964437204e76f9d30 (diff) | |
download | packages_apps_browser-7bdd187c26e5eb304aaa71d0812d33804408a7e5.zip packages_apps_browser-7bdd187c26e5eb304aaa71d0812d33804408a7e5.tar.gz packages_apps_browser-7bdd187c26e5eb304aaa71d0812d33804408a7e5.tar.bz2 |
am 17e3ba9b: am a770f8d4: Encode characters that java.net.URI rejects
* commit '17e3ba9b808c0ca3b4a06c3964437204e76f9d30':
Encode characters that java.net.URI rejects
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/browser/DownloadHandler.java | 4 | ||||
-rw-r--r-- | src/com/android/browser/FetchUrlMimeType.java | 16 |
2 files changed, 15 insertions, 5 deletions
diff --git a/src/com/android/browser/DownloadHandler.java b/src/com/android/browser/DownloadHandler.java index 2fc8631..2292716 100644 --- a/src/com/android/browser/DownloadHandler.java +++ b/src/com/android/browser/DownloadHandler.java @@ -106,7 +106,7 @@ public class DownloadHandler { boolean needed = false; for (char c : chars) { - if (c == '[' || c == ']') { + if (c == '[' || c == ']' || c == '|') { needed = true; break; } @@ -117,7 +117,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 { diff --git a/src/com/android/browser/FetchUrlMimeType.java b/src/com/android/browser/FetchUrlMimeType.java index 845bcc7..07c9b93 100644 --- a/src/com/android/browser/FetchUrlMimeType.java +++ b/src/com/android/browser/FetchUrlMimeType.java @@ -27,6 +27,7 @@ import android.content.Context; import android.net.Proxy; import android.net.http.AndroidHttpClient; import android.os.Environment; +import android.util.Log; import android.webkit.MimeTypeMap; import android.webkit.URLUtil; @@ -44,6 +45,8 @@ import java.io.IOException; */ class FetchUrlMimeType extends Thread { + private final static String LOGTAG = "FetchUrlMimeType"; + private Context mContext; private DownloadManager.Request mRequest; private String mUri; @@ -64,9 +67,16 @@ class FetchUrlMimeType extends Thread { // User agent is likely to be null, though the AndroidHttpClient // seems ok with that. AndroidHttpClient client = AndroidHttpClient.newInstance(mUserAgent); - HttpHost httpHost = Proxy.getPreferredHttpHost(mContext, mUri); - if (httpHost != null) { - ConnRouteParams.setDefaultProxy(client.getParams(), httpHost); + HttpHost httpHost; + try { + httpHost = Proxy.getPreferredHttpHost(mContext, mUri); + if (httpHost != null) { + ConnRouteParams.setDefaultProxy(client.getParams(), httpHost); + } + } catch (IllegalArgumentException ex) { + Log.e(LOGTAG,"Download failed: " + ex); + client.close(); + return; } HttpHead request = new HttpHead(mUri); |