diff options
-rw-r--r-- | res/values/strings.xml | 2 | ||||
-rw-r--r-- | src/com/android/browser/DownloadHandler.java | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 75762a0..80cb2c8 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -749,6 +749,8 @@ the user how to enable SD card storage --> <string name="download_sdcard_busy_dlg_msg" product="default">The SD card is busy. To allow downloads, select \"Turn off USB storage\" in the notification.</string> + <!-- Toast for a download which cannot begin because the URL is not http or https --> + <string name="cannot_download">Can only download \"http\" or \"https\" URLs.</string> <!-- Title for a dialog informing the user that there is no application on the phone that can open the file that was downloaded --> <string name="download_no_application_title">Cannot open file</string> diff --git a/src/com/android/browser/DownloadHandler.java b/src/com/android/browser/DownloadHandler.java index 40278f4..4903a41 100644 --- a/src/com/android/browser/DownloadHandler.java +++ b/src/com/android/browser/DownloadHandler.java @@ -181,7 +181,13 @@ public class DownloadHandler { String addressString = webAddress.toString(); Uri uri = Uri.parse(addressString); - final DownloadManager.Request request = new DownloadManager.Request(uri); + final DownloadManager.Request request; + try { + request = new DownloadManager.Request(uri); + } catch (IllegalArgumentException e) { + Toast.makeText(activity, R.string.cannot_download, Toast.LENGTH_SHORT).show(); + return; + } request.setMimeType(mimetype); // set downloaded file destination to /sdcard/Download. // or, should it be set to one of several Environment.DIRECTORY* dirs depending on mimetype? |