• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<manifest
3  xmlns:android="http://schemas.android.com/apk/res/android"
4  xmlns:tools="http://schemas.android.com/tools"
5  package="com.android.permissioncontroller"
6  coreApp="true"
7  android:versionCode="319999900"
8  android:versionName="31 system image"
9>
10
11    <original-package android:name="com.android.permissioncontroller" />
12
13    <permission android:name="com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER"
14                android:protectionLevel="signature" />
15
16    <uses-permission android:name="android.permission.MANAGE_USERS" />
17    <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS" />
18    <uses-permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS" />
19    <uses-permission android:name="android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY" />
20    <uses-permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS" />
21    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
22    <uses-permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" />
23    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
24    <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES" />
25    <uses-permission android:name="android.permission.GET_APP_OPS_STATS" />
26    <uses-permission android:name="android.permission.KILL_UID" />
27    <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
28    <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
29    <uses-permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS" />
30    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
31    <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
32    <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />
33    <uses-permission android:name="android.permission.OBSERVE_ROLE_HOLDERS" />
34    <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" />
35    <uses-permission android:name="android.permission.ACCESS_SHARED_LIBRARIES" />
36    <uses-permission android:name="com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER" />
37    <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS" />
38    <uses-permission android:name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL" />
39    <uses-permission android:name="android.permission.APPROVE_INCIDENT_REPORTS" />
40    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
41    <uses-permission android:name="android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS" />
42    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
43    <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
44    <uses-permission android:name="android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS" />
45    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
46    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
47    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
48    <uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING" />
49    <!-- TODO(b/170896938): make this privileged(signature may only work on pixel) -->
50    <uses-permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS" />
51    <uses-permission android:name="android.permission.START_VIEW_PERMISSION_USAGE" />
52    <uses-permission android:name="android.permission.MANAGE_APP_HIBERNATION" />
53
54    <application android:name="com.android.permissioncontroller.PermissionControllerApplication"
55            android:label="@string/app_name"
56            android:icon="@drawable/ic_permission_controller_app_icon"
57            android:allowBackup="false"
58            android:allowClearUserData="false"
59            android:supportsRtl="true"
60            android:defaultToDeviceProtectedStorage="true"
61            android:forceQueryable="true"
62            android:directBootAware="true"
63            android:theme="@style/FilterTouches">
64
65        <provider
66            android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer"
67            tools:replace="android:authorities"
68            android:authorities="${applicationId}.lifecycle-process"
69            android:exported="false"
70            android:multiprocess="true" />
71
72        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$SetupPeriodicBackgroundLocationAccessCheck"
73                  android:exported="true">
74            <intent-filter>
75                <action android:name="android.intent.action.BOOT_COMPLETED" />
76            </intent-filter>
77        </receiver>
78
79        <receiver android:name="com.android.permissioncontroller.hibernation.HibernationOnBootReceiver"
80                  android:exported="true">
81            <intent-filter>
82                <action android:name="android.intent.action.BOOT_COMPLETED" />
83            </intent-filter>
84        </receiver>
85
86        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$NotificationDeleteHandler" />
87
88        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$NotificationClickHandler" />
89
90        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$PackageResetHandler"
91                  android:exported="true">
92            <intent-filter>
93                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
94                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
95                <data android:scheme="package" />
96            </intent-filter>
97        </receiver>
98
99        <service android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$LocationAccessCheckJobService"
100                 android:permission="android.permission.BIND_JOB_SERVICE" />
101
102        <service android:name="com.android.permissioncontroller.hibernation.HibernationJobService"
103                 android:permission="android.permission.BIND_JOB_SERVICE" />
104
105        <service android:name="com.android.permissioncontroller.permission.service.AutoRevokeReGrantService"
106                 android:permission="android.permission.BIND_JOB_SERVICE" />
107
108
109        <activity android:name="com.android.permissioncontroller.permission.ui.GrantPermissionsActivity"
110                android:configChanges="keyboardHidden|screenSize"
111                android:excludeFromRecents="true"
112                android:exported="true"
113                android:theme="@style/GrantPermissions.FilterTouches"
114                android:visibleToInstantApps="true"
115                android:inheritShowWhenLocked="true"
116                android:hardwareAccelerated="false">
117            <intent-filter android:priority="1">
118                <action android:name="android.content.pm.action.REQUEST_PERMISSIONS" />
119                <category android:name="android.intent.category.DEFAULT" />
120            </intent-filter>
121        </activity>
122
123        <activity android:name="com.android.permissioncontroller.permission.ui.ManagePermissionsActivity"
124                  android:configChanges="orientation|keyboardHidden|screenSize"
125                  android:label="@string/app_permissions"
126                  android:exported="true"
127                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches"
128                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
129            <intent-filter android:priority="1">
130                <action android:name="android.intent.action.MANAGE_APP_PERMISSIONS" />
131                <action android:name="android.intent.action.MANAGE_APP_PERMISSION" />
132                <action android:name="android.intent.action.MANAGE_PERMISSION_APPS" />
133                <action android:name="android.intent.action.MANAGE_PERMISSIONS" />
134                <action android:name="android.intent.action.REVIEW_PERMISSION_USAGE" />
135                <action android:name="android.intent.action.REVIEW_PERMISSION_HISTORY" />
136                <action android:name="android.intent.action.MANAGE_UNUSED_APPS" />
137                <category android:name="android.intent.category.DEFAULT" />
138            </intent-filter>
139        </activity>
140
141        <activity android:name="com.android.permissioncontroller.permission.ui.ManagePermissionsActivityTrampoline"
142                  android:excludeFromRecents="true"
143                  android:exported="true"
144                  android:noHistory="true"
145                  android:theme="@android:style/Theme.NoDisplay">
146            <intent-filter android:priority="1">
147                <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_PERMISSION_APPS" />
148                <action android:name="com.android.permissioncontroller.settingssearch.action.REVIEW_PERMISSION_USAGE" />
149                <category android:name="android.intent.category.DEFAULT" />
150            </intent-filter>
151        </activity>
152
153        <activity android:name="com.android.permissioncontroller.permission.ui.legacy.AppPermissionActivity"
154                  android:configChanges="orientation|keyboardHidden|screenSize"
155                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches"
156                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
157        </activity>
158
159        <activity android:name="com.android.permissioncontroller.permission.ui.ReviewPermissionsActivity"
160                  android:excludeFromRecents="true"
161                  android:exported="true"
162                  android:theme="@style/ReviewPermissions.FilterTouches"
163                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
164            <intent-filter android:priority="1">
165                <action android:name="android.intent.action.REVIEW_PERMISSIONS" />
166                <category android:name="android.intent.category.DEFAULT" />
167            </intent-filter>
168        </activity>
169
170        <activity android:name="com.android.permissioncontroller.permission.ui.OverlayWarningDialog"
171                android:excludeFromRecents="true"
172                android:theme="@style/Theme.AppCompat.DayNight.Dialog.Alert" />
173
174        <activity android:name="com.android.permissioncontroller.permission.ui.LocationProviderInterceptDialog"
175                  android:excludeFromRecents="true"
176                  android:theme="@style/PermissionDialog.FilterTouches" />
177
178        <activity android:name="com.android.permissioncontroller.permission.ui.ReviewOngoingUsageActivity"
179                  android:excludeFromRecents="true"
180                  android:exported="true"
181                  android:theme="@style/PermissionDialog"
182                  android:launchMode="singleInstance"
183                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS" >
184            <intent-filter android:priority="1">
185                <action android:name="android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE" />
186                <category android:name="android.intent.category.DEFAULT" />
187            </intent-filter>
188        </activity>
189
190        <activity android:name="com.android.permissioncontroller.permission.ui.ReviewAccessibilityServicesActivity"
191                  android:excludeFromRecents="true"
192                  android:exported="true"
193                  android:theme="@style/PermissionDialog.FilterTouches"
194                  android:permission="android.permission.REVIEW_ACCESSIBILITY_SERVICES" >
195            <intent-filter android:priority="1">
196                <action android:name="android.intent.action.REVIEW_ACCESSIBILITY_SERVICES" />
197                <category android:name="android.intent.category.DEFAULT" />
198            </intent-filter>
199        </activity>
200
201        <activity android:name="com.android.permissioncontroller.role.ui.RequestRoleActivity"
202                  android:excludeFromRecents="true"
203                  android:exported="true"
204                  android:theme="@style/RequestRole.FilterTouches">
205            <intent-filter android:priority="1">
206                <action android:name="android.app.role.action.REQUEST_ROLE" />
207                <category android:name="android.intent.category.DEFAULT" />
208            </intent-filter>
209            <intent-filter android:priority="2">
210                <action android:name="android.provider.Telephony.ACTION_CHANGE_DEFAULT" />
211                <category android:name="android.intent.category.DEFAULT" />
212            </intent-filter>
213            <intent-filter android:priority="1001">
214                <action android:name="android.telecom.action.CHANGE_DEFAULT_DIALER" />
215                <category android:name="android.intent.category.DEFAULT" />
216            </intent-filter>
217        </activity>
218
219        <activity android:name="com.android.permissioncontroller.role.ui.DefaultAppListActivity"
220                  android:label="@string/default_apps"
221                  android:exported="true"
222                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
223            <intent-filter android:priority="2">
224                <action android:name="android.settings.MANAGE_DEFAULT_APPS_SETTINGS" />
225                <category android:name="android.intent.category.DEFAULT" />
226            </intent-filter>
227        </activity>
228
229        <activity android:name="com.android.permissioncontroller.role.ui.DefaultAppActivity"
230                  android:exported="true"
231                  android:permission="android.permission.MANAGE_ROLE_HOLDERS"
232                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
233            <intent-filter android:priority="1">
234                <action android:name="android.intent.action.MANAGE_DEFAULT_APP" />
235                <category android:name="android.intent.category.DEFAULT" />
236            </intent-filter>
237        </activity>
238
239        <activity android:name="com.android.permissioncontroller.role.ui.HomeSettingsActivity"
240                  android:excludeFromRecents="true"
241                  android:noHistory="true"
242                  android:exported="true"
243                  android:theme="@android:style/Theme.NoDisplay">
244            <intent-filter android:priority="2">
245                <action android:name="android.settings.HOME_SETTINGS" />
246                <category android:name="android.intent.category.DEFAULT" />
247            </intent-filter>
248        </activity>
249
250        <activity android:name="com.android.permissioncontroller.role.ui.SpecialAppAccessListActivity"
251                  android:label="@string/special_app_access"
252                  android:exported="true"
253                  android:permission="android.permission.MANAGE_ROLE_HOLDERS"
254                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
255            <intent-filter android:priority="1">
256                <action android:name="android.intent.action.MANAGE_SPECIAL_APP_ACCESSES" />
257                <category android:name="android.intent.category.DEFAULT" />
258            </intent-filter>
259        </activity>
260
261        <!-- TODO: Override other Settings intents when we've done migrating them. -->
262        <activity android:name="com.android.permissioncontroller.role.ui.SpecialAppAccessActivity"
263                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches" />
264
265        <activity android:name="com.android.permissioncontroller.role.ui.RoleSearchTrampolineActivity"
266                  android:excludeFromRecents="true"
267                  android:noHistory="true"
268                  android:exported="true"
269                  android:theme="@android:style/Theme.NoDisplay">
270            <intent-filter android:priority="1">
271                <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_DEFAULT_APP" />
272                <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_SPECIAL_APP_ACCESS" />
273                <category android:name="android.intent.category.DEFAULT" />
274            </intent-filter>
275        </activity>
276
277        <provider android:name="com.android.permissioncontroller.permission.service.PermissionSearchIndexablesProvider"
278            android:authorities="com.android.permissioncontroller"
279            android:multiprocess="false"
280            android:grantUriPermissions="true"
281            android:permission="android.permission.READ_SEARCH_INDEXABLES"
282            android:exported="true">
283            <intent-filter>
284                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
285            </intent-filter>
286        </provider>
287
288        <provider android:name="com.android.permissioncontroller.role.service.RoleSearchIndexablesProvider"
289                  android:authorities="com.android.permissioncontroller.role"
290                  android:exported="true"
291                  android:grantUriPermissions="true"
292                  android:permission="android.permission.READ_SEARCH_INDEXABLES">
293            <intent-filter>
294                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
295            </intent-filter>
296        </provider>
297
298        <service android:name="com.android.permissioncontroller.permission.service.PermissionControllerServiceImpl"
299                 android:exported="true"
300                 android:visibleToInstantApps="true">
301            <intent-filter android:priority="1">
302                <action android:name="android.permission.PermissionControllerService"/>
303            </intent-filter>
304        </service>
305
306        <service android:name="com.android.permissioncontroller.permission.service.RuntimePermissionPresenterServiceLegacyImpl"
307                 android:exported="true"
308                 android:permission="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE">
309            <intent-filter android:priority="1">
310                <action android:name="android.permissionpresenterservice.RuntimePermissionPresenterService"/>
311            </intent-filter>
312        </service>
313
314        <service android:name="com.android.permissioncontroller.role.service.RoleControllerServiceImpl"
315                 android:exported="true">
316            <intent-filter android:priority="1">
317                <action android:name="android.app.role.RoleControllerService"/>
318            </intent-filter>
319        </service>
320
321        <receiver android:name="com.android.permissioncontroller.role.service.ClearUserDeniedReceiver"
322                  android:exported="true">
323            <intent-filter>
324                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
325                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
326                <data android:scheme="package" />
327            </intent-filter>
328        </receiver>
329
330        <!-- Debug report authorization (bugreport and incident report) -->
331        <receiver android:name="com.android.permissioncontroller.incident.ConfirmationReceiver"
332            android:exported="true">
333            <intent-filter>
334                <action android:name="android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED" />
335            </intent-filter>
336        </receiver>
337
338        <activity android:name="com.android.permissioncontroller.incident.ConfirmationActivity"
339                android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight"
340                android:exported="false"
341                android:excludeFromRecents="true"
342                android:noHistory="true" />
343
344        <receiver android:name="com.android.permissioncontroller.incident.ApprovalReceiver"
345            android:exported="false" />
346
347        <receiver android:name="com.android.permissioncontroller.permission.service.ExemptRestrictedPermission"
348                  android:exported="false" />
349    </application>
350
351</manifest>
352