summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/Helpers.java
diff options
context:
space:
mode:
authorSteve Howard <showard@google.com>2010-07-22 11:33:50 -0700
committerSteve Howard <showard@google.com>2010-07-22 18:38:51 -0700
commitb06b739b078ce4b00600487cfec31659647bf31f (patch)
tree9cfe924b01710eb1c7a6ad7b553fdabb05106843 /src/com/android/providers/downloads/Helpers.java
parent0d8d89105c00edbad95a268aaae65f2ff94ed5a1 (diff)
downloadandroid_packages_providers_DownloadProvider-b06b739b078ce4b00600487cfec31659647bf31f.tar.gz
android_packages_providers_DownloadProvider-b06b739b078ce4b00600487cfec31659647bf31f.tar.bz2
android_packages_providers_DownloadProvider-b06b739b078ce4b00600487cfec31659647bf31f.zip
Make DownloadProvider accessible for public API usage.
This change removes the requirement that apps have the ACCESS_DOWNLOAD_MANAGER permission in order to access DownloadProvider. This enables the public API to work. Instead, DownloadProvider enforces the new permissions model for the public API: * insert() requires INTERNET permission * insert() checks that input fits within the restricted input allowed for the public API * insert() also strictly checks the file URI provided with DESTINATION_FILE_URI (and still requires WRITE_EXTERNAL_STORAGE permission if that is supplied) Note that if an app has the ACCESS_DOWNLOAD_MANAGER permission, legacy behavior is retained. I've added a test to cover this new access, and updated the existing permissions tests. I also fixed a bug in WHERE clause construction in update() and delete(), and refactored the code to eliminate duplication. Change-Id: I53a08df137b35c2788c36350276c9dff24858af1
Diffstat (limited to 'src/com/android/providers/downloads/Helpers.java')
-rw-r--r--src/com/android/providers/downloads/Helpers.java8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/com/android/providers/downloads/Helpers.java b/src/com/android/providers/downloads/Helpers.java
index dac4b55e..58ab578a 100644
--- a/src/com/android/providers/downloads/Helpers.java
+++ b/src/com/android/providers/downloads/Helpers.java
@@ -117,13 +117,7 @@ public class Helpers {
}
private static String getPathForFileUri(String hint) throws GenerateSaveFileError {
- Uri uri = Uri.parse(hint);
- if (!uri.getScheme().equals("file")) {
- Log.d(Constants.TAG, "Not a file URI: " + hint);
- throw new GenerateSaveFileError(Downloads.Impl.STATUS_FILE_ERROR);
- }
-
- String path = uri.getSchemeSpecificPart();
+ String path = Uri.parse(hint).getSchemeSpecificPart();
if (new File(path).exists()) {
Log.d(Constants.TAG, "File already exists: " + path);
throw new GenerateSaveFileError(Downloads.Impl.STATUS_FILE_ERROR);