1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4 * Copyright (c) 2014 Google Inc.
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.SEND_SMS" />
27    <uses-permission android:name="android.permission.CALL_PHONE" />
28    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
29    <uses-permission android:name="android.permission.READ_CONTACTS" />
30    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
31    <uses-permission android:name="android.permission.READ_CALENDAR" />
32    <uses-permission android:name="android.permission.WRITE_CALENDAR" />
33    <uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
34    <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
35    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
36    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
37    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
38    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
39    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
40    <uses-permission android:name="android.permission.BLUETOOTH" />
41    <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
42    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
43    <!-- System tool permissions granted to the shell. -->
44    <uses-permission android:name="android.permission.REAL_GET_TASKS" />
45    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
46    <uses-permission android:name="android.permission.REORDER_TASKS" />
47    <uses-permission android:name="android.permission.SET_ANIMATION_SCALE" />
48    <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" />
49    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
50    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
51    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
52    <!-- Development tool permissions granted to the shell. -->
53    <uses-permission android:name="android.permission.SET_DEBUG_APP" />
54    <uses-permission android:name="android.permission.SET_PROCESS_LIMIT" />
55    <uses-permission android:name="android.permission.SET_ALWAYS_FINISH" />
56    <uses-permission android:name="android.permission.DUMP" />
57    <uses-permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES" />
58    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
59    <!-- Internal permissions granted to the shell. -->
60    <uses-permission android:name="android.permission.FORCE_BACK" />
61    <uses-permission android:name="android.permission.BATTERY_STATS" />
62    <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
63    <uses-permission android:name="android.permission.INJECT_EVENTS" />
64    <uses-permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT" />
65    <uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER" />
66    <uses-permission android:name="android.permission.READ_INPUT_STATE" />
67    <uses-permission android:name="android.permission.SET_ORIENTATION" />
68    <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
69    <uses-permission android:name="android.permission.MOVE_PACKAGE" />
70    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
71    <uses-permission android:name="android.permission.DELETE_CACHE_FILES" />
72    <uses-permission android:name="android.permission.DELETE_PACKAGES" />
73    <uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" />
74    <uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
75    <uses-permission android:name="android.permission.DEVICE_POWER" />
76    <uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER" />
77    <uses-permission android:name="android.permission.BACKUP" />
78    <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />
79    <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
80    <uses-permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" />
81    <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS" />
82    <uses-permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS" />
83    <uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS" />
84    <uses-permission android:name="android.permission.SET_KEYBOARD_LAYOUT" />
85    <uses-permission android:name="android.permission.GET_DETAILED_TASKS" />
86    <uses-permission android:name="android.permission.SET_SCREEN_COMPATIBILITY" />
87    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
88    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
89    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
90    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
91    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
92    <uses-permission android:name="android.permission.MANAGE_USERS" />
93    <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
94    <uses-permission android:name="android.permission.BLUETOOTH_STACK" />
95    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
96    <uses-permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN" />
97    <uses-permission android:name="android.permission.FRAME_STATS" />
98    <uses-permission android:name="android.permission.BIND_APPWIDGET" />
99    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
100    <uses-permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"/>
101    <uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS" />
102    <uses-permission android:name="android.permission.CHANGE_APP_IDLE_STATE" />
103    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
104    <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" />
105    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
106    <uses-permission android:name="android.permission.REGISTER_CALL_PROVIDER" />
107    <uses-permission android:name="android.permission.REGISTER_CONNECTION_MANAGER" />
108    <uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION" />
109    <uses-permission android:name="android.permission.GET_APP_OPS_STATS" />
110
111    <application android:label="@string/app_label">
112        <provider
113            android:name="android.support.v4.content.FileProvider"
114            android:authorities="com.android.shell"
115            android:grantUriPermissions="true"
116            android:exported="false">
117            <meta-data
118                android:name="android.support.FILE_PROVIDER_PATHS"
119                android:resource="@xml/file_provider_paths" />
120        </provider>
121
122        <provider
123            android:name=".BugreportStorageProvider"
124            android:authorities="com.android.shell.documents"
125            android:grantUriPermissions="true"
126            android:exported="true"
127            android:permission="android.permission.MANAGE_DOCUMENTS"
128            android:enabled="false">
129            <intent-filter>
130                <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
131            </intent-filter>
132        </provider>
133
134        <activity
135            android:name=".BugreportWarningActivity"
136            android:theme="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert"
137            android:finishOnCloseSystemDialogs="true"
138            android:excludeFromRecents="true"
139            android:exported="false" />
140
141        <receiver
142            android:name=".BugreportReceiver"
143            android:permission="android.permission.DUMP">
144            <intent-filter>
145                <action android:name="android.intent.action.BUGREPORT_FINISHED" />
146            </intent-filter>
147        </receiver>
148    </application>
149</manifest>
150