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.WRITE_SECURE_SETTINGS" />
57    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
58    <uses-permission android:name="android.permission.MANAGE_SAFETY_CENTER" />
59    <uses-permission android:name="android.permission.READ_SAFETY_CENTER_STATUS" />
60    <uses-permission android:name="android.permission.SEND_SAFETY_CENTER_UPDATE" />
61    <!--SYSTEM_APPLICATION_OVERLAY will be granted on T+, as installer protection is added in T -->
62    <uses-permission android:name="android.permission.SYSTEM_APPLICATION_OVERLAY"/>
63    <uses-permission android:name="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK" />
64    <uses-permission android:name="android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS"/>
65    <uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS" />
66    <uses-permission android:name="android.permission.READ_APP_SPECIFIC_LOCALES" />
67    <uses-permission android:name="android.permission.GET_APP_METADATA" />
68    <uses-permission android:name="android.permission.NFC_PREFERRED_PAYMENT_INFO" />
69    <uses-permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" />
70    <uses-permission android:name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER" />
71    <uses-permission android:name="android.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION" />
72
73    <application android:name="com.android.permissioncontroller.PermissionControllerApplication"
74            android:label="@string/app_name"
75            android:icon="@drawable/ic_permission_controller_app_icon"
76            android:allowBackup="false"
77            android:allowClearUserData="false"
78            android:supportsRtl="true"
79            android:defaultToDeviceProtectedStorage="true"
80            android:forceQueryable="true"
81            android:directBootAware="true"
82            android:theme="@style/FilterTouches">
83
84        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$SetupPeriodicBackgroundLocationAccessCheck"
85                  android:exported="true">
86            <intent-filter>
87                <action android:name="android.intent.action.BOOT_COMPLETED" />
88                <action android:name="com.android.permissioncontroller.action.SET_UP_LOCATION_ACCESS_CHECK" />
89            </intent-filter>
90        </receiver>
91
92        <receiver
93            android:name="com.android.permissioncontroller.privacysources.SetupPeriodicNotificationListenerCheck"
94            android:enabled="@bool/is_at_least_t"
95            android:exported="true">
96            <intent-filter>
97                <action android:name="android.intent.action.BOOT_COMPLETED" />
98                <action android:name="com.android.permissioncontroller.action.SET_UP_NOTIFICATION_LISTENER_CHECK" />
99            </intent-filter>
100        </receiver>
101
102        <receiver android:name="com.android.permissioncontroller.hibernation.HibernationBroadcastReceiver"
103                  android:exported="true">
104            <intent-filter>
105                <action android:name="android.intent.action.BOOT_COMPLETED" />
106                <action android:name="com.android.permissioncontroller.action.SET_UP_HIBERNATION" />
107                <action android:name="android.intent.action.TIME_SET" />
108                <action android:name="android.intent.action.TIMEZONE_CHANGED" />
109            </intent-filter>
110        </receiver>
111
112        <receiver android:name="com.android.permissioncontroller.hibernation.DismissHandler"
113            android:enabled="@bool/is_at_least_t"/>
114
115        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$NotificationDeleteHandler" />
116
117        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$NotificationClickHandler" />
118
119        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$SafetyCenterPrimaryActionHandler"
120                  android:enabled="@bool/is_at_least_t" />
121
122        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$WarningCardDismissalHandler"
123                  android:enabled="@bool/is_at_least_t"/>
124
125        <receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$PackageResetHandler"
126                  android:exported="true">
127            <intent-filter>
128                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
129                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
130                <data android:scheme="package" />
131            </intent-filter>
132        </receiver>
133
134        <receiver
135            android:name="com.android.permissioncontroller.privacysources.NotificationListenerCheckNotificationDeleteHandler"
136            android:enabled="@bool/is_at_least_t" />
137
138        <receiver
139            android:name="com.android.permissioncontroller.privacysources.DisableNotificationListenerComponentHandler"
140            android:enabled="@bool/is_at_least_t" />
141
142        <receiver
143            android:name="com.android.permissioncontroller.privacysources.NotificationListenerActionCardDismissalReceiver"
144            android:enabled="@bool/is_at_least_t" />
145
146        <receiver
147            android:name="com.android.permissioncontroller.privacysources.NotificationListenerPackageResetHandler"
148            android:enabled="@bool/is_at_least_t"
149            android:exported="true">
150            <intent-filter>
151                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
152                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
153                <data android:scheme="package" />
154            </intent-filter>
155        </receiver>
156
157        <receiver
158            android:name="com.android.permissioncontroller.privacysources.SafetyCenterReceiver"
159            android:enabled="@bool/is_at_least_t"
160            android:exported="true">
161            <intent-filter>
162                <action android:name="android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED"/>
163                <action android:name="android.safetycenter.action.REFRESH_SAFETY_SOURCES"/>
164                <action android:name="android.intent.action.BOOT_COMPLETED"/>
165            </intent-filter>
166        </receiver>
167
168        <service android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$LocationAccessCheckJobService"
169                 android:permission="android.permission.BIND_JOB_SERVICE" />
170
171        <service
172            android:name="com.android.permissioncontroller.privacysources.NotificationListenerCheckJobService"
173            android:enabled="@bool/is_at_least_t"
174            android:permission="android.permission.BIND_JOB_SERVICE" />
175
176        <service android:name="com.android.permissioncontroller.hibernation.HibernationJobService"
177                 android:permission="android.permission.BIND_JOB_SERVICE" />
178
179        <service android:name="com.android.permissioncontroller.permission.service.PermissionEventCleanupJobService"
180                 android:permission="android.permission.BIND_JOB_SERVICE" />
181
182        <service
183            android:name="com.android.permissioncontroller.safetycenter.service.SafetyCenterBackgroundRefreshJobService"
184            android:enabled="@bool/is_at_least_t"
185            android:permission="android.permission.BIND_JOB_SERVICE"
186            android:exported="false" />
187
188        <receiver
189            android:name="com.android.permissioncontroller.safetycenter.service.SafetyCenterBackgroundRefreshJobService$SetupSafetyCenterBackgroundRefreshReceiver"
190            android:enabled="@bool/is_at_least_t"
191            android:exported="false">
192            <intent-filter>
193                <action android:name="android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED"/>
194                <action android:name="android.intent.action.BOOT_COMPLETED" />
195            </intent-filter>
196        </receiver>
197
198        <service
199            android:name="com.android.permissioncontroller.permission.service.v34.SafetyLabelChangesJobService"
200            android:enabled="@bool/is_at_least_u"
201            android:permission="android.permission.BIND_JOB_SERVICE"
202            android:exported="false" />
203
204        <receiver
205            android:name="com.android.permissioncontroller.permission.service.v34.SafetyLabelChangesJobService$Receiver"
206            android:enabled="@bool/is_at_least_u"
207            android:exported="true">
208            <intent-filter>
209                <action android:name="android.intent.action.BOOT_COMPLETED" />
210                <action android:name="com.android.permissioncontroller.action.SET_UP_SAFETY_LABEL_CHANGES_JOB" />
211            </intent-filter>
212        </receiver>
213
214        <receiver
215            android:name="com.android.permissioncontroller.permission.service.v34.SafetyLabelChangesJobService$NotificationDeleteHandler"
216            android:enabled="@bool/is_at_least_u">
217        </receiver>
218
219        <receiver
220            android:name="com.android.permissioncontroller.privacysources.AccessibilityOnBootReceiver"
221            android:enabled="@bool/is_at_least_t"
222            android:exported="true">
223            <intent-filter>
224                <action android:name="android.intent.action.BOOT_COMPLETED" />
225                <action android:name="com.android.permissioncontroller.action.SET_UP_ACCESSIBILITY_CHECK" />
226            </intent-filter>
227        </receiver>
228
229        <receiver
230            android:name="com.android.permissioncontroller.privacysources.AccessibilityWarningCardDismissalReceiver"
231            android:enabled="@bool/is_at_least_t" />
232
233        <receiver
234            android:name="com.android.permissioncontroller.privacysources.AccessibilityRemoveAccessHandler"
235            android:enabled="@bool/is_at_least_t" />
236
237        <receiver
238            android:name="com.android.permissioncontroller.privacysources.AccessibilityNotificationDeleteHandler"
239            android:enabled="@bool/is_at_least_t" />
240
241        <receiver
242            android:name="com.android.permissioncontroller.privacysources.AccessibilityPackageResetHandler"
243            android:enabled="@bool/is_at_least_t"
244            android:exported="true">
245            <intent-filter>
246                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
247                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
248                <data android:scheme="package" />
249            </intent-filter>
250        </receiver>
251
252        <receiver
253            android:name="com.android.permissioncontroller.safetylabel.SafetyLabelChangedBroadcastReceiver"
254            android:enabled="@bool/is_at_least_u"
255            android:exported="true">
256            <intent-filter>
257                <action android:name="android.intent.action.PACKAGE_ADDED" />
258                <action android:name="com.android.permissioncontroller.action.PACKAGE_ADDED_PERMISSIONCONTROLLER_FORWARDED" />
259                <data android:scheme="package" />
260            </intent-filter>
261        </receiver>
262
263        <service
264            android:name="com.android.permissioncontroller.privacysources.AccessibilityJobService"
265            android:enabled="@bool/is_at_least_t"
266            android:permission="android.permission.BIND_JOB_SERVICE" />
267
268        <activity android:name="com.android.permissioncontroller.permission.ui.GrantPermissionsActivity"
269                  android:configChanges="keyboardHidden|screenSize"
270                  android:excludeFromRecents="true"
271                  android:exported="true"
272                  android:theme="@style/GrantPermissions.FilterTouches"
273                  android:windowSoftInputMode="stateAlwaysHidden|adjustNothing"
274                  android:visibleToInstantApps="true"
275                  android:inheritShowWhenLocked="true"
276                  android:canDisplayOnRemoteDevices="@bool/is_at_least_v">
277            <intent-filter android:priority="1">
278                <action android:name="android.content.pm.action.REQUEST_PERMISSIONS" />
279                <category android:name="android.intent.category.DEFAULT" />
280            </intent-filter>
281            <intent-filter android:priority="1">
282                <action android:name="android.content.pm.action.REQUEST_PERMISSIONS_FOR_OTHER" />
283                <category android:name="android.intent.category.DEFAULT" />
284            </intent-filter>
285        </activity>
286
287        <activity android:name="com.android.permissioncontroller.permission.ui.PermissionDialogStreamingBlockedActivity"
288            android:theme="@style/PermissionDialog.FilterTouches"
289            android:excludeFromRecents="true"
290            android:exported="false"
291            android:enabled="@bool/is_at_least_v">
292        </activity>
293
294        <activity android:name="com.android.permissioncontroller.ecm.EnhancedConfirmationDialogActivity"
295            android:theme="@style/Theme.EnhancedConfirmationDialog.FilterTouches"
296            android:excludeFromRecents="true"
297            android:exported="true"
298            android:launchMode="singleTop"
299            android:permission="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES"
300            android:enabled="@bool/is_at_least_v">
301            <intent-filter android:priority="1">
302                <action android:name="android.app.ecm.action.SHOW_ECM_RESTRICTED_SETTING_DIALOG" />
303                <category android:name="android.intent.category.DEFAULT" />
304            </intent-filter>
305        </activity>
306
307        <activity android:name="com.android.permissioncontroller.permission.ui.v34.PermissionRationaleActivity"
308                  android:configChanges="keyboardHidden|screenSize"
309                  android:windowSoftInputMode="stateAlwaysHidden|adjustNothing"
310                  android:excludeFromRecents="true"
311                  android:exported="false"
312                  android:theme="@style/GrantPermissions.FilterTouches"
313                  android:visibleToInstantApps="true"
314                  android:inheritShowWhenLocked="true"
315                  android:hardwareAccelerated="false"
316                  android:canDisplayOnRemoteDevices="@bool/is_at_least_v">
317        </activity>
318
319        <activity android:name="com.android.permissioncontroller.permission.ui.ManagePermissionsActivity"
320                  android:configChanges="orientation|keyboardHidden|screenSize"
321                  android:label="@string/app_permissions"
322                  android:exported="true"
323                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches"
324                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
325            <intent-filter android:priority="1">
326                <action android:name="android.intent.action.MANAGE_APP_PERMISSIONS" />
327                <action android:name="android.intent.action.MANAGE_APP_PERMISSION" />
328                <action android:name="android.intent.action.MANAGE_PERMISSION_APPS" />
329                <action android:name="android.intent.action.MANAGE_PERMISSIONS" />
330                <action android:name="android.intent.action.REVIEW_PERMISSION_USAGE" />
331                <action android:name="android.intent.action.REVIEW_PERMISSION_HISTORY" />
332                <action android:name="android.intent.action.MANAGE_UNUSED_APPS" />
333                <action android:name="android.intent.action.REVIEW_APP_DATA_SHARING_UPDATES" />
334                <action android:name="android.permission.action.REVIEW_PERMISSION_DECISIONS"/>
335                <category android:name="android.intent.category.DEFAULT" />
336            </intent-filter>
337        </activity>
338        <activity-alias android:name="com.android.permissioncontroller.permission.ui.ManagePermissionsActivityAlias"
339                        android:configChanges="orientation|keyboardHidden|screenSize"
340                        android:label="@string/app_permissions"
341                        android:exported="true"
342                        android:theme="@style/Theme.PermissionController.Settings.FilterTouches"
343                        android:permission="android.permission.LAUNCH_PERMISSION_SETTINGS"
344                        android:targetActivity="com.android.permissioncontroller.permission.ui.ManagePermissionsActivity">
345            <intent-filter android:priority="1">
346                <action android:name="android.settings.APP_PERMISSIONS_SETTINGS"/>
347                <category android:name="android.intent.category.DEFAULT" />
348            </intent-filter>
349        </activity-alias>
350
351        <activity android:name="com.android.permissioncontroller.permission.ui.ManagePermissionsActivityTrampoline"
352                  android:excludeFromRecents="true"
353                  android:exported="true"
354                  android:noHistory="true"
355                  android:theme="@android:style/Theme.NoDisplay">
356            <intent-filter android:priority="1">
357                <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_PERMISSION_APPS" />
358                <action android:name="com.android.permissioncontroller.settingssearch.action.REVIEW_PERMISSION_USAGE" />
359                <category android:name="android.intent.category.DEFAULT" />
360            </intent-filter>
361        </activity>
362
363        <activity android:name="com.android.permissioncontroller.permission.ui.legacy.AppPermissionActivity"
364                  android:configChanges="orientation|keyboardHidden|screenSize"
365                  android:exported="false"
366                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches"
367                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
368        </activity>
369
370        <activity android:name="com.android.permissioncontroller.permission.ui.ReviewPermissionsActivity"
371                  android:excludeFromRecents="true"
372                  android:exported="true"
373                  android:theme="@style/ReviewPermissions.FilterTouches"
374                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
375            <intent-filter android:priority="1">
376                <action android:name="android.intent.action.REVIEW_PERMISSIONS" />
377                <category android:name="android.intent.category.DEFAULT" />
378            </intent-filter>
379        </activity>
380
381        <activity android:name="com.android.permissioncontroller.safetycenter.ui.SafetyCenterQsActivity"
382                  android:excludeFromRecents="true"
383                  android:launchMode="singleInstance"
384                  android:exported="true"
385                  android:theme="@style/Theme.SafetyCenterQs"
386                  android:permission="android.permission.REVOKE_RUNTIME_PERMISSIONS">
387            <intent-filter android:priority="1">
388                <action android:name="android.intent.action.VIEW_SAFETY_CENTER_QS" />
389                <category android:name="android.intent.category.DEFAULT" />
390            </intent-filter>
391        </activity>
392
393        <activity android:name="com.android.permissioncontroller.permission.ui.LocationProviderInterceptDialog"
394                  android:excludeFromRecents="true"
395                  android:exported="false"
396                  android:theme="@style/PermissionDialog.FilterTouches" />
397
398        <activity android:name="com.android.permissioncontroller.permission.ui.ReviewOngoingUsageActivity"
399                  android:excludeFromRecents="true"
400                  android:exported="true"
401                  android:theme="@style/PermissionDialog"
402                  android:launchMode="singleInstance"
403                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS" >
404            <intent-filter android:priority="1">
405                <action android:name="android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE" />
406                <category android:name="android.intent.category.DEFAULT" />
407            </intent-filter>
408        </activity>
409
410        <activity android:name="com.android.permissioncontroller.permission.ui.ReviewAccessibilityServicesActivity"
411                  android:excludeFromRecents="true"
412                  android:exported="true"
413                  android:theme="@style/PermissionDialog.FilterTouches"
414                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS" >
415            <intent-filter android:priority="1">
416                <action android:name="android.intent.action.REVIEW_ACCESSIBILITY_SERVICES" />
417                <category android:name="android.intent.category.DEFAULT" />
418            </intent-filter>
419        </activity>
420
421        <activity android:name="com.android.permissioncontroller.role.ui.RequestRoleActivity"
422                  android:excludeFromRecents="true"
423                  android:exported="true"
424                  android:launchMode="singleTop"
425                  android:theme="@style/RequestRole.FilterTouches">
426            <intent-filter android:priority="1">
427                <action android:name="android.app.role.action.REQUEST_ROLE" />
428                <category android:name="android.intent.category.DEFAULT" />
429            </intent-filter>
430            <intent-filter android:priority="2">
431                <action android:name="android.provider.Telephony.ACTION_CHANGE_DEFAULT" />
432                <category android:name="android.intent.category.DEFAULT" />
433            </intent-filter>
434            <intent-filter android:priority="1001">
435                <action android:name="android.telecom.action.CHANGE_DEFAULT_DIALER" />
436                <category android:name="android.intent.category.DEFAULT" />
437            </intent-filter>
438        </activity>
439
440        <activity android:name="com.android.permissioncontroller.role.ui.DefaultAppListActivity"
441                  android:label="@string/default_apps"
442                  android:exported="true"
443                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
444            <intent-filter android:priority="2">
445                <action android:name="android.settings.MANAGE_DEFAULT_APPS_SETTINGS" />
446                <category android:name="android.intent.category.DEFAULT" />
447            </intent-filter>
448        </activity>
449
450        <activity android:name="com.android.permissioncontroller.role.ui.DefaultAppActivity"
451                  android:exported="true"
452                  android:permission="android.permission.MANAGE_ROLE_HOLDERS"
453                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
454            <intent-filter android:priority="1">
455                <action android:name="android.intent.action.MANAGE_DEFAULT_APP" />
456                <category android:name="android.intent.category.DEFAULT" />
457            </intent-filter>
458        </activity>
459
460        <activity android:name="com.android.permissioncontroller.role.ui.HomeSettingsActivity"
461                  android:excludeFromRecents="true"
462                  android:noHistory="true"
463                  android:exported="true"
464                  android:theme="@android:style/Theme.NoDisplay">
465            <intent-filter android:priority="2">
466                <action android:name="android.settings.HOME_SETTINGS" />
467                <category android:name="android.intent.category.DEFAULT" />
468            </intent-filter>
469        </activity>
470
471        <activity android:name="com.android.permissioncontroller.role.ui.SpecialAppAccessListActivity"
472                  android:label="@string/special_app_access"
473                  android:exported="true"
474                  android:permission="android.permission.MANAGE_ROLE_HOLDERS"
475                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
476            <intent-filter android:priority="1">
477                <action android:name="android.intent.action.MANAGE_SPECIAL_APP_ACCESSES" />
478                <category android:name="android.intent.category.DEFAULT" />
479            </intent-filter>
480        </activity>
481
482        <!-- TODO: Override other Settings intents when we've done migrating them. -->
483        <activity android:name="com.android.permissioncontroller.role.ui.SpecialAppAccessActivity"
484                  android:theme="@style/Theme.PermissionController.Settings.FilterTouches" />
485
486        <activity android:name="com.android.permissioncontroller.role.ui.RoleSearchTrampolineActivity"
487                  android:excludeFromRecents="true"
488                  android:noHistory="true"
489                  android:exported="true"
490                  android:theme="@android:style/Theme.NoDisplay">
491            <intent-filter android:priority="1">
492                <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_DEFAULT_APP" />
493                <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_SPECIAL_APP_ACCESS" />
494                <category android:name="android.intent.category.DEFAULT" />
495            </intent-filter>
496        </activity>
497
498        <activity android:name="com.android.permissioncontroller.role.ui.v35.ChangeDefaultCardEmulationActivity"
499            android:enabled="@bool/is_at_least_v"
500            android:excludeFromRecents="true"
501            android:noHistory="true"
502            android:exported="true"
503            android:theme="@android:style/Theme.NoDisplay">
504            <intent-filter android:priority="1001">
505                <action android:name="android.nfc.cardemulation.action.ACTION_CHANGE_DEFAULT" />
506                <category android:name="android.intent.category.DEFAULT" />
507            </intent-filter>
508        </activity>
509
510        <provider android:name="com.android.permissioncontroller.permission.service.PermissionSearchIndexablesProvider"
511            android:authorities="com.android.permissioncontroller"
512            android:multiprocess="false"
513            android:grantUriPermissions="true"
514            android:permission="android.permission.READ_SEARCH_INDEXABLES"
515            android:exported="true">
516            <intent-filter>
517                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
518            </intent-filter>
519        </provider>
520
521        <provider android:name="com.android.permissioncontroller.role.service.RoleSearchIndexablesProvider"
522                  android:authorities="com.android.permissioncontroller.role"
523                  android:exported="true"
524                  android:grantUriPermissions="true"
525                  android:permission="android.permission.READ_SEARCH_INDEXABLES">
526            <intent-filter>
527                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
528            </intent-filter>
529        </provider>
530
531        <provider android:name="com.android.permissioncontroller.safetycenter.service.SafetyCenterSearchIndexablesProvider"
532            android:authorities="com.android.permissioncontroller.safetycenter"
533            android:enabled="@bool/is_at_least_t"
534            android:multiprocess="false"
535            android:exported="true"
536            android:grantUriPermissions="true"
537            android:permission="android.permission.READ_SEARCH_INDEXABLES">
538            <intent-filter>
539                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
540            </intent-filter>
541        </provider>
542
543        <service android:name="com.android.permissioncontroller.permission.service.PermissionControllerServiceImpl"
544                 android:exported="true"
545                 android:visibleToInstantApps="true">
546            <intent-filter android:priority="1">
547                <action android:name="android.permission.PermissionControllerService"/>
548            </intent-filter>
549        </service>
550
551        <service android:name="com.android.permissioncontroller.permission.service.RuntimePermissionPresenterServiceLegacyImpl"
552                 android:exported="true"
553                 android:permission="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE">
554            <intent-filter android:priority="1">
555                <action android:name="android.permissionpresenterservice.RuntimePermissionPresenterService"/>
556            </intent-filter>
557        </service>
558
559        <service android:name="com.android.role.controller.service.RoleControllerServiceImpl"
560                 android:exported="true">
561            <intent-filter android:priority="1">
562                <action android:name="android.app.role.RoleControllerService"/>
563            </intent-filter>
564        </service>
565
566        <service
567            android:name="com.android.permissioncontroller.permission.service.v33.SafetyCenterQsTileService"
568            android:enabled="@bool/is_at_least_t"
569            android:exported="true"
570            android:label="@string/safety_privacy_qs_tile_title"
571            android:icon ="@drawable/ic_safety_center_shield"
572            android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
573            <intent-filter>
574                <action android:name="android.service.quicksettings.action.QS_TILE" />
575            </intent-filter>
576        </service>
577
578        <service android:name="com.android.permissioncontroller.auto.DrivingDecisionReminderService" />
579
580        <receiver android:name="com.android.permissioncontroller.role.service.ClearUserDeniedReceiver"
581                  android:exported="true">
582            <intent-filter>
583                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
584                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
585                <data android:scheme="package" />
586            </intent-filter>
587        </receiver>
588
589        <receiver android:name="com.android.permissioncontroller.permission.service.PersistedStoragePackageUninstalledReceiver"
590                  android:exported="true">
591            <intent-filter>
592                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
593                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
594                <data android:scheme="package" />
595            </intent-filter>
596        </receiver>
597
598        <receiver android:name="com.android.permissioncontroller.permission.service.PermissionStorageTimeChangeReceiver"
599            android:exported="false">
600            <intent-filter>
601                <action android:name="android.intent.action.BOOT_COMPLETED" />
602                <action android:name="android.intent.action.TIME_SET" />
603            </intent-filter>
604        </receiver>
605
606        <!-- Debug report authorization (bugreport and incident report) -->
607        <receiver android:name="com.android.permissioncontroller.incident.ConfirmationReceiver"
608            android:exported="true">
609            <intent-filter>
610                <action android:name="android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED" />
611            </intent-filter>
612        </receiver>
613
614        <activity android:name="com.android.permissioncontroller.incident.ConfirmationActivity"
615                android:theme="@style/Theme.PermissionController.IncidentReportDialog"
616                android:exported="false"
617                android:excludeFromRecents="true"
618                android:finishOnCloseSystemDialogs="true"
619                android:noHistory="true" />
620
621        <receiver android:name="com.android.permissioncontroller.incident.ApprovalReceiver"
622            android:exported="false" />
623
624        <receiver android:name="com.android.permissioncontroller.permission.service.ExemptRestrictedPermission"
625                  android:exported="false" />
626
627        <activity
628            android:name="com.android.permissioncontroller.safetycenter.ui.SafetyCenterActivity"
629            android:enabled="@bool/is_at_least_t"
630            android:exported="true"
631            android:enableOnBackInvokedCallback="true"
632            android:theme="@style/Theme.SafetyCenter">
633            <intent-filter android:priority="1">
634                <action android:name="android.intent.action.SAFETY_CENTER"/>
635                <action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES"/>
636                <category android:name="android.intent.category.DEFAULT"/>
637            </intent-filter>
638            <!-- Higher priority than the settings version of controls, so this should handle it -->
639            <intent-filter android:priority="100">
640                <action android:name="android.settings.PRIVACY_CONTROLS"/>
641                <category android:name="android.intent.category.DEFAULT" />
642            </intent-filter>
643        </activity>
644
645    </application>
646
647</manifest>
648