1 #pragma once
2 
3 
4 
5 #ifdef __cplusplus
6 
7 #include <memory>
8 
9 namespace com::android::bluetooth::flags {
10 
11 class flag_provider_interface {
12 public:
13     virtual ~flag_provider_interface() = default;
14     virtual bool a2dp_aidl_encoding_interval() = 0;
15     virtual bool a2dp_broadcast_connection_state_when_turned_off() = 0;
16     virtual bool a2dp_check_lea_iso_channel() = 0;
17     virtual bool a2dp_clear_pending_start_on_session_restart() = 0;
18     virtual bool a2dp_fix_codec_type_in_java() = 0;
19     virtual bool a2dp_ignore_started_when_responder() = 0;
20     virtual bool a2dp_lhdc_api() = 0;
21     virtual bool a2dp_service_looper() = 0;
22     virtual bool a2dp_source_threading_fix() = 0;
23     virtual bool a2dp_variable_aac_capability() = 0;
24     virtual bool abs_volume_sdp_conflict() = 0;
25     virtual bool adapter_properties_looper() = 0;
26     virtual bool adapter_suspend_mgmt() = 0;
27     virtual bool adm_always_fallback_to_available_device() = 0;
28     virtual bool adm_fallback_when_wired_audio_disconnected() = 0;
29     virtual bool adm_fix_disconnect_of_set_member() = 0;
30     virtual bool adm_verify_active_fallback_device() = 0;
31     virtual bool aics_api() = 0;
32     virtual bool allow_free_last_scn() = 0;
33     virtual bool allow_switching_hid_and_hogp() = 0;
34     virtual bool android_headtracker_service() = 0;
35     virtual bool android_os_identifier() = 0;
36     virtual bool api_get_connection_state_using_identity_address() = 0;
37     virtual bool asha_encrypted_l2c_coc() = 0;
38     virtual bool associate_browse_l2cap_request_with_active_control_channel() = 0;
39     virtual bool asymmetric_phy_for_unidirectional_cis() = 0;
40     virtual bool audio_port_binder_inherit_rt() = 0;
41     virtual bool auto_connect_on_multiple_hfp_when_no_a2dp_device() = 0;
42     virtual bool av_stream_reconfigure_fix() = 0;
43     virtual bool avdt_discover_seps_as_acceptor() = 0;
44     virtual bool avdt_handle_suspend_cfm_bad_state() = 0;
45     virtual bool avdt_prioritize_mandatory_codec() = 0;
46     virtual bool avdtp_error_codes() = 0;
47     virtual bool avoid_l2c_processing_while_stack_shutdown() = 0;
48     virtual bool avrcp_16_default() = 0;
49     virtual bool avrcp_connect_a2dp_with_delay() = 0;
50     virtual bool avrcp_sdp_records() = 0;
51     virtual bool ble_check_data_length_on_legacy_advertising() = 0;
52     virtual bool ble_context_map_remove_fix() = 0;
53     virtual bool ble_gatt_server_use_address_type_in_connection() = 0;
54     virtual bool ble_scan_adv_metrics_redesign() = 0;
55     virtual bool bluetooth_power_telemetry() = 0;
56     virtual bool bond_transport_after_bond_cancel_fix() = 0;
57     virtual bool break_uhid_polling_early() = 0;
58     virtual bool browsing_refactor() = 0;
59     virtual bool bt_offload_socket_api() = 0;
60     virtual bool bt_socket_api_l2cap_cid() = 0;
61     virtual bool bt_system_context_report() = 0;
62     virtual bool bta_ag_cmd_brsf_allow_uint32() = 0;
63     virtual bool bta_av_setconfig_rej_type_confusion() = 0;
64     virtual bool bta_av_use_peer_codec() = 0;
65     virtual bool bta_dm_defer_device_discovery_state_change_until_rnr_complete() = 0;
66     virtual bool bta_dm_discover_both() = 0;
67     virtual bool btsec_avdt_msg_ind_type_confusion() = 0;
68     virtual bool btsec_check_valid_discovery_database() = 0;
69     virtual bool btsec_cycle_irks() = 0;
70     virtual bool btsec_le_oob_pairing() = 0;
71     virtual bool cancel_open_discovery_client() = 0;
72     virtual bool cancel_pairing_only_on_disconnected_transport() = 0;
73     virtual bool channel_sounding() = 0;
74     virtual bool channel_sounding_25q2_apis() = 0;
75     virtual bool channel_sounding_in_stack() = 0;
76     virtual bool choose_wrong_hfp_codec_in_specific_config() = 0;
77     virtual bool clear_auth_collision_state_on_pairing_complete() = 0;
78     virtual bool clear_pairing_state_when_no_devrec() = 0;
79     virtual bool close_hid_if_uhid_ready_too_slow() = 0;
80     virtual bool close_hid_only_if_connected() = 0;
81     virtual bool connect_hap_on_other_profile_connect() = 0;
82     virtual bool default_gatt_transport() = 0;
83     virtual bool device_iot_config_logging() = 0;
84     virtual bool directed_advertising_api() = 0;
85     virtual bool disconnect_on_encryption_failure() = 0;
86     virtual bool donot_push_error_code_to_app_when_connected() = 0;
87     virtual bool donot_queue_dup_rnr() = 0;
88     virtual bool donot_update_sec_flags_on_csrk_save() = 0;
89     virtual bool donot_validate_bond_state_from_profiles() = 0;
90     virtual bool dont_send_hci_disconnect_repeatedly() = 0;
91     virtual bool dont_send_hid_set_idle() = 0;
92     virtual bool drop_acl_fragment_on_disconnect() = 0;
93     virtual bool enable_hap_by_default() = 0;
94     virtual bool encrypted_advertising_data() = 0;
95     virtual bool encryption_change_broadcast() = 0;
96     virtual bool encryption_change_v2() = 0;
97     virtual bool enforce_resolve_system_service_behavior() = 0;
98     virtual bool fix_add_device_properties() = 0;
99     virtual bool fix_avdt_rconfig_not_setting_l2cap() = 0;
100     virtual bool fix_hfp_qual_1_9() = 0;
101     virtual bool fix_le_evt_cancelling_sdp_discovery() = 0;
102     virtual bool fix_nonconnectable_scannable_advertisement() = 0;
103     virtual bool fix_sco_command_status_handling() = 0;
104     virtual bool floss_separate_host_privacy_and_llprivacy() = 0;
105     virtual bool forward_get_set_report_failure_to_uhid() = 0;
106     virtual bool gatt_callback_on_failure() = 0;
107     virtual bool gatt_clear_cache_on_factory_reset() = 0;
108     virtual bool gatt_client_dynamic_allocation() = 0;
109     virtual bool gatt_disconnect_fix() = 0;
110     virtual bool gatt_fix_multiple_direct_connect() = 0;
111     virtual bool gatt_queue_cleanup_connected() = 0;
112     virtual bool gatt_rediscover_on_canceled() = 0;
113     virtual bool gatt_server_requests_fix() = 0;
114     virtual bool get_all_element_attributes_empty() = 0;
115     virtual bool get_name_and_address_as_callback() = 0;
116     virtual bool get_profile_use_lock() = 0;
117     virtual bool get_state_from_system_server() = 0;
118     virtual bool guard_bonded_device_properties() = 0;
119     virtual bool guest_mode_bond() = 0;
120     virtual bool handle_delivery_sending_failure_events() = 0;
121     virtual bool hap_connect_only_requested_device() = 0;
122     virtual bool hci_vendor_specific_extension() = 0;
123     virtual bool headset_client_am_hf_volume_symmetric() = 0;
124     virtual bool headtracker_codec_capability() = 0;
125     virtual bool headtracker_sdu_size() = 0;
126     virtual bool hfp_allow_volume_change_without_sco() = 0;
127     virtual bool hfp_client_disconnecting_state() = 0;
128     virtual bool hfp_software_datapath() = 0;
129     virtual bool hid_report_queuing() = 0;
130     virtual bool hogp_reconnection() = 0;
131     virtual bool identity_address_null_if_not_known() = 0;
132     virtual bool identity_address_type_api() = 0;
133     virtual bool identity_retention_on_restart() = 0;
134     virtual bool ignore_auth_req_when_collision_timer_active() = 0;
135     virtual bool ignore_notify_when_already_connected() = 0;
136     virtual bool ignore_unrelated_cancel_bond() = 0;
137     virtual bool improve_create_connection_for_already_connecting_device() = 0;
138     virtual bool initial_conn_params_p1() = 0;
139     virtual bool initiate_multiple_hid_connections() = 0;
140     virtual bool is_sco_managed_by_audio() = 0;
141     virtual bool key_missing_as_ordered_broadcast() = 0;
142     virtual bool key_missing_classic_device() = 0;
143     virtual bool key_missing_public() = 0;
144     virtual bool kill_instead_of_exit() = 0;
145     virtual bool l2cap_fcs_option_fix() = 0;
146     virtual bool l2cap_le_do_not_adjust_min_interval() = 0;
147     virtual bool l2cap_p_ccb_check_rewrite() = 0;
148     virtual bool l2cap_tx_complete_cb_info() = 0;
149     virtual bool l2cap_update_existing_conn_interval_with_base_interval() = 0;
150     virtual bool le_ase_read_multiple_variable() = 0;
151     virtual bool le_audio_base_ecosystem_interval() = 0;
152     virtual bool le_audio_support_unidirectional_voice_assistant() = 0;
153     virtual bool le_enc_on_reconnection() = 0;
154     virtual bool le_impl_ack_pause_disarmed() = 0;
155     virtual bool le_inquiry_duration() = 0;
156     virtual bool le_scan_msft_support() = 0;
157     virtual bool le_scan_remove_non_oneway_binder_calls() = 0;
158     virtual bool le_scan_use_address_type() = 0;
159     virtual bool le_scan_use_uid_for_importance() = 0;
160     virtual bool leaudio_add_aics_support() = 0;
161     virtual bool leaudio_add_opus_codec_type() = 0;
162     virtual bool leaudio_allow_leaudio_only_devices() = 0;
163     virtual bool leaudio_allowed_context_mask() = 0;
164     virtual bool leaudio_big_depends_on_audio_state() = 0;
165     virtual bool leaudio_broadcast_api_get_local_metadata() = 0;
166     virtual bool leaudio_broadcast_api_manage_primary_group() = 0;
167     virtual bool leaudio_broadcast_assistant_peripheral_entrustment() = 0;
168     virtual bool leaudio_broadcast_destroy_after_timeout() = 0;
169     virtual bool leaudio_broadcast_extract_periodic_scanner_from_state_machine() = 0;
170     virtual bool leaudio_broadcast_monitor_source_sync_status() = 0;
171     virtual bool leaudio_broadcast_primary_group_selection() = 0;
172     virtual bool leaudio_broadcast_resync_helper() = 0;
173     virtual bool leaudio_broadcast_update_metadata_callback() = 0;
174     virtual bool leaudio_broadcast_volume_control_for_connected_devices() = 0;
175     virtual bool leaudio_broadcast_volume_control_primary_group_only() = 0;
176     virtual bool leaudio_broadcast_volume_control_with_set_volume() = 0;
177     virtual bool leaudio_call_start_scan_directly() = 0;
178     virtual bool leaudio_codec_config_callback_order_fix() = 0;
179     virtual bool leaudio_config_profile_enabling() = 0;
180     virtual bool leaudio_dev_options_respect_profile_sysprops() = 0;
181     virtual bool leaudio_dynamic_spatial_audio() = 0;
182     virtual bool leaudio_getting_active_state_support() = 0;
183     virtual bool leaudio_gmap_client() = 0;
184     virtual bool leaudio_hal_client_asrc() = 0;
185     virtual bool leaudio_improve_switch_during_phone_call() = 0;
186     virtual bool leaudio_monitor_unicast_source_when_managed_by_broadcast_delegator() = 0;
187     virtual bool leaudio_mono_location_errata() = 0;
188     virtual bool leaudio_mono_location_errata_api() = 0;
189     virtual bool leaudio_multicodec_aidl_support() = 0;
190     virtual bool leaudio_multiple_vocs_instances_api() = 0;
191     virtual bool leaudio_no_context_validate_streaming_request() = 0;
192     virtual bool leaudio_set_codec_config_preference() = 0;
193     virtual bool leaudio_sort_scans_to_sync_by_fails() = 0;
194     virtual bool leaudio_speed_up_reconfiguration_between_call() = 0;
195     virtual bool leaudio_start_request_state_mutex_check() = 0;
196     virtual bool leaudio_stop_updated_to_not_available_context_stream() = 0;
197     virtual bool leaudio_synchronize_start() = 0;
198     virtual bool leaudio_unicast_no_available_contexts() = 0;
199     virtual bool leaudio_use_audio_mode_listener() = 0;
200     virtual bool maintain_call_index_after_conference() = 0;
201     virtual bool map_limit_notification() = 0;
202     virtual bool mcp_allow_play_without_active_player() = 0;
203     virtual bool metadata_api_inactive_audio_device_upon_connection() = 0;
204     virtual bool metadata_api_microphone_for_call_enabled() = 0;
205     virtual bool msft_addr_tracking_quirk() = 0;
206     virtual bool name_discovery_for_le_pairing() = 0;
207     virtual bool non_wake_alarm_for_rpa_rotation() = 0;
208     virtual bool nrpa_non_connectable_adv() = 0;
209     virtual bool opp_check_content_uri_permissions() = 0;
210     virtual bool opp_fix_multiple_notifications_issues() = 0;
211     virtual bool opp_ignore_content_observer_after_service_stop() = 0;
212     virtual bool opp_set_insets_for_edge_to_edge() = 0;
213     virtual bool opp_start_activity_directly_from_notification() = 0;
214     virtual bool override_context_to_specify_device_id() = 0;
215     virtual bool pairing_name_discovery_addresss_mismatch() = 0;
216     virtual bool pairing_on_unknown_transport() = 0;
217     virtual bool pan_use_identity_address() = 0;
218     virtual bool pbap_client_contacts_caching() = 0;
219     virtual bool pbap_client_storage_refactor() = 0;
220     virtual bool pending_hid_connection_cancellation() = 0;
221     virtual bool phy_to_native() = 0;
222     virtual bool prevent_duplicate_uuid_intent() = 0;
223     virtual bool prevent_hogp_reconnect_when_connected() = 0;
224     virtual bool prevent_service_connections_on_remove_bond() = 0;
225     virtual bool progress_acl_scheduler_upon_incoming_connection() = 0;
226     virtual bool queue_dis_requests() = 0;
227     virtual bool read_le_appearance() = 0;
228     virtual bool refactor_saving_messages_and_metadata() = 0;
229     virtual bool remove_address_map_on_unbond() = 0;
230     virtual bool remove_device_in_main_thread() = 0;
231     virtual bool remove_dup_pairing_response_in_oob_pairing() = 0;
232     virtual bool remove_input_device_on_vup() = 0;
233     virtual bool remove_one_time_get_name_and_address() = 0;
234     virtual bool remove_pending_hid_connection() = 0;
235     virtual bool reset_ag_state_on_collision() = 0;
236     virtual bool respect_ble_scan_setting() = 0;
237     virtual bool retry_esco_with_zero_retransmission_effort() = 0;
238     virtual bool rfcomm_always_disc_initiator_in_disc_wait_ua() = 0;
239     virtual bool rfcomm_always_use_mitm() = 0;
240     virtual bool rfcomm_cancel_ongoing_sdp_on_close() = 0;
241     virtual bool rfcomm_prevent_unnecessary_collisions() = 0;
242     virtual bool rnr_directly_call_gap_over_le() = 0;
243     virtual bool rnr_store_device_type() = 0;
244     virtual bool rnr_validate_page_scan_repetition_mode() = 0;
245     virtual bool rpa_offload_to_bt_controller() = 0;
246     virtual bool run_ble_audio_ticks_in_worker_thread() = 0;
247     virtual bool run_clock_recovery_in_worker_thread() = 0;
248     virtual bool save_initial_hid_connection_policy() = 0;
249     virtual bool save_peer_csrk_after_ltk_gen() = 0;
250     virtual bool scan_manager_refactor() = 0;
251     virtual bool scan_record_manufacturer_data_merge() = 0;
252     virtual bool sec_disconnect_on_le_key_missing() = 0;
253     virtual bool sec_dont_clear_keys_on_encryption_err() = 0;
254     virtual bool serialize_hogp_and_dis() = 0;
255     virtual bool set_addressed_player() = 0;
256     virtual bool set_max_data_length_for_lecoc() = 0;
257     virtual bool settings_can_control_hap_preset() = 0;
258     virtual bool signal_connecting_on_focus_gain() = 0;
259     virtual bool skip_unknown_robust_caching() = 0;
260     virtual bool smp_state_machine_stuck_after_disconnection_fix() = 0;
261     virtual bool snoop_logger_tracing() = 0;
262     virtual bool socket_settings_api() = 0;
263     virtual bool stack_sdp_detect_nil_property_type() = 0;
264     virtual bool stop_on_offload_fail() = 0;
265     virtual bool support_bluetooth_quality_report_v6() = 0;
266     virtual bool support_exclusive_manager() = 0;
267     virtual bool support_metadata_device_types_apis() = 0;
268     virtual bool support_remote_device_metadata() = 0;
269     virtual bool suppress_hid_rejection_broadcast() = 0;
270     virtual bool system_server_messenger() = 0;
271     virtual bool temporary_pairing_device_properties() = 0;
272     virtual bool transmit_smp_packets_before_release() = 0;
273     virtual bool trigger_sec_proc_on_inc_access_req() = 0;
274     virtual bool unbonded_profile_forbid_fix() = 0;
275     virtual bool uncache_player_when_browsed_player_changes() = 0;
276     virtual bool unix_file_socket_creation_failure() = 0;
277     virtual bool update_active_device_in_band_ringtone() = 0;
278     virtual bool update_sco_state_correctly_on_rfcomm_disconnect_during_codec_nego() = 0;
279     virtual bool use_entire_message_handle() = 0;
280     virtual bool use_le_shim_connection_map_guard() = 0;
281     virtual bool use_local_oob_extended_command() = 0;
282     virtual bool vcp_mute_unmute() = 0;
283     virtual bool wait_for_disconnect_before_unbond() = 0;
284     virtual bool wait_for_lea_disc_on_le_acl_stat() = 0;
285 };
286 
287 extern std::unique_ptr<flag_provider_interface> provider_;
288 
289 
a2dp_aidl_encoding_interval()290 inline bool a2dp_aidl_encoding_interval() {
291     return true;
292 }
a2dp_broadcast_connection_state_when_turned_off()293 inline bool a2dp_broadcast_connection_state_when_turned_off() {
294     return true;
295 }
a2dp_check_lea_iso_channel()296 inline bool a2dp_check_lea_iso_channel() {
297     return true;
298 }
a2dp_clear_pending_start_on_session_restart()299 inline bool a2dp_clear_pending_start_on_session_restart() {
300     return true;
301 }
a2dp_fix_codec_type_in_java()302 inline bool a2dp_fix_codec_type_in_java() {
303     return true;
304 }
a2dp_ignore_started_when_responder()305 inline bool a2dp_ignore_started_when_responder() {
306     return false;
307 }
a2dp_lhdc_api()308 inline bool a2dp_lhdc_api() {
309     return false;
310 }
a2dp_service_looper()311 inline bool a2dp_service_looper() {
312     return true;
313 }
a2dp_source_threading_fix()314 inline bool a2dp_source_threading_fix() {
315     return true;
316 }
a2dp_variable_aac_capability()317 inline bool a2dp_variable_aac_capability() {
318     return false;
319 }
abs_volume_sdp_conflict()320 inline bool abs_volume_sdp_conflict() {
321     return false;
322 }
adapter_properties_looper()323 inline bool adapter_properties_looper() {
324     return true;
325 }
adapter_suspend_mgmt()326 inline bool adapter_suspend_mgmt() {
327     return false;
328 }
adm_always_fallback_to_available_device()329 inline bool adm_always_fallback_to_available_device() {
330     return true;
331 }
adm_fallback_when_wired_audio_disconnected()332 inline bool adm_fallback_when_wired_audio_disconnected() {
333     return true;
334 }
adm_fix_disconnect_of_set_member()335 inline bool adm_fix_disconnect_of_set_member() {
336     return true;
337 }
adm_verify_active_fallback_device()338 inline bool adm_verify_active_fallback_device() {
339     return true;
340 }
aics_api()341 inline bool aics_api() {
342     return false;
343 }
allow_free_last_scn()344 inline bool allow_free_last_scn() {
345     return false;
346 }
allow_switching_hid_and_hogp()347 inline bool allow_switching_hid_and_hogp() {
348     return true;
349 }
android_headtracker_service()350 inline bool android_headtracker_service() {
351     return true;
352 }
android_os_identifier()353 inline bool android_os_identifier() {
354     return true;
355 }
api_get_connection_state_using_identity_address()356 inline bool api_get_connection_state_using_identity_address() {
357     return true;
358 }
asha_encrypted_l2c_coc()359 inline bool asha_encrypted_l2c_coc() {
360     return true;
361 }
associate_browse_l2cap_request_with_active_control_channel()362 inline bool associate_browse_l2cap_request_with_active_control_channel() {
363     return true;
364 }
asymmetric_phy_for_unidirectional_cis()365 inline bool asymmetric_phy_for_unidirectional_cis() {
366     return true;
367 }
audio_port_binder_inherit_rt()368 inline bool audio_port_binder_inherit_rt() {
369     return true;
370 }
auto_connect_on_multiple_hfp_when_no_a2dp_device()371 inline bool auto_connect_on_multiple_hfp_when_no_a2dp_device() {
372     return false;
373 }
av_stream_reconfigure_fix()374 inline bool av_stream_reconfigure_fix() {
375     return true;
376 }
avdt_discover_seps_as_acceptor()377 inline bool avdt_discover_seps_as_acceptor() {
378     return true;
379 }
avdt_handle_suspend_cfm_bad_state()380 inline bool avdt_handle_suspend_cfm_bad_state() {
381     return false;
382 }
avdt_prioritize_mandatory_codec()383 inline bool avdt_prioritize_mandatory_codec() {
384     return false;
385 }
avdtp_error_codes()386 inline bool avdtp_error_codes() {
387     return true;
388 }
avoid_l2c_processing_while_stack_shutdown()389 inline bool avoid_l2c_processing_while_stack_shutdown() {
390     return false;
391 }
avrcp_16_default()392 inline bool avrcp_16_default() {
393     return false;
394 }
avrcp_connect_a2dp_with_delay()395 inline bool avrcp_connect_a2dp_with_delay() {
396     return true;
397 }
avrcp_sdp_records()398 inline bool avrcp_sdp_records() {
399     return true;
400 }
ble_check_data_length_on_legacy_advertising()401 inline bool ble_check_data_length_on_legacy_advertising() {
402     return true;
403 }
ble_context_map_remove_fix()404 inline bool ble_context_map_remove_fix() {
405     return true;
406 }
ble_gatt_server_use_address_type_in_connection()407 inline bool ble_gatt_server_use_address_type_in_connection() {
408     return true;
409 }
ble_scan_adv_metrics_redesign()410 inline bool ble_scan_adv_metrics_redesign() {
411     return true;
412 }
bluetooth_power_telemetry()413 inline bool bluetooth_power_telemetry() {
414     return false;
415 }
bond_transport_after_bond_cancel_fix()416 inline bool bond_transport_after_bond_cancel_fix() {
417     return true;
418 }
break_uhid_polling_early()419 inline bool break_uhid_polling_early() {
420     return true;
421 }
browsing_refactor()422 inline bool browsing_refactor() {
423     return false;
424 }
bt_offload_socket_api()425 inline bool bt_offload_socket_api() {
426     return false;
427 }
bt_socket_api_l2cap_cid()428 inline bool bt_socket_api_l2cap_cid() {
429     return false;
430 }
bt_system_context_report()431 inline bool bt_system_context_report() {
432     return true;
433 }
bta_ag_cmd_brsf_allow_uint32()434 inline bool bta_ag_cmd_brsf_allow_uint32() {
435     return false;
436 }
bta_av_setconfig_rej_type_confusion()437 inline bool bta_av_setconfig_rej_type_confusion() {
438     return true;
439 }
bta_av_use_peer_codec()440 inline bool bta_av_use_peer_codec() {
441     return true;
442 }
bta_dm_defer_device_discovery_state_change_until_rnr_complete()443 inline bool bta_dm_defer_device_discovery_state_change_until_rnr_complete() {
444     return false;
445 }
bta_dm_discover_both()446 inline bool bta_dm_discover_both() {
447     return true;
448 }
btsec_avdt_msg_ind_type_confusion()449 inline bool btsec_avdt_msg_ind_type_confusion() {
450     return true;
451 }
btsec_check_valid_discovery_database()452 inline bool btsec_check_valid_discovery_database() {
453     return true;
454 }
btsec_cycle_irks()455 inline bool btsec_cycle_irks() {
456     return false;
457 }
btsec_le_oob_pairing()458 inline bool btsec_le_oob_pairing() {
459     return true;
460 }
cancel_open_discovery_client()461 inline bool cancel_open_discovery_client() {
462     return true;
463 }
cancel_pairing_only_on_disconnected_transport()464 inline bool cancel_pairing_only_on_disconnected_transport() {
465     return true;
466 }
channel_sounding()467 inline bool channel_sounding() {
468     return true;
469 }
channel_sounding_25q2_apis()470 inline bool channel_sounding_25q2_apis() {
471     return false;
472 }
channel_sounding_in_stack()473 inline bool channel_sounding_in_stack() {
474     return false;
475 }
choose_wrong_hfp_codec_in_specific_config()476 inline bool choose_wrong_hfp_codec_in_specific_config() {
477     return true;
478 }
clear_auth_collision_state_on_pairing_complete()479 inline bool clear_auth_collision_state_on_pairing_complete() {
480     return true;
481 }
clear_pairing_state_when_no_devrec()482 inline bool clear_pairing_state_when_no_devrec() {
483     return false;
484 }
close_hid_if_uhid_ready_too_slow()485 inline bool close_hid_if_uhid_ready_too_slow() {
486     return false;
487 }
close_hid_only_if_connected()488 inline bool close_hid_only_if_connected() {
489     return true;
490 }
connect_hap_on_other_profile_connect()491 inline bool connect_hap_on_other_profile_connect() {
492     return false;
493 }
default_gatt_transport()494 inline bool default_gatt_transport() {
495     return true;
496 }
device_iot_config_logging()497 inline bool device_iot_config_logging() {
498     return true;
499 }
directed_advertising_api()500 inline bool directed_advertising_api() {
501     return false;
502 }
disconnect_on_encryption_failure()503 inline bool disconnect_on_encryption_failure() {
504     return true;
505 }
donot_push_error_code_to_app_when_connected()506 inline bool donot_push_error_code_to_app_when_connected() {
507     return true;
508 }
donot_queue_dup_rnr()509 inline bool donot_queue_dup_rnr() {
510     return false;
511 }
donot_update_sec_flags_on_csrk_save()512 inline bool donot_update_sec_flags_on_csrk_save() {
513     return true;
514 }
donot_validate_bond_state_from_profiles()515 inline bool donot_validate_bond_state_from_profiles() {
516     return true;
517 }
dont_send_hci_disconnect_repeatedly()518 inline bool dont_send_hci_disconnect_repeatedly() {
519     return false;
520 }
dont_send_hid_set_idle()521 inline bool dont_send_hid_set_idle() {
522     return false;
523 }
drop_acl_fragment_on_disconnect()524 inline bool drop_acl_fragment_on_disconnect() {
525     return true;
526 }
enable_hap_by_default()527 inline bool enable_hap_by_default() {
528     return false;
529 }
encrypted_advertising_data()530 inline bool encrypted_advertising_data() {
531     return false;
532 }
encryption_change_broadcast()533 inline bool encryption_change_broadcast() {
534     return false;
535 }
encryption_change_v2()536 inline bool encryption_change_v2() {
537     return true;
538 }
enforce_resolve_system_service_behavior()539 inline bool enforce_resolve_system_service_behavior() {
540     return true;
541 }
fix_add_device_properties()542 inline bool fix_add_device_properties() {
543     return true;
544 }
fix_avdt_rconfig_not_setting_l2cap()545 inline bool fix_avdt_rconfig_not_setting_l2cap() {
546     return false;
547 }
fix_hfp_qual_1_9()548 inline bool fix_hfp_qual_1_9() {
549     return false;
550 }
fix_le_evt_cancelling_sdp_discovery()551 inline bool fix_le_evt_cancelling_sdp_discovery() {
552     return true;
553 }
fix_nonconnectable_scannable_advertisement()554 inline bool fix_nonconnectable_scannable_advertisement() {
555     return true;
556 }
fix_sco_command_status_handling()557 inline bool fix_sco_command_status_handling() {
558     return true;
559 }
floss_separate_host_privacy_and_llprivacy()560 inline bool floss_separate_host_privacy_and_llprivacy() {
561     return false;
562 }
forward_get_set_report_failure_to_uhid()563 inline bool forward_get_set_report_failure_to_uhid() {
564     return true;
565 }
gatt_callback_on_failure()566 inline bool gatt_callback_on_failure() {
567     return false;
568 }
gatt_clear_cache_on_factory_reset()569 inline bool gatt_clear_cache_on_factory_reset() {
570     return false;
571 }
gatt_client_dynamic_allocation()572 inline bool gatt_client_dynamic_allocation() {
573     return true;
574 }
gatt_disconnect_fix()575 inline bool gatt_disconnect_fix() {
576     return true;
577 }
gatt_fix_multiple_direct_connect()578 inline bool gatt_fix_multiple_direct_connect() {
579     return true;
580 }
gatt_queue_cleanup_connected()581 inline bool gatt_queue_cleanup_connected() {
582     return false;
583 }
gatt_rediscover_on_canceled()584 inline bool gatt_rediscover_on_canceled() {
585     return true;
586 }
gatt_server_requests_fix()587 inline bool gatt_server_requests_fix() {
588     return true;
589 }
get_all_element_attributes_empty()590 inline bool get_all_element_attributes_empty() {
591     return false;
592 }
get_name_and_address_as_callback()593 inline bool get_name_and_address_as_callback() {
594     return true;
595 }
get_profile_use_lock()596 inline bool get_profile_use_lock() {
597     return true;
598 }
get_state_from_system_server()599 inline bool get_state_from_system_server() {
600     return true;
601 }
guard_bonded_device_properties()602 inline bool guard_bonded_device_properties() {
603     return true;
604 }
guest_mode_bond()605 inline bool guest_mode_bond() {
606     return true;
607 }
handle_delivery_sending_failure_events()608 inline bool handle_delivery_sending_failure_events() {
609     return false;
610 }
hap_connect_only_requested_device()611 inline bool hap_connect_only_requested_device() {
612     return true;
613 }
hci_vendor_specific_extension()614 inline bool hci_vendor_specific_extension() {
615     return false;
616 }
headset_client_am_hf_volume_symmetric()617 inline bool headset_client_am_hf_volume_symmetric() {
618     return true;
619 }
headtracker_codec_capability()620 inline bool headtracker_codec_capability() {
621     return true;
622 }
headtracker_sdu_size()623 inline bool headtracker_sdu_size() {
624     return true;
625 }
hfp_allow_volume_change_without_sco()626 inline bool hfp_allow_volume_change_without_sco() {
627     return false;
628 }
hfp_client_disconnecting_state()629 inline bool hfp_client_disconnecting_state() {
630     return false;
631 }
hfp_software_datapath()632 inline bool hfp_software_datapath() {
633     return false;
634 }
hid_report_queuing()635 inline bool hid_report_queuing() {
636     return true;
637 }
hogp_reconnection()638 inline bool hogp_reconnection() {
639     return false;
640 }
identity_address_null_if_not_known()641 inline bool identity_address_null_if_not_known() {
642     return true;
643 }
identity_address_type_api()644 inline bool identity_address_type_api() {
645     return false;
646 }
identity_retention_on_restart()647 inline bool identity_retention_on_restart() {
648     return false;
649 }
ignore_auth_req_when_collision_timer_active()650 inline bool ignore_auth_req_when_collision_timer_active() {
651     return false;
652 }
ignore_notify_when_already_connected()653 inline bool ignore_notify_when_already_connected() {
654     return false;
655 }
ignore_unrelated_cancel_bond()656 inline bool ignore_unrelated_cancel_bond() {
657     return false;
658 }
improve_create_connection_for_already_connecting_device()659 inline bool improve_create_connection_for_already_connecting_device() {
660     return true;
661 }
initial_conn_params_p1()662 inline bool initial_conn_params_p1() {
663     return false;
664 }
initiate_multiple_hid_connections()665 inline bool initiate_multiple_hid_connections() {
666     return true;
667 }
is_sco_managed_by_audio()668 inline bool is_sco_managed_by_audio() {
669     return false;
670 }
key_missing_as_ordered_broadcast()671 inline bool key_missing_as_ordered_broadcast() {
672     return false;
673 }
key_missing_classic_device()674 inline bool key_missing_classic_device() {
675     return true;
676 }
key_missing_public()677 inline bool key_missing_public() {
678     return false;
679 }
kill_instead_of_exit()680 inline bool kill_instead_of_exit() {
681     return false;
682 }
l2cap_fcs_option_fix()683 inline bool l2cap_fcs_option_fix() {
684     return false;
685 }
l2cap_le_do_not_adjust_min_interval()686 inline bool l2cap_le_do_not_adjust_min_interval() {
687     return true;
688 }
l2cap_p_ccb_check_rewrite()689 inline bool l2cap_p_ccb_check_rewrite() {
690     return true;
691 }
l2cap_tx_complete_cb_info()692 inline bool l2cap_tx_complete_cb_info() {
693     return false;
694 }
l2cap_update_existing_conn_interval_with_base_interval()695 inline bool l2cap_update_existing_conn_interval_with_base_interval() {
696     return true;
697 }
le_ase_read_multiple_variable()698 inline bool le_ase_read_multiple_variable() {
699     return true;
700 }
le_audio_base_ecosystem_interval()701 inline bool le_audio_base_ecosystem_interval() {
702     return true;
703 }
le_audio_support_unidirectional_voice_assistant()704 inline bool le_audio_support_unidirectional_voice_assistant() {
705     return true;
706 }
le_enc_on_reconnection()707 inline bool le_enc_on_reconnection() {
708     return false;
709 }
le_impl_ack_pause_disarmed()710 inline bool le_impl_ack_pause_disarmed() {
711     return false;
712 }
le_inquiry_duration()713 inline bool le_inquiry_duration() {
714     return true;
715 }
le_scan_msft_support()716 inline bool le_scan_msft_support() {
717     return false;
718 }
le_scan_remove_non_oneway_binder_calls()719 inline bool le_scan_remove_non_oneway_binder_calls() {
720     return false;
721 }
le_scan_use_address_type()722 inline bool le_scan_use_address_type() {
723     return true;
724 }
le_scan_use_uid_for_importance()725 inline bool le_scan_use_uid_for_importance() {
726     return true;
727 }
leaudio_add_aics_support()728 inline bool leaudio_add_aics_support() {
729     return false;
730 }
leaudio_add_opus_codec_type()731 inline bool leaudio_add_opus_codec_type() {
732     return false;
733 }
leaudio_allow_leaudio_only_devices()734 inline bool leaudio_allow_leaudio_only_devices() {
735     return false;
736 }
leaudio_allowed_context_mask()737 inline bool leaudio_allowed_context_mask() {
738     return true;
739 }
leaudio_big_depends_on_audio_state()740 inline bool leaudio_big_depends_on_audio_state() {
741     return true;
742 }
leaudio_broadcast_api_get_local_metadata()743 inline bool leaudio_broadcast_api_get_local_metadata() {
744     return false;
745 }
leaudio_broadcast_api_manage_primary_group()746 inline bool leaudio_broadcast_api_manage_primary_group() {
747     return false;
748 }
leaudio_broadcast_assistant_peripheral_entrustment()749 inline bool leaudio_broadcast_assistant_peripheral_entrustment() {
750     return true;
751 }
leaudio_broadcast_destroy_after_timeout()752 inline bool leaudio_broadcast_destroy_after_timeout() {
753     return true;
754 }
leaudio_broadcast_extract_periodic_scanner_from_state_machine()755 inline bool leaudio_broadcast_extract_periodic_scanner_from_state_machine() {
756     return true;
757 }
leaudio_broadcast_monitor_source_sync_status()758 inline bool leaudio_broadcast_monitor_source_sync_status() {
759     return true;
760 }
leaudio_broadcast_primary_group_selection()761 inline bool leaudio_broadcast_primary_group_selection() {
762     return false;
763 }
leaudio_broadcast_resync_helper()764 inline bool leaudio_broadcast_resync_helper() {
765     return true;
766 }
leaudio_broadcast_update_metadata_callback()767 inline bool leaudio_broadcast_update_metadata_callback() {
768     return true;
769 }
leaudio_broadcast_volume_control_for_connected_devices()770 inline bool leaudio_broadcast_volume_control_for_connected_devices() {
771     return true;
772 }
leaudio_broadcast_volume_control_primary_group_only()773 inline bool leaudio_broadcast_volume_control_primary_group_only() {
774     return true;
775 }
leaudio_broadcast_volume_control_with_set_volume()776 inline bool leaudio_broadcast_volume_control_with_set_volume() {
777     return true;
778 }
leaudio_call_start_scan_directly()779 inline bool leaudio_call_start_scan_directly() {
780     return true;
781 }
leaudio_codec_config_callback_order_fix()782 inline bool leaudio_codec_config_callback_order_fix() {
783     return true;
784 }
leaudio_config_profile_enabling()785 inline bool leaudio_config_profile_enabling() {
786     return false;
787 }
leaudio_dev_options_respect_profile_sysprops()788 inline bool leaudio_dev_options_respect_profile_sysprops() {
789     return false;
790 }
leaudio_dynamic_spatial_audio()791 inline bool leaudio_dynamic_spatial_audio() {
792     return true;
793 }
leaudio_getting_active_state_support()794 inline bool leaudio_getting_active_state_support() {
795     return true;
796 }
leaudio_gmap_client()797 inline bool leaudio_gmap_client() {
798     return false;
799 }
leaudio_hal_client_asrc()800 inline bool leaudio_hal_client_asrc() {
801     return true;
802 }
leaudio_improve_switch_during_phone_call()803 inline bool leaudio_improve_switch_during_phone_call() {
804     return true;
805 }
leaudio_monitor_unicast_source_when_managed_by_broadcast_delegator()806 inline bool leaudio_monitor_unicast_source_when_managed_by_broadcast_delegator() {
807     return false;
808 }
leaudio_mono_location_errata()809 inline bool leaudio_mono_location_errata() {
810     return true;
811 }
leaudio_mono_location_errata_api()812 inline bool leaudio_mono_location_errata_api() {
813     return false;
814 }
leaudio_multicodec_aidl_support()815 inline bool leaudio_multicodec_aidl_support() {
816     return true;
817 }
leaudio_multiple_vocs_instances_api()818 inline bool leaudio_multiple_vocs_instances_api() {
819     return true;
820 }
leaudio_no_context_validate_streaming_request()821 inline bool leaudio_no_context_validate_streaming_request() {
822     return true;
823 }
leaudio_set_codec_config_preference()824 inline bool leaudio_set_codec_config_preference() {
825     return false;
826 }
leaudio_sort_scans_to_sync_by_fails()827 inline bool leaudio_sort_scans_to_sync_by_fails() {
828     return true;
829 }
leaudio_speed_up_reconfiguration_between_call()830 inline bool leaudio_speed_up_reconfiguration_between_call() {
831     return true;
832 }
leaudio_start_request_state_mutex_check()833 inline bool leaudio_start_request_state_mutex_check() {
834     return true;
835 }
leaudio_stop_updated_to_not_available_context_stream()836 inline bool leaudio_stop_updated_to_not_available_context_stream() {
837     return false;
838 }
leaudio_synchronize_start()839 inline bool leaudio_synchronize_start() {
840     return true;
841 }
leaudio_unicast_no_available_contexts()842 inline bool leaudio_unicast_no_available_contexts() {
843     return true;
844 }
leaudio_use_audio_mode_listener()845 inline bool leaudio_use_audio_mode_listener() {
846     return true;
847 }
maintain_call_index_after_conference()848 inline bool maintain_call_index_after_conference() {
849     return false;
850 }
map_limit_notification()851 inline bool map_limit_notification() {
852     return true;
853 }
mcp_allow_play_without_active_player()854 inline bool mcp_allow_play_without_active_player() {
855     return true;
856 }
metadata_api_inactive_audio_device_upon_connection()857 inline bool metadata_api_inactive_audio_device_upon_connection() {
858     return true;
859 }
metadata_api_microphone_for_call_enabled()860 inline bool metadata_api_microphone_for_call_enabled() {
861     return false;
862 }
msft_addr_tracking_quirk()863 inline bool msft_addr_tracking_quirk() {
864     return false;
865 }
name_discovery_for_le_pairing()866 inline bool name_discovery_for_le_pairing() {
867     return true;
868 }
non_wake_alarm_for_rpa_rotation()869 inline bool non_wake_alarm_for_rpa_rotation() {
870     return true;
871 }
nrpa_non_connectable_adv()872 inline bool nrpa_non_connectable_adv() {
873     return false;
874 }
opp_check_content_uri_permissions()875 inline bool opp_check_content_uri_permissions() {
876     return false;
877 }
opp_fix_multiple_notifications_issues()878 inline bool opp_fix_multiple_notifications_issues() {
879     return true;
880 }
opp_ignore_content_observer_after_service_stop()881 inline bool opp_ignore_content_observer_after_service_stop() {
882     return true;
883 }
opp_set_insets_for_edge_to_edge()884 inline bool opp_set_insets_for_edge_to_edge() {
885     return false;
886 }
opp_start_activity_directly_from_notification()887 inline bool opp_start_activity_directly_from_notification() {
888     return true;
889 }
override_context_to_specify_device_id()890 inline bool override_context_to_specify_device_id() {
891     return true;
892 }
pairing_name_discovery_addresss_mismatch()893 inline bool pairing_name_discovery_addresss_mismatch() {
894     return true;
895 }
pairing_on_unknown_transport()896 inline bool pairing_on_unknown_transport() {
897     return true;
898 }
pan_use_identity_address()899 inline bool pan_use_identity_address() {
900     return true;
901 }
pbap_client_contacts_caching()902 inline bool pbap_client_contacts_caching() {
903     return false;
904 }
pbap_client_storage_refactor()905 inline bool pbap_client_storage_refactor() {
906     return false;
907 }
pending_hid_connection_cancellation()908 inline bool pending_hid_connection_cancellation() {
909     return false;
910 }
phy_to_native()911 inline bool phy_to_native() {
912     return false;
913 }
prevent_duplicate_uuid_intent()914 inline bool prevent_duplicate_uuid_intent() {
915     return true;
916 }
prevent_hogp_reconnect_when_connected()917 inline bool prevent_hogp_reconnect_when_connected() {
918     return true;
919 }
prevent_service_connections_on_remove_bond()920 inline bool prevent_service_connections_on_remove_bond() {
921     return true;
922 }
progress_acl_scheduler_upon_incoming_connection()923 inline bool progress_acl_scheduler_upon_incoming_connection() {
924     return true;
925 }
queue_dis_requests()926 inline bool queue_dis_requests() {
927     return false;
928 }
read_le_appearance()929 inline bool read_le_appearance() {
930     return true;
931 }
refactor_saving_messages_and_metadata()932 inline bool refactor_saving_messages_and_metadata() {
933     return false;
934 }
remove_address_map_on_unbond()935 inline bool remove_address_map_on_unbond() {
936     return true;
937 }
remove_device_in_main_thread()938 inline bool remove_device_in_main_thread() {
939     return false;
940 }
remove_dup_pairing_response_in_oob_pairing()941 inline bool remove_dup_pairing_response_in_oob_pairing() {
942     return true;
943 }
remove_input_device_on_vup()944 inline bool remove_input_device_on_vup() {
945     return true;
946 }
remove_one_time_get_name_and_address()947 inline bool remove_one_time_get_name_and_address() {
948     return true;
949 }
remove_pending_hid_connection()950 inline bool remove_pending_hid_connection() {
951     return true;
952 }
reset_ag_state_on_collision()953 inline bool reset_ag_state_on_collision() {
954     return true;
955 }
respect_ble_scan_setting()956 inline bool respect_ble_scan_setting() {
957     return true;
958 }
retry_esco_with_zero_retransmission_effort()959 inline bool retry_esco_with_zero_retransmission_effort() {
960     return false;
961 }
rfcomm_always_disc_initiator_in_disc_wait_ua()962 inline bool rfcomm_always_disc_initiator_in_disc_wait_ua() {
963     return false;
964 }
rfcomm_always_use_mitm()965 inline bool rfcomm_always_use_mitm() {
966     return true;
967 }
rfcomm_cancel_ongoing_sdp_on_close()968 inline bool rfcomm_cancel_ongoing_sdp_on_close() {
969     return true;
970 }
rfcomm_prevent_unnecessary_collisions()971 inline bool rfcomm_prevent_unnecessary_collisions() {
972     return true;
973 }
rnr_directly_call_gap_over_le()974 inline bool rnr_directly_call_gap_over_le() {
975     return false;
976 }
rnr_store_device_type()977 inline bool rnr_store_device_type() {
978     return false;
979 }
rnr_validate_page_scan_repetition_mode()980 inline bool rnr_validate_page_scan_repetition_mode() {
981     return false;
982 }
rpa_offload_to_bt_controller()983 inline bool rpa_offload_to_bt_controller() {
984     return false;
985 }
run_ble_audio_ticks_in_worker_thread()986 inline bool run_ble_audio_ticks_in_worker_thread() {
987     return true;
988 }
run_clock_recovery_in_worker_thread()989 inline bool run_clock_recovery_in_worker_thread() {
990     return true;
991 }
save_initial_hid_connection_policy()992 inline bool save_initial_hid_connection_policy() {
993     return true;
994 }
save_peer_csrk_after_ltk_gen()995 inline bool save_peer_csrk_after_ltk_gen() {
996     return true;
997 }
scan_manager_refactor()998 inline bool scan_manager_refactor() {
999     return false;
1000 }
scan_record_manufacturer_data_merge()1001 inline bool scan_record_manufacturer_data_merge() {
1002     return true;
1003 }
sec_disconnect_on_le_key_missing()1004 inline bool sec_disconnect_on_le_key_missing() {
1005     return true;
1006 }
sec_dont_clear_keys_on_encryption_err()1007 inline bool sec_dont_clear_keys_on_encryption_err() {
1008     return true;
1009 }
serialize_hogp_and_dis()1010 inline bool serialize_hogp_and_dis() {
1011     return true;
1012 }
set_addressed_player()1013 inline bool set_addressed_player() {
1014     return false;
1015 }
set_max_data_length_for_lecoc()1016 inline bool set_max_data_length_for_lecoc() {
1017     return false;
1018 }
settings_can_control_hap_preset()1019 inline bool settings_can_control_hap_preset() {
1020     return true;
1021 }
signal_connecting_on_focus_gain()1022 inline bool signal_connecting_on_focus_gain() {
1023     return true;
1024 }
skip_unknown_robust_caching()1025 inline bool skip_unknown_robust_caching() {
1026     return false;
1027 }
smp_state_machine_stuck_after_disconnection_fix()1028 inline bool smp_state_machine_stuck_after_disconnection_fix() {
1029     return true;
1030 }
snoop_logger_tracing()1031 inline bool snoop_logger_tracing() {
1032     return true;
1033 }
socket_settings_api()1034 inline bool socket_settings_api() {
1035     return false;
1036 }
stack_sdp_detect_nil_property_type()1037 inline bool stack_sdp_detect_nil_property_type() {
1038     return false;
1039 }
stop_on_offload_fail()1040 inline bool stop_on_offload_fail() {
1041     return true;
1042 }
support_bluetooth_quality_report_v6()1043 inline bool support_bluetooth_quality_report_v6() {
1044     return false;
1045 }
support_exclusive_manager()1046 inline bool support_exclusive_manager() {
1047     return true;
1048 }
support_metadata_device_types_apis()1049 inline bool support_metadata_device_types_apis() {
1050     return false;
1051 }
support_remote_device_metadata()1052 inline bool support_remote_device_metadata() {
1053     return false;
1054 }
suppress_hid_rejection_broadcast()1055 inline bool suppress_hid_rejection_broadcast() {
1056     return true;
1057 }
system_server_messenger()1058 inline bool system_server_messenger() {
1059     return false;
1060 }
temporary_pairing_device_properties()1061 inline bool temporary_pairing_device_properties() {
1062     return true;
1063 }
transmit_smp_packets_before_release()1064 inline bool transmit_smp_packets_before_release() {
1065     return true;
1066 }
trigger_sec_proc_on_inc_access_req()1067 inline bool trigger_sec_proc_on_inc_access_req() {
1068     return false;
1069 }
unbonded_profile_forbid_fix()1070 inline bool unbonded_profile_forbid_fix() {
1071     return true;
1072 }
uncache_player_when_browsed_player_changes()1073 inline bool uncache_player_when_browsed_player_changes() {
1074     return true;
1075 }
unix_file_socket_creation_failure()1076 inline bool unix_file_socket_creation_failure() {
1077     return true;
1078 }
update_active_device_in_band_ringtone()1079 inline bool update_active_device_in_band_ringtone() {
1080     return true;
1081 }
update_sco_state_correctly_on_rfcomm_disconnect_during_codec_nego()1082 inline bool update_sco_state_correctly_on_rfcomm_disconnect_during_codec_nego() {
1083     return true;
1084 }
use_entire_message_handle()1085 inline bool use_entire_message_handle() {
1086     return false;
1087 }
use_le_shim_connection_map_guard()1088 inline bool use_le_shim_connection_map_guard() {
1089     return false;
1090 }
use_local_oob_extended_command()1091 inline bool use_local_oob_extended_command() {
1092     return true;
1093 }
vcp_mute_unmute()1094 inline bool vcp_mute_unmute() {
1095     return false;
1096 }
wait_for_disconnect_before_unbond()1097 inline bool wait_for_disconnect_before_unbond() {
1098     return true;
1099 }
wait_for_lea_disc_on_le_acl_stat()1100 inline bool wait_for_lea_disc_on_le_acl_stat() {
1101     return false;
1102 }
1103 
1104 }
1105 
1106 extern "C" {
1107 #endif // __cplusplus
1108 
1109 
1110 bool com_android_bluetooth_flags_a2dp_aidl_encoding_interval();
1111 bool com_android_bluetooth_flags_a2dp_broadcast_connection_state_when_turned_off();
1112 bool com_android_bluetooth_flags_a2dp_check_lea_iso_channel();
1113 bool com_android_bluetooth_flags_a2dp_clear_pending_start_on_session_restart();
1114 bool com_android_bluetooth_flags_a2dp_fix_codec_type_in_java();
1115 bool com_android_bluetooth_flags_a2dp_ignore_started_when_responder();
1116 bool com_android_bluetooth_flags_a2dp_lhdc_api();
1117 bool com_android_bluetooth_flags_a2dp_service_looper();
1118 bool com_android_bluetooth_flags_a2dp_source_threading_fix();
1119 bool com_android_bluetooth_flags_a2dp_variable_aac_capability();
1120 bool com_android_bluetooth_flags_abs_volume_sdp_conflict();
1121 bool com_android_bluetooth_flags_adapter_properties_looper();
1122 bool com_android_bluetooth_flags_adapter_suspend_mgmt();
1123 bool com_android_bluetooth_flags_adm_always_fallback_to_available_device();
1124 bool com_android_bluetooth_flags_adm_fallback_when_wired_audio_disconnected();
1125 bool com_android_bluetooth_flags_adm_fix_disconnect_of_set_member();
1126 bool com_android_bluetooth_flags_adm_verify_active_fallback_device();
1127 bool com_android_bluetooth_flags_aics_api();
1128 bool com_android_bluetooth_flags_allow_free_last_scn();
1129 bool com_android_bluetooth_flags_allow_switching_hid_and_hogp();
1130 bool com_android_bluetooth_flags_android_headtracker_service();
1131 bool com_android_bluetooth_flags_android_os_identifier();
1132 bool com_android_bluetooth_flags_api_get_connection_state_using_identity_address();
1133 bool com_android_bluetooth_flags_asha_encrypted_l2c_coc();
1134 bool com_android_bluetooth_flags_associate_browse_l2cap_request_with_active_control_channel();
1135 bool com_android_bluetooth_flags_asymmetric_phy_for_unidirectional_cis();
1136 bool com_android_bluetooth_flags_audio_port_binder_inherit_rt();
1137 bool com_android_bluetooth_flags_auto_connect_on_multiple_hfp_when_no_a2dp_device();
1138 bool com_android_bluetooth_flags_av_stream_reconfigure_fix();
1139 bool com_android_bluetooth_flags_avdt_discover_seps_as_acceptor();
1140 bool com_android_bluetooth_flags_avdt_handle_suspend_cfm_bad_state();
1141 bool com_android_bluetooth_flags_avdt_prioritize_mandatory_codec();
1142 bool com_android_bluetooth_flags_avdtp_error_codes();
1143 bool com_android_bluetooth_flags_avoid_l2c_processing_while_stack_shutdown();
1144 bool com_android_bluetooth_flags_avrcp_16_default();
1145 bool com_android_bluetooth_flags_avrcp_connect_a2dp_with_delay();
1146 bool com_android_bluetooth_flags_avrcp_sdp_records();
1147 bool com_android_bluetooth_flags_ble_check_data_length_on_legacy_advertising();
1148 bool com_android_bluetooth_flags_ble_context_map_remove_fix();
1149 bool com_android_bluetooth_flags_ble_gatt_server_use_address_type_in_connection();
1150 bool com_android_bluetooth_flags_ble_scan_adv_metrics_redesign();
1151 bool com_android_bluetooth_flags_bluetooth_power_telemetry();
1152 bool com_android_bluetooth_flags_bond_transport_after_bond_cancel_fix();
1153 bool com_android_bluetooth_flags_break_uhid_polling_early();
1154 bool com_android_bluetooth_flags_browsing_refactor();
1155 bool com_android_bluetooth_flags_bt_offload_socket_api();
1156 bool com_android_bluetooth_flags_bt_socket_api_l2cap_cid();
1157 bool com_android_bluetooth_flags_bt_system_context_report();
1158 bool com_android_bluetooth_flags_bta_ag_cmd_brsf_allow_uint32();
1159 bool com_android_bluetooth_flags_bta_av_setconfig_rej_type_confusion();
1160 bool com_android_bluetooth_flags_bta_av_use_peer_codec();
1161 bool com_android_bluetooth_flags_bta_dm_defer_device_discovery_state_change_until_rnr_complete();
1162 bool com_android_bluetooth_flags_bta_dm_discover_both();
1163 bool com_android_bluetooth_flags_btsec_avdt_msg_ind_type_confusion();
1164 bool com_android_bluetooth_flags_btsec_check_valid_discovery_database();
1165 bool com_android_bluetooth_flags_btsec_cycle_irks();
1166 bool com_android_bluetooth_flags_btsec_le_oob_pairing();
1167 bool com_android_bluetooth_flags_cancel_open_discovery_client();
1168 bool com_android_bluetooth_flags_cancel_pairing_only_on_disconnected_transport();
1169 bool com_android_bluetooth_flags_channel_sounding();
1170 bool com_android_bluetooth_flags_channel_sounding_25q2_apis();
1171 bool com_android_bluetooth_flags_channel_sounding_in_stack();
1172 bool com_android_bluetooth_flags_choose_wrong_hfp_codec_in_specific_config();
1173 bool com_android_bluetooth_flags_clear_auth_collision_state_on_pairing_complete();
1174 bool com_android_bluetooth_flags_clear_pairing_state_when_no_devrec();
1175 bool com_android_bluetooth_flags_close_hid_if_uhid_ready_too_slow();
1176 bool com_android_bluetooth_flags_close_hid_only_if_connected();
1177 bool com_android_bluetooth_flags_connect_hap_on_other_profile_connect();
1178 bool com_android_bluetooth_flags_default_gatt_transport();
1179 bool com_android_bluetooth_flags_device_iot_config_logging();
1180 bool com_android_bluetooth_flags_directed_advertising_api();
1181 bool com_android_bluetooth_flags_disconnect_on_encryption_failure();
1182 bool com_android_bluetooth_flags_donot_push_error_code_to_app_when_connected();
1183 bool com_android_bluetooth_flags_donot_queue_dup_rnr();
1184 bool com_android_bluetooth_flags_donot_update_sec_flags_on_csrk_save();
1185 bool com_android_bluetooth_flags_donot_validate_bond_state_from_profiles();
1186 bool com_android_bluetooth_flags_dont_send_hci_disconnect_repeatedly();
1187 bool com_android_bluetooth_flags_dont_send_hid_set_idle();
1188 bool com_android_bluetooth_flags_drop_acl_fragment_on_disconnect();
1189 bool com_android_bluetooth_flags_enable_hap_by_default();
1190 bool com_android_bluetooth_flags_encrypted_advertising_data();
1191 bool com_android_bluetooth_flags_encryption_change_broadcast();
1192 bool com_android_bluetooth_flags_encryption_change_v2();
1193 bool com_android_bluetooth_flags_enforce_resolve_system_service_behavior();
1194 bool com_android_bluetooth_flags_fix_add_device_properties();
1195 bool com_android_bluetooth_flags_fix_avdt_rconfig_not_setting_l2cap();
1196 bool com_android_bluetooth_flags_fix_hfp_qual_1_9();
1197 bool com_android_bluetooth_flags_fix_le_evt_cancelling_sdp_discovery();
1198 bool com_android_bluetooth_flags_fix_nonconnectable_scannable_advertisement();
1199 bool com_android_bluetooth_flags_fix_sco_command_status_handling();
1200 bool com_android_bluetooth_flags_floss_separate_host_privacy_and_llprivacy();
1201 bool com_android_bluetooth_flags_forward_get_set_report_failure_to_uhid();
1202 bool com_android_bluetooth_flags_gatt_callback_on_failure();
1203 bool com_android_bluetooth_flags_gatt_clear_cache_on_factory_reset();
1204 bool com_android_bluetooth_flags_gatt_client_dynamic_allocation();
1205 bool com_android_bluetooth_flags_gatt_disconnect_fix();
1206 bool com_android_bluetooth_flags_gatt_fix_multiple_direct_connect();
1207 bool com_android_bluetooth_flags_gatt_queue_cleanup_connected();
1208 bool com_android_bluetooth_flags_gatt_rediscover_on_canceled();
1209 bool com_android_bluetooth_flags_gatt_server_requests_fix();
1210 bool com_android_bluetooth_flags_get_all_element_attributes_empty();
1211 bool com_android_bluetooth_flags_get_name_and_address_as_callback();
1212 bool com_android_bluetooth_flags_get_profile_use_lock();
1213 bool com_android_bluetooth_flags_get_state_from_system_server();
1214 bool com_android_bluetooth_flags_guard_bonded_device_properties();
1215 bool com_android_bluetooth_flags_guest_mode_bond();
1216 bool com_android_bluetooth_flags_handle_delivery_sending_failure_events();
1217 bool com_android_bluetooth_flags_hap_connect_only_requested_device();
1218 bool com_android_bluetooth_flags_hci_vendor_specific_extension();
1219 bool com_android_bluetooth_flags_headset_client_am_hf_volume_symmetric();
1220 bool com_android_bluetooth_flags_headtracker_codec_capability();
1221 bool com_android_bluetooth_flags_headtracker_sdu_size();
1222 bool com_android_bluetooth_flags_hfp_allow_volume_change_without_sco();
1223 bool com_android_bluetooth_flags_hfp_client_disconnecting_state();
1224 bool com_android_bluetooth_flags_hfp_software_datapath();
1225 bool com_android_bluetooth_flags_hid_report_queuing();
1226 bool com_android_bluetooth_flags_hogp_reconnection();
1227 bool com_android_bluetooth_flags_identity_address_null_if_not_known();
1228 bool com_android_bluetooth_flags_identity_address_type_api();
1229 bool com_android_bluetooth_flags_identity_retention_on_restart();
1230 bool com_android_bluetooth_flags_ignore_auth_req_when_collision_timer_active();
1231 bool com_android_bluetooth_flags_ignore_notify_when_already_connected();
1232 bool com_android_bluetooth_flags_ignore_unrelated_cancel_bond();
1233 bool com_android_bluetooth_flags_improve_create_connection_for_already_connecting_device();
1234 bool com_android_bluetooth_flags_initial_conn_params_p1();
1235 bool com_android_bluetooth_flags_initiate_multiple_hid_connections();
1236 bool com_android_bluetooth_flags_is_sco_managed_by_audio();
1237 bool com_android_bluetooth_flags_key_missing_as_ordered_broadcast();
1238 bool com_android_bluetooth_flags_key_missing_classic_device();
1239 bool com_android_bluetooth_flags_key_missing_public();
1240 bool com_android_bluetooth_flags_kill_instead_of_exit();
1241 bool com_android_bluetooth_flags_l2cap_fcs_option_fix();
1242 bool com_android_bluetooth_flags_l2cap_le_do_not_adjust_min_interval();
1243 bool com_android_bluetooth_flags_l2cap_p_ccb_check_rewrite();
1244 bool com_android_bluetooth_flags_l2cap_tx_complete_cb_info();
1245 bool com_android_bluetooth_flags_l2cap_update_existing_conn_interval_with_base_interval();
1246 bool com_android_bluetooth_flags_le_ase_read_multiple_variable();
1247 bool com_android_bluetooth_flags_le_audio_base_ecosystem_interval();
1248 bool com_android_bluetooth_flags_le_audio_support_unidirectional_voice_assistant();
1249 bool com_android_bluetooth_flags_le_enc_on_reconnection();
1250 bool com_android_bluetooth_flags_le_impl_ack_pause_disarmed();
1251 bool com_android_bluetooth_flags_le_inquiry_duration();
1252 bool com_android_bluetooth_flags_le_scan_msft_support();
1253 bool com_android_bluetooth_flags_le_scan_remove_non_oneway_binder_calls();
1254 bool com_android_bluetooth_flags_le_scan_use_address_type();
1255 bool com_android_bluetooth_flags_le_scan_use_uid_for_importance();
1256 bool com_android_bluetooth_flags_leaudio_add_aics_support();
1257 bool com_android_bluetooth_flags_leaudio_add_opus_codec_type();
1258 bool com_android_bluetooth_flags_leaudio_allow_leaudio_only_devices();
1259 bool com_android_bluetooth_flags_leaudio_allowed_context_mask();
1260 bool com_android_bluetooth_flags_leaudio_big_depends_on_audio_state();
1261 bool com_android_bluetooth_flags_leaudio_broadcast_api_get_local_metadata();
1262 bool com_android_bluetooth_flags_leaudio_broadcast_api_manage_primary_group();
1263 bool com_android_bluetooth_flags_leaudio_broadcast_assistant_peripheral_entrustment();
1264 bool com_android_bluetooth_flags_leaudio_broadcast_destroy_after_timeout();
1265 bool com_android_bluetooth_flags_leaudio_broadcast_extract_periodic_scanner_from_state_machine();
1266 bool com_android_bluetooth_flags_leaudio_broadcast_monitor_source_sync_status();
1267 bool com_android_bluetooth_flags_leaudio_broadcast_primary_group_selection();
1268 bool com_android_bluetooth_flags_leaudio_broadcast_resync_helper();
1269 bool com_android_bluetooth_flags_leaudio_broadcast_update_metadata_callback();
1270 bool com_android_bluetooth_flags_leaudio_broadcast_volume_control_for_connected_devices();
1271 bool com_android_bluetooth_flags_leaudio_broadcast_volume_control_primary_group_only();
1272 bool com_android_bluetooth_flags_leaudio_broadcast_volume_control_with_set_volume();
1273 bool com_android_bluetooth_flags_leaudio_call_start_scan_directly();
1274 bool com_android_bluetooth_flags_leaudio_codec_config_callback_order_fix();
1275 bool com_android_bluetooth_flags_leaudio_config_profile_enabling();
1276 bool com_android_bluetooth_flags_leaudio_dev_options_respect_profile_sysprops();
1277 bool com_android_bluetooth_flags_leaudio_dynamic_spatial_audio();
1278 bool com_android_bluetooth_flags_leaudio_getting_active_state_support();
1279 bool com_android_bluetooth_flags_leaudio_gmap_client();
1280 bool com_android_bluetooth_flags_leaudio_hal_client_asrc();
1281 bool com_android_bluetooth_flags_leaudio_improve_switch_during_phone_call();
1282 bool com_android_bluetooth_flags_leaudio_monitor_unicast_source_when_managed_by_broadcast_delegator();
1283 bool com_android_bluetooth_flags_leaudio_mono_location_errata();
1284 bool com_android_bluetooth_flags_leaudio_mono_location_errata_api();
1285 bool com_android_bluetooth_flags_leaudio_multicodec_aidl_support();
1286 bool com_android_bluetooth_flags_leaudio_multiple_vocs_instances_api();
1287 bool com_android_bluetooth_flags_leaudio_no_context_validate_streaming_request();
1288 bool com_android_bluetooth_flags_leaudio_set_codec_config_preference();
1289 bool com_android_bluetooth_flags_leaudio_sort_scans_to_sync_by_fails();
1290 bool com_android_bluetooth_flags_leaudio_speed_up_reconfiguration_between_call();
1291 bool com_android_bluetooth_flags_leaudio_start_request_state_mutex_check();
1292 bool com_android_bluetooth_flags_leaudio_stop_updated_to_not_available_context_stream();
1293 bool com_android_bluetooth_flags_leaudio_synchronize_start();
1294 bool com_android_bluetooth_flags_leaudio_unicast_no_available_contexts();
1295 bool com_android_bluetooth_flags_leaudio_use_audio_mode_listener();
1296 bool com_android_bluetooth_flags_maintain_call_index_after_conference();
1297 bool com_android_bluetooth_flags_map_limit_notification();
1298 bool com_android_bluetooth_flags_mcp_allow_play_without_active_player();
1299 bool com_android_bluetooth_flags_metadata_api_inactive_audio_device_upon_connection();
1300 bool com_android_bluetooth_flags_metadata_api_microphone_for_call_enabled();
1301 bool com_android_bluetooth_flags_msft_addr_tracking_quirk();
1302 bool com_android_bluetooth_flags_name_discovery_for_le_pairing();
1303 bool com_android_bluetooth_flags_non_wake_alarm_for_rpa_rotation();
1304 bool com_android_bluetooth_flags_nrpa_non_connectable_adv();
1305 bool com_android_bluetooth_flags_opp_check_content_uri_permissions();
1306 bool com_android_bluetooth_flags_opp_fix_multiple_notifications_issues();
1307 bool com_android_bluetooth_flags_opp_ignore_content_observer_after_service_stop();
1308 bool com_android_bluetooth_flags_opp_set_insets_for_edge_to_edge();
1309 bool com_android_bluetooth_flags_opp_start_activity_directly_from_notification();
1310 bool com_android_bluetooth_flags_override_context_to_specify_device_id();
1311 bool com_android_bluetooth_flags_pairing_name_discovery_addresss_mismatch();
1312 bool com_android_bluetooth_flags_pairing_on_unknown_transport();
1313 bool com_android_bluetooth_flags_pan_use_identity_address();
1314 bool com_android_bluetooth_flags_pbap_client_contacts_caching();
1315 bool com_android_bluetooth_flags_pbap_client_storage_refactor();
1316 bool com_android_bluetooth_flags_pending_hid_connection_cancellation();
1317 bool com_android_bluetooth_flags_phy_to_native();
1318 bool com_android_bluetooth_flags_prevent_duplicate_uuid_intent();
1319 bool com_android_bluetooth_flags_prevent_hogp_reconnect_when_connected();
1320 bool com_android_bluetooth_flags_prevent_service_connections_on_remove_bond();
1321 bool com_android_bluetooth_flags_progress_acl_scheduler_upon_incoming_connection();
1322 bool com_android_bluetooth_flags_queue_dis_requests();
1323 bool com_android_bluetooth_flags_read_le_appearance();
1324 bool com_android_bluetooth_flags_refactor_saving_messages_and_metadata();
1325 bool com_android_bluetooth_flags_remove_address_map_on_unbond();
1326 bool com_android_bluetooth_flags_remove_device_in_main_thread();
1327 bool com_android_bluetooth_flags_remove_dup_pairing_response_in_oob_pairing();
1328 bool com_android_bluetooth_flags_remove_input_device_on_vup();
1329 bool com_android_bluetooth_flags_remove_one_time_get_name_and_address();
1330 bool com_android_bluetooth_flags_remove_pending_hid_connection();
1331 bool com_android_bluetooth_flags_reset_ag_state_on_collision();
1332 bool com_android_bluetooth_flags_respect_ble_scan_setting();
1333 bool com_android_bluetooth_flags_retry_esco_with_zero_retransmission_effort();
1334 bool com_android_bluetooth_flags_rfcomm_always_disc_initiator_in_disc_wait_ua();
1335 bool com_android_bluetooth_flags_rfcomm_always_use_mitm();
1336 bool com_android_bluetooth_flags_rfcomm_cancel_ongoing_sdp_on_close();
1337 bool com_android_bluetooth_flags_rfcomm_prevent_unnecessary_collisions();
1338 bool com_android_bluetooth_flags_rnr_directly_call_gap_over_le();
1339 bool com_android_bluetooth_flags_rnr_store_device_type();
1340 bool com_android_bluetooth_flags_rnr_validate_page_scan_repetition_mode();
1341 bool com_android_bluetooth_flags_rpa_offload_to_bt_controller();
1342 bool com_android_bluetooth_flags_run_ble_audio_ticks_in_worker_thread();
1343 bool com_android_bluetooth_flags_run_clock_recovery_in_worker_thread();
1344 bool com_android_bluetooth_flags_save_initial_hid_connection_policy();
1345 bool com_android_bluetooth_flags_save_peer_csrk_after_ltk_gen();
1346 bool com_android_bluetooth_flags_scan_manager_refactor();
1347 bool com_android_bluetooth_flags_scan_record_manufacturer_data_merge();
1348 bool com_android_bluetooth_flags_sec_disconnect_on_le_key_missing();
1349 bool com_android_bluetooth_flags_sec_dont_clear_keys_on_encryption_err();
1350 bool com_android_bluetooth_flags_serialize_hogp_and_dis();
1351 bool com_android_bluetooth_flags_set_addressed_player();
1352 bool com_android_bluetooth_flags_set_max_data_length_for_lecoc();
1353 bool com_android_bluetooth_flags_settings_can_control_hap_preset();
1354 bool com_android_bluetooth_flags_signal_connecting_on_focus_gain();
1355 bool com_android_bluetooth_flags_skip_unknown_robust_caching();
1356 bool com_android_bluetooth_flags_smp_state_machine_stuck_after_disconnection_fix();
1357 bool com_android_bluetooth_flags_snoop_logger_tracing();
1358 bool com_android_bluetooth_flags_socket_settings_api();
1359 bool com_android_bluetooth_flags_stack_sdp_detect_nil_property_type();
1360 bool com_android_bluetooth_flags_stop_on_offload_fail();
1361 bool com_android_bluetooth_flags_support_bluetooth_quality_report_v6();
1362 bool com_android_bluetooth_flags_support_exclusive_manager();
1363 bool com_android_bluetooth_flags_support_metadata_device_types_apis();
1364 bool com_android_bluetooth_flags_support_remote_device_metadata();
1365 bool com_android_bluetooth_flags_suppress_hid_rejection_broadcast();
1366 bool com_android_bluetooth_flags_system_server_messenger();
1367 bool com_android_bluetooth_flags_temporary_pairing_device_properties();
1368 bool com_android_bluetooth_flags_transmit_smp_packets_before_release();
1369 bool com_android_bluetooth_flags_trigger_sec_proc_on_inc_access_req();
1370 bool com_android_bluetooth_flags_unbonded_profile_forbid_fix();
1371 bool com_android_bluetooth_flags_uncache_player_when_browsed_player_changes();
1372 bool com_android_bluetooth_flags_unix_file_socket_creation_failure();
1373 bool com_android_bluetooth_flags_update_active_device_in_band_ringtone();
1374 bool com_android_bluetooth_flags_update_sco_state_correctly_on_rfcomm_disconnect_during_codec_nego();
1375 bool com_android_bluetooth_flags_use_entire_message_handle();
1376 bool com_android_bluetooth_flags_use_le_shim_connection_map_guard();
1377 bool com_android_bluetooth_flags_use_local_oob_extended_command();
1378 bool com_android_bluetooth_flags_vcp_mute_unmute();
1379 bool com_android_bluetooth_flags_wait_for_disconnect_before_unbond();
1380 bool com_android_bluetooth_flags_wait_for_lea_disc_on_le_acl_stat();
1381 
1382 #ifdef __cplusplus
1383 } // extern "C"
1384 #endif
1385 
1386