1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3    package="com.android.providers.media.tests">
4
5    <uses-sdk android:minSdkVersion="30" android:targetSdkVersion="30" />
6
7    <queries>
8        <package android:name="com.android.providers.media.testapp.withoutperms" />
9        <package android:name="com.android.providers.media.testapp.permission" />
10        <package android:name="com.android.providers.media.testapp.permissionmedia" />
11        <package android:name="com.android.providers.media.testapp.withstorageperms" />
12        <package android:name="com.android.providers.media.testapp.withmediaperms" />
13        <package android:name="com.android.providers.media.testapp.withuserselectedperms" />
14        <package android:name="com.android.providers.media.testapp.legacy" />
15        <package android:name="com.android.providers.media.testapp.legacywithtargetsdk35" />
16    </queries>
17
18    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
19    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
20    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
21    <uses-permission android:name="android.permission.MANAGE_USERS" />
22    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
23    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
24
25    <uses-permission
26        android:name="com.android.providers.media.permission.BIND_MEDIA_COGNITION_SERVICE"/>
27    <uses-permission
28        android:name="com.android.providers.media.permission.BIND_OEM_METADATA_SERVICE"/>
29
30    <application android:label="MediaProvider Tests">
31        <uses-library android:name="android.test.runner" />
32
33        <activity android:name="com.android.providers.media.GetResultActivity" />
34        <activity android:name="com.android.providers.media.PermissionActivity" />
35        <activity android:name="com.android.providers.media.CacheClearingActivity" />
36        <activity android:name="com.android.providers.media.photopicker.espresso.PhotoPickerTestActivity"
37                  android:theme="@style/PickerDefaultTheme"
38                  android:excludeFromRecents="true">
39            <intent-filter>
40                <action android:name="android.provider.action.PICK_IMAGES" />
41                <category android:name="android.intent.category.DEFAULT" />
42                <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
43                <data android:mimeType="image/*" />
44                <data android:mimeType="video/*" />
45            </intent-filter>
46            <intent-filter>
47                <action android:name="android.provider.action.PICK_IMAGES" />
48                <category android:name="android.intent.category.DEFAULT" />
49                <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
50            </intent-filter>
51            <intent-filter>
52               <action android:name="android.provider.action.USER_SELECT_IMAGES_FOR_APP" />
53                <category android:name="android.intent.category.DEFAULT" />
54                <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
55                <data android:mimeType="image/*" />
56                <data android:mimeType="video/*" />
57            </intent-filter>
58            <intent-filter>
59                <action android:name="android.provider.action.USER_SELECT_IMAGES_FOR_APP" />
60                <category android:name="android.intent.category.DEFAULT" />
61                <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
62            </intent-filter>
63        </activity>
64
65        <!-- Intent Action "android.intent.action.MAIN"
66
67             This intent action is used to start the activity as a main entry point, does not expect
68             to receive data.
69
70             {@link androidx.test.core.app.ActivityScenario#launchActivityForResult(Class)} launches
71             the activity with the intent action {@link android.content.Intent#ACTION_MAIN}.
72        -->
73        <activity android:name="com.android.providers.media.photopicker.espresso.PhotoPickerAccessibilityDisabledTestActivity">
74            <intent-filter>
75                <action android:name="android.intent.action.MAIN"/>
76            </intent-filter>
77        </activity>
78
79        <activity android:name="com.android.providers.media.photopicker.ui.testapp.TestActivity"
80                  android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
81            <intent-filter>
82                <action android:name="com.android.providers.media.photopicker.tests.LAUNCH_TEST" />
83                <category android:name="android.intent.category.DEFAULT" />
84            </intent-filter>
85        </activity>
86
87        <provider android:name="com.android.providers.media.photopicker.LocalProvider"
88            android:authorities="com.android.providers.media.photopicker.tests.local"
89            android:exported="false" />
90
91        <provider android:name="com.android.providers.media.cloudproviders.FlakyCloudProvider"
92                  android:authorities="com.android.providers.media.photopicker.tests.cloud_flaky"
93                  android:permission="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS"
94                  android:exported="true">
95          <intent-filter>
96            <action android:name="android.content.action.CLOUD_MEDIA_PROVIDER" />
97          </intent-filter>
98        </provider>
99
100        <provider android:name="com.android.providers.media.cloudproviders.SearchProvider"
101            android:authorities="com.android.providers.media.photopicker.tests.cloud_search_provider"
102            android:permission="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS"
103            android:exported="true">
104        </provider>
105
106        <provider android:name="com.android.providers.media.cloudproviders.CloudProviderPrimary"
107                  android:authorities="com.android.providers.media.photopicker.tests.cloud_primary"
108                  android:permission="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS"
109                  android:exported="true">
110          <intent-filter>
111            <action android:name="android.content.action.CLOUD_MEDIA_PROVIDER" />
112          </intent-filter>
113        </provider>
114
115        <provider android:name="com.android.providers.media.cloudproviders.CloudProviderSecondary"
116                  android:authorities="com.android.providers.media.photopicker.tests.cloud_secondary"
117                  android:readPermission="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS"
118                  android:exported="true">
119          <intent-filter>
120            <action android:name="android.content.action.CLOUD_MEDIA_PROVIDER" />
121          </intent-filter>
122        </provider>
123
124        <provider android:name="com.android.providers.media.cloudproviders.CloudProviderNoPermission"
125                  android:authorities="com.android.providers.media.photopicker.tests.cloud_no_permission"
126                  android:exported="true">
127          <intent-filter>
128            <action android:name="android.content.action.CLOUD_MEDIA_PROVIDER" />
129          </intent-filter>
130        </provider>
131
132        <provider android:name="com.android.providers.media.cloudproviders.CloudProviderNoIntentFilter"
133                  android:permission="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS"
134                  android:authorities="com.android.providers.media.photopicker.tests.cloud_no_intent_filter"
135                  android:exported="true">
136        </provider>
137
138        <provider android:name="com.android.providers.media.photopickersearch.CloudMediaProviderSearch"
139            android:permission="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS"
140            android:authorities="com.android.providers.media.photopicker.tests.cloud_provider_for_search_client"
141            android:exported="true">
142        </provider>
143
144        <service
145            android:name=
146                "com.android.providers.media.stableuris.job.StableUriIdleMaintenanceService"
147            android:exported="true"
148            android:permission="android.permission.BIND_JOB_SERVICE" />
149
150        <service
151            android:name="com.android.providers.media.IdleService"
152            android:exported="true"
153            android:permission="android.permission.BIND_JOB_SERVICE" />
154
155
156        <service android:name="com.android.providers.media.mediacognitionservices.TestMediaCognitionService"
157            android:exported="true"
158            android:permission="com.android.providers.media.permission.BIND_MEDIA_COGNITION_SERVICE">
159            <intent-filter>
160                <action android:name="android.provider.MediaCognitionService" />
161                <category android:name="android.intent.category.DEFAULT"/>
162            </intent-filter>
163        </service>
164
165        <service
166            android:name="com.android.providers.media.oemmetadataservices.TestOemMetadataService"
167            android:exported="true"
168            android:permission="com.android.providers.media.permission.BIND_OEM_METADATA_SERVICE">
169            <intent-filter>
170                <action android:name="android.provider.OemMetadataService"/>
171                <category android:name="android.intent.category.DEFAULT"/>
172            </intent-filter>
173        </service>
174
175        <service
176            android:name="com.android.providers.media.oemmetadataservices.TestOemMetadataServiceWithoutPermission"
177            android:exported="true">
178            <intent-filter>
179                <action android:name="android.provider.OemMetadataService"/>
180                <category android:name="android.intent.category.DEFAULT"/>
181            </intent-filter>
182        </service>
183
184    </application>
185
186    <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
187        android:targetPackage="com.android.providers.media.tests"
188        android:label="MediaProvider Tests" />
189
190</manifest>
191