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