1# Copyright (C) 2021 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15module: "android.sysprop.BluetoothProperties" 16owner: Platform 17 18prop { 19 api_name: "snoop_default_mode" 20 type: Enum 21 scope: Public 22 access: ReadWrite 23 enum_values: "empty|disabled|filtered|full" 24 prop_name: "persist.bluetooth.btsnoopdefaultmode" 25} 26 27prop { 28 api_name: "snoop_log_mode" 29 type: Enum 30 scope: Public 31 access: ReadWrite 32 enum_values: "empty|disabled|filtered|full" 33 prop_name: "persist.bluetooth.btsnooplogmode" 34} 35 36# When snoop_log_mode is set as filtered, this filter truncates ACL packets (non-fragment) 37# to fixed (MAX_HCI_ACL_LEN) number of bytes 38prop { 39 api_name: "snoop_log_filter_snoop_headers_enabled" 40 type: Boolean 41 scope: Public 42 access: ReadWrite 43 prop_name: "persist.bluetooth.snooplogfilter.headers.enabled" 44} 45 46# When snoop_log_mode is set as filtered, this filter discards A2DP media packets (non-split mode) 47prop { 48 api_name: "snoop_log_filter_profile_a2dp_enabled" 49 type: Boolean 50 scope: Public 51 access: ReadWrite 52 prop_name: "persist.bluetooth.snooplogfilter.profiles.a2dp.enabled" 53} 54 55# When snoop_log_mode is set as filtered, this filters MAP packets based on the filter mode: 56# fullfilter - discard whole packet 57# header - truncate to fixed length 58# magic - fill with a magic string, such as: "PROHIBITED" 59prop { 60 api_name: "snoop_log_filter_profile_map" 61 type: Enum 62 scope: Public 63 access: ReadWrite 64 enum_values: "empty|disabled|fullfilter|header|magic" 65 prop_name: "persist.bluetooth.snooplogfilter.profiles.map" 66} 67 68# When snoop_log_mode is set as filtered, this filters PBAP and HFP packets (CPBR, CLCC) 69# based on the filter mode: 70# fullfilter - discard whole packet 71# header - truncate to fixed length 72# magic - fill with a magic string, such as: "PROHIBITED" 73prop { 74 api_name: "snoop_log_filter_profile_pbap" 75 type: Enum 76 scope: Public 77 access: ReadWrite 78 enum_values: "empty|disabled|fullfilter|header|magic" 79 prop_name: "persist.bluetooth.snooplogfilter.profiles.pbap" 80} 81 82# When snoop_log_mode is set as filtered, this filter truncates RFCOMM UIH packet 83# to fixed (L2CAP_HEADER_SIZE) number of bytes 84prop { 85 api_name: "snoop_log_filter_profile_rfcomm_enabled" 86 type: Boolean 87 scope: Public 88 access: ReadWrite 89 prop_name: "persist.bluetooth.snooplogfilter.profiles.rfcomm.enabled" 90} 91 92prop { 93 api_name: "factory_reset" 94 type: Boolean 95 scope: Public 96 access: ReadWrite 97 prop_name: "persist.bluetooth.factoryreset" 98} 99 100prop { 101 api_name: "le_audio_allow_list" 102 type: StringList 103 scope: Public 104 access: ReadWrite 105 prop_name: "persist.bluetooth.leaudio.allow_list" 106} 107 108######## Bluetooth configurations 109 110# Whether GAP BLE Privacy (RPA) is enabled on this device. 111# Set by vendors overlay, read at Bluetooth initialization 112prop { 113 api_name: "isGapLePrivacyEnabled" 114 type: Boolean 115 scope: Public 116 access: Readonly 117 prop_name: "bluetooth.core.gap.le.privacy.enabled" 118} 119 120# Minimum limit for GAP LE connection update time. 121# Set by vendors overlay, read at Bluetooth initialization 122prop { 123 api_name: "getGapLeConnMinLimit" 124 type: Integer 125 scope: Public 126 access: Readonly 127 prop_name: "bluetooth.core.gap.le.conn.min.limit" 128} 129 130# Whether LE Connection with initiating with only LE 1M PHY. 131# Set by vendors overlay, read at Bluetooth initialization 132prop { 133 api_name: "isGapLeConnOnlyInit1mPhyEnabled" 134 type: Boolean 135 scope: Internal 136 access: Readonly 137 prop_name: "bluetooth.core.gap.le.conn.only_init_1m_phy.enabled" 138} 139 140# Whether Inband ringtone for LeAudio is supported. 141# Set by vendors overlay, read at Bluetooth initialization 142prop { 143 api_name: "isLeAudioInbandRingtoneSupported" 144 type: Boolean 145 scope: Public 146 access: Readonly 147 prop_name: "bluetooth.core.le_audio.inband_ringtone.supported" 148} 149 150# The default name of the device. 151# Set by vendors overlay, read at Bluetooth initialization 152prop { 153 api_name: "getDefaultDeviceName" 154 type: String 155 scope: Public 156 access: Readonly 157 prop_name: "bluetooth.device.default_name" 158} 159 160# The default class of device of the device, represented as a list of exactly 3 unsigned integers. 161# Set by vendors overlay, read at Bluetooth initialization 162prop { 163 api_name: "getClassOfDevice" 164 type: UIntList 165 scope: Public 166 access: Readonly 167 prop_name: "bluetooth.device.class_of_device" 168} 169 170# The default audio profile for dual mode audio devices for output only audio. The value should be 171# the integer value of BluetoothProfile#A2DP (2) or BluetoothProfile#LE_AUDIO (22). If the value is 172# set to anything else, LE Audio will be the default. 173# Set by vendors overlay, read at Bluetooth initialization 174prop { 175 api_name: "getDefaultOutputOnlyAudioProfile" 176 type: Integer 177 scope: Public 178 access: Readonly 179 prop_name: "bluetooth.device.default_output_only_audio_profile" 180} 181 182# The default audio profile for dual mode audio devices for duplex (output + input) audio. The 183# value should be the integer value of BluetoothProfile#HEADSET (1) or 184# BluetoothProfile#LE_AUDIO (22). If the value is set to anything else, LE Audio will be the 185# default. 186# Set by vendors overlay, read at Bluetooth initialization 187prop { 188 api_name: "getDefaultDuplexAudioProfile" 189 type: Integer 190 scope: Public 191 access: Readonly 192 prop_name: "bluetooth.device.default_duplex_audio_profile" 193} 194 195# Bluetooth operating voltage in millivolts available for vendors overlay. 196# Used to calculate Bluetooth power consumption for a specific hardware. 197prop { 198 api_name: "getHardwareOperatingVoltageMv" 199 type: Integer 200 scope: Public 201 access: Readonly 202 prop_name: "bluetooth.hardware.power.operating_voltage_mv" 203} 204 205# Bluetooth idle current in milliamps available for vendors overlay. 206# Used to calculate Bluetooth power consumption for a specific hardware. 207prop { 208 api_name: "getHardwareIdleCurrentMa" 209 type: Integer 210 scope: Public 211 access: Readonly 212 prop_name: "bluetooth.hardware.power.idle_cur_ma" 213} 214 215# Bluetooth transmit current in milliamps available for vendors overlay. 216# Used to calculate Bluetooth power consumption for a specific hardware. 217prop { 218 api_name: "getHardwareTxCurrentMa" 219 type: Integer 220 scope: Public 221 access: Readonly 222 prop_name: "bluetooth.hardware.power.tx_cur_ma" 223} 224 225# Bluetooth receive current in milliamps available for vendors overlay. 226# Used to calculate Bluetooth power consumption for a specific hardware. 227prop { 228 api_name: "getHardwareRxCurrentMa" 229 type: Integer 230 scope: Public 231 access: Readonly 232 prop_name: "bluetooth.hardware.power.rx_cur_ma" 233} 234 235# Whether Bluetooth should keep its state after reboot. 236# Set by vendors overlay, read at Bluetooth initialization 237prop { 238 api_name: "isSupportPersistedStateEnabled" 239 type: Boolean 240 scope: Public 241 access: Readonly 242 prop_name: "bluetooth.framework.support_persisted_state" 243} 244 245# Whether Bluetooth should keep its state after reboot. 246# Set by vendors overlay, read at Bluetooth initialization 247prop { 248 api_name: "isAdapterAddressValidationEnabled" 249 type: Boolean 250 scope: Public 251 access: Readonly 252 prop_name: "bluetooth.framework.adapter_address_validation" 253} 254 255# Whether the Advanced Audio Distribution Profile (A2DP) Sink role is enabled on this device. 256# Set by vendors overlay, read at Bluetooth initialization 257prop { 258 api_name: "isProfileA2dpSinkEnabled" 259 type: Boolean 260 scope: Public 261 access: Readonly 262 prop_name: "bluetooth.profile.a2dp.sink.enabled" 263} 264 265# Whether the Advanced Audio Distribution Profile (A2DP) Source role is enabled on this device. 266# Set by vendors overlay, read at Bluetooth initialization 267prop { 268 api_name: "isProfileA2dpSourceEnabled" 269 type: Boolean 270 scope: Public 271 access: Readonly 272 prop_name: "bluetooth.profile.a2dp.source.enabled" 273} 274 275# Whether the Android defined Audio Support for Hearing Aids (ASHA) central role over is enabled on 276# this device. Set by vendors overlay, read at Bluetooth initialization. 277prop { 278 api_name: "isProfileAshaCentralEnabled" 279 type: Boolean 280 scope: Public 281 access: Readonly 282 prop_name: "bluetooth.profile.asha.central.enabled" 283} 284 285# Whether the Audio/Video Remote Control Profile (AVRCP) Controller role is enabled on this device. 286# Set by vendors overlay, read at Bluetooth initialization 287prop { 288 api_name: "isProfileAvrcpControllerEnabled" 289 type: Boolean 290 scope: Public 291 access: Readonly 292 prop_name: "bluetooth.profile.avrcp.controller.enabled" 293} 294 295# Whether the Audio/Video Remote Control Profile (AVRCP) Target role is enabled on this device. 296# Set by vendors overlay, read at Bluetooth initialization 297prop { 298 api_name: "isProfileAvrcpTargetEnabled" 299 type: Boolean 300 scope: Public 301 access: Readonly 302 prop_name: "bluetooth.profile.avrcp.target.enabled" 303} 304 305# Whether the Basic Audio Profile (BAP) broadcast assist role is enabled on this device. 306# Set by vendors overlay, read at Bluetooth initialization 307prop { 308 api_name: "isProfileBapBroadcastAssistEnabled" 309 type: Boolean 310 scope: Public 311 access: Readonly 312 prop_name: "bluetooth.profile.bap.broadcast.assist.enabled" 313} 314 315# Whether the Basic Audio Profile (BAP) broadcast source role is enabled on this device. 316# Set by vendors overlay, read at Bluetooth initialization 317prop { 318 api_name: "isProfileBapBroadcastSourceEnabled" 319 type: Boolean 320 scope: Public 321 access: Readonly 322 prop_name: "bluetooth.profile.bap.broadcast.source.enabled" 323} 324 325# Whether the Basic Audio Profile (BAP) unicast client role is enabled on this device. 326# Set by vendors overlay, read at Bluetooth initialization 327prop { 328 api_name: "isProfileBapUnicastClientEnabled" 329 type: Boolean 330 scope: Public 331 access: Readonly 332 prop_name: "bluetooth.profile.bap.unicast.client.enabled" 333} 334 335# Whether the Battery Service profile (BAS) client role is enabled on this device. 336# Set by vendors overlay, read at Bluetooth initialization 337prop { 338 api_name: "isProfileBasClientEnabled" 339 type: Boolean 340 scope: Public 341 access: Readonly 342 prop_name: "bluetooth.profile.bas.client.enabled" 343} 344 345# Whether the Broadcast Audio Scan Service profile (BASS) client role is enabled on this device. 346# Set by vendors overlay, read at Bluetooth initialization 347prop { 348 api_name: "isProfileBassClientEnabled" 349 type: Boolean 350 scope: Public 351 access: Readonly 352 prop_name: "bluetooth.profile.bass.client.enabled" 353} 354 355# Whether the Coordinated Set Indentification Profile (CSIP) set coordinator role is enabled on this 356# device. Set by vendors overlay, read at Bluetooth initialization 357prop { 358 api_name: "isProfileCsipSetCoordinatorEnabled" 359 type: Boolean 360 scope: Public 361 access: Readonly 362 prop_name: "bluetooth.profile.csip.set_coordinator.enabled" 363} 364 365# Whether the Generic Attribute Profile (GATT) is enabled on this device. 366# Set by vendors overlay, read at Bluetooth initialization 367prop { 368 api_name: "isProfileGattEnabled" 369 type: Boolean 370 scope: Public 371 access: Readonly 372 prop_name: "bluetooth.profile.gatt.enabled" 373} 374 375# Whether the Hearing Aid Profile (HAP) client role is enabled on this device. 376# Set by vendors overlay, read at Bluetooth initialization 377prop { 378 api_name: "isProfileHapClientEnabled" 379 type: Boolean 380 scope: Public 381 access: Readonly 382 prop_name: "bluetooth.profile.hap.client.enabled" 383} 384 385# Whether the Hands-Free Profile (HFP) Audio Gateway role is enabled on this device. 386# Set by vendors overlay, read at Bluetooth initialization 387prop { 388 api_name: "isProfileHfpAgEnabled" 389 type: Boolean 390 scope: Public 391 access: Readonly 392 prop_name: "bluetooth.profile.hfp.ag.enabled" 393} 394 395# Whether the Hands-Free Profile (HFP) Hands-free role is enabled on this device. 396# Set by vendors overlay, read at Bluetooth initialization 397prop { 398 api_name: "isProfileHfpHfEnabled" 399 type: Boolean 400 scope: Public 401 access: Readonly 402 prop_name: "bluetooth.profile.hfp.hf.enabled" 403} 404 405# Whether the Human Interface Device Profile (HID) device role is enabled on this device. 406# Set by vendors overlay, read at Bluetooth initialization 407prop { 408 api_name: "isProfileHidDeviceEnabled" 409 type: Boolean 410 scope: Public 411 access: Readonly 412 prop_name: "bluetooth.profile.hid.device.enabled" 413} 414 415# Whether the Human Interface Device Profile (HID) host role is enabled on this device. 416# Set by vendors overlay, read at Bluetooth initialization 417prop { 418 api_name: "isProfileHidHostEnabled" 419 type: Boolean 420 scope: Public 421 access: Readonly 422 prop_name: "bluetooth.profile.hid.host.enabled" 423} 424 425# Whether the Message Access Profile (MAP) Client role is enabled on this device. 426# Set by vendors overlay, read at Bluetooth initialization 427prop { 428 api_name: "isProfileMapClientEnabled" 429 type: Boolean 430 scope: Public 431 access: Readonly 432 prop_name: "bluetooth.profile.map.client.enabled" 433} 434 435# Whether the Message Access Profile (MAP) Server role is enabled on this device. 436# Set by vendors overlay, read at Bluetooth initialization 437prop { 438 api_name: "isProfileMapServerEnabled" 439 type: Boolean 440 scope: Public 441 access: Readonly 442 prop_name: "bluetooth.profile.map.server.enabled" 443} 444 445# Whether the Media Control Profile (MCP) server role is enabled on this device. 446# Set by vendors overlay, read at Bluetooth initialization 447prop { 448 api_name: "isProfileMcpServerEnabled" 449 type: Boolean 450 scope: Public 451 access: Readonly 452 prop_name: "bluetooth.profile.mcp.server.enabled" 453} 454 455# Whether the Object Push Profile (OPP) is enabled on this device. The implementation of OPP 456# supports both client and server roles. Set by vendors overlay, read at Bluetooth initialization 457prop { 458 api_name: "isProfileOppEnabled" 459 type: Boolean 460 scope: Public 461 access: Readonly 462 prop_name: "bluetooth.profile.opp.enabled" 463} 464 465# Whether the Personal Area Networking Profile (PAN) NAP role is enabled on this device. 466# Set by vendors overlay, read at Bluetooth initialization 467prop { 468 api_name: "isProfilePanNapEnabled" 469 type: Boolean 470 scope: Public 471 access: Readonly 472 prop_name: "bluetooth.profile.pan.nap.enabled" 473} 474 475# Whether the Personal Area Networking Profile (PAN) PANU role is enabled on this device. 476# Set by vendors overlay, read at Bluetooth initialization 477prop { 478 api_name: "isProfilePanPanuEnabled" 479 type: Boolean 480 scope: Public 481 access: Readonly 482 prop_name: "bluetooth.profile.pan.panu.enabled" 483} 484 485# Whether the Phonebook Access Profile (PBAP) client role is enabled on this device. 486# Set by vendors overlay, read at Bluetooth initialization 487prop { 488 api_name: "isProfilePbapClientEnabled" 489 type: Boolean 490 scope: Public 491 access: Readonly 492 prop_name: "bluetooth.profile.pbap.client.enabled" 493} 494 495# Whether the Phonebook Access Profile (PBAP) server role is enabled on this device. 496# Set by vendors overlay, read at Bluetooth initialization 497prop { 498 api_name: "isProfilePbapServerEnabled" 499 type: Boolean 500 scope: Public 501 access: Readonly 502 prop_name: "bluetooth.profile.pbap.server.enabled" 503} 504 505# Whether the SIM Access Profile (SAP) server is enabled on this device. 506# Set by vendors overlay, read at Bluetooth initialization 507prop { 508 api_name: "isProfileSapServerEnabled" 509 type: Boolean 510 scope: Public 511 access: Readonly 512 prop_name: "bluetooth.profile.sap.server.enabled" 513} 514 515# Whether the Call Control Profile (CCP) server role is enabled on this device. 516# Set by vendors overlay, read at Bluetooth initialization 517prop { 518 api_name: "isProfileCcpServerEnabled" 519 type: Boolean 520 scope: Public 521 access: Readonly 522 prop_name: "bluetooth.profile.ccp.server.enabled" 523} 524 525# Whether the Volume Control Profile (VCP) controller role is enabled on this device. 526# Set by vendors overlay, read at Bluetooth initialization 527prop { 528 api_name: "isProfileVcpControllerEnabled" 529 type: Boolean 530 scope: Public 531 access: Readonly 532 prop_name: "bluetooth.profile.vcp.controller.enabled" 533} 534 535# ACL Link supervision timeout 536prop { 537 api_name: "getLinkSupervisionTimeout" 538 type: UInt 539 scope: Internal 540 access: Readonly 541 prop_name: "bluetooth.core.acl.link_supervision_timeout" 542} 543 544# The following values are used to load default adapter parameters for BR/EDR. 545# The Bluetooth Core Specification should be consulted for the meaning and valid 546# domain of each of these values. 547 548# BR/EDR Page scan activity configuration 549prop { 550 api_name: "getClassicPageScanType" 551 type: UInt 552 scope: Internal 553 access: Readonly 554 prop_name: "bluetooth.core.classic.page_scan_type" 555} 556prop { 557 api_name: "getClassicPageScanInterval" 558 type: UInt 559 scope: Internal 560 access: Readonly 561 prop_name: "bluetooth.core.classic.page_scan_interval" 562} 563prop { 564 api_name: "getClassicPageScanWindow" 565 type: UInt 566 scope: Internal 567 access: Readonly 568 prop_name: "bluetooth.core.classic.page_scan_window" 569} 570 571# BR/EDR Inquiry scan activity configuration 572prop { 573 api_name: "getClassicInquiryScanType" 574 type: UInt 575 scope: Internal 576 access: Readonly 577 prop_name: "bluetooth.core.classic.inq_scan_type" 578} 579prop { 580 api_name: "getClassicInquiryScanInterval" 581 type: UInt 582 scope: Internal 583 access: Readonly 584 prop_name: "bluetooth.core.classic.inq_scan_interval" 585} 586prop { 587 api_name: "getClassicInquiryScanWindow" 588 type: UInt 589 scope: Internal 590 access: Readonly 591 prop_name: "bluetooth.core.classic.inq_scan_window" 592} 593 594# BR/EDR Page Timeout 595prop { 596 api_name: "getClassicPageTimeout" 597 type: UInt 598 scope: Internal 599 access: Readonly 600 prop_name: "bluetooth.core.classic.page_timeout" 601} 602 603# BR/EDR Sniff Parameters 604# Please refer to BTA_DM_PM_PARK_IDX in bta_api.h to determine how many 605# entries are currently being supported. 606# The SNIFF table entries must be in the order from highest latency (biggest 607# interval) to lowest latency. If there's a conflict among the connected 608# services, the setting with lowest latency wins. 609prop { 610 api_name: "getClassicSniffMaxIntervals" 611 type: UIntList 612 scope: Internal 613 access: Readonly 614 prop_name: "bluetooth.core.classic.sniff_max_intervals" 615} 616prop { 617 api_name: "getClassicSniffMinIntervals" 618 type: UIntList 619 scope: Internal 620 access: Readonly 621 prop_name: "bluetooth.core.classic.sniff_min_intervals" 622} 623prop { 624 api_name: "getClassicSniffAttempts" 625 type: UIntList 626 scope: Internal 627 access: Readonly 628 prop_name: "bluetooth.core.classic.sniff_attempts" 629} 630prop { 631 api_name: "getClassicSniffTimeouts" 632 type: UIntList 633 scope: Internal 634 access: Readonly 635 prop_name: "bluetooth.core.classic.sniff_timeouts" 636} 637 638# The following values are used to load default adapter parameters for LE. 639# The Bluetooth Core Specification should be consulted for the meaning and valid 640# domain of each of these values. 641 642# LE connection parameters. 643prop { 644 api_name: "getLeMinConnectionInterval" 645 type: UInt 646 scope: Internal 647 access: Readonly 648 prop_name: "bluetooth.core.le.min_connection_interval" 649} 650prop { 651 api_name: "getLeMaxConnectionInterval" 652 type: UInt 653 scope: Internal 654 access: Readonly 655 prop_name: "bluetooth.core.le.max_connection_interval" 656} 657prop { 658 api_name: "getLeConnectionLatency" 659 type: UInt 660 scope: Internal 661 access: Readonly 662 prop_name: "bluetooth.core.le.connection_latency" 663} 664prop { 665 api_name: "getLeConnectionSupervisionTimeout" 666 type: UInt 667 scope: Internal 668 access: Readonly 669 prop_name: "bluetooth.core.le.connection_supervision_timeout" 670} 671 672# Direct connection timeout in ms 673prop { 674 api_name: "getLeDirectConnectionTimeout" 675 type: UInt 676 scope: Internal 677 access: Readonly 678 prop_name: "bluetooth.core.le.direct_connection_timeout" 679} 680 681# LE connection scan interval/window 682prop { 683 api_name: "getLeConnectionScanIntervalFast" 684 type: UInt 685 scope: Internal 686 access: Readonly 687 prop_name: "bluetooth.core.le.connection_scan_interval_fast" 688} 689prop { 690 api_name: "getLeConnectionScanWindowFast" 691 type: UInt 692 scope: Internal 693 access: Readonly 694 prop_name: "bluetooth.core.le.connection_scan_window_fast" 695} 696prop { 697 api_name: "getLeConnectionScanWindow2mFast" 698 type: UInt 699 scope: Internal 700 access: Readonly 701 prop_name: "bluetooth.core.le.connection_scan_window_2m_fast" 702} 703prop { 704 api_name: "getLeConnectionScanWindowCodedFast" 705 type: UInt 706 scope: Internal 707 access: Readonly 708 prop_name: "bluetooth.core.le.connection_scan_window_coded_fast" 709} 710prop { 711 api_name: "getLeConnectionScanIntervalSlow" 712 type: UInt 713 scope: Internal 714 access: Readonly 715 prop_name: "bluetooth.core.le.connection_scan_interval_slow" 716} 717prop { 718 api_name: "getLeConnectionScanWindowSlow" 719 type: UInt 720 scope: Internal 721 access: Readonly 722 prop_name: "bluetooth.core.le.connection_scan_window_slow" 723} 724 725# LE scanning parameters used during BTM inquiry 726prop { 727 api_name: "getLeInquiryScanInterval" 728 type: UInt 729 scope: Internal 730 access: Readonly 731 prop_name: "bluetooth.core.le.inquiry_scan_interval" 732} 733prop { 734 api_name: "getLeInquiryScanWindow" 735 type: UInt 736 scope: Internal 737 access: Readonly 738 prop_name: "bluetooth.core.le.inquiry_scan_window" 739} 740 741# Used to disable LeGetVendorCapabilities. 742prop { 743 api_name: "getLeVendorCapabilitiesEnabled" 744 type: Boolean 745 scope: Internal 746 access: Readonly 747 prop_name: "bluetooth.core.le.vendor_capabilities.enabled" 748} 749 750# Used to disable enhanced SCO connection 751prop { 752 api_name: "getDisableEnchancedConnection" 753 type: Boolean 754 scope: Internal 755 access: Readonly 756 prop_name: "bluetooth.sco.disable_enhanced_connection" 757} 758