From b06b739b078ce4b00600487cfec31659647bf31f Mon Sep 17 00:00:00 2001 From: Steve Howard Date: Thu, 22 Jul 2010 11:33:50 -0700 Subject: 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 --- tests/public_api_access/Android.mk | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 tests/public_api_access/Android.mk (limited to 'tests/public_api_access/Android.mk') diff --git a/tests/public_api_access/Android.mk b/tests/public_api_access/Android.mk new file mode 100644 index 00000000..6c6db1f4 --- /dev/null +++ b/tests/public_api_access/Android.mk @@ -0,0 +1,14 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +# We only want this apk build for tests. +LOCAL_MODULE_TAGS := tests + +# Include all test java files. +LOCAL_SRC_FILES := $(call all-java-files-under, src) + +LOCAL_JAVA_LIBRARIES := android.test.runner +LOCAL_PACKAGE_NAME := DownloadPublicApiAccessTests + +include $(BUILD_PACKAGE) + -- cgit v1.2.3