blob: c1daafd8e59d10bd672c5cf689a56932f8c4203a [file] [log] [blame]
Etienne Ruffieux3716ef02021-12-15 14:03:58 +00001# 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
Etienne Ruffieux2914eb32022-01-28 00:47:54 +000021 scope: Public
Etienne Ruffieux3716ef02021-12-15 14:03:58 +000022 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
Etienne Ruffieux2914eb32022-01-28 00:47:54 +000030 scope: Public
Etienne Ruffieux3716ef02021-12-15 14:03:58 +000031 access: ReadWrite
32 enum_values: "empty|disabled|filtered|full"
33 prop_name: "persist.bluetooth.btsnooplogmode"
34}
35
Jakub4b6585b2022-11-02 09:28:16 +000036# 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
Etienne Ruffieux3716ef02021-12-15 14:03:58 +000092prop {
93 api_name: "factory_reset"
94 type: Boolean
Etienne Ruffieux2914eb32022-01-28 00:47:54 +000095 scope: Public
Etienne Ruffieux3716ef02021-12-15 14:03:58 +000096 access: ReadWrite
97 prop_name: "persist.bluetooth.factoryreset"
Etienne Ruffieux976d3302022-01-12 13:00:59 +000098}
99
Patty Huangc7d63772023-01-04 00:12:28 +0800100prop {
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
Etienne Ruffieux976d3302022-01-12 13:00:59 +0000108######## Bluetooth configurations
109
Dorin Drimuse9451ae2022-04-05 16:38:30 +0000110# 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
Dorin Drimusdf859bb2022-07-29 18:41:43 +0000120# 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
Ying Hsu9e3eb9a2022-12-08 09:40:46 +0000130# 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
Ɓukasz Rymanowski77f1aa02023-02-06 09:04:05 +0000140# 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
Yuyang Huanga3279d22024-05-10 21:04:29 +0000150prop {
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
Sal Savage88de6de2022-01-13 13:50:17 -0800158# 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
Rahul Sabnis091c41f2023-01-17 10:56:36 -0800178# 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
Etienne Ruffieux976d3302022-01-12 13:00:59 +0000203# 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
Etienne Ruffieux6086f2d2022-01-28 13:50:37 +0000243# 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
Sal Savage88de6de2022-01-13 13:50:17 -0800263# Whether the Advanced Audio Distribution Profile (A2DP) Sink role is enabled on this device.
264# Set by vendors overlay, read at Bluetooth initialization
Etienne Ruffieux976d3302022-01-12 13:00:59 +0000265prop {
Sal Savage88de6de2022-01-13 13:50:17 -0800266 api_name: "isProfileA2dpSinkEnabled"
Etienne Ruffieux976d3302022-01-12 13:00:59 +0000267 type: Boolean
268 scope: Public
269 access: Readonly
Sal Savage88de6de2022-01-13 13:50:17 -0800270 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
Sal Savage11d56682022-04-07 11:20:10 -0700333# Whether the Basic Audio Profile (BAP) unicast client role is enabled on this device.
Sal Savage88de6de2022-01-13 13:50:17 -0800334# Set by vendors overlay, read at Bluetooth initialization
335prop {
Sal Savage11d56682022-04-07 11:20:10 -0700336 api_name: "isProfileBapUnicastClientEnabled"
Sal Savage88de6de2022-01-13 13:50:17 -0800337 type: Boolean
338 scope: Public
339 access: Readonly
Sal Savage11d56682022-04-07 11:20:10 -0700340 prop_name: "bluetooth.profile.bap.unicast.client.enabled"
Sal Savage88de6de2022-01-13 13:50:17 -0800341}
342
Sal Savagea0309b02022-03-12 12:44:40 -0800343# 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
Sal Savage88de6de2022-01-13 13:50:17 -0800353# 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 Hearing Aid Profile (HAP) client role is enabled on this device.
384# Set by vendors overlay, read at Bluetooth initialization
385prop {
386 api_name: "isProfileHapClientEnabled"
387 type: Boolean
388 scope: Public
389 access: Readonly
390 prop_name: "bluetooth.profile.hap.client.enabled"
391}
392
393# Whether the Hands-Free Profile (HFP) Audio Gateway role is enabled on this device.
394# Set by vendors overlay, read at Bluetooth initialization
395prop {
396 api_name: "isProfileHfpAgEnabled"
397 type: Boolean
398 scope: Public
399 access: Readonly
400 prop_name: "bluetooth.profile.hfp.ag.enabled"
401}
402
403# Whether the Hands-Free Profile (HFP) Hands-free role is enabled on this device.
404# Set by vendors overlay, read at Bluetooth initialization
405prop {
406 api_name: "isProfileHfpHfEnabled"
407 type: Boolean
408 scope: Public
409 access: Readonly
410 prop_name: "bluetooth.profile.hfp.hf.enabled"
411}
412
413# Whether the Human Interface Device Profile (HID) device role is enabled on this device.
414# Set by vendors overlay, read at Bluetooth initialization
415prop {
416 api_name: "isProfileHidDeviceEnabled"
417 type: Boolean
418 scope: Public
419 access: Readonly
420 prop_name: "bluetooth.profile.hid.device.enabled"
421}
422
423# Whether the Human Interface Device Profile (HID) host role is enabled on this device.
424# Set by vendors overlay, read at Bluetooth initialization
425prop {
426 api_name: "isProfileHidHostEnabled"
427 type: Boolean
428 scope: Public
429 access: Readonly
430 prop_name: "bluetooth.profile.hid.host.enabled"
431}
432
433# Whether the Message Access Profile (MAP) Client role is enabled on this device.
434# Set by vendors overlay, read at Bluetooth initialization
435prop {
436 api_name: "isProfileMapClientEnabled"
437 type: Boolean
438 scope: Public
439 access: Readonly
440 prop_name: "bluetooth.profile.map.client.enabled"
441}
442
443# Whether the Message Access Profile (MAP) Server role is enabled on this device.
444# Set by vendors overlay, read at Bluetooth initialization
445prop {
446 api_name: "isProfileMapServerEnabled"
447 type: Boolean
448 scope: Public
449 access: Readonly
450 prop_name: "bluetooth.profile.map.server.enabled"
451}
452
453# Whether the Media Control Profile (MCP) server role is enabled on this device.
454# Set by vendors overlay, read at Bluetooth initialization
455prop {
456 api_name: "isProfileMcpServerEnabled"
457 type: Boolean
458 scope: Public
459 access: Readonly
460 prop_name: "bluetooth.profile.mcp.server.enabled"
461}
462
463# Whether the Object Push Profile (OPP) is enabled on this device. The implementation of OPP
464# supports both client and server roles. Set by vendors overlay, read at Bluetooth initialization
465prop {
466 api_name: "isProfileOppEnabled"
467 type: Boolean
468 scope: Public
469 access: Readonly
470 prop_name: "bluetooth.profile.opp.enabled"
471}
472
473# Whether the Personal Area Networking Profile (PAN) NAP role is enabled on this device.
474# Set by vendors overlay, read at Bluetooth initialization
475prop {
476 api_name: "isProfilePanNapEnabled"
477 type: Boolean
478 scope: Public
479 access: Readonly
480 prop_name: "bluetooth.profile.pan.nap.enabled"
481}
482
483# Whether the Personal Area Networking Profile (PAN) PANU role is enabled on this device.
484# Set by vendors overlay, read at Bluetooth initialization
485prop {
486 api_name: "isProfilePanPanuEnabled"
487 type: Boolean
488 scope: Public
489 access: Readonly
490 prop_name: "bluetooth.profile.pan.panu.enabled"
491}
492
493# Whether the Phonebook Access Profile (PBAP) client role is enabled on this device.
494# Set by vendors overlay, read at Bluetooth initialization
495prop {
496 api_name: "isProfilePbapClientEnabled"
497 type: Boolean
498 scope: Public
499 access: Readonly
500 prop_name: "bluetooth.profile.pbap.client.enabled"
501}
502
503# Whether the Phonebook Access Profile (PBAP) server role is enabled on this device.
504# Set by vendors overlay, read at Bluetooth initialization
505prop {
506 api_name: "isProfilePbapServerEnabled"
507 type: Boolean
508 scope: Public
509 access: Readonly
510 prop_name: "bluetooth.profile.pbap.server.enabled"
511}
512
Hyundo Moon8de774e2023-10-04 18:36:08 +0900513# Whether the Phonebook Access Profile (PBAP)'s SIM feature is enabled on this device.
514# Set by vendors overlay, read at Bluetooth initialization
515prop {
516 api_name: "isProfilePbapSimEnabled"
517 type: Boolean
518 scope: Public
519 access: Readonly
520 prop_name: "bluetooth.profile.pbap.sim.enabled"
521}
522
Sal Savage88de6de2022-01-13 13:50:17 -0800523# Whether the SIM Access Profile (SAP) server is enabled on this device.
524# Set by vendors overlay, read at Bluetooth initialization
525prop {
526 api_name: "isProfileSapServerEnabled"
527 type: Boolean
528 scope: Public
529 access: Readonly
530 prop_name: "bluetooth.profile.sap.server.enabled"
531}
532
Sal Savage11d56682022-04-07 11:20:10 -0700533# Whether the Call Control Profile (CCP) server role is enabled on this device.
Sal Savage88de6de2022-01-13 13:50:17 -0800534# Set by vendors overlay, read at Bluetooth initialization
535prop {
Sal Savage11d56682022-04-07 11:20:10 -0700536 api_name: "isProfileCcpServerEnabled"
Sal Savage88de6de2022-01-13 13:50:17 -0800537 type: Boolean
538 scope: Public
539 access: Readonly
Sal Savage11d56682022-04-07 11:20:10 -0700540 prop_name: "bluetooth.profile.ccp.server.enabled"
Sal Savage88de6de2022-01-13 13:50:17 -0800541}
542
Sal Savage11d56682022-04-07 11:20:10 -0700543# Whether the Volume Control Profile (VCP) controller role is enabled on this device.
Sal Savage88de6de2022-01-13 13:50:17 -0800544# Set by vendors overlay, read at Bluetooth initialization
545prop {
Sal Savage11d56682022-04-07 11:20:10 -0700546 api_name: "isProfileVcpControllerEnabled"
Sal Savage88de6de2022-01-13 13:50:17 -0800547 type: Boolean
548 scope: Public
549 access: Readonly
Sal Savage11d56682022-04-07 11:20:10 -0700550 prop_name: "bluetooth.profile.vcp.controller.enabled"
Sal Savage88de6de2022-01-13 13:50:17 -0800551}
Katherine Lai0fa7e5a2022-07-14 23:04:21 +0000552
553# ACL Link supervision timeout
554prop {
555 api_name: "getLinkSupervisionTimeout"
556 type: UInt
557 scope: Internal
558 access: Readonly
559 prop_name: "bluetooth.core.acl.link_supervision_timeout"
560}
561
562# The following values are used to load default adapter parameters for BR/EDR.
563# The Bluetooth Core Specification should be consulted for the meaning and valid
564# domain of each of these values.
565
566# BR/EDR Page scan activity configuration
567prop {
568 api_name: "getClassicPageScanType"
569 type: UInt
570 scope: Internal
571 access: Readonly
572 prop_name: "bluetooth.core.classic.page_scan_type"
573}
574prop {
575 api_name: "getClassicPageScanInterval"
576 type: UInt
577 scope: Internal
578 access: Readonly
579 prop_name: "bluetooth.core.classic.page_scan_interval"
580}
581prop {
582 api_name: "getClassicPageScanWindow"
583 type: UInt
584 scope: Internal
585 access: Readonly
586 prop_name: "bluetooth.core.classic.page_scan_window"
587}
588
589# BR/EDR Inquiry scan activity configuration
590prop {
591 api_name: "getClassicInquiryScanType"
592 type: UInt
593 scope: Internal
594 access: Readonly
595 prop_name: "bluetooth.core.classic.inq_scan_type"
596}
597prop {
598 api_name: "getClassicInquiryScanInterval"
599 type: UInt
600 scope: Internal
601 access: Readonly
602 prop_name: "bluetooth.core.classic.inq_scan_interval"
603}
604prop {
605 api_name: "getClassicInquiryScanWindow"
606 type: UInt
607 scope: Internal
608 access: Readonly
609 prop_name: "bluetooth.core.classic.inq_scan_window"
610}
611
612# BR/EDR Page Timeout
613prop {
614 api_name: "getClassicPageTimeout"
615 type: UInt
616 scope: Internal
617 access: Readonly
618 prop_name: "bluetooth.core.classic.page_timeout"
Katherine Laid9727d52022-08-09 22:42:15 +0000619}
620
621# BR/EDR Sniff Parameters
622# Please refer to BTA_DM_PM_PARK_IDX in bta_api.h to determine how many
623# entries are currently being supported.
624# The SNIFF table entries must be in the order from highest latency (biggest
625# interval) to lowest latency. If there's a conflict among the connected
626# services, the setting with lowest latency wins.
627prop {
628 api_name: "getClassicSniffMaxIntervals"
629 type: UIntList
630 scope: Internal
631 access: Readonly
632 prop_name: "bluetooth.core.classic.sniff_max_intervals"
633}
634prop {
635 api_name: "getClassicSniffMinIntervals"
636 type: UIntList
637 scope: Internal
638 access: Readonly
639 prop_name: "bluetooth.core.classic.sniff_min_intervals"
640}
641prop {
642 api_name: "getClassicSniffAttempts"
643 type: UIntList
644 scope: Internal
645 access: Readonly
646 prop_name: "bluetooth.core.classic.sniff_attempts"
647}
648prop {
649 api_name: "getClassicSniffTimeouts"
650 type: UIntList
651 scope: Internal
652 access: Readonly
653 prop_name: "bluetooth.core.classic.sniff_timeouts"
654}
655
656# The following values are used to load default adapter parameters for LE.
657# The Bluetooth Core Specification should be consulted for the meaning and valid
658# domain of each of these values.
659
660# LE connection parameters.
661prop {
662 api_name: "getLeMinConnectionInterval"
663 type: UInt
664 scope: Internal
665 access: Readonly
666 prop_name: "bluetooth.core.le.min_connection_interval"
667}
668prop {
669 api_name: "getLeMaxConnectionInterval"
670 type: UInt
671 scope: Internal
672 access: Readonly
673 prop_name: "bluetooth.core.le.max_connection_interval"
674}
675prop {
676 api_name: "getLeConnectionLatency"
677 type: UInt
678 scope: Internal
679 access: Readonly
680 prop_name: "bluetooth.core.le.connection_latency"
681}
682prop {
683 api_name: "getLeConnectionSupervisionTimeout"
684 type: UInt
685 scope: Internal
686 access: Readonly
687 prop_name: "bluetooth.core.le.connection_supervision_timeout"
688}
689
690# Direct connection timeout in ms
691prop {
692 api_name: "getLeDirectConnectionTimeout"
693 type: UInt
694 scope: Internal
695 access: Readonly
696 prop_name: "bluetooth.core.le.direct_connection_timeout"
697}
698
699# LE connection scan interval/window
700prop {
701 api_name: "getLeConnectionScanIntervalFast"
702 type: UInt
703 scope: Internal
704 access: Readonly
705 prop_name: "bluetooth.core.le.connection_scan_interval_fast"
706}
707prop {
708 api_name: "getLeConnectionScanWindowFast"
709 type: UInt
710 scope: Internal
711 access: Readonly
712 prop_name: "bluetooth.core.le.connection_scan_window_fast"
713}
714prop {
715 api_name: "getLeConnectionScanWindow2mFast"
716 type: UInt
717 scope: Internal
718 access: Readonly
719 prop_name: "bluetooth.core.le.connection_scan_window_2m_fast"
720}
721prop {
722 api_name: "getLeConnectionScanWindowCodedFast"
723 type: UInt
724 scope: Internal
725 access: Readonly
726 prop_name: "bluetooth.core.le.connection_scan_window_coded_fast"
727}
728prop {
729 api_name: "getLeConnectionScanIntervalSlow"
730 type: UInt
731 scope: Internal
732 access: Readonly
733 prop_name: "bluetooth.core.le.connection_scan_interval_slow"
734}
735prop {
736 api_name: "getLeConnectionScanWindowSlow"
737 type: UInt
738 scope: Internal
739 access: Readonly
740 prop_name: "bluetooth.core.le.connection_scan_window_slow"
Katherine Lai43ef6502022-09-09 20:41:14 +0000741}
742
743# LE scanning parameters used during BTM inquiry
744prop {
745 api_name: "getLeInquiryScanInterval"
746 type: UInt
747 scope: Internal
748 access: Readonly
749 prop_name: "bluetooth.core.le.inquiry_scan_interval"
750}
751prop {
752 api_name: "getLeInquiryScanWindow"
753 type: UInt
754 scope: Internal
755 access: Readonly
756 prop_name: "bluetooth.core.le.inquiry_scan_window"
Katherine Laie40940a2022-10-31 17:55:30 +0000757}
758
Abhishek Pandit-Subedif809e442023-01-26 16:13:24 -0800759# Used to disable LeGetVendorCapabilities.
760prop {
761 api_name: "getLeVendorCapabilitiesEnabled"
762 type: Boolean
763 scope: Internal
764 access: Readonly
765 prop_name: "bluetooth.core.le.vendor_capabilities.enabled"
766}
767
Christine Hallstrom80600fd2024-02-07 17:23:11 -0800768# Maximum number of number of allowed concurrent LE Connections
769prop {
770 api_name: "getLeMaxNumberOfConcurrentConnections"
771 type: UInt
772 scope: Public
773 access: Readonly
774 prop_name: "bluetooth.core.le.max_number_of_concurrent_connections"
775}
776
Eric Laurentd1f56c62023-11-16 13:47:24 +0000777# list of supported HID transport protocols for IMU data over LE Audio by order of preferrence
778# Comma separated list of:
779# - "le-acl": LE ACL transport, the IMU data is reported via the sensor stack
780# - "iso-sw": ISO transport, the IMU data is reported via the sensor stack
781# - "iso-hw": ISO transport, the IMU data is tunneled to the Spatializer in the ADSP
782prop {
783 api_name: "dsa_transport_preference"
784 type: StringList
785 scope: Public
786 access: Readonly
787 prop_name: "bluetooth.core.le.dsa_transport_preference"
788}
789
Katherine Laie40940a2022-10-31 17:55:30 +0000790# Used to disable enhanced SCO connection
791prop {
792 api_name: "getDisableEnchancedConnection"
793 type: Boolean
794 scope: Internal
795 access: Readonly
796 prop_name: "bluetooth.sco.disable_enhanced_connection"
Ying Hsu9e3eb9a2022-12-08 09:40:46 +0000797}
Yuyang Huang87c53f62024-01-26 01:08:32 +0000798
799# Whether Bluetooth HFP SCO managed by Audio.
800# Set by vendors overlay, read at Bluetooth initialization
801prop {
802 api_name: "isScoManagedByAudioEnabled"
803 type: Boolean
804 scope: Public
805 access: Readonly
806 prop_name: "bluetooth.sco.managed_by_audio"
807}