diff options
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/browser/DownloadHandler.java | 5 | ||||
-rw-r--r-- | src/com/android/browser/FetchUrlMimeType.java | 16 |
2 files changed, 15 insertions, 6 deletions
diff --git a/src/com/android/browser/DownloadHandler.java b/src/com/android/browser/DownloadHandler.java index 31212b4..2292716 100644 --- a/src/com/android/browser/DownloadHandler.java +++ b/src/com/android/browser/DownloadHandler.java @@ -67,7 +67,6 @@ public class DownloadHandler { // that matches. Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse(url), mimetype); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); ResolveInfo info = activity.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY); if (info != null) { @@ -107,7 +106,7 @@ public class DownloadHandler { boolean needed = false; for (char c : chars) { - if (c == '[' || c == ']') { + if (c == '[' || c == ']' || c == '|') { needed = true; break; } @@ -118,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); |