diff options
author | Steve Howard <showard@google.com> | 2010-07-22 11:33:50 -0700 |
---|---|---|
committer | Steve Howard <showard@google.com> | 2010-07-22 18:38:51 -0700 |
commit | b06b739b078ce4b00600487cfec31659647bf31f (patch) | |
tree | 9cfe924b01710eb1c7a6ad7b553fdabb05106843 /tests/public_api_access/AndroidManifest.xml | |
parent | 0d8d89105c00edbad95a268aaae65f2ff94ed5a1 (diff) | |
download | android_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 'tests/public_api_access/AndroidManifest.xml')
-rw-r--r-- | tests/public_api_access/AndroidManifest.xml | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/public_api_access/AndroidManifest.xml b/tests/public_api_access/AndroidManifest.xml new file mode 100644 index 00000000..01048460 --- /dev/null +++ b/tests/public_api_access/AndroidManifest.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (C) 2009 Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + --> + +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.providers.downloads.public_api_access_tests"> + + <application> + <uses-library android:name="android.test.runner" /> + </application> + + <uses-permission android:name="android.permission.INTERNET"/> + + <!-- + The test declared in this instrumentation can be run via this command + "adb shell am instrument -w com.android.providers.downloads.permission.tests/android.test.InstrumentationTestRunner" + We intentionally target our own package to ensure this runs in a separate process under a + separate UID. + --> + <instrumentation android:name="android.test.InstrumentationTestRunner" + android:targetPackage="com.android.providers.downloads.public_api_access_tests" + android:label="Tests for public API access channels to DownloadProvider"/> + +</manifest> |