• Home
  • 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="330000000"
8  android:versionName="33 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                     android:maxSdkVersion="32" />
49    <uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING" />
50    <uses-permission android:name="android.permission.OBSERVE_SENSOR_PRIVACY" />
51    <!-- TODO(b/170896938): make this privileged(signature may only work on pixel) -->
52    <uses-permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS" />
53    <uses-permission android:name="android.permission.START_VIEW_PERMISSION_USAGE" />
54    <uses-permission android:name="android.permission.MANAGE_APP_HIBERNATION" />
55    <uses-permission android:name="android.permission.MANAGE_SENSOR_PRIVACY" />
56    <uses-permission android:name="android.permission.OBSERVE_SENSOR_PRIVACY" />
57    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
58    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
59    <uses-permission android:name="android.permission.MANAGE_SAFETY_CENTER" />
60    <uses-permission android:name="android.permission.READ_SAFETY_CENTER_STATUS" />
61    <uses-permission android:name="android.permission.SEND_SAFETY_CENTER_UPDATE" />
62    <!--SYSTEM_APPLICATION_OVERLAY will be granted on T+, as installer protection is added in T -->
63    <uses-permission android:name="android.permission.SYSTEM_APPLICATION_OVERLAY"/>
64    <uses-permission android:name="android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS"/>
65
66    <application android:name="com.android.permissioncontroller.PermissionControllerApplication"
67            android:label="@string/app_name"
68            android:icon="@drawable/ic_permission_controller_app_icon"
69            android:allowBackup="false"
70            android:allowClearUserData="false"
71            android:supportsRtl="true"
72            android:defaultToDeviceProtectedStorage="true"
73            android:forceQueryable="true"
74            android:directBootAware="true"
75            android:theme="@style/FilterTouches">
76
77        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$SetupPeriodicBackgroundLocationAccessCheck"
78                  android:exported="true">
79            <intent-filter>
80                <action android:name="android.intent.action.BOOT_COMPLETED" />
81            </intent-filter>
82        </receiver>
83
84        <receiver android:name="com.android.permissioncontroller.hibernation.HibernationOnBootReceiver"
85                  android:exported="true">
86            <intent-filter>
87                <action android:name="android.intent.action.BOOT_COMPLETED" />
88            </intent-filter>
89        </receiver>
90
91        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$NotificationDeleteHandler" />
92
93        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$NotificationClickHandler" />
94
95        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$PackageResetHandler"
96                  android:exported="true">
97            <intent-filter>
98                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
99                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
100                <data android:scheme="package" />
101            </intent-filter>
102        </receiver>
103
104        <receiver android:name="com.android.permissioncontroller.privacysources.SafetyCenterReceiver"
105                  android:exported="true">
106            <intent-filter>
107                <action android:name="android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED"/>
108                <action android:name="android.safetycenter.action.REFRESH_SAFETY_SOURCES"/>
109                <action android:name="android.intent.action.BOOT_COMPLETED"/>
110            </intent-filter>
111        </receiver>
112
113
114        <service android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$LocationAccessCheckJobService"
115                 android:permission="android.permission.BIND_JOB_SERVICE" />
116
117        <service android:name="com.android.permissioncontroller.hibernation.HibernationJobService"
118                 android:permission="android.permission.BIND_JOB_SERVICE" />
119
120        <service android:name="com.android.permissioncontroller.permission.service.v33.PermissionEventCleanupJobService"
121                 android:permission="android.permission.BIND_JOB_SERVICE" />
122
123        <activity android:name="com.android.permissioncontroller.permission.ui.GrantPermissionsActivity"
124                  android:configChanges="keyboardHidden|screenSize"
125                  android:excludeFromRecents="true"
126                  android:exported="true"
127                  android:theme="@style/GrantPermissions.FilterTouches"
128                  android:visibleToInstantApps="true"
129                  android:inheritShowWhenLocked="true"
130                  android:hardwareAccelerated="false"
131                  android:canDisplayOnRemoteDevices="false">
132            <intent-filter android:priority="1">
133                <action android:name="android.content.pm.action.REQUEST_PERMISSIONS" />
134                <category android:name="android.intent.category.DEFAULT" />
135            </intent-filter>
136            <intent-filter android:priority="1">
137                <action android:name="android.content.pm.action.REQUEST_PERMISSIONS_FOR_OTHER" />
138                <category android:name="android.intent.category.DEFAULT" />
139            </intent-filter>
140        </activity>
141
142        <activity android:name="com.android.permissioncontroller.permission.ui.ManagePermissionsActivity"
143                  android:configChanges="orientation|keyboardHidden|screenSize"
144                  android:label="@string/app_permissions"
145                  android:exported="true"
146                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches"
147                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
148            <intent-filter android:priority="1">
149                <action android:name="android.intent.action.MANAGE_APP_PERMISSIONS" />
150                <action android:name="android.intent.action.MANAGE_APP_PERMISSION" />
151                <action android:name="android.intent.action.MANAGE_PERMISSION_APPS" />
152                <action android:name="android.intent.action.MANAGE_PERMISSIONS" />
153                <action android:name="android.intent.action.REVIEW_PERMISSION_USAGE" />
154                <action android:name="android.intent.action.REVIEW_PERMISSION_HISTORY" />
155                <action android:name="android.intent.action.MANAGE_UNUSED_APPS" />
156                <action android:name="android.permission.action.REVIEW_PERMISSION_DECISIONS"/>
157                <category android:name="android.intent.category.DEFAULT" />
158            </intent-filter>
159        </activity>
160
161        <activity android:name="com.android.permissioncontroller.permission.ui.ManagePermissionsActivityTrampoline"
162                  android:excludeFromRecents="true"
163                  android:exported="true"
164                  android:noHistory="true"
165                  android:theme="@android:style/Theme.NoDisplay">
166            <intent-filter android:priority="1">
167                <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_PERMISSION_APPS" />
168                <action android:name="com.android.permissioncontroller.settingssearch.action.REVIEW_PERMISSION_USAGE" />
169                <category android:name="android.intent.category.DEFAULT" />
170            </intent-filter>
171        </activity>
172
173        <activity android:name="com.android.permissioncontroller.permission.ui.legacy.AppPermissionActivity"
174                  android:configChanges="orientation|keyboardHidden|screenSize"
175                  android:exported="false"
176                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches"
177                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
178        </activity>
179
180        <activity android:name="com.android.permissioncontroller.permission.ui.ReviewPermissionsActivity"
181                  android:excludeFromRecents="true"
182                  android:exported="true"
183                  android:theme="@style/ReviewPermissions.FilterTouches"
184                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
185            <intent-filter android:priority="1">
186                <action android:name="android.intent.action.REVIEW_PERMISSIONS" />
187                <category android:name="android.intent.category.DEFAULT" />
188            </intent-filter>
189        </activity>
190
191        <activity android:name="com.android.permissioncontroller.permission.ui.SafetyCenterQsActivity"
192                  android:excludeFromRecents="true"
193                  android:exported="true"
194                  android:theme="@style/SafetyCenter"
195                  android:permission="android.permission.REVOKE_RUNTIME_PERMISSIONS">
196            <intent-filter android:priority="1">
197                <action android:name="android.intent.action.VIEW_SAFETY_CENTER_QS" />
198                <category android:name="android.intent.category.DEFAULT" />
199            </intent-filter>
200        </activity>
201
202        <activity android:name="com.android.permissioncontroller.permission.ui.OverlayWarningDialog"
203                android:excludeFromRecents="true"
204                android:exported="false"
205                android:theme="@style/Theme.AppCompat.DayNight.Dialog.Alert" />
206
207        <activity android:name="com.android.permissioncontroller.permission.ui.LocationProviderInterceptDialog"
208                  android:excludeFromRecents="true"
209                  android:exported="false"
210                  android:theme="@style/PermissionDialog.FilterTouches" />
211
212        <activity android:name="com.android.permissioncontroller.permission.ui.ReviewOngoingUsageActivity"
213                  android:excludeFromRecents="true"
214                  android:exported="true"
215                  android:theme="@style/PermissionDialog"
216                  android:launchMode="singleInstance"
217                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS" >
218            <intent-filter android:priority="1">
219                <action android:name="android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE" />
220                <category android:name="android.intent.category.DEFAULT" />
221            </intent-filter>
222        </activity>
223
224        <activity android:name="com.android.permissioncontroller.permission.ui.ReviewAccessibilityServicesActivity"
225                  android:excludeFromRecents="true"
226                  android:exported="true"
227                  android:theme="@style/PermissionDialog.FilterTouches"
228                  android:permission="android.permission.REVIEW_ACCESSIBILITY_SERVICES" >
229            <intent-filter android:priority="1">
230                <action android:name="android.intent.action.REVIEW_ACCESSIBILITY_SERVICES" />
231                <category android:name="android.intent.category.DEFAULT" />
232            </intent-filter>
233        </activity>
234
235        <activity android:name="com.android.permissioncontroller.role.ui.RequestRoleActivity"
236                  android:excludeFromRecents="true"
237                  android:exported="true"
238                  android:theme="@style/RequestRole.FilterTouches">
239            <intent-filter android:priority="1">
240                <action android:name="android.app.role.action.REQUEST_ROLE" />
241                <category android:name="android.intent.category.DEFAULT" />
242            </intent-filter>
243            <intent-filter android:priority="2">
244                <action android:name="android.provider.Telephony.ACTION_CHANGE_DEFAULT" />
245                <category android:name="android.intent.category.DEFAULT" />
246            </intent-filter>
247            <intent-filter android:priority="1001">
248                <action android:name="android.telecom.action.CHANGE_DEFAULT_DIALER" />
249                <category android:name="android.intent.category.DEFAULT" />
250            </intent-filter>
251        </activity>
252
253        <activity android:name="com.android.permissioncontroller.role.ui.DefaultAppListActivity"
254                  android:label="@string/default_apps"
255                  android:exported="true"
256                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
257            <intent-filter android:priority="2">
258                <action android:name="android.settings.MANAGE_DEFAULT_APPS_SETTINGS" />
259                <category android:name="android.intent.category.DEFAULT" />
260            </intent-filter>
261        </activity>
262
263        <activity android:name="com.android.permissioncontroller.role.ui.DefaultAppActivity"
264                  android:exported="true"
265                  android:permission="android.permission.MANAGE_ROLE_HOLDERS"
266                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
267            <intent-filter android:priority="1">
268                <action android:name="android.intent.action.MANAGE_DEFAULT_APP" />
269                <category android:name="android.intent.category.DEFAULT" />
270            </intent-filter>
271        </activity>
272
273        <activity android:name="com.android.permissioncontroller.role.ui.HomeSettingsActivity"
274                  android:excludeFromRecents="true"
275                  android:noHistory="true"
276                  android:exported="true"
277                  android:theme="@android:style/Theme.NoDisplay">
278            <intent-filter android:priority="2">
279                <action android:name="android.settings.HOME_SETTINGS" />
280                <category android:name="android.intent.category.DEFAULT" />
281            </intent-filter>
282        </activity>
283
284        <activity android:name="com.android.permissioncontroller.role.ui.SpecialAppAccessListActivity"
285                  android:label="@string/special_app_access"
286                  android:exported="true"
287                  android:permission="android.permission.MANAGE_ROLE_HOLDERS"
288                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
289            <intent-filter android:priority="1">
290                <action android:name="android.intent.action.MANAGE_SPECIAL_APP_ACCESSES" />
291                <category android:name="android.intent.category.DEFAULT" />
292            </intent-filter>
293        </activity>
294
295        <!-- TODO: Override other Settings intents when we've done migrating them. -->
296        <activity android:name="com.android.permissioncontroller.role.ui.SpecialAppAccessActivity"
297                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches" />
298
299        <activity android:name="com.android.permissioncontroller.role.ui.RoleSearchTrampolineActivity"
300                  android:excludeFromRecents="true"
301                  android:noHistory="true"
302                  android:exported="true"
303                  android:theme="@android:style/Theme.NoDisplay">
304            <intent-filter android:priority="1">
305                <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_DEFAULT_APP" />
306                <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_SPECIAL_APP_ACCESS" />
307                <category android:name="android.intent.category.DEFAULT" />
308            </intent-filter>
309        </activity>
310
311        <provider android:name="com.android.permissioncontroller.permission.service.PermissionSearchIndexablesProvider"
312            android:authorities="com.android.permissioncontroller"
313            android:multiprocess="false"
314            android:grantUriPermissions="true"
315            android:permission="android.permission.READ_SEARCH_INDEXABLES"
316            android:exported="true">
317            <intent-filter>
318                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
319            </intent-filter>
320        </provider>
321
322        <provider android:name="com.android.permissioncontroller.role.service.RoleSearchIndexablesProvider"
323                  android:authorities="com.android.permissioncontroller.role"
324                  android:exported="true"
325                  android:grantUriPermissions="true"
326                  android:permission="android.permission.READ_SEARCH_INDEXABLES">
327            <intent-filter>
328                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
329            </intent-filter>
330        </provider>
331
332        <service android:name="com.android.permissioncontroller.permission.service.PermissionControllerServiceImpl"
333                 android:exported="true"
334                 android:visibleToInstantApps="true">
335            <intent-filter android:priority="1">
336                <action android:name="android.permission.PermissionControllerService"/>
337            </intent-filter>
338        </service>
339
340        <service android:name="com.android.permissioncontroller.permission.service.RuntimePermissionPresenterServiceLegacyImpl"
341                 android:exported="true"
342                 android:permission="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE">
343            <intent-filter android:priority="1">
344                <action android:name="android.permissionpresenterservice.RuntimePermissionPresenterService"/>
345            </intent-filter>
346        </service>
347
348        <service android:name="com.android.permissioncontroller.role.service.RoleControllerServiceImpl"
349                 android:exported="true">
350            <intent-filter android:priority="1">
351                <action android:name="android.app.role.RoleControllerService"/>
352            </intent-filter>
353        </service>
354
355        <service android:name="com.android.permissioncontroller.auto.DrivingDecisionReminderService" />
356
357        <receiver android:name="com.android.permissioncontroller.role.service.ClearUserDeniedReceiver"
358                  android:exported="true">
359            <intent-filter>
360                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
361                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
362                <data android:scheme="package" />
363            </intent-filter>
364        </receiver>
365
366        <receiver android:name="com.android.permissioncontroller.permission.service.v33.PersistedStoragePackageUninstalledReceiver"
367                  android:exported="true">
368            <intent-filter>
369                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
370                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
371                <data android:scheme="package" />
372            </intent-filter>
373        </receiver>
374
375        <receiver android:name="com.android.permissioncontroller.permission.service.v33.PermissionStorageTimeChangeReceiver"
376            android:exported="false">
377            <intent-filter>
378                <action android:name="android.intent.action.BOOT_COMPLETED" />
379                <action android:name="android.intent.action.TIME_SET" />
380            </intent-filter>
381        </receiver>
382
383        <!-- Debug report authorization (bugreport and incident report) -->
384        <receiver android:name="com.android.permissioncontroller.incident.ConfirmationReceiver"
385            android:exported="true">
386            <intent-filter>
387                <action android:name="android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED" />
388            </intent-filter>
389        </receiver>
390
391        <activity android:name="com.android.permissioncontroller.incident.ConfirmationActivity"
392                android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight"
393                android:exported="false"
394                android:excludeFromRecents="true"
395                android:noHistory="true" />
396
397        <receiver android:name="com.android.permissioncontroller.incident.ApprovalReceiver"
398            android:exported="false" />
399
400        <receiver android:name="com.android.permissioncontroller.permission.service.ExemptRestrictedPermission"
401                  android:exported="false" />
402
403        <activity
404            android:name="com.android.permissioncontroller.safetycenter.ui.SafetyCenterActivity"
405            android:exported="true"
406            android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
407            <intent-filter android:priority="1">
408                <action android:name="android.intent.action.SAFETY_CENTER"/>
409                <category android:name="android.intent.category.DEFAULT"/>
410            </intent-filter>
411        </activity>
412
413    </application>
414
415</manifest>
416