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 150prop { 151 api_name: "isLeAudioCodecExtensionAidlEnabled" 152 type: Boolean 153 scope: Public 154 access: Readonly 155 prop_name: "bluetooth.core.le_audio.codec_extension_aidl.enabled" 156} 157 158# The default name of the device. 159# Set by vendors overlay, read at Bluetooth initialization 160prop { 161 api_name: "getDefaultDeviceName" 162 type: String 163 scope: Public 164 access: Readonly 165 prop_name: "bluetooth.device.default_name" 166} 167 168# The default class of device of the device, represented as a list of exactly 3 unsigned integers. 169# Set by vendors overlay, read at Bluetooth initialization 170prop { 171 api_name: "getClassOfDevice" 172 type: UIntList 173 scope: Public 174 access: Readonly 175 prop_name: "bluetooth.device.class_of_device" 176} 177 178# The default audio profile for dual mode audio devices for output only audio. The value should be 179# the integer value of BluetoothProfile#A2DP (2) or BluetoothProfile#LE_AUDIO (22). If the value is 180# set to anything else, LE Audio will be the default. 181# Set by vendors overlay, read at Bluetooth initialization 182prop { 183 api_name: "getDefaultOutputOnlyAudioProfile" 184 type: Integer 185 scope: Public 186 access: Readonly 187 prop_name: "bluetooth.device.default_output_only_audio_profile" 188} 189 190# The default audio profile for dual mode audio devices for duplex (output + input) audio. The 191# value should be the integer value of BluetoothProfile#HEADSET (1) or 192# BluetoothProfile#LE_AUDIO (22). If the value is set to anything else, LE Audio will be the 193# default. 194# Set by vendors overlay, read at Bluetooth initialization 195prop { 196 api_name: "getDefaultDuplexAudioProfile" 197 type: Integer 198 scope: Public 199 access: Readonly 200 prop_name: "bluetooth.device.default_duplex_audio_profile" 201} 202 203# Bluetooth operating voltage in millivolts available for vendors overlay. 204# Used to calculate Bluetooth power consumption for a specific hardware. 205prop { 206 api_name: "getHardwareOperatingVoltageMv" 207 type: Integer 208 scope: Public 209 access: Readonly 210 prop_name: "bluetooth.hardware.power.operating_voltage_mv" 211} 212 213# Bluetooth idle current in milliamps available for vendors overlay. 214# Used to calculate Bluetooth power consumption for a specific hardware. 215prop { 216 api_name: "getHardwareIdleCurrentMa" 217 type: Integer 218 scope: Public 219 access: Readonly 220 prop_name: "bluetooth.hardware.power.idle_cur_ma" 221} 222 223# Bluetooth transmit current in milliamps available for vendors overlay. 224# Used to calculate Bluetooth power consumption for a specific hardware. 225prop { 226 api_name: "getHardwareTxCurrentMa" 227 type: Integer 228 scope: Public 229 access: Readonly 230 prop_name: "bluetooth.hardware.power.tx_cur_ma" 231} 232 233# Bluetooth receive current in milliamps available for vendors overlay. 234# Used to calculate Bluetooth power consumption for a specific hardware. 235prop { 236 api_name: "getHardwareRxCurrentMa" 237 type: Integer 238 scope: Public 239 access: Readonly 240 prop_name: "bluetooth.hardware.power.rx_cur_ma" 241} 242 243# Whether Bluetooth should keep its state after reboot. 244# Set by vendors overlay, read at Bluetooth initialization 245prop { 246 api_name: "isSupportPersistedStateEnabled" 247 type: Boolean 248 scope: Public 249 access: Readonly 250 prop_name: "bluetooth.framework.support_persisted_state" 251} 252 253# Whether Bluetooth should keep its state after reboot. 254# Set by vendors overlay, read at Bluetooth initialization 255prop { 256 api_name: "isAdapterAddressValidationEnabled" 257 type: Boolean 258 scope: Public 259 access: Readonly 260 prop_name: "bluetooth.framework.adapter_address_validation" 261} 262 263# Whether the Advanced Audio Distribution Profile (A2DP) Sink role is enabled on this device. 264# Set by vendors overlay, read at Bluetooth initialization 265prop { 266 api_name: "isProfileA2dpSinkEnabled" 267 type: Boolean 268 scope: Public 269 access: Readonly 270 prop_name: "bluetooth.profile.a2dp.sink.enabled" 271} 272 273# Whether the Advanced Audio Distribution Profile (A2DP) Source role is enabled on this device. 274# Set by vendors overlay, read at Bluetooth initialization 275prop { 276 api_name: "isProfileA2dpSourceEnabled" 277 type: Boolean 278 scope: Public 279 access: Readonly 280 prop_name: "bluetooth.profile.a2dp.source.enabled" 281} 282 283# Whether the Android defined Audio Support for Hearing Aids (ASHA) central role over is enabled on 284# this device. Set by vendors overlay, read at Bluetooth initialization. 285prop { 286 api_name: "isProfileAshaCentralEnabled" 287 type: Boolean 288 scope: Public 289 access: Readonly 290 prop_name: "bluetooth.profile.asha.central.enabled" 291} 292 293# Whether the Audio/Video Remote Control Profile (AVRCP) Controller role is enabled on this device. 294# Set by vendors overlay, read at Bluetooth initialization 295prop { 296 api_name: "isProfileAvrcpControllerEnabled" 297 type: Boolean 298 scope: Public 299 access: Readonly 300 prop_name: "bluetooth.profile.avrcp.controller.enabled" 301} 302 303# Whether the Audio/Video Remote Control Profile (AVRCP) Target role is enabled on this device. 304# Set by vendors overlay, read at Bluetooth initialization 305prop { 306 api_name: "isProfileAvrcpTargetEnabled" 307 type: Boolean 308 scope: Public 309 access: Readonly 310 prop_name: "bluetooth.profile.avrcp.target.enabled" 311} 312 313# Whether the Basic Audio Profile (BAP) broadcast assist role is enabled on this device. 314# Set by vendors overlay, read at Bluetooth initialization 315prop { 316 api_name: "isProfileBapBroadcastAssistEnabled" 317 type: Boolean 318 scope: Public 319 access: Readonly 320 prop_name: "bluetooth.profile.bap.broadcast.assist.enabled" 321} 322 323# Whether the Basic Audio Profile (BAP) broadcast source role is enabled on this device. 324# Set by vendors overlay, read at Bluetooth initialization 325prop { 326 api_name: "isProfileBapBroadcastSourceEnabled" 327 type: Boolean 328 scope: Public 329 access: Readonly 330 prop_name: "bluetooth.profile.bap.broadcast.source.enabled" 331} 332 333# Whether the Basic Audio Profile (BAP) unicast client role is enabled on this device. 334# Set by vendors overlay, read at Bluetooth initialization 335prop { 336 api_name: "isProfileBapUnicastClientEnabled" 337 type: Boolean 338 scope: Public 339 access: Readonly 340 prop_name: "bluetooth.profile.bap.unicast.client.enabled" 341} 342 343# Whether the Battery Service profile (BAS) client role is enabled on this device. 344# Set by vendors overlay, read at Bluetooth initialization 345prop { 346 api_name: "isProfileBasClientEnabled" 347 type: Boolean 348 scope: Public 349 access: Readonly 350 prop_name: "bluetooth.profile.bas.client.enabled" 351} 352 353# Whether the Broadcast Audio Scan Service profile (BASS) client role is enabled on this device. 354# Set by vendors overlay, read at Bluetooth initialization 355prop { 356 api_name: "isProfileBassClientEnabled" 357 type: Boolean 358 scope: Public 359 access: Readonly 360 prop_name: "bluetooth.profile.bass.client.enabled" 361} 362 363# Whether the Coordinated Set Indentification Profile (CSIP) set coordinator role is enabled on this 364# device. Set by vendors overlay, read at Bluetooth initialization 365prop { 366 api_name: "isProfileCsipSetCoordinatorEnabled" 367 type: Boolean 368 scope: Public 369 access: Readonly 370 prop_name: "bluetooth.profile.csip.set_coordinator.enabled" 371} 372 373# Whether the Generic Attribute Profile (GATT) is enabled on this device. 374# Set by vendors overlay, read at Bluetooth initialization 375prop { 376 api_name: "isProfileGattEnabled" 377 type: Boolean 378 scope: Public 379 access: Readonly 380 prop_name: "bluetooth.profile.gatt.enabled" 381} 382 383# Whether the Gaming Audio profile (GMAP) is enabled on this device. 384# Set by vendors overlay, read at Bluetooth initialization 385prop { 386 api_name: "isProfileGmapEnabled" 387 type: Boolean 388 scope: Public 389 access: Readonly 390 prop_name: "bluetooth.profile.gmap.enabled" 391} 392 393# Whether the Hearing Aid Profile (HAP) client role is enabled on this device. 394# Set by vendors overlay, read at Bluetooth initialization 395prop { 396 api_name: "isProfileHapClientEnabled" 397 type: Boolean 398 scope: Public 399 access: Readonly 400 prop_name: "bluetooth.profile.hap.client.enabled" 401} 402 403# Whether the Hands-Free Profile (HFP) Audio Gateway role is enabled on this device. 404# Set by vendors overlay, read at Bluetooth initialization 405prop { 406 api_name: "isProfileHfpAgEnabled" 407 type: Boolean 408 scope: Public 409 access: Readonly 410 prop_name: "bluetooth.profile.hfp.ag.enabled" 411} 412 413# Whether the Hands-Free Profile (HFP) Hands-free role is enabled on this device. 414# Set by vendors overlay, read at Bluetooth initialization 415prop { 416 api_name: "isProfileHfpHfEnabled" 417 type: Boolean 418 scope: Public 419 access: Readonly 420 prop_name: "bluetooth.profile.hfp.hf.enabled" 421} 422 423# Whether Bluetooth HFP software datapath is enabled. 424# Set by vendors overlay, read at Bluetooth initialization 425prop { 426 api_name: "isHfpSoftwareDatapathEnabled" 427 type: Boolean 428 scope: Public 429 access: Readonly 430 prop_name: "bluetooth.hfp.software_datapath.enabled" 431} 432 433# Whether the Human Interface Device Profile (HID) device role is enabled on this device. 434# Set by vendors overlay, read at Bluetooth initialization 435prop { 436 api_name: "isProfileHidDeviceEnabled" 437 type: Boolean 438 scope: Public 439 access: Readonly 440 prop_name: "bluetooth.profile.hid.device.enabled" 441} 442 443# Whether the Human Interface Device Profile (HID) host role is enabled on this device. 444# Set by vendors overlay, read at Bluetooth initialization 445prop { 446 api_name: "isProfileHidHostEnabled" 447 type: Boolean 448 scope: Public 449 access: Readonly 450 prop_name: "bluetooth.profile.hid.host.enabled" 451} 452 453# Whether the Message Access Profile (MAP) Client role is enabled on this device. 454# Set by vendors overlay, read at Bluetooth initialization 455prop { 456 api_name: "isProfileMapClientEnabled" 457 type: Boolean 458 scope: Public 459 access: Readonly 460 prop_name: "bluetooth.profile.map.client.enabled" 461} 462 463# Whether the Message Access Profile (MAP) Server role is enabled on this device. 464# Set by vendors overlay, read at Bluetooth initialization 465prop { 466 api_name: "isProfileMapServerEnabled" 467 type: Boolean 468 scope: Public 469 access: Readonly 470 prop_name: "bluetooth.profile.map.server.enabled" 471} 472 473# Whether the Media Control Profile (MCP) server role is enabled on this device. 474# Set by vendors overlay, read at Bluetooth initialization 475prop { 476 api_name: "isProfileMcpServerEnabled" 477 type: Boolean 478 scope: Public 479 access: Readonly 480 prop_name: "bluetooth.profile.mcp.server.enabled" 481} 482 483# Whether the Object Push Profile (OPP) is enabled on this device. The implementation of OPP 484# supports both client and server roles. Set by vendors overlay, read at Bluetooth initialization 485prop { 486 api_name: "isProfileOppEnabled" 487 type: Boolean 488 scope: Public 489 access: Readonly 490 prop_name: "bluetooth.profile.opp.enabled" 491} 492 493# Whether the Personal Area Networking Profile (PAN) NAP role is enabled on this device. 494# Set by vendors overlay, read at Bluetooth initialization 495prop { 496 api_name: "isProfilePanNapEnabled" 497 type: Boolean 498 scope: Public 499 access: Readonly 500 prop_name: "bluetooth.profile.pan.nap.enabled" 501} 502 503# Whether the Personal Area Networking Profile (PAN) PANU role is enabled on this device. 504# Set by vendors overlay, read at Bluetooth initialization 505prop { 506 api_name: "isProfilePanPanuEnabled" 507 type: Boolean 508 scope: Public 509 access: Readonly 510 prop_name: "bluetooth.profile.pan.panu.enabled" 511} 512 513# Whether the Phonebook Access Profile (PBAP) client role is enabled on this device. 514# Set by vendors overlay, read at Bluetooth initialization 515prop { 516 api_name: "isProfilePbapClientEnabled" 517 type: Boolean 518 scope: Public 519 access: Readonly 520 prop_name: "bluetooth.profile.pbap.client.enabled" 521} 522 523# Whether the Phonebook Access Profile (PBAP) server role is enabled on this device. 524# Set by vendors overlay, read at Bluetooth initialization 525prop { 526 api_name: "isProfilePbapServerEnabled" 527 type: Boolean 528 scope: Public 529 access: Readonly 530 prop_name: "bluetooth.profile.pbap.server.enabled" 531} 532 533# Whether the Phonebook Access Profile (PBAP)'s SIM feature is enabled on this device. 534# Set by vendors overlay, read at Bluetooth initialization 535prop { 536 api_name: "isProfilePbapSimEnabled" 537 type: Boolean 538 scope: Public 539 access: Readonly 540 prop_name: "bluetooth.profile.pbap.sim.enabled" 541} 542 543# Whether the SIM Access Profile (SAP) server is enabled on this device. 544# Set by vendors overlay, read at Bluetooth initialization 545prop { 546 api_name: "isProfileSapServerEnabled" 547 type: Boolean 548 scope: Public 549 access: Readonly 550 prop_name: "bluetooth.profile.sap.server.enabled" 551} 552 553# Whether the Call Control Profile (CCP) server role is enabled on this device. 554# Set by vendors overlay, read at Bluetooth initialization 555prop { 556 api_name: "isProfileCcpServerEnabled" 557 type: Boolean 558 scope: Public 559 access: Readonly 560 prop_name: "bluetooth.profile.ccp.server.enabled" 561} 562 563# Whether the Volume Control Profile (VCP) controller role is enabled on this device. 564# Set by vendors overlay, read at Bluetooth initialization 565prop { 566 api_name: "isProfileVcpControllerEnabled" 567 type: Boolean 568 scope: Public 569 access: Readonly 570 prop_name: "bluetooth.profile.vcp.controller.enabled" 571} 572 573# ACL Link supervision timeout 574prop { 575 api_name: "getLinkSupervisionTimeout" 576 type: UInt 577 scope: Internal 578 access: Readonly 579 prop_name: "bluetooth.core.acl.link_supervision_timeout" 580} 581 582# The following values are used to load default adapter parameters for BR/EDR. 583# The Bluetooth Core Specification should be consulted for the meaning and valid 584# domain of each of these values. 585 586# BR/EDR Page scan activity configuration 587prop { 588 api_name: "getClassicPageScanType" 589 type: UInt 590 scope: Internal 591 access: Readonly 592 prop_name: "bluetooth.core.classic.page_scan_type" 593} 594prop { 595 api_name: "getClassicPageScanInterval" 596 type: UInt 597 scope: Internal 598 access: Readonly 599 prop_name: "bluetooth.core.classic.page_scan_interval" 600} 601prop { 602 api_name: "getClassicPageScanWindow" 603 type: UInt 604 scope: Internal 605 access: Readonly 606 prop_name: "bluetooth.core.classic.page_scan_window" 607} 608 609# BR/EDR Inquiry scan activity configuration 610prop { 611 api_name: "getClassicInquiryScanType" 612 type: UInt 613 scope: Internal 614 access: Readonly 615 prop_name: "bluetooth.core.classic.inq_scan_type" 616} 617prop { 618 api_name: "getClassicInquiryScanInterval" 619 type: UInt 620 scope: Internal 621 access: Readonly 622 prop_name: "bluetooth.core.classic.inq_scan_interval" 623} 624prop { 625 api_name: "getClassicInquiryScanWindow" 626 type: UInt 627 scope: Internal 628 access: Readonly 629 prop_name: "bluetooth.core.classic.inq_scan_window" 630} 631 632# BR/EDR Page Timeout 633prop { 634 api_name: "getClassicPageTimeout" 635 type: UInt 636 scope: Internal 637 access: Readonly 638 prop_name: "bluetooth.core.classic.page_timeout" 639} 640 641# BR/EDR Sniff Parameters 642# Please refer to BTA_DM_PM_PARK_IDX in bta_api.h to determine how many 643# entries are currently being supported. 644# The SNIFF table entries must be in the order from highest latency (biggest 645# interval) to lowest latency. If there's a conflict among the connected 646# services, the setting with lowest latency wins. 647prop { 648 api_name: "getClassicSniffMaxIntervals" 649 type: UIntList 650 scope: Internal 651 access: Readonly 652 prop_name: "bluetooth.core.classic.sniff_max_intervals" 653} 654prop { 655 api_name: "getClassicSniffMinIntervals" 656 type: UIntList 657 scope: Internal 658 access: Readonly 659 prop_name: "bluetooth.core.classic.sniff_min_intervals" 660} 661prop { 662 api_name: "getClassicSniffAttempts" 663 type: UIntList 664 scope: Internal 665 access: Readonly 666 prop_name: "bluetooth.core.classic.sniff_attempts" 667} 668prop { 669 api_name: "getClassicSniffTimeouts" 670 type: UIntList 671 scope: Internal 672 access: Readonly 673 prop_name: "bluetooth.core.classic.sniff_timeouts" 674} 675 676# The following values are used to load default adapter parameters for LE. 677# The Bluetooth Core Specification should be consulted for the meaning and valid 678# domain of each of these values. 679 680# LE connection parameters. 681prop { 682 api_name: "getLeMinConnectionInterval" 683 type: UInt 684 scope: Internal 685 access: Readonly 686 prop_name: "bluetooth.core.le.min_connection_interval" 687} 688prop { 689 api_name: "getLeMaxConnectionInterval" 690 type: UInt 691 scope: Internal 692 access: Readonly 693 prop_name: "bluetooth.core.le.max_connection_interval" 694} 695prop { 696 api_name: "getLeConnectionLatency" 697 type: UInt 698 scope: Internal 699 access: Readonly 700 prop_name: "bluetooth.core.le.connection_latency" 701} 702prop { 703 api_name: "getLeConnectionSupervisionTimeout" 704 type: UInt 705 scope: Internal 706 access: Readonly 707 prop_name: "bluetooth.core.le.connection_supervision_timeout" 708} 709 710# Direct connection timeout in ms 711prop { 712 api_name: "getLeDirectConnectionTimeout" 713 type: UInt 714 scope: Internal 715 access: Readonly 716 prop_name: "bluetooth.core.le.direct_connection_timeout" 717} 718 719# LE connection scan interval/window 720prop { 721 api_name: "getLeConnectionScanIntervalFast" 722 type: UInt 723 scope: Internal 724 access: Readonly 725 prop_name: "bluetooth.core.le.connection_scan_interval_fast" 726} 727prop { 728 api_name: "getLeConnectionScanWindowFast" 729 type: UInt 730 scope: Internal 731 access: Readonly 732 prop_name: "bluetooth.core.le.connection_scan_window_fast" 733} 734prop { 735 api_name: "getLeConnectionScanWindow2mFast" 736 type: UInt 737 scope: Internal 738 access: Readonly 739 prop_name: "bluetooth.core.le.connection_scan_window_2m_fast" 740} 741prop { 742 api_name: "getLeConnectionScanWindowCodedFast" 743 type: UInt 744 scope: Internal 745 access: Readonly 746 prop_name: "bluetooth.core.le.connection_scan_window_coded_fast" 747} 748prop { 749 api_name: "getLeConnectionScanIntervalSlow" 750 type: UInt 751 scope: Internal 752 access: Readonly 753 prop_name: "bluetooth.core.le.connection_scan_interval_slow" 754} 755prop { 756 api_name: "getLeConnectionScanWindowSlow" 757 type: UInt 758 scope: Internal 759 access: Readonly 760 prop_name: "bluetooth.core.le.connection_scan_window_slow" 761} 762 763# LE scanning parameters used during BTM inquiry 764prop { 765 api_name: "getLeInquiryScanInterval" 766 type: UInt 767 scope: Internal 768 access: Readonly 769 prop_name: "bluetooth.core.le.inquiry_scan_interval" 770} 771prop { 772 api_name: "getLeInquiryScanWindow" 773 type: UInt 774 scope: Internal 775 access: Readonly 776 prop_name: "bluetooth.core.le.inquiry_scan_window" 777} 778 779# Used to disable LeGetVendorCapabilities. 780prop { 781 api_name: "getLeVendorCapabilitiesEnabled" 782 type: Boolean 783 scope: Internal 784 access: Readonly 785 prop_name: "bluetooth.core.le.vendor_capabilities.enabled" 786} 787 788# Maximum number of number of allowed concurrent LE Connections 789prop { 790 api_name: "getLeMaxNumberOfConcurrentConnections" 791 type: UInt 792 scope: Public 793 access: Readonly 794 prop_name: "bluetooth.core.le.max_number_of_concurrent_connections" 795} 796 797# list of supported HID transport protocols for IMU data over LE Audio by order of preferrence 798# Comma separated list of: 799# - "le-acl": LE ACL transport, the IMU data is reported via the sensor stack 800# - "iso-sw": ISO transport, the IMU data is reported via the sensor stack 801# - "iso-hw": ISO transport, the IMU data is tunneled to the Spatializer in the ADSP 802prop { 803 api_name: "dsa_transport_preference" 804 type: StringList 805 scope: Public 806 access: Readonly 807 prop_name: "bluetooth.core.le.dsa_transport_preference" 808} 809 810# Used to disable enhanced SCO connection 811prop { 812 api_name: "getDisableEnchancedConnection" 813 type: Boolean 814 scope: Internal 815 access: Readonly 816 prop_name: "bluetooth.sco.disable_enhanced_connection" 817} 818 819# Whether Bluetooth HFP SCO managed by Audio. 820# Set by vendors overlay, read at Bluetooth initialization 821prop { 822 api_name: "isScoManagedByAudioEnabled" 823 type: Boolean 824 scope: Public 825 access: Readonly 826 prop_name: "bluetooth.sco.managed_by_audio" 827} 828 829# Determine if sniff mode is handled in AP or MCU 830prop { 831 api_name: "enable_sniff_offload" 832 type: Boolean 833 scope: Public 834 access: Readonly 835 prop_name: "persist.bluetooth.sniff_offload.enabled" 836 integer_as_bool: true 837} 838 839# Determines if MSFT HCI ext should be used for LE Scanning 840prop { 841 api_name: "isMsftHciExtEnabled" 842 type: Boolean 843 scope: Internal 844 access: Readonly 845 prop_name: "bluetooth.core.le.use_msft_hci_ext" 846} 847