1<?xml version="1.0" encoding="utf-8"?>
2
3<!--
4  ~ Copyright (C) 2021 The Android Open Source Project
5  ~
6  ~ Licensed under the Apache License, Version 2.0 (the "License");
7  ~ you may not use this file except in compliance with the License.
8  ~ You may obtain a copy of the License at
9  ~
10  ~      http://www.apache.org/licenses/LICENSE-2.0
11  ~
12  ~ Unless required by applicable law or agreed to in writing, software
13  ~ distributed under the License is distributed on an "AS IS" BASIS,
14  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  ~ See the License for the specific language governing permissions and
16  ~ limitations under the License.
17  -->
18
19<manifest xmlns:android="http://schemas.android.com/apk/res/android"
20          package="com.android.TestApp">
21
22    <uses-permission android:name="android.permission.INTERACT_ACROSS_PROFILES" />
23
24    <!-- Temp permissions used for testing policy management -->
25    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS" />
26    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_TIME" />
27    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS" />
28    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY" />
29    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE" />
30    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_BACKUP_SERVICE" />
31    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK" />
32    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL" />
33    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES" />
34    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_RESTRICTIONS" />
35    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_CALLS" />
36    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES" />
37    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_MODIFY_USERS" />
38    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SAFE_BOOT" />
39    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE" />
40    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA" />
41    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEYGUARD" />
42    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT" />
43    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_PACKAGE_STATE" />
44    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESET_PASSWORD" />
45    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_STATUS_BAR" />
46    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_BLUETOOTH" />
47    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_FUN" />
48    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_AIRPLANE_MODE" />
49    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK" />
50    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA" />
51    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SMS" />
52    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER" />
53    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS" />
54    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIFI" />
55    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CAPTURE" />
56    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_INPUT_METHODS" />
57    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS" />
58    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEFAULT_SMS" />
59    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILES" />
60    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILE_INTERACTION" />
61    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_VPN" />
62    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIO_OUTPUT" />
63    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_DISPLAY" />
64    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCATION" />
65    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_FACTORY_RESET" />
66    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_WALLPAPER" />
67    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CONTENT" />
68    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS" />
69    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND" />
70    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_PRINTING" />
71    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION" />
72    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_WINDOWS" />
73    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCALE" />
74    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUTOFILL" />
75    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_USERS" />
76    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES" />
77    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_OVERRIDE_APN" />
78    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SECURITY_LOGGING" />
79    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING" />
80    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES" />
81    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES" />
82    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_PRIVATE_DNS" />
83    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SETTINGS" />
84    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_NETWORK_LOGGING" />
85    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING" />
86    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS" />
87    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES" />
88    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCESSIBILITY" />
89    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE" />
90    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_METERED_DATA" />
91    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROXY" />
92    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_BUGREPORT" />
93    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_USER_DATA" />
94    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK" />
95    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_APPS" />
96    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIPE_DATA" />
97    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_MTE" />
98    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS" />
99    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION" />
100    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL" />
101    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS" />
102    <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL" />
103    <uses-permission android:name="android.permission.SET_TIME" />
104    <uses-permission android:name="android.permission.SET_TIME_ZONE" />
105    <!-- End temp permissions used for testing policy management -->
106
107    <uses-permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION" />
108    <uses-permission android:name="android.permission.READ_CONTACTS" />
109    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
110    <uses-permission android:name="android.permission.READ_CALENDAR" />
111    <uses-permission android:name="android.permission.WRITE_CALENDAR" />
112    <uses-permission android:name="android.permission.SEND_SMS" />
113    <uses-permission android:name="android.permission.RECEIVE_SMS" />
114    <uses-permission android:name="android.permission.READ_SMS" />
115    <uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" />
116    <uses-permission android:name="android.permission.RECEIVE_MMS" />
117    <uses-permission android:name="android.permission.READ_CELL_BROADCASTS" />
118    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
119    <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
120    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
121    <uses-permission android:name="android.permission.READ_MEDIA_IMAGE" />
122    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
123    <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
124    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
125    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
126    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
127    <uses-permission android:name="android.permission.READ_CALL_LOG" />
128    <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
129    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
130    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
131    <uses-permission android:name="android.permission.READ_BASIC_PHONE_STATE" />
132    <uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
133    <uses-permission android:name="android.permission.CALL_PHONE" />
134    <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" />
135    <uses-permission android:name="android.permission.USE_SIP" />
136    <uses-permission android:name="android.permission.ANSWER_PHONE_CALLS" />
137    <uses-permission android:name="android.permission.MANAGE_OWN_CALLS" />
138    <uses-permission android:name="android.permission.CALL_COMPANION_APP" />
139    <uses-permission android:name="android.permission.ACCEPT_HANDOVER" />
140    <uses-permission android:name="android.permission.RECORD_AUDIO" />
141    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
142    <uses-permission android:name="android.permission.CAMERA" />
143    <uses-permission android:name="android.permission.HIGH_SAMPLING_RATE_SENSORS" />
144    <uses-permission android:name="android.permission.BODY_SENSORS" />
145    <uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND" />
146    <uses-permission android:name="android.permission.USE_FINGERPRINT" />
147    <uses-permission android:name="android.permission.USE_BIOMETRIC" />
148    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
149    <uses-permission android:name="android.permission.READ_PROFILE" />
150    <uses-permission android:name="android.permission.WRITE_PROFILE" />
151    <uses-permission android:name="android.permission.READ_SOCIAL_STREAM" />
152    <uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM" />
153    <uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
154    <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
155    <uses-permission android:name="android.permission.WRITE_SMS" />
156    <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" />
157    <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS" />
158    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
159    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
160    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
161    <uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_READ" />
162    <uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE" />
163    <uses-permission android:name="android.permission.FLASHLIGHT" />
164    <uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
165    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
166    <uses-permission android:name="android.permission.INTERNET" />
167    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
168    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
169    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
170    <uses-permission android:name="android.permission.BLUETOOTH" />
171    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
172    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
173    <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
174    <uses-permission android:name="android.permission.UWB_RANGING" />
175    <uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES" />
176    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
177    <uses-permission android:name="android.permission.NFC" />
178    <uses-permission android:name="android.permission.NFC_TRANSACTION_EVENT" />
179    <uses-permission android:name="android.permission.NFC_PREFERRED_PAYMENT_INFO" />
180    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
181    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
182    <uses-permission android:name="android.permission.VIBRATE" />
183    <uses-permission android:name="android.permission.WAKE_LOCK" />
184    <uses-permission android:name="android.permission.TRANSMIT_IR" />
185    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
186    <uses-permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS" />
187    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
188    <!-- Disabled as we need to test delegates which lack this permission -->
189<!--    <uses-permission android:name="android.permission.REQUEST_PASSWORD_COMPLEXITY" />-->
190    <uses-permission android:name="android.permission.GET_TASKS" />
191    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
192    <uses-permission android:name="android.permission.ACCESS_BLOBS_ACROSS_USERS" />
193    <uses-permission android:name="android.permission.REORDER_TASKS" />
194    <uses-permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND" />
195    <uses-permission android:name="android.permission.RESTART_PACKAGES" />
196    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
197    <uses-permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE" />
198    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
199    <uses-permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND" />
200    <uses-permission android:name="android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND" />
201    <uses-permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND" />
202    <uses-permission android:name="android.permission.REQUEST_COMPANION_PROFILE_WATCH" />
203    <uses-permission android:name="android.permission.HIDE_OVERLAY_WINDOWS" />
204    <uses-permission android:name="android.permission.SET_WALLPAPER" />
205    <uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
206    <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
207    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
208    <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
209    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
210    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
211    <uses-permission android:name="android.permission.READ_SYNC_STATS" />
212    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
213    <uses-permission android:name="android.permission.SET_ANIMATION_SCALE" />
214    <uses-permission android:name="android.permission.PERSISTENT_ACTIVITY" />
215    <uses-permission android:name="android.permission.GET_PACKAGE_SIZE" />
216    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
217    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
218    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
219    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
220    <uses-permission android:name="android.permission.DUMP" />
221    <uses-permission android:name="android.permission.CONTROL_UI_TRACING" />
222    <uses-permission android:name="android.permission.READ_LOGS" />
223    <uses-permission android:name="android.permission.SET_DEBUG_APP" />
224    <uses-permission android:name="android.permission.SET_PROCESS_LIMIT" />
225    <uses-permission android:name="android.permission.SET_ALWAYS_FINISH" />
226    <uses-permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES" />
227    <uses-permission android:name="android.permission.GET_APP_OPS_STATS" />
228    <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
229    <uses-permission android:name="android.permission.USE_EXACT_ALARM" />
230    <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
231    <uses-permission android:name="android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE" />
232    <uses-permission android:name="android.permission.DELIVER_COMPANION_MESSAGES" />
233    <uses-permission android:name="android.permission.BRIGHTNESS_SLIDER_USAGE" />
234    <uses-permission android:name="android.permission.ACCESS_AMBIENT_LIGHT_STATS" />
235    <uses-permission android:name="android.permission.CONFIGURE_DISPLAY_BRIGHTNESS" />
236    <uses-permission android:name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER" />
237    <uses-permission android:name="android.permission.SET_MEDIA_KEY_LISTENER" />
238    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
239    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
240    <uses-permission android:name="android.permission.BATTERY_STATS" />
241    <uses-permission android:name="android.permission.READ_INSTALL_SESSIONS" />
242    <uses-permission android:name="android.permission.INSTANT_APP_FOREGROUND_SERVICE" />
243    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
244    <uses-permission android:name="android.permission.MODIFY_QUIET_MODE" />
245    <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
246    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
247    <uses-permission android:name="android.permission.READ_NEARBY_STREAMING_POLICY" />
248
249    <application
250        android:appComponentFactory="com.android.bedstead.testapp.TestAppAppComponentFactory"
251        android:targetSandboxVersion="2">
252<!--        android:debuggable="true"-->
253
254        <activity android:name="android.testapp.MainActivity" android:exported="true">
255            <intent-filter>
256                <action android:name="android.intent.action.MAIN" />
257                <category android:name="android.intent.category.DEFAULT" />
258                <category android:name="android.intent.category.LAUNCHER" />
259            </intent-filter>
260        </activity>
261
262        <activity android:name="android.testapp.activity" android:exported="true" />
263
264        <activity android:name="android.testapp.CrossProfileSharingActivity"
265                  android:exported="true">
266            <intent-filter>
267                <category android:name="android.intent.category.DEFAULT"/>
268                <action android:name="com.android.testapp.SOME_ACTION"/>
269            </intent-filter>
270            <!-- Catch ACTION_PICK in case there is no other app handing it-->
271            <intent-filter>
272                <category android:name="android.intent.category.DEFAULT"/>
273                <action android:name="android.intent.action.PICK"/>
274            </intent-filter>
275            <intent-filter>
276                <category android:name="android.intent.category.DEFAULT"/>
277                <action android:name="android.intent.action.SEND_MULTIPLE"/>
278                <data android:mimeType="*/*"/>
279            </intent-filter>
280        </activity>
281
282        <service
283            android:name=".CredentialProviderService"
284            android:enabled="true"
285            android:exported="true"
286            android:permission="android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE">
287            <intent-filter>
288                <action android:name="android.service.credentials.CredentialProviderService"/>
289            </intent-filter>
290        </service>
291
292        <receiver android:name="com.android.bedstead.testapp.TestAppBroadcastController"
293                  android:exported="true" />
294    </application>
295    <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="34"/>
296</manifest>
297