1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4 * Copyright (C) 2015 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.shell"
21        coreApp="true"
22        android:sharedUserId="android.uid.shell"
23        >
24
25        <!-- Standard permissions granted to the shell. -->
26    <uses-permission android:name="android.permission.GET_RUNTIME_PERMISSIONS" />
27    <uses-permission android:name="android.permission.SEND_SMS" />
28    <uses-permission android:name="android.permission.READ_SMS" />
29    <uses-permission android:name="android.permission.CALL_PHONE" />
30    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
31    <uses-permission android:name="android.permission.READ_PRECISE_PHONE_STATE" />
32    <uses-permission android:name="android.permission.READ_ACTIVE_EMERGENCY_SESSION" />
33    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
34    <uses-permission android:name="android.permission.READ_CONTACTS" />
35    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
36    <uses-permission android:name="android.permission.READ_CALENDAR" />
37    <uses-permission android:name="android.permission.WRITE_CALENDAR" />
38    <uses-permission android:name="android.permission.READ_CALL_LOG" />
39    <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
40    <uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
41    <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
42    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
43    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
44    <uses-permission android:name="android.permission.HIGH_SAMPLING_RATE_SENSORS" />
45    <uses-permission android:name="android.permission.RECEIVE_SMS" />
46    <uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" />
47    <uses-permission android:name="android.permission.RECEIVE_MMS" />
48    <uses-permission android:name="android.permission.READ_CELL_BROADCASTS" />
49    <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
50    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
51    <uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
52    <uses-permission android:name="android.permission.USE_SIP" />
53    <uses-permission android:name="android.permission.ANSWER_PHONE_CALLS" />
54    <uses-permission android:name="android.permission.ACCEPT_HANDOVER" />
55    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
56    <uses-permission android:name="android.permission.BODY_SENSORS" />
57    <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" />
58    <uses-permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS" />
59    <uses-permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE" />
60    <uses-permission android:name="android.permission.READ_LOGS" />
61    <uses-permission android:name="android.permission.BRIGHTNESS_SLIDER_USAGE" />
62    <uses-permission android:name="android.permission.ACCESS_AMBIENT_LIGHT_STATS" />
63    <uses-permission android:name="android.permission.CONFIGURE_DISPLAY_BRIGHTNESS" />
64    <uses-permission android:name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER" />
65    <uses-permission android:name="android.permission.SET_MEDIA_KEY_LISTENER" />
66    <uses-permission android:name="android.permission.INSTANT_APP_FOREGROUND_SERVICE" />
67    <uses-permission android:name="android.permission.MANAGE_OWN_CALLS" />
68    <uses-permission android:name="android.permission.CALL_COMPANION_APP" />
69    <uses-permission android:name="android.permission.USE_FINGERPRINT" />
70    <uses-permission android:name="android.permission.READ_PROFILE" />
71    <uses-permission android:name="android.permission.WRITE_PROFILE" />
72    <uses-permission android:name="android.permission.READ_SOCIAL_STREAM" />
73    <uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM" />
74    <uses-permission android:name="android.permission.WRITE_SMS" />
75    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
76    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
77    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
78    <uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_READ" />
79    <uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE" />
80    <uses-permission android:name="android.permission.FLASHLIGHT" />
81    <uses-permission android:name="android.permission.INTERNET" />
82    <uses-permission android:name="android.permission.NFC" />
83    <uses-permission android:name="android.permission.NFC_TRANSACTION_EVENT" />
84    <uses-permission android:name="android.permission.NFC_PREFERRED_PAYMENT_INFO" />
85    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
86    <uses-permission android:name="android.permission.TRANSMIT_IR" />
87    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
88    <uses-permission android:name="android.permission.REQUEST_PASSWORD_COMPLEXITY" />
89    <uses-permission android:name="android.permission.GET_TASKS" />
90    <uses-permission android:name="android.permission.RESTART_PACKAGES" />
91    <uses-permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND" />
92    <uses-permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND" />
93    <uses-permission android:name="android.permission.REQUEST_COMPANION_PROFILE_WATCH" />
94    <uses-permission android:name="android.permission.HIDE_OVERLAY_WINDOWS" />
95    <uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
96    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
97    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
98    <uses-permission android:name="android.permission.READ_SYNC_STATS" />
99    <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" />
100    <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS" />
101    <uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
102    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
103    <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
104    <uses-permission android:name="android.permission.PERSISTENT_ACTIVITY" />
105    <uses-permission android:name="android.permission.GET_PACKAGE_SIZE" />
106    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
107    <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
108    <uses-permission android:name="android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE" />
109    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
110    <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
111    <uses-permission android:name="android.permission.READ_INSTALL_SESSIONS" />
112    <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
113    <!-- ACCESS_BACKGROUND_LOCATION is needed for testing purposes only. -->
114    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
115    <!-- ACCESS_MTP is needed for testing purposes only. -->
116    <uses-permission android:name="android.permission.ACCESS_MTP" />
117    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
118    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
119    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
120    <uses-permission android:name="android.permission.BLUETOOTH" />
121    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
122    <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
123    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
124    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
125    <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
126    <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
127    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
128    <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
129    <uses-permission android:name="android.permission.MANAGE_USB" />
130    <uses-permission android:name="android.permission.USE_RESERVED_DISK" />
131    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
132    <!-- System tool permissions granted to the shell. -->
133    <uses-permission android:name="android.permission.REAL_GET_TASKS" />
134    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
135    <uses-permission android:name="android.permission.REORDER_TASKS" />
136    <uses-permission android:name="android.permission.REMOVE_TASKS" />
137    <uses-permission android:name="android.permission.SET_ANIMATION_SCALE" />
138    <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" />
139    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
140    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
141    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
142    <uses-permission android:name="android.permission.WRITE_DEVICE_CONFIG" />
143    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
144    <uses-permission android:name="android.permission.MANAGE_ACCESSIBILITY" />
145    <!-- Development tool permissions granted to the shell. -->
146    <uses-permission android:name="android.permission.SET_DEBUG_APP" />
147    <uses-permission android:name="android.permission.SET_PROCESS_LIMIT" />
148    <uses-permission android:name="android.permission.SET_ALWAYS_FINISH" />
149    <uses-permission android:name="android.permission.DUMP" />
150    <uses-permission android:name="android.permission.CONTROL_UI_TRACING" />
151    <uses-permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES" />
152    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
153    <!-- Internal permissions granted to the shell. -->
154    <uses-permission android:name="android.permission.FORCE_BACK" />
155    <uses-permission android:name="android.permission.BATTERY_STATS" />
156    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
157    <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
158    <uses-permission android:name="android.permission.INJECT_EVENTS" />
159    <uses-permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT" />
160    <uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER" />
161    <uses-permission android:name="android.permission.READ_INPUT_STATE" />
162    <uses-permission android:name="android.permission.SET_ORIENTATION" />
163    <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
164    <uses-permission android:name="android.permission.INSTALL_PACKAGE_UPDATES" />
165    <uses-permission android:name="com.android.permission.USE_INSTALLER_V2" />
166    <uses-permission android:name="android.permission.INSTALL_TEST_ONLY_PACKAGE" />
167    <uses-permission android:name="com.android.permission.USE_SYSTEM_DATA_LOADERS" />
168    <uses-permission android:name="android.permission.MOVE_PACKAGE" />
169    <uses-permission android:name="android.permission.KEEP_UNINSTALLED_PACKAGES" />
170    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
171    <uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
172    <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS" />
173    <uses-permission android:name="android.permission.DELETE_CACHE_FILES" />
174    <uses-permission android:name="android.permission.DELETE_PACKAGES" />
175    <uses-permission android:name="android.permission.MANAGE_ROLLBACKS" />
176    <uses-permission android:name="android.permission.TEST_MANAGE_ROLLBACKS" />
177    <uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" />
178    <uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
179    <uses-permission android:name="android.permission.REBOOT" />
180    <uses-permission android:name="android.permission.DEVICE_POWER" />
181    <uses-permission android:name="android.permission.POWER_SAVER" />
182    <uses-permission android:name="android.permission.BATTERY_PREDICTION" />
183    <uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER" />
184    <uses-permission android:name="android.permission.BACKUP" />
185    <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />
186    <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
187    <uses-permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" />
188    <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS" />
189    <uses-permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS" />
190    <uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS" />
191    <uses-permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS" />
192    <!-- Permission required to test onPermissionsChangedListener -->
193    <uses-permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" />
194    <uses-permission android:name="android.permission.SET_KEYBOARD_LAYOUT" />
195    <uses-permission android:name="android.permission.GET_DETAILED_TASKS" />
196    <uses-permission android:name="android.permission.SET_SCREEN_COMPATIBILITY" />
197    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
198    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
199    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
200    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
201    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
202    <uses-permission android:name="android.permission.CREATE_USERS" />
203    <uses-permission android:name="android.permission.MANAGE_CREDENTIAL_MANAGEMENT_APP" />
204    <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
205    <uses-permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" />
206    <uses-permission android:name="android.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS" />
207    <uses-permission android:name="android.permission.CLEAR_FREEZE_PERIOD" />
208    <uses-permission android:name="android.permission.MODIFY_QUIET_MODE" />
209    <uses-permission android:name="android.permission.ACCESS_LOWPAN_STATE"/>
210    <uses-permission android:name="android.permission.CHANGE_LOWPAN_STATE"/>
211    <uses-permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"/>
212    <uses-permission android:name="android.permission.BLUETOOTH_STACK" />
213    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
214    <uses-permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN" />
215    <uses-permission android:name="android.permission.FRAME_STATS" />
216    <uses-permission android:name="android.permission.BIND_APPWIDGET" />
217    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
218    <uses-permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"/>
219    <uses-permission android:name="android.permission.CHANGE_APP_IDLE_STATE" />
220    <uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
221    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
222    <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" />
223    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
224    <!-- Shell only holds android.permission.NETWORK_SCAN in order to to enable CTS testing -->
225    <uses-permission android:name="android.permission.NETWORK_SCAN" />
226    <uses-permission android:name="android.permission.REGISTER_CALL_PROVIDER" />
227    <uses-permission android:name="android.permission.REGISTER_CONNECTION_MANAGER" />
228    <uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION" />
229    <uses-permission android:name="android.permission.GET_APP_OPS_STATS" />
230    <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES" />
231    <uses-permission android:name="android.permission.VIBRATE" />
232    <uses-permission android:name="android.permission.ACCESS_VIBRATOR_STATE" />
233    <uses-permission android:name="android.permission.MANAGE_ACTIVITY_TASKS" />
234    <uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS" />
235    <uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
236    <uses-permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND" />
237    <uses-permission android:name="android.permission.ACTIVITY_EMBEDDING" />
238    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
239    <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
240    <uses-permission android:name="android.permission.MANAGE_AUTO_FILL" />
241    <uses-permission android:name="android.permission.MANAGE_CONTENT_CAPTURE" />
242    <uses-permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS" />
243    <uses-permission android:name="android.permission.MANAGE_APP_PREDICTIONS" />
244    <uses-permission android:name="android.permission.MANAGE_SEARCH_UI" />
245    <uses-permission android:name="android.permission.MANAGE_SMARTSPACE" />
246    <uses-permission android:name="android.permission.MANAGE_UI_TRANSLATION" />
247    <uses-permission android:name="android.permission.NETWORK_SETTINGS" />
248    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
249    <uses-permission android:name="android.permission.SET_TIME" />
250    <uses-permission android:name="android.permission.SET_TIME_ZONE" />
251    <uses-permission android:name="android.permission.DISABLE_HIDDEN_API_CHECKS" />
252    <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />
253    <uses-permission android:name="android.permission.BYPASS_ROLE_QUALIFICATION" />
254    <uses-permission android:name="android.permission.OBSERVE_ROLE_HOLDERS" />
255    <uses-permission android:name="android.permission.STATUS_BAR_SERVICE" />
256    <uses-permission android:name="android.permission.STATUS_BAR" />
257    <!-- Permission needed to rename bugreport notifications (so they're not shown as Shell) -->
258    <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
259    <uses-permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE" />
260    <!-- Permission needed to hold a wakelock in dumpstate.cpp (drop_root_user()) -->
261    <uses-permission android:name="android.permission.WAKE_LOCK" />
262    <!-- Permission needed to enable/disable overlays -->
263    <uses-permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES" />
264    <!-- Permission needed to access privileged VR APIs -->
265    <uses-permission android:name="android.permission.RESTRICTED_VR_ACCESS" />
266    <uses-permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE" />
267    <uses-permission android:name="android.permission.SET_HARMFUL_APP_WARNINGS" />
268    <uses-permission android:name="android.permission.MANAGE_SENSORS" />
269    <uses-permission android:name="android.permission.MANAGE_AUDIO_POLICY" />
270    <uses-permission android:name="android.permission.QUERY_AUDIO_STATE" />
271    <uses-permission android:name="android.permission.MANAGE_CAMERA" />
272    <!-- Permissions needed to test system only camera devices -->
273    <uses-permission android:name="android.permission.CAMERA" />
274    <uses-permission android:name="android.permission.BACKGROUND_CAMERA" />
275    <uses-permission android:name="android.permission.SYSTEM_CAMERA" />
276      <!-- Permissions needed to test onCameraOpened/Closed callbacks -->
277    <uses-permission android:name="android.permission.CAMERA_OPEN_CLOSE_LISTENER" />
278    <!-- Permissions needed for CTS camera test: RecordingTest.java when assuming shell id -->
279    <uses-permission android:name="android.permission.RECORD_AUDIO" />
280    <uses-permission android:name="android.permission.RECORD_BACKGROUND_AUDIO" />
281
282    <!-- Permission needed to enable/disable Bluetooth/Wifi -->
283    <uses-permission android:name="android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED" />
284    <uses-permission android:name="android.permission.MANAGE_WIFI_WHEN_WIRELESS_CONSENT_REQUIRED" />
285    <!-- Permission needed to invoke DynamicSystem (AOT) -->
286    <uses-permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM" />
287    <!-- Used to clean up heap dumps on boot. -->
288    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
289
290
291    <uses-permission android:name="android.permission.CONTROL_KEYGUARD" />
292    <uses-permission android:name="android.permission.SUSPEND_APPS" />
293    <uses-permission android:name="android.permission.OBSERVE_APP_USAGE" />
294    <uses-permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND" />
295    <!-- Permission needed to wipe the device for Test Harness Mode -->
296    <uses-permission android:name="android.permission.ENABLE_TEST_HARNESS_MODE" />
297
298    <!-- Permissions required to test CompanionDeviceManager teses in CTS -->
299    <uses-permission android:name="android.permission.MANAGE_COMPANION_DEVICES" />
300    <uses-permission android:name="android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS" />
301
302    <uses-permission android:name="android.permission.MANAGE_APPOPS" />
303    <uses-permission android:name="android.permission.WATCH_APPOPS" />
304
305    <!-- Permission required for IncrementalLogCollectionTest -->
306    <uses-permission android:name="android.permission.LOADER_USAGE_STATS" />
307
308    <!-- Permission required for storage tests - FuseDaemonHostTest -->
309    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
310
311    <!-- Permission needed to run network tests in CTS -->
312    <uses-permission android:name="android.permission.MANAGE_TEST_NETWORKS" />
313    <!-- Permission needed to test tcp keepalive offload. -->
314    <uses-permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD" />
315
316    <!-- Permission needed for CTS test - UnsupportedErrorDialogTests -->
317    <uses-permission android:name="android.permission.RESET_APP_ERRORS" />
318
319    <!-- Permission needed for CTS test - CtsSystemUiTestCases:PipNotificationTests -->
320    <uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT" />
321
322    <!-- Permission needed to run keyguard manager tests in CTS -->
323    <uses-permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS" />
324
325    <!-- Permission needed to set/clear/verify lockscreen credentials in CTS tests -->
326    <uses-permission android:name="android.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS" />
327
328    <!-- Permission needed to test wallpaper component -->
329    <uses-permission android:name="android.permission.SET_WALLPAPER" />
330    <uses-permission android:name="android.permission.SET_WALLPAPER_COMPONENT" />
331
332    <!-- Permission required to test ContentResolver caching. -->
333    <uses-permission android:name="android.permission.CACHE_CONTENT" />
334
335    <!-- Permission required to test ExplicitHealthCheckServiceImpl. -->
336    <uses-permission android:name="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE" />
337
338    <!-- Permission required for CTS test - CrossProfileAppsHostSideTest -->
339    <uses-permission android:name="android.permission.INTERACT_ACROSS_PROFILES"/>
340
341    <!-- permissions required for CTS test - PhoneStateListenerTest -->
342    <uses-permission android:name="android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH" />
343
344    <!-- Permissions required for granting and logging -->
345    <uses-permission android:name="android.permission.LOG_COMPAT_CHANGE"/>
346    <uses-permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"/>
347    <uses-permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG"/>
348    <uses-permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD"/>
349
350    <!-- Permission required for CTS test - BatterySaverTest -->
351    <uses-permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"/>
352
353    <!-- Permission required for CTS test - UiModeManagerTest -->
354    <uses-permission android:name="android.permission.ENTER_CAR_MODE_PRIORITIZED"/>
355    <uses-permission android:name="android.permission.READ_PROJECTION_STATE"/>
356
357    <!-- Permission required for CTS tests - UiModeManagerTest, CarModeInCallServiceTest -->
358    <uses-permission android:name="android.permission.TOGGLE_AUTOMOTIVE_PROJECTION"/>
359
360    <!-- Permission required for CTS test - SystemConfigTest -->
361    <uses-permission android:name="android.permission.READ_CARRIER_APP_INFO"/>
362
363    <!-- Permission required for CTS test - CarModeInCallServiceTest -->
364    <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
365
366    <!-- Permission requried for CTS test - CellBroadcastIntentsTest -->
367    <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS"/>
368
369    <!-- Permission required for CTS test - TetheringManagerTest -->
370    <uses-permission android:name="android.permission.TETHER_PRIVILEGED"/>
371
372    <!-- Permission required for CTS test - CtsOsTestCases -->
373    <uses-permission android:name="android.permission.MANAGE_CRATES"/>
374
375    <!-- Allows setting brightness from the shell -->
376    <uses-permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS"/>
377
378    <!-- Permission required for CTS test - ShortcutManagerUsageTest -->
379    <uses-permission android:name="android.permission.ACCESS_SHORTCUTS"/>
380
381    <!-- Permissions required for CTS test - UsageStatsTest -->
382    <uses-permission android:name="android.permission.MANAGE_NOTIFICATIONS"/>
383    <uses-permission android:name="android.permission.ACCESS_LOCUS_ID_USAGE_STATS"/>
384
385    <!-- Permission needed for CTS test - MusicRecognitionManagerTest -->
386    <uses-permission android:name="android.permission.MANAGE_MUSIC_RECOGNITION" />
387
388    <!-- Permission needed for CTS test - CtsVoiceRecognitionTestCases -->
389    <uses-permission android:name="android.permission.MANAGE_SPEECH_RECOGNITION" />
390
391    <!-- Permissions required to test ambient display. -->
392    <uses-permission android:name="android.permission.READ_DREAM_STATE"/>
393    <uses-permission android:name="android.permission.WRITE_DREAM_STATE"/>
394
395    <!-- Permission required for CTS test - CtsLightsManagerTest -->
396    <uses-permission android:name="android.permission.CONTROL_DEVICE_LIGHTS" />
397
398    <!-- Permission needed to test mainline permission module rollback -->
399    <uses-permission android:name="android.permission.UPGRADE_RUNTIME_PERMISSIONS" />
400
401    <!-- Permission needed to restart WiFi Subsystem -->
402    <uses-permission android:name="android.permission.RESTART_WIFI_SUBSYSTEM" />
403
404    <!-- Permission needed to read wifi network credentials for CtsNetTestCases -->
405    <uses-permission android:name="android.permission.READ_WIFI_CREDENTIAL" />
406
407    <!-- Permission needed to use wifi usability API's for CtsNetTestCases -->
408    <uses-permission android:name="android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE" />
409
410    <!-- Permission needed to test registering pull atom callbacks -->
411    <uses-permission android:name="android.permission.REGISTER_STATS_PULL_ATOM" />
412
413    <!-- Permission needed to modify settings overrideable by restore in CTS tests -->
414    <uses-permission android:name="android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE" />
415
416    <!-- Permission required for testing system audio effect APIs. -->
417    <uses-permission android:name="android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS"/>
418
419    <!-- Permission required for running networking unit tests -->
420    <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS" />
421
422    <!-- Permission required for CTS test - CtsHostsideNetworkTests -->
423    <uses-permission android:name="android.permission.OBSERVE_NETWORK_POLICY" />
424
425    <!-- Permissions required for CTS test - TunerTest -->
426    <uses-permission android:name="android.permission.ACCESS_TV_DESCRAMBLER" />
427    <uses-permission android:name="android.permission.ACCESS_TV_TUNER" />
428    <uses-permission android:name="android.permission.TUNER_RESOURCE_ACCESS" />
429
430    <!-- Permissions required for CTS test - AutoRevokeTest -->
431    <uses-permission android:name="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS" />
432
433    <!-- Permissions needed to test shared libraries -->
434    <uses-permission android:name="android.permission.ACCESS_SHARED_LIBRARIES" />
435
436    <!-- Permissions required for CTS test - TVInputManagerTest -->
437    <uses-permission android:name="android.permission.ACCESS_TUNED_INFO" />
438    <uses-permission android:name="android.permission.TV_INPUT_HARDWARE" />
439    <uses-permission android:name="com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS" />
440    <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA"/>
441
442    <!-- Permission needed for CTS test - PrivilegedLocationPermissionTest -->
443    <uses-permission android:name="android.permission.LOCATION_HARDWARE" />
444
445    <!-- Permissions required for GTS test - GtsDialerAudioTestCases -->
446    <uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />
447
448    <!-- Permissions required for CTS test - AdbManagerTest -->
449    <uses-permission android:name="android.permission.MANAGE_DEBUGGING" />
450
451    <!-- Permission required for CTS test - CtsTelephonyTestCases -->
452    <uses-permission android:name="android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE" />
453
454    <!-- Permission required for CTS test - CtsTelephonyTestCases -->
455    <uses-permission android:name="android.permission.PERFORM_IMS_SINGLE_REGISTRATION" />
456
457    <!-- Permission needed for CTS test - DisplayTest -->
458    <uses-permission android:name="android.permission.OVERRIDE_DISPLAY_MODE_REQUESTS" />
459
460    <!-- Permission needed for CTS test - MatchContentFrameRateTest -->
461    <uses-permission android:name="android.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE" />
462
463    <!-- Permissions needed for CTS test - TimeManagerTest -->
464    <uses-permission android:name="android.permission.MANAGE_TIME_AND_ZONE_DETECTION" />
465    <uses-permission android:name="android.permission.SUGGEST_EXTERNAL_TIME" />
466
467    <!-- Permission required for CTS test - android.server.biometrics -->
468    <uses-permission android:name="android.permission.USE_BIOMETRIC" />
469
470    <!-- Permission required for CTS test - android.server.biometrics -->
471    <uses-permission android:name="android.permission.TEST_BIOMETRIC" />
472
473    <!-- Permissions required for CTS test - NotificationManagerTest -->
474    <uses-permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS" />
475
476    <!-- Permissions required for CTS test - CtsContactsProviderTestCases -->
477    <uses-permission android:name="android.contacts.permission.MANAGE_SIM_ACCOUNTS" />
478
479    <!-- Permissions required for CTS test - CarrierMessagingServiceWrapprTest -->
480    <uses-permission android:name="android.permission.BIND_CARRIER_SERVICES" />
481
482    <!-- Allows overriding the system's device state from the shell -->
483    <uses-permission android:name="android.permission.CONTROL_DEVICE_STATE"/>
484
485    <!-- Permissions required for CTS tests to close system dialogs -->
486    <uses-permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS" />
487
488    <!-- Permissions required for CTS test - HideOverlayWindowsTest -->
489    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
490    <uses-permission android:name="android.permission.SYSTEM_APPLICATION_OVERLAY"/>
491
492    <!-- Permission required for CTS test - CtsHdmiCecHostTestCases -->
493    <uses-permission android:name="android.permission.HDMI_CEC" />
494
495    <!-- Permission needed for CTS test - MediaPlayerTest -->
496    <uses-permission android:name="android.permission.BIND_IMS_SERVICE" />
497
498    <!-- Permission needed for CTS test - WifiManagerTest -->
499    <uses-permission android:name="android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS" />
500    <uses-permission android:name="android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS" />
501
502    <!-- Permission required for CTS tests to enable/disable rate limiting toasts. -->
503    <uses-permission android:name="android.permission.MANAGE_TOAST_RATE_LIMITING" />
504
505    <!-- Permission required for CTS to test sensor privacy behavior -->
506    <uses-permission android:name="android.permission.MANAGE_SENSOR_PRIVACY" />
507    <uses-permission android:name="android.permission.OBSERVE_SENSOR_PRIVACY" />
508
509    <!-- Permission needed for CTS test - CallLogTest -->
510    <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" />
511
512    <!-- Permission required for GTS test - GtsAssistIntentTestCases -->
513    <uses-permission android:name="android.permission.MANAGE_SOUND_TRIGGER" />
514    <uses-permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD" />
515    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
516    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
517    <uses-permission android:name="android.permission.BIND_RESUME_ON_REBOOT_SERVICE" />
518
519    <!-- Permission required for CTS test - CtsRebootReadinessTestCases -->
520    <uses-permission android:name="android.permission.SIGNAL_REBOOT_READINESS" />
521
522    <!-- Permission required for CTS test - PeopleManagerTest -->
523    <uses-permission android:name="android.permission.READ_PEOPLE_DATA" />
524
525    <!-- Permission required for CTS test - CtsGameManagerTestCases -->
526    <uses-permission android:name="android.permission.MANAGE_GAME_MODE" />
527
528    <!-- Permission required for CTS test - ClipboardManagerTest -->
529    <uses-permission android:name="android.permission.SET_CLIP_SOURCE" />
530
531    <!-- Permission required for CTS test - FontManagerTest -->
532    <uses-permission android:name="android.permission.UPDATE_FONTS" />
533
534    <!-- Permission required for Launcher testing - DigitalWellbeingToastTest -->
535    <uses-permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"/>
536
537    <!-- Permission required for hotword detection service CTS tests -->
538    <uses-permission android:name="android.permission.MANAGE_HOTWORD_DETECTION" />
539    <uses-permission android:name="android.permission.BIND_HOTWORD_DETECTION_SERVICE" />
540
541    <uses-permission android:name="android.permission.MANAGE_APP_HIBERNATION"/>
542
543    <!-- Permission required for CTS test - ResourceObserverNativeTest -->
544    <uses-permission android:name="android.permission.REGISTER_MEDIA_RESOURCE_OBSERVER" />
545
546    <!-- Permission required for CTS test - CtsPermission5TestCases -->
547    <uses-permission android:name="android.permission.RENOUNCE_PERMISSIONS" />
548
549    <!-- Permission required for CTS test - android.widget.cts.ToastTest -->
550    <uses-permission android:name="android.permission.UNLIMITED_TOASTS" />
551
552    <!-- Permission required for CTS test - CtsAlarmManagerTestCases -->
553    <uses-permission android:name="android.permission.SCHEDULE_PRIORITIZED_ALARM" />
554
555    <!-- Permission required for CTS test - SystemMediaRouter2Test -->
556    <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
557
558    <!-- Permission required for CTS test - CtsRotationResolverServiceDeviceTestCases -->
559    <uses-permission android:name="android.permission.MANAGE_ROTATION_RESOLVER" />
560
561    <!-- Permission required for CTS test - CtsUwbTestCases -->
562    <uses-permission android:name="android.permission.UWB_PRIVILEGED" />
563    <uses-permission android:name="android.permission.UWB_RANGING" />
564
565    <!-- Permission required for CTS test - CtsAlarmManagerTestCases -->
566    <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />
567
568    <!-- Permission required for CTS test - GlobalSearchSessionPlatformCtsTests -->
569    <uses-permission android:name="android.permission.READ_GLOBAL_APP_SEARCH_DATA" />
570
571    <!-- Permission required for GTS test - PendingSystemUpdateTest -->
572    <uses-permission android:name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE" />
573
574    <application android:label="@string/app_label"
575                android:theme="@android:style/Theme.DeviceDefault.DayNight"
576                android:defaultToDeviceProtectedStorage="true"
577                android:directBootAware="true">
578        <provider
579            android:name="androidx.core.content.FileProvider"
580            android:authorities="com.android.shell"
581            android:grantUriPermissions="true"
582            android:exported="false">
583            <meta-data
584                android:name="android.support.FILE_PROVIDER_PATHS"
585                android:resource="@xml/file_provider_paths" />
586        </provider>
587
588        <provider
589            android:name=".BugreportStorageProvider"
590            android:authorities="com.android.shell.documents"
591            android:grantUriPermissions="true"
592            android:exported="true"
593            android:permission="android.permission.MANAGE_DOCUMENTS"
594            android:enabled="false">
595            <intent-filter>
596                <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
597            </intent-filter>
598        </provider>
599
600        <provider android:name=".HeapDumpProvider"
601                  android:authorities="com.android.shell.heapdump"
602                  android:grantUriPermissions="true"
603                  android:exported="false" />
604
605        <activity
606            android:name=".BugreportWarningActivity"
607            android:theme="@*android:style/Theme.DeviceDefault.Dialog.Alert.DayNight"
608            android:finishOnCloseSystemDialogs="true"
609            android:excludeFromRecents="true"
610            android:exported="false" />
611
612        <activity android:name=".HeapDumpActivity"
613                  android:theme="@*android:style/Theme.Translucent.NoTitleBar"
614                  android:label="@*android:string/dump_heap_title"
615                  android:finishOnCloseSystemDialogs="true"
616                  android:noHistory="true"
617                  android:excludeFromRecents="true"
618                  android:exported="false" />
619
620        <receiver
621            android:name=".BugreportRequestedReceiver"
622            android:exported="true"
623            android:permission="android.permission.TRIGGER_SHELL_BUGREPORT">
624            <intent-filter>
625                <action android:name="com.android.internal.intent.action.BUGREPORT_REQUESTED" />
626            </intent-filter>
627        </receiver>
628
629        <receiver
630            android:name=".HeapDumpReceiver"
631            android:exported="true"
632            android:permission="android.permission.DUMP">
633            <intent-filter>
634                <action android:name="android.intent.action.BOOT_COMPLETED" />
635                <action android:name="com.android.internal.intent.action.HEAP_DUMP_FINISHED" />
636                <action android:name="com.android.shell.action.DELETE_HEAP_DUMP" />
637            </intent-filter>
638        </receiver>
639
640        <service
641            android:name=".BugreportProgressService"
642            android:exported="false"/>
643    </application>
644</manifest>
645