1<?xml version="1.0" encoding="utf-8"?> 2 3<!-- Copyright (C) 2018 The Android Open Source Project 4 5 Licensed under the Apache License, Version 2.0 (the "License"" /> 6 you may not use this file except in compliance with the License. 7 You may obtain a copy of the License at 8 9 http://www.apache.org/licenses/LICENSE-2.0 10 11 Unless required by applicable law or agreed to in writing, software 12 distributed under the License is distributed on an "AS IS" BASIS, 13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 See the License for the specific language governing permissions and 15 limitations under the License. 16--> 17 18<roles> 19 20 <permission-set name="phone"> 21 <permission name="android.permission.READ_PHONE_STATE" /> 22 <permission name="android.permission.CALL_PHONE" /> 23 <permission name="android.permission.READ_CALL_LOG" /> 24 <permission name="android.permission.WRITE_CALL_LOG" /> 25 <permission name="com.android.voicemail.permission.ADD_VOICEMAIL" /> 26 <permission name="com.android.voicemail.permission.READ_VOICEMAIL" minSdkVersion="31" /> 27 <permission name="com.android.voicemail.permission.WRITE_VOICEMAIL" minSdkVersion="31" /> 28 <permission name="android.permission.USE_SIP" /> 29 <permission name="android.permission.PROCESS_OUTGOING_CALLS" /> 30 <permission name="android.permission.ANSWER_PHONE_CALLS" /> 31 </permission-set> 32 33 <permission-set name="contacts"> 34 <permission name="android.permission.READ_CONTACTS" /> 35 <permission name="android.permission.WRITE_CONTACTS" /> 36 <permission name="android.permission.GET_ACCOUNTS" /> 37 </permission-set> 38 39 <permission-set name="location"> 40 <permission name="android.permission.ACCESS_COARSE_LOCATION" /> 41 <permission name="android.permission.ACCESS_FINE_LOCATION" /> 42 </permission-set> 43 44 <permission-set name="coarse_location"> 45 <permission name="android.permission.ACCESS_COARSE_LOCATION" /> 46 </permission-set> 47 48 <permission-set name="calendar"> 49 <permission name="android.permission.READ_CALENDAR" /> 50 <permission name="android.permission.WRITE_CALENDAR" /> 51 </permission-set> 52 53 <permission-set name="sms"> 54 <permission name="android.permission.SEND_SMS" /> 55 <permission name="android.permission.RECEIVE_SMS" /> 56 <permission name="android.permission.READ_SMS" /> 57 <permission name="android.permission.RECEIVE_WAP_PUSH" /> 58 <permission name="android.permission.RECEIVE_MMS" /> 59 <permission name="android.permission.READ_CELL_BROADCASTS" /> 60 </permission-set> 61 62 <permission-set name="microphone"> 63 <permission name="android.permission.RECORD_AUDIO" /> 64 </permission-set> 65 66 <permission-set name="camera"> 67 <permission name="android.permission.CAMERA" /> 68 </permission-set> 69 70 <permission-set name="sensors"> 71 <permission name="android.permission.BODY_SENSORS" /> 72 <permission name="android.permission.BODY_SENSORS_BACKGROUND" minSdkVersion="33" /> 73 </permission-set> 74 75 <permission-set name="storage"> 76 <permission name="android.permission.READ_EXTERNAL_STORAGE" /> 77 <permission name="android.permission.WRITE_EXTERNAL_STORAGE" /> 78 <permission name="android.permission.READ_MEDIA_AUDIO" minSdkVersion="33" /> 79 <permission name="android.permission.READ_MEDIA_VIDEO" minSdkVersion="33" /> 80 <permission name="android.permission.READ_MEDIA_IMAGES" minSdkVersion="33" /> 81 </permission-set> 82 83 <permission-set name="nearby_devices"> 84 <permission name="android.permission.BLUETOOTH_ADVERTISE" minSdkVersion="31" /> 85 <permission name="android.permission.BLUETOOTH_CONNECT" minSdkVersion="31" /> 86 <permission name="android.permission.BLUETOOTH_SCAN" minSdkVersion="31" /> 87 </permission-set> 88 89 <permission-set name="notifications"> 90 <permission name="android.permission.POST_NOTIFICATIONS" minSdkVersion="33" /> 91 </permission-set> 92 93 <role 94 name="android.app.role.ASSISTANT" 95 behavior="AssistantRoleBehavior" 96 defaultHolders="config_defaultAssistant" 97 description="@string/role_assistant_description" 98 exclusive="true" 99 fallBackToDefaultHolder="true" 100 showNone="true" 101 label="@string/role_assistant_label" 102 overrideUserWhenGranting="true" 103 requestable="false" 104 shortLabel="@string/role_assistant_short_label"> 105 <required-components> 106 <!-- Qualified components are determined int AssistantRoleBehavior. This comment here is 107 ignored and represents just a rough description 108 109 <any-of> 110 <service permission="android.permission.BIND_VOICE_INTERACTION" 111 supportsAssist="true"> 112 <intent-filter> 113 <action name="android.service.voice.VoiceInteractionService" /> 114 </intent-filter> 115 <meta-data name="android.voice_interaction" 116 optional="false"> 117 required tag in metadata xml: sessionService 118 required tag in metadata xml: recognitionService 119 required tag in metadata xml: supportsAssist = true 120 </meta-data> 121 </service> 122 <activity> 123 <intent-filter> 124 <action name="android.intent.action.ASSIST" /> 125 </intent-filter> 126 </activity> 127 </ any-of> 128 129 --> 130 </required-components> 131 <permissions> 132 <permission-set name="sms" /> 133 <permission name="android.permission.READ_CALL_LOG" /> 134 <permission name="android.permission.ACCESS_BLOBS_ACROSS_USERS" minSdkVersion="31" /> 135 <permission name="android.permission.READ_ASSISTANT_APP_SEARCH_DATA" 136 minSdkVersion="33"/> 137 <permission name="android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE" 138 minSdkVersion="33" /> 139 </permissions> 140 <app-op-permissions> 141 <app-op-permission name="android.permission.SYSTEM_ALERT_WINDOW" /> 142 </app-op-permissions> 143 </role> 144 145 <!--- 146 ~ @see com.android.settings.applications.defaultapps.DefaultBrowserPreferenceController 147 ~ @see com.android.settings.applications.defaultapps.DefaultBrowserPicker 148 ~ @see com.android.server.pm.PackageManagerService.resolveAllBrowserApps(int) 149 ~ @see com.android.server.pm.PackageManagerService.setDefaultBrowserPackageName(String, int) 150 ~ @see com.android.server.pm.permission.DefaultPermissionGrantPolicy.grantDefaultPermissionsToDefaultBrowser(String, int) 151 --> 152 <role 153 name="android.app.role.BROWSER" 154 behavior="BrowserRoleBehavior" 155 defaultHolders="config_defaultBrowser" 156 description="@string/role_browser_description" 157 exclusive="true" 158 label="@string/role_browser_label" 159 overrideUserWhenGranting="true" 160 requestDescription="@string/role_browser_request_description" 161 requestTitle="@string/role_browser_request_title" 162 shortLabel="@string/role_browser_short_label"> 163 <!-- 164 ~ Required components matching is handled in BrowserRoleBehavior because it needs the 165 ~ PackageManager.MATCH_ALL flag and other manual filtering, which cannot fit in our 166 ~ current mechanism easily. 167 --> 168 <!-- 169 <required-components> 170 <activity> 171 <intent-filter> 172 <action name="android.intent.action.VIEW" /> 173 <category name="android.intent.category.BROWSABLE" /> 174 <data scheme="http" /> 175 </intent-filter> 176 </activity> 177 </required-components> 178 --> 179 <!-- 180 ~ Not need to set preferred activity because PackageManager handles browser intents 181 ~ specially. 182 --> 183 </role> 184 185 <!-- 186 ~ @see com.android.settings.applications.defaultapps.DefaultPhonePreferenceController 187 ~ @see com.android.settings.applications.defaultapps.DefaultPhonePicker 188 ~ @see android.telecom.DefaultDialerManager 189 ~ @see com.android.server.pm.permission.DefaultPermissionGrantPolicy.grantDefaultPermissionsToDefaultDialerApp(String, int) 190 ~ @see com.android.server.pm.Settings.setDefaultDialerPackageNameLPw(String, int) 191 --> 192 <role 193 name="android.app.role.DIALER" 194 behavior="DialerRoleBehavior" 195 defaultHolders="config_defaultDialer" 196 description="@string/role_dialer_description" 197 exclusive="true" 198 fallBackToDefaultHolder="true" 199 label="@string/role_dialer_label" 200 overrideUserWhenGranting="true" 201 requestDescription="@string/role_dialer_request_description" 202 requestTitle="@string/role_dialer_request_title" 203 searchKeywords="@string/role_dialer_search_keywords" 204 shortLabel="@string/role_dialer_short_label"> 205 <required-components> 206 <activity> 207 <intent-filter> 208 <action name="android.intent.action.DIAL" /> 209 </intent-filter> 210 </activity> 211 <activity> 212 <intent-filter> 213 <action name="android.intent.action.DIAL" /> 214 <data scheme="tel" /> 215 </intent-filter> 216 </activity> 217 <service minTargetSdkVersion="33" permission="android.permission.BIND_INCALL_SERVICE"> 218 <meta-data name="android.telecom.IN_CALL_SERVICE_UI" value="true" /> 219 <meta-data 220 name="android.telecom.IN_CALL_SERVICE_CAR_MODE_UI" 221 value="true" 222 prohibited="true" /> 223 <intent-filter> 224 <action name="android.telecom.InCallService" /> 225 </intent-filter> 226 </service> 227 </required-components> 228 <permissions> 229 <permission-set name="phone" /> 230 <permission-set name="contacts" /> 231 <permission-set name="sms" /> 232 <permission-set name="microphone" /> 233 <permission-set name="camera" /> 234 <permission-set name="notifications" /> 235 </permissions> 236 <app-op-permissions> 237 <app-op-permission name="android.permission.SYSTEM_ALERT_WINDOW" /> 238 </app-op-permissions> 239 <app-ops> 240 <!-- 241 ~ @see com.android.settings.applications.defaultapps.DefaultPhonePicker#setDefaultKey(String) 242 ~ @see com.android.settings.fuelgauge.BatteryUtils#setForceAppStandby(int, String, int) 243 --> 244 <app-op name="android:run_in_background" maxTargetSdkVersion="25" mode="allowed" /> 245 <app-op name="android:run_any_in_background" mode="allowed" /> 246 </app-ops> 247 <preferred-activities> 248 <preferred-activity> 249 <activity> 250 <intent-filter> 251 <action name="android.intent.action.DIAL" /> 252 </intent-filter> 253 </activity> 254 <intent-filter> 255 <action name="android.intent.action.DIAL" /> 256 </intent-filter> 257 </preferred-activity> 258 <preferred-activity> 259 <activity> 260 <intent-filter> 261 <action name="android.intent.action.DIAL" /> 262 <data scheme="tel" /> 263 </intent-filter> 264 </activity> 265 <intent-filter> 266 <action name="android.intent.action.DIAL" /> 267 <data scheme="tel" /> 268 </intent-filter> 269 </preferred-activity> 270 </preferred-activities> 271 </role> 272 273 <!-- 274 ~ @see com.android.settings.applications.defaultapps.DefaultSmsPreferenceController 275 ~ @see com.android.settings.applications.defaultapps.DefaultSmsPicker 276 ~ @see com.android.internal.telephony.SmsApplication 277 ~ @see com.android.server.pm.permission.DefaultPermissionGrantPolicy.grantDefaultPermissionsToDefaultSmsApp(String, int) 278 --> 279 <role 280 name="android.app.role.SMS" 281 behavior="SmsRoleBehavior" 282 defaultHolders="config_defaultSms" 283 description="@string/role_sms_description" 284 exclusive="true" 285 label="@string/role_sms_label" 286 overrideUserWhenGranting="true" 287 requestDescription="@string/role_sms_request_description" 288 requestTitle="@string/role_sms_request_title" 289 searchKeywords="@string/role_sms_search_keywords" 290 shortLabel="@string/role_sms_short_label"> 291 <required-components> 292 <receiver permission="android.permission.BROADCAST_SMS"> 293 <intent-filter> 294 <action name="android.provider.Telephony.SMS_DELIVER" /> 295 </intent-filter> 296 </receiver> 297 <receiver permission="android.permission.BROADCAST_WAP_PUSH"> 298 <intent-filter> 299 <action name="android.provider.Telephony.WAP_PUSH_DELIVER" /> 300 <data mimeType="application/vnd.wap.mms-message" /> 301 </intent-filter> 302 </receiver> 303 <service permission="android.permission.SEND_RESPOND_VIA_MESSAGE"> 304 <intent-filter> 305 <action name="android.intent.action.RESPOND_VIA_MESSAGE" /> 306 <data scheme="smsto" /> 307 </intent-filter> 308 </service> 309 <activity> 310 <intent-filter> 311 <action name="android.intent.action.SENDTO" /> 312 <data scheme="smsto" /> 313 </intent-filter> 314 </activity> 315 </required-components> 316 <permissions> 317 <permission-set name="phone" /> 318 <permission-set name="contacts" /> 319 <permission-set name="sms" /> 320 <permission-set name="storage" /> 321 <permission-set name="microphone" /> 322 <permission-set name="camera" /> 323 <permission-set name="notifications" /> 324 <permission name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND" minSdkVersion="31" /> 325 </permissions> 326 <app-ops> 327 <app-op name="android:write_sms" mode="allowed" /> 328 <!-- 329 ~ @see com.android.settings.applications.defaultapps.DefaultSmsPicker#setDefaultKey(String) 330 ~ @see com.android.settings.fuelgauge.BatteryUtils#setForceAppStandby(int, String, int) 331 --> 332 <app-op name="android:run_in_background" maxTargetSdkVersion="25" mode="allowed" /> 333 <app-op name="android:run_any_in_background" mode="allowed" /> 334 <app-op name="android:read_device_identifiers" mode="allowed" /> 335 </app-ops> 336 <preferred-activities> 337 <preferred-activity> 338 <activity> 339 <intent-filter> 340 <action name="android.intent.action.SENDTO" /> 341 <data scheme="smsto" /> 342 </intent-filter> 343 </activity> 344 <intent-filter> 345 <action name="android.intent.action.SENDTO" /> 346 <data scheme="sms" /> 347 </intent-filter> 348 <intent-filter> 349 <action name="android.intent.action.SENDTO" /> 350 <data scheme="smsto" /> 351 </intent-filter> 352 <intent-filter> 353 <action name="android.intent.action.SENDTO" /> 354 <data scheme="mms" /> 355 </intent-filter> 356 <intent-filter> 357 <action name="android.intent.action.SENDTO" /> 358 <data scheme="mmsto" /> 359 </intent-filter> 360 </preferred-activity> 361 </preferred-activities> 362 </role> 363 364 <!--- 365 ~ @see com.android.settings.applications.defaultapps.DefaultEmergencyPreferenceController 366 ~ @see com.android.settings.applications.defaultapps.DefaultEmergencyPicker 367 ~ @see com.android.phone.EmergencyAssistanceHelper 368 --> 369 <role 370 name="android.app.role.EMERGENCY" 371 behavior="EmergencyRoleBehavior" 372 description="@string/role_emergency_description" 373 exclusive="true" 374 label="@string/role_emergency_label" 375 overrideUserWhenGranting="true" 376 requestDescription="@string/role_emergency_request_description" 377 requestTitle="@string/role_emergency_request_title" 378 searchKeywords="@string/role_emergency_search_keywords" 379 shortLabel="@string/role_emergency_short_label" 380 systemOnly="true"> 381 <required-components> 382 <activity> 383 <intent-filter> 384 <action name="android.telephony.action.EMERGENCY_ASSISTANCE" /> 385 </intent-filter> 386 </activity> 387 </required-components> 388 <permissions> 389 <permission-set name="notifications" /> 390 <permission name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND" minSdkVersion="31" /> 391 <permission name="android.permission.OBSERVE_SENSOR_PRIVACY" minSdkVersion="31" /> 392 </permissions> 393 </role> 394 395 <!--- 396 ~ @see com.android.settings.applications.defaultapps.DefaultHomePreferenceController 397 ~ @see com.android.settings.applications.defaultapps.DefaultHomePicker 398 ~ @see com.android.server.pm.PackageManagerService#setHomeActivity(ComponentName, int) 399 --> 400 <role 401 name="android.app.role.HOME" 402 behavior="HomeRoleBehavior" 403 description="@string/role_home_description" 404 exclusive="true" 405 label="@string/role_home_label" 406 overrideUserWhenGranting="true" 407 requestDescription="@string/role_home_request_description" 408 requestTitle="@string/role_home_request_title" 409 searchKeywords="@string/role_home_search_keywords" 410 shortLabel="@string/role_home_short_label"> 411 <!-- Also used by HomeRoleBehavior.getFallbackHolder(). --> 412 <required-components> 413 <activity> 414 <intent-filter> 415 <action name="android.intent.action.MAIN" /> 416 <category name="android.intent.category.HOME" /> 417 </intent-filter> 418 </activity> 419 </required-components> 420 <preferred-activities> 421 <preferred-activity> 422 <activity> 423 <intent-filter> 424 <action name="android.intent.action.MAIN" /> 425 <category name="android.intent.category.HOME" /> 426 </intent-filter> 427 </activity> 428 <intent-filter> 429 <action name="android.intent.action.MAIN" /> 430 <category name="android.intent.category.HOME" /> 431 </intent-filter> 432 </preferred-activity> 433 </preferred-activities> 434 <permissions> 435 <permission name="android.permission.READ_HOME_APP_SEARCH_DATA" minSdkVersion="33"/> 436 </permissions> 437 </role> 438 439 <!--- @see android.telecom.CallRedirectionService --> 440 <role 441 name="android.app.role.CALL_REDIRECTION" 442 defaultHolders="config_defaultCallRedirection" 443 description="@string/role_call_redirection_description" 444 exclusive="true" 445 label="@string/role_call_redirection_label" 446 overrideUserWhenGranting="true" 447 requestDescription="@string/role_call_redirection_request_description" 448 requestTitle="@string/role_call_redirection_request_title" 449 shortLabel="@string/role_call_redirection_short_label" 450 showNone="true"> 451 <required-components> 452 <service permission="android.permission.BIND_CALL_REDIRECTION_SERVICE"> 453 <intent-filter> 454 <action name="android.telecom.CallRedirectionService" /> 455 </intent-filter> 456 </service> 457 </required-components> 458 </role> 459 460 <!--- @see android.telecom.CallScreeningService --> 461 <role 462 name="android.app.role.CALL_SCREENING" 463 defaultHolders="config_defaultCallScreening" 464 description="@string/role_call_screening_description" 465 exclusive="true" 466 label="@string/role_call_screening_label" 467 overrideUserWhenGranting="true" 468 requestDescription="@string/role_call_screening_request_description" 469 requestTitle="@string/role_call_screening_request_title" 470 shortLabel="@string/role_call_screening_short_label" 471 showNone="true"> 472 <required-components> 473 <service permission="android.permission.BIND_SCREENING_SERVICE"> 474 <intent-filter> 475 <action name="android.telecom.CallScreeningService" /> 476 </intent-filter> 477 </service> 478 </required-components> 479 <permissions> 480 <permission-set name="notifications" /> 481 </permissions> 482 <app-op-permissions> 483 <app-op-permission name="android.permission.SYSTEM_ALERT_WINDOW" /> 484 </app-op-permissions> 485 </role> 486 487 <role 488 name="android.app.role.SYSTEM_GALLERY" 489 defaultHolders="config_systemGallery" 490 exclusive="true" 491 static="true" 492 systemOnly="true" 493 visible="false"> 494 <permissions> 495 <permission-set name="storage" /> 496 <permission name="android.permission.ACCESS_MEDIA_LOCATION" /> 497 <permission name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND" minSdkVersion="31" /> 498 </permissions> 499 <app-ops> 500 <app-op name="android:write_media_images" mode="allowed" /> 501 <app-op name="android:write_media_video" mode="allowed" /> 502 </app-ops> 503 </role> 504 505 <role 506 name="android.app.role.SYSTEM_AUTOMOTIVE_CLUSTER" 507 behavior="AutomotiveRoleBehavior" 508 defaultHolders="config_systemAutomotiveCluster" 509 exclusive="true" 510 minSdkVersion="31" 511 static="true" 512 systemOnly="true" 513 visible="false"> 514 <permissions> 515 <permission name="android.permission.ANSWER_PHONE_CALLS" /> 516 <permission name="android.permission.READ_CALL_LOG" /> 517 <permission name="android.permission.READ_CONTACTS" /> 518 <permission name="android.car.permission.CAR_ENERGY"/> 519 </permissions> 520 </role> 521 522 <role 523 name="android.app.role.COMPANION_DEVICE_WATCH" 524 behavior="CompanionDeviceWatchRoleBehavior" 525 description="@string/role_watch_description" 526 exclusive="false" 527 minSdkVersion="31" 528 systemOnly="false" 529 visible="false"> 530 <permissions> 531 <permission-set name="calendar" /> 532 <permission-set name="phone" /> 533 <permission-set name="sms" /> 534 <permission-set name="contacts" /> 535 <permission-set name="nearby_devices" /> 536 </permissions> 537 <app-op-permissions> 538 <app-op-permission name="android.permission.MANAGE_ONGOING_CALLS" /> 539 <app-op-permission name="android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER" /> 540 </app-op-permissions> 541 </role> 542 543 <role 544 name="android.app.role.SYSTEM_AUTOMOTIVE_PROJECTION" 545 allowBypassingQualification="true" 546 defaultHolders="config_systemAutomotiveProjection" 547 exclusive="false" 548 minSdkVersion="31" 549 static="true" 550 systemOnly="true" 551 visible="false"> 552 <permissions> 553 <permission-set name="microphone" /> 554 <permission-set name="location" /> 555 <permission-set name="nearby_devices" /> 556 <permission-set name="notifications" /> 557 <permission name="android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY" minSdkVersion="33" /> 558 <permission name="android.permission.CALL_PHONE" /> 559 <permission name="android.permission.CREATE_VIRTUAL_DEVICE" minSdkVersion="33" /> 560 <permission name="android.permission.READ_CALENDAR" /> 561 <permission name="android.permission.READ_CALL_LOG" /> 562 <permission name="android.permission.READ_CONTACTS" /> 563 <permission name="android.permission.READ_PHONE_STATE" /> 564 <permission name="android.permission.RECEIVE_SMS" /> 565 <permission name="android.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION" minSdkVersion="33" /> 566 <permission name="android.permission.SEND_SMS" /> 567 <permission name="android.permission.TOGGLE_AUTOMOTIVE_PROJECTION" minSdkVersion="33" /> 568 </permissions> 569 </role> 570 571 <role 572 name="android.app.role.SYSTEM_SHELL" 573 behavior="SystemShellRoleBehavior" 574 defaultHolders="config_systemShell" 575 exclusive="true" 576 minSdkVersion="31" 577 static="true" 578 systemOnly="true" 579 visible="false"> 580 <permissions> 581 <!-- Used for CTS testing --> 582 <permission name="android.permission.CREATE_VIRTUAL_DEVICE" minSdkVersion="33" /> 583 <permission name="android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE" /> 584 <permission name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT" minSdkVersion="33"/> 585 <permission name="android.permission.PERFORM_IMS_SINGLE_REGISTRATION" /> 586 <permission name="android.permission.BACKGROUND_CAMERA" /> 587 <permission name="android.permission.RECORD_BACKGROUND_AUDIO" /> 588 <permission name="android.permission.BYPASS_ROLE_QUALIFICATION" /> 589 <permission name="android.permission.OBSERVE_SENSOR_PRIVACY" /> 590 <permission name="android.permission.MANAGE_SENSOR_PRIVACY" /> 591 <permission name="android.permission.READ_GLOBAL_APP_SEARCH_DATA" /> 592 <permission name="android.permission.TOGGLE_AUTOMOTIVE_PROJECTION" minSdkVersion="33" /> 593 <permission name="android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS" 594 minSdkVersion="33" /> 595 <permission name="android.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION" 596 minSdkVersion="33" /> 597 <permission name="android.permission.MANAGE_SAFETY_CENTER" 598 minSdkVersion="33" /> 599 <permission name="android.permission.ADD_TRUSTED_DISPLAY" minSdkVersion="33" /> 600 <permission name="android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY" minSdkVersion="33" /> 601 <permission name="android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE" 602 minSdkVersion="33" /> 603 </permissions> 604 </role> 605 606 <role 607 name="android.app.role.SYSTEM_CONTACTS" 608 defaultHolders="config_systemContacts" 609 exclusive="true" 610 minSdkVersion="31" 611 static="true" 612 systemOnly="true" 613 visible="false"> 614 <permissions> 615 <permission name="android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE" /> 616 <permission name="android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS" 617 minSdkVersion="33" /> 618 </permissions> 619 </role> 620 621 <role 622 name="android.app.role.SYSTEM_SPEECH_RECOGNIZER" 623 allowBypassingQualification="true" 624 defaultHolders="config_systemSpeechRecognizer" 625 exclusive="true" 626 minSdkVersion="31" 627 static="true" 628 systemOnly="true" 629 visible="false"> 630 <permissions> 631 <permission name="android.permission.RECORD_AUDIO" /> 632 <permission name="android.permission.UPDATE_APP_OPS_STATS" /> 633 </permissions> 634 <required-components> 635 <service> 636 <intent-filter> 637 <action name="android.speech.RecognitionService" /> 638 </intent-filter> 639 </service> 640 </required-components> 641 </role> 642 643 <role 644 name="android.app.role.SYSTEM_WIFI_COEX_MANAGER" 645 defaultHolders="config_systemWifiCoexManager" 646 exclusive="true" 647 minSdkVersion="31" 648 static="true" 649 systemOnly="true" 650 visible="false"> 651 <permissions> 652 <permission name="android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS" /> 653 <permission name="android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS" /> 654 </permissions> 655 </role> 656 657 <role 658 name="android.app.role.SYSTEM_WELLBEING" 659 defaultHolders="config_systemWellbeing" 660 exclusive="true" 661 minSdkVersion="31" 662 static="true" 663 systemOnly="true" 664 visible="false" > 665 <permissions> 666 <permission-set name="notifications" /> 667 <permission name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT" minSdkVersion="33"/> 668 <permission name="android.permission.ACCESS_INSTANT_APPS"/> 669 <permission name="android.permission.START_CROSS_PROFILE_ACTIVITIES" minSdkVersion="33"/> 670 <permission name="android.permission.SUSPEND_APPS"/> 671 <permission name="android.permission.SYSTEM_APPLICATION_OVERLAY"/> 672 </permissions> 673 </role> 674 675 <!--- 676 ~ A role for the notification handler on TV devices. 677 ~ Note: on TV devices that have the Dashboard screen, the holder for this role is responsible 678 ~ for it, which is why it needs OBSERVE_SENSOR_PRIVACY permission (the Dashboard displays 679 ~ the state of the privacy sensors). 680 --> 681 <role 682 name="android.app.role.SYSTEM_TELEVISION_NOTIFICATION_HANDLER" 683 behavior="TelevisionRoleBehavior" 684 defaultHolders="config_systemTelevisionNotificationHandler" 685 exclusive="true" 686 minSdkVersion="31" 687 static="true" 688 systemOnly="true" 689 visible="false"> 690 <permissions> 691 <permission name="android.permission.SYSTEM_APPLICATION_OVERLAY" /> 692 <permission name="android.permission.OBSERVE_SENSOR_PRIVACY" /> 693 </permissions> 694 </role> 695 696 <!--- 697 A role for the system package that is allowed to create CompanionDeviceManager associations 698 based on user consent to allow the associated app to manage the associated device. 699 --> 700 <role 701 name="android.app.role.SYSTEM_COMPANION_DEVICE_PROVIDER" 702 defaultHolders="config_systemCompanionDeviceProvider" 703 exclusive="true" 704 minSdkVersion="31" 705 static="true" 706 systemOnly="true" 707 visible="false" > 708 <permissions> 709 <permission name="android.permission.ASSOCIATE_COMPANION_DEVICES"/> 710 </permissions> 711 </role> 712 713 <!--- 714 ~ A role for the system package that provides privacy-preserving intelligent processor for 715 ~ system UI features. 716 ~ 717 ~ A package holding this role MUST comply with requirements outlined in the Android CDD 718 ~ section "9.8.6 Content Capture". 719 ~ Example link for Android 11: 720 ~ https://source.android.com/compatibility/11/android-11-cdd#9_8_6_content_capture 721 ~ 722 ~ In addition, packages MUST NOT: 723 ~ - Request INTERNET permission. Instead packages MUST access the internet through 724 ~ well-defined APIs in an open source project. 725 ~ - Perform direct binds to other applications, except the following system packages: 726 ~ - Bluetooth 727 ~ - Contacts 728 ~ - Media 729 ~ - Telephony 730 ~ - System UI 731 ~ - Component providing internet APIs (see above) 732 ~ To achieve this packages MUST set up explicit <allow-association> configuration in the 733 ~ system config. 734 --> 735 <role 736 name="android.app.role.SYSTEM_UI_INTELLIGENCE" 737 defaultHolders="config_systemUiIntelligence" 738 exclusive="true" 739 minSdkVersion="31" 740 static="true" 741 systemOnly="true" 742 visible="false"> 743 <permissions> 744 <permission-set name="notifications" /> 745 <permission name="android.permission.ACCESS_SHORTCUTS" /> 746 <permission name="android.permission.ACCESS_BACKGROUND_LOCATION" minSdkVersion="33" /> 747 <permission name="android.permission.ACCESS_COARSE_LOCATION" minSdkVersion="33" /> 748 <permission name="android.permission.ACCESS_FINE_LOCATION" minSdkVersion="33" /> 749 <permission name="android.permission.BLUETOOTH_CONNECT" /> 750 <permission name="android.permission.BLUETOOTH_SCAN" /> 751 <permission name="android.permission.MANAGE_APP_PREDICTIONS" /> 752 <permission name="android.permission.UNLIMITED_SHORTCUTS_API_CALLS" /> 753 <permission name="android.permission.MANAGE_SEARCH_UI" /> 754 <permission name="android.permission.READ_CALL_LOG" minSdkVersion="33" /> 755 <permission name="android.permission.READ_CONTACTS" minSdkVersion="33" /> 756 <permission name="android.permission.READ_EXTERNAL_STORAGE" /> 757 <permission name="android.permission.READ_MEDIA_AUDIO" minSdkVersion="33" /> 758 <permission name="android.permission.READ_MEDIA_IMAGES" minSdkVersion="33" /> 759 <permission name="android.permission.READ_MEDIA_VIDEO" minSdkVersion="33" /> 760 <permission name="android.permission.READ_SMS" minSdkVersion="33" /> 761 <permission name="android.permission.READ_PEOPLE_DATA" /> 762 <permission name="android.permission.READ_GLOBAL_APP_SEARCH_DATA" /> 763 </permissions> 764 </role> 765 766 <!--- 767 ~ A role for the system package that provides on-device intelligent processor for ambient 768 ~ audio. 769 ~ 770 ~ A package holding this role MUST comply with requirements outlined in the Android CDD 771 ~ section "9.8.6 Content Capture". 772 ~ Example link for Android 11: 773 ~ https://source.android.com/compatibility/11/android-11-cdd#9_8_6_content_capture 774 ~ 775 ~ In addition, packages MUST NOT: 776 ~ - Request INTERNET permission. Instead packages MUST access the internet through 777 ~ well-defined APIs in an open source project. 778 ~ - Perform direct binds to other applications, except the following system packages: 779 ~ - Bluetooth 780 ~ - Contacts 781 ~ - Media 782 ~ - Telephony 783 ~ - System UI 784 ~ - Component providing internet APIs (see above) 785 ~ To achieve this packages MUST set up explicit <allow-association> configuration in the 786 ~ system config. 787 --> 788 <role 789 name="android.app.role.SYSTEM_AMBIENT_AUDIO_INTELLIGENCE" 790 defaultHolders="config_systemAmbientAudioIntelligence" 791 exclusive="true" 792 minSdkVersion="31" 793 static="true" 794 systemOnly="true" 795 visible="false"> 796 <permissions> 797 <permission-set name="notifications" /> 798 <permission name="android.permission.CAPTURE_AUDIO_OUTPUT" /> 799 <permission name="android.permission.CAPTURE_MEDIA_OUTPUT" /> 800 <permission name="android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT" /> 801 <permission name="android.permission.MODIFY_AUDIO_ROUTING" /> 802 <permission name="android.permission.RECORD_AUDIO" /> 803 <permission name="android.permission.CAPTURE_AUDIO_HOTWORD" /> 804 <permission name="android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS" /> 805 <permission name="android.permission.MANAGE_SOUND_TRIGGER" /> 806 <permission name="android.permission.LOCATION_HARDWARE" /> 807 <permission name="android.permission.MANAGE_MUSIC_RECOGNITION" /> 808 <permission name="android.permission.OBSERVE_SENSOR_PRIVACY" /> 809 <permission name="android.permission.READ_PHONE_STATE" minSdkVersion="33" /> 810 </permissions> 811 </role> 812 813 <!--- 814 ~ A role for the system package that provides on-device intelligent processor for audio. 815 ~ 816 ~ A package holding this role MUST comply with requirements outlined in the Android CDD 817 ~ section "9.8.6 Content Capture". 818 ~ Example link for Android 11: 819 ~ https://source.android.com/compatibility/11/android-11-cdd#9_8_6_content_capture 820 ~ 821 ~ In addition, packages MUST NOT: 822 ~ - Request INTERNET permission. Instead packages MUST access the internet through 823 ~ well-defined APIs in an open source project. 824 ~ - Perform direct binds to other applications, except the following system packages: 825 ~ - Bluetooth 826 ~ - Contacts 827 ~ - Media 828 ~ - Telephony 829 ~ - System UI 830 ~ - Component providing internet APIs (see above) 831 ~ To achieve this packages MUST set up explicit <allow-association> configuration in the 832 ~ system config. 833 --> 834 <role 835 name="android.app.role.SYSTEM_AUDIO_INTELLIGENCE" 836 defaultHolders="config_systemAudioIntelligence" 837 exclusive="true" 838 minSdkVersion="31" 839 static="true" 840 systemOnly="true" 841 visible="false"> 842 <permissions> 843 <permission-set name="notifications" /> 844 <permission name="android.permission.CAPTURE_AUDIO_OUTPUT" /> 845 <permission name="android.permission.CAPTURE_MEDIA_OUTPUT" /> 846 <permission name="android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT" /> 847 <permission name="android.permission.CONTROL_INCALL_EXPERIENCE" /> 848 <permission name="android.permission.MODIFY_AUDIO_ROUTING" /> 849 <permission name="android.permission.MODIFY_PHONE_STATE" /> 850 <permission name="android.permission.READ_CALL_LOG" minSdkVersion="33" /> 851 <permission name="android.permission.READ_PHONE_STATE" minSdkVersion="33" /> 852 <permission name="android.permission.RECORD_AUDIO" /> 853 <permission name="android.permission.SYSTEM_APPLICATION_OVERLAY" /> 854 <permission name="android.permission.SET_SYSTEM_AUDIO_CAPTION" minSdkVersion="33" /> 855 </permissions> 856 </role> 857 858 <!--- 859 ~ A role for the system package that provides on-device intelligent processor for 860 ~ notifications. 861 ~ 862 ~ A package holding this role MUST comply with requirements outlined in the Android CDD 863 ~ section "9.8.6 Content Capture". 864 ~ Example link for Android 11: 865 ~ https://source.android.com/compatibility/11/android-11-cdd#9_8_6_content_capture 866 ~ 867 ~ In addition, packages MUST NOT: 868 ~ - Request INTERNET permission. Instead packages MUST access the internet through 869 ~ well-defined APIs in an open source project. 870 ~ - Perform direct binds to other applications, except the following system packages: 871 ~ - Bluetooth 872 ~ - Contacts 873 ~ - Media 874 ~ - Telephony 875 ~ - System UI 876 ~ - Component providing internet APIs (see above) 877 ~ To achieve this packages MUST set up explicit <allow-association> configuration in the 878 ~ system config. 879 --> 880 <role 881 name="android.app.role.SYSTEM_NOTIFICATION_INTELLIGENCE" 882 defaultHolders="config_systemNotificationIntelligence" 883 exclusive="true" 884 minSdkVersion="31" 885 static="true" 886 systemOnly="true" 887 visible="false"> 888 <permissions> 889 <permission-set name="notifications" /> 890 <permission name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE" /> 891 <permission name="android.permission.SYSTEM_APPLICATION_OVERLAY" /> 892 </permissions> 893 </role> 894 895 <!--- 896 ~ A role for the system package that provides on-device intelligent processor for text. 897 ~ 898 ~ A package holding this role MUST comply with requirements outlined in the Android CDD 899 ~ section "9.8.6 Content Capture". 900 ~ Example link for Android 11: 901 ~ https://source.android.com/compatibility/11/android-11-cdd#9_8_6_content_capture 902 ~ 903 ~ In addition, packages MUST NOT: 904 ~ - Request INTERNET permission. Instead packages MUST access the internet through 905 ~ well-defined APIs in an open source project. 906 ~ - Perform direct binds to other applications, except the following system packages: 907 ~ - Bluetooth 908 ~ - Contacts 909 ~ - Media 910 ~ - Telephony 911 ~ - System UI 912 ~ - Component providing internet APIs (see above) 913 ~ To achieve this packages MUST set up explicit <allow-association> configuration in the 914 ~ system config. 915 --> 916 <role 917 name="android.app.role.SYSTEM_TEXT_INTELLIGENCE" 918 defaultHolders="config_systemTextIntelligence" 919 exclusive="true" 920 minSdkVersion="31" 921 static="true" 922 systemOnly="true" 923 visible="false"> 924 <permissions> 925 <permission-set name="notifications" /> 926 <permission name="android.permission.ACCESS_BACKGROUND_LOCATION" minSdkVersion="33" /> 927 <permission name="android.permission.ACCESS_COARSE_LOCATION" minSdkVersion="33" /> 928 <permission name="android.permission.MANAGE_UI_TRANSLATION" /> 929 <permission name="android.permission.SYSTEM_APPLICATION_OVERLAY" /> 930 <permission name="android.permission.READ_CLIPBOARD_IN_BACKGROUND" minSdkVersion="33" /> 931 </permissions> 932 </role> 933 934 <!--- 935 ~ A role for the system package that provides on-device intelligent processor for visual 936 ~ features. 937 ~ 938 ~ A package holding this role MUST comply with requirements outlined in the Android CDD 939 ~ section "9.8.6 Content Capture". 940 ~ Example link for Android 11: 941 ~ https://source.android.com/compatibility/11/android-11-cdd#9_8_6_content_capture 942 ~ 943 ~ In addition, packages MUST NOT: 944 ~ - Request INTERNET permission. Instead packages MUST access the internet through 945 ~ well-defined APIs in an open source project. 946 ~ - Perform direct binds to other applications, except the following system packages: 947 ~ - Bluetooth 948 ~ - Contacts 949 ~ - Media 950 ~ - Telephony 951 ~ - System UI 952 ~ - Component providing internet APIs (see above) 953 ~ To achieve this packages MUST set up explicit <allow-association> configuration in the 954 ~ system config. 955 --> 956 <role 957 name="android.app.role.SYSTEM_VISUAL_INTELLIGENCE" 958 defaultHolders="config_systemVisualIntelligence" 959 exclusive="true" 960 minSdkVersion="31" 961 static="true" 962 systemOnly="true" 963 visible="false"> 964 <permissions> 965 <permission-set name="notifications" /> 966 <permission name="android.permission.CAMERA" /> 967 <permission name="android.permission.SYSTEM_CAMERA" /> 968 <permission name="android.permission.UPDATE_DEVICE_STATS" /> 969 <permission name="android.permission.OBSERVE_SENSOR_PRIVACY" /> 970 </permissions> 971 </role> 972 973 <!--- 974 ~ A role for the system package that is allowed to manage documents (e.g., attach files etc.) 975 ~ on the device. 976 ~ A package holding this role must comply with the requirements outlined in the Android CDD 977 ~ section "2.2.3. Software" under heading "3.2.3.1/H-0-1". 978 ~ Example link for Android 11: 979 ~ https://source.android.com/compatibility/11/android-11-cdd#2_2_3_software 980 --> 981 <role 982 name="android.app.role.SYSTEM_DOCUMENT_MANAGER" 983 behavior="DocumentManagerRoleBehavior" 984 exclusive="true" 985 minSdkVersion="33" 986 static="true" 987 systemOnly="true" 988 visible="false"> 989 <required-components> 990 <!--- Flag value is MATCH_DISABLED_COMPONENTS--> 991 <activity queryFlags="0x00000200"> 992 <intent-filter> 993 <action name="android.intent.action.OPEN_DOCUMENT" /> 994 <category name="android.intent.category.OPENABLE" /> 995 <data mimeType="*/*" /> 996 </intent-filter> 997 </activity> 998 </required-components> 999 <permissions> 1000 <permission-set name="notifications" /> 1001 <permission name="android.permission.MANAGE_DOCUMENTS" /> 1002 <permission name="android.permission.CACHE_CONTENT" /> 1003 <permission name="android.permission.REMOVE_TASKS" /> 1004 </permissions> 1005 </role> 1006 1007 <!--- 1008 ~ A role for the system package that serves as the activity recognizer on the device. 1009 ~ This is the application that provides the data behind the activity recognition 1010 ~ runtime permission. 1011 --> 1012 <role 1013 name="android.app.role.SYSTEM_ACTIVITY_RECOGNIZER" 1014 allowBypassingQualification="true" 1015 defaultHolders="config_systemActivityRecognizer" 1016 exclusive="false" 1017 static="true" 1018 systemOnly="true" 1019 visible="false"> 1020 <required-components> 1021 <service> 1022 <intent-filter> 1023 <action name="android.intent.action.ACTIVITY_RECOGNIZER" /> 1024 </intent-filter> 1025 </service> 1026 </required-components> 1027 </role> 1028 1029 <!--- 1030 ~ A role for the system UI package. 1031 --> 1032 <role 1033 name="android.app.role.SYSTEM_UI" 1034 behavior="SystemUiRoleBehavior" 1035 defaultHolders="config_systemUi" 1036 exclusive="true" 1037 minSdkVersion="31" 1038 static="true" 1039 systemOnly="true" 1040 visible="false"> 1041 <permissions> 1042 <permission-set name="notifications" /> 1043 <permission name="android.permission.MANAGE_SENSOR_PRIVACY" /> 1044 <permission name="android.permission.OBSERVE_SENSOR_PRIVACY" /> 1045 <permission name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT" minSdkVersion="33"/> 1046 </permissions> 1047 </role> 1048 1049 <!--- 1050 ~ A role for the package responsible for interacting with a TV remote. 1051 --> 1052 <role 1053 name="android.app.role.SYSTEM_TELEVISION_REMOTE_SERVICE" 1054 behavior="TelevisionRoleBehavior" 1055 defaultHolders="config_systemTelevisionRemoteService" 1056 exclusive="true" 1057 minSdkVersion="31" 1058 static="true" 1059 systemOnly="true" 1060 visible="false"> 1061 <permissions> 1062 <permission name="android.permission.OBSERVE_SENSOR_PRIVACY" /> 1063 </permissions> 1064 </role> 1065 1066 <!--- 1067 ~ A role for the companion device package that create and manage connections to connected 1068 ~ devices and perform app streaming to the devices. 1069 --> 1070 <role 1071 name="android.app.role.COMPANION_DEVICE_APP_STREAMING" 1072 allowBypassingQualification="true" 1073 behavior="CompanionDeviceAppStreamingRoleBehavior" 1074 description="@string/role_app_streaming_description" 1075 exclusive="false" 1076 minSdkVersion="33" 1077 systemOnly="true" 1078 visible="false"> 1079 <permissions> 1080 <permission-set name="notifications" /> 1081 <!-- For capturing audio from the app on the device. --> 1082 <permission name="android.permission.RECORD_AUDIO" /> 1083 <permission name="android.permission.CREATE_VIRTUAL_DEVICE" minSdkVersion="33" /> 1084 <permission name="android.permission.ADD_TRUSTED_DISPLAY" minSdkVersion="33" /> 1085 <permission name="android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY" minSdkVersion="33" /> 1086 1087 <!--TODO(b/201605314) For calling Telecom framework API for audio streaming--> 1088 <!--<permission name="android.permission.PROVIDE_CALL_ENDPOINTS" />--> 1089 </permissions> 1090 </role> 1091 1092 <!--- 1093 ~ A role for the companion device package that allows connected computers to mirror 1094 ~ notifications and access photos and media from the phone. 1095 --> 1096 <role 1097 name="android.app.role.COMPANION_DEVICE_COMPUTER" 1098 allowBypassingQualification="true" 1099 behavior="CompanionDeviceComputerRoleBehavior" 1100 description="@string/role_companion_device_computer_description" 1101 exclusive="false" 1102 minSdkVersion="33" 1103 systemOnly="true" 1104 visible="false"> 1105 <permissions> 1106 <permission-set name="notifications" /> 1107 <permission-set name="storage" /> 1108 </permissions> 1109 </role> 1110 1111 <role 1112 name="android.app.role.SYSTEM_SUPERVISION" 1113 defaultHolders="config_systemSupervision" 1114 exclusive="true" 1115 minSdkVersion="33" 1116 static="true" 1117 systemOnly="true" 1118 visible="false" > 1119 <permissions> 1120 <permission name="android.permission.ACCESS_INSTANT_APPS"/> 1121 <permission name="android.permission.SUSPEND_APPS"/> 1122 <permission name="android.permission.SYSTEM_APPLICATION_OVERLAY"/> 1123 </permissions> 1124 </role> 1125 1126 <!--- 1127 ~ A role for the package responsible for constructing managed device experiences, 1128 ~ including during provisioning. 1129 --> 1130 <role 1131 name="android.app.role.DEVICE_POLICY_MANAGEMENT" 1132 behavior="DevicePolicyManagementRoleBehavior" 1133 defaultHolders="config_devicePolicyManagement" 1134 exclusive="true" 1135 minSdkVersion="33" 1136 static="true" 1137 systemOnly="false" 1138 visible="false"> 1139 <required-components> 1140 <activity permission="android.permission.LAUNCH_DEVICE_MANAGER_SETUP"> 1141 <intent-filter> 1142 <action name="android.app.action.ROLE_HOLDER_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE" /> 1143 </intent-filter> 1144 </activity> 1145 <activity permission="android.permission.LAUNCH_DEVICE_MANAGER_SETUP"> 1146 <intent-filter> 1147 <action name="android.app.action.ROLE_HOLDER_PROVISION_MANAGED_PROFILE" /> 1148 </intent-filter> 1149 </activity> 1150 <activity permission="android.permission.LAUNCH_DEVICE_MANAGER_SETUP"> 1151 <intent-filter> 1152 <action name="android.app.action.ROLE_HOLDER_PROVISION_FINALIZATION" /> 1153 </intent-filter> 1154 </activity> 1155 </required-components> 1156 <permissions> 1157 <permission-set name="notifications" /> 1158 <permission name="android.permission.BIND_DEVICE_ADMIN" /> 1159 <permission name="android.permission.MANAGE_DEVICE_ADMINS" /> 1160 <permission name="android.permission.NETWORK_MANAGED_PROVISIONING" /> 1161 <permission name="android.permission.PEERS_MAC_ADDRESS" /> 1162 <permission name="android.permission.USE_COLORIZED_NOTIFICATIONS" /> 1163 <permission name="android.permission.MASTER_CLEAR" /> 1164 <permission name="android.permission.WRITE_SECURE_SETTINGS" /> 1165 <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> 1166 <permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" /> 1167 <permission name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND" /> 1168 <permission name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" /> 1169 <permission name="android.permission.INTERACT_ACROSS_USERS" /> 1170 <permission name="android.permission.INTERACT_ACROSS_USERS_FULL" /> 1171 <permission name="com.android.permission.INSTALL_EXISTING_PACKAGES" /> 1172 <permission name="android.permission.DELETE_PACKAGES" /> 1173 <permission name="android.permission.ACCESS_PDB_STATE" /> 1174 <permission name="android.permission.MARK_DEVICE_ORGANIZATION_OWNED" /> 1175 <permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" /> 1176 <permission name="android.permission.SET_TIME" /> 1177 <permission name="android.permission.SET_TIME_ZONE" /> 1178 <permission name="android.permission.CRYPT_KEEPER" /> 1179 <permission name="android.permission.SHUTDOWN" /> 1180 <permission name="android.permission.PERFORM_CDMA_PROVISIONING" /> 1181 <permission name="android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES" /> 1182 <permission name="android.permission.WRITE_SETTINGS" /> 1183 <permission name="android.permission.CHANGE_CONFIGURATION" /> 1184 <permission name="android.permission.LAUNCH_DEVICE_MANAGER_SETUP" /> 1185 <permission name="android.permission.INSTALL_DPC_PACKAGES" /> 1186 <permission name="android.permission.QUERY_USERS" /> 1187 <permission name="android.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES" /> 1188 <permission name="android.permission.QUERY_ADMIN_POLICY" /> 1189 <permission name="android.permission.TRIGGER_LOST_MODE" /> 1190 </permissions> 1191 </role> 1192 1193 <role 1194 name="android.app.role.SYSTEM_APP_PROTECTION_SERVICE" 1195 defaultHolders="config_systemAppProtectionService" 1196 exclusive="true" 1197 minSdkVersion="33" 1198 static="true" 1199 systemOnly="true" 1200 visible="false"> 1201 <permissions> 1202 <permission-set name="notifications" /> 1203 <permission name="android.permission.GET_HISTORICAL_APP_OPS_STATS" /> 1204 </permissions> 1205 </role> 1206 1207 <!--- 1208 ~ A role for the system package that handles syncing calendar from another device on 1209 ~ Automotive. 1210 --> 1211 <role 1212 name="android.app.role.SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER" 1213 behavior="AutomotiveRoleBehavior" 1214 defaultHolders="config_systemAutomotiveCalendarSyncManager" 1215 exclusive="true" 1216 minSdkVersion="33" 1217 static="true" 1218 systemOnly="true" 1219 visible="false"> 1220 <permissions> 1221 <permission name="android.permission.READ_CALENDAR" /> 1222 <permission name="android.permission.WRITE_CALENDAR" /> 1223 </permissions> 1224 </role> 1225 1226 <!--- 1227 ~ A role for the package that handles navigation on the Automotive. 1228 ~ This is the application that provides point-of-interest search and 1229 ~ turn-by-turn navigation guidance. 1230 --> 1231 <role 1232 name="android.app.role.AUTOMOTIVE_NAVIGATION" 1233 behavior="AutomotiveRoleBehavior" 1234 defaultHolders="config_defaultAutomotiveNavigation" 1235 description="@string/role_automotive_navigation_description" 1236 exclusive="true" 1237 label="@string/role_automotive_navigation_label" 1238 minSdkVersion="33" 1239 overrideUserWhenGranting="true" 1240 requestDescription="@string/role_automotive_navigation_request_description" 1241 requestTitle="@string/role_automotive_navigation_request_title" 1242 shortLabel="@string/role_automotive_navigation_short_label"> 1243 <required-components> 1244 <activity> 1245 <intent-filter> 1246 <action name="android.intent.action.MAIN" /> 1247 <category name="android.intent.category.APP_MAPS" /> 1248 </intent-filter> 1249 </activity> 1250 <activity> 1251 <intent-filter> 1252 <action name="android.intent.action.NAVIGATE" /> 1253 <data scheme="geo" /> 1254 </intent-filter> 1255 </activity> 1256 <activity> 1257 <intent-filter> 1258 <action name="android.intent.action.MAIN" /> 1259 <category name="android.car.cluster.NAVIGATION" /> 1260 </intent-filter> 1261 </activity> 1262 </required-components> 1263 <preferred-activities> 1264 <preferred-activity> 1265 <activity> 1266 <intent-filter> 1267 <action name="android.intent.action.MAIN" /> 1268 <category name="android.intent.category.APP_MAPS" /> 1269 </intent-filter> 1270 </activity> 1271 <intent-filter> 1272 <action name="android.intent.action.MAIN" /> 1273 <category name="android.intent.category.APP_MAPS" /> 1274 </intent-filter> 1275 </preferred-activity> 1276 <preferred-activity> 1277 <activity> 1278 <intent-filter> 1279 <action name="android.intent.action.NAVIGATE" /> 1280 <data scheme="geo" /> 1281 </intent-filter> 1282 </activity> 1283 <intent-filter> 1284 <action name="android.intent.action.NAVIGATE" /> 1285 <data scheme="geo" /> 1286 </intent-filter> 1287 </preferred-activity> 1288 <preferred-activity> 1289 <activity> 1290 <intent-filter> 1291 <action name="android.intent.action.MAIN" /> 1292 <category name="android.car.cluster.NAVIGATION" /> 1293 </intent-filter> 1294 </activity> 1295 <intent-filter> 1296 <action name="android.intent.action.MAIN" /> 1297 <category name="android.car.cluster.NAVIGATION" /> 1298 </intent-filter> 1299 </preferred-activity> 1300 </preferred-activities> 1301 </role> 1302 1303 <!--- 1304 ~ A role for the package that handles AI features for the settings app 1305 --> 1306 <role 1307 name="android.app.role.SYSTEM_SETTINGS_INTELLIGENCE" 1308 defaultHolders="config_systemSettingsIntelligence" 1309 exclusive="true" 1310 minSdkVersion="33" 1311 static="true" 1312 systemOnly="true" 1313 visible="false"> 1314 <permissions> 1315 <permission-set name="notifications" /> 1316 </permissions> 1317 </role> 1318 1319 <!--- 1320 ~ A role for the package that handles Bluetooth for the device 1321 --> 1322 <role 1323 name="android.app.role.SYSTEM_BLUETOOTH_STACK" 1324 defaultHolders="config_systemBluetoothStack" 1325 exclusive="true" 1326 minSdkVersion="33" 1327 static="true" 1328 systemOnly="true" 1329 visible="false"> 1330 <permissions> 1331 <permission name="android.permission.NETWORK_FACTORY" /> 1332 <permission name="android.permission.BLUETOOTH_MAP" /> 1333 <permission name="android.permission.BLUETOOTH_STACK" /> 1334 <permission name="android.permission.NET_ADMIN" /> 1335 <permission name="android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH" /> 1336 <permission name="android.permission.MANAGE_APP_OPS_MODES" /> 1337 <permission name="android.permission.MANAGE_COMPANION_DEVICES" /> 1338 <permission name="android.permission.QUERY_AUDIO_STATE" /> 1339 <permission name="android.permission.DEVICE_POWER" /> 1340 <permission name="android.permission.NET_TUNNELING" /> 1341 </permissions> 1342 </role> 1343</roles> 1344