Loading android/app/src/com/android/bluetooth/btservice/AdapterService.java +5 −0 Original line number Diff line number Diff line Loading @@ -5104,6 +5104,7 @@ public class AdapterService extends Service { private static final String GATT_ROBUST_CACHING_CLIENT_FLAG = "INIT_gatt_robust_caching_client"; private static final String GATT_ROBUST_CACHING_SERVER_FLAG = "INIT_gatt_robust_caching_server"; private static final String IRK_ROTATION_FLAG = "INIT_irk_rotation"; private static final String PASS_PHY_UPDATE_CALLBACK_FLAG = "INIT_pass_phy_update_callback"; /** * Logging flags logic (only applies to DEBUG and VERBOSE levels): Loading Loading @@ -5167,6 +5168,10 @@ public class AdapterService extends Service { if (DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_BLUETOOTH, IRK_ROTATION_FLAG, false)) { initFlags.add(String.format("%s=%s", IRK_ROTATION_FLAG, "true")); } if (DeviceConfig.getBoolean( DeviceConfig.NAMESPACE_BLUETOOTH, PASS_PHY_UPDATE_CALLBACK_FLAG, true)) { initFlags.add(String.format("%s=%s", PASS_PHY_UPDATE_CALLBACK_FLAG, "true")); } if (DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_BLUETOOTH, LOGGING_DEBUG_ENABLED_FOR_ALL_FLAG, false)) { initFlags.add(String.format("%s=%s", LOGGING_DEBUG_ENABLED_FOR_ALL_FLAG, "true")); Loading system/gd/rust/common/src/init_flags.rs +2 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,8 @@ init_flags!( btaa_hci, gd_rust, gd_link_policy, irk_rotation irk_rotation, pass_phy_update_callback }, dependencies: { gd_core => gd_security Loading system/gd/rust/shim/src/init_flags.rs +1 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ mod ffi { fn gd_rust_is_enabled() -> bool; fn gd_link_policy_is_enabled() -> bool; fn irk_rotation_is_enabled() -> bool; fn pass_phy_update_callback_is_enabled() -> bool; } } Loading system/main/shim/acl.cc +13 −3 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ #include "device/include/controller.h" #include "gd/common/bidi_queue.h" #include "gd/common/bind.h" #include "gd/common/init_flags.h" #include "gd/common/strings.h" #include "gd/common/sync_map_count.h" #include "gd/hci/acl_manager.h" Loading Loading @@ -61,6 +62,7 @@ #include "stack/include/bt_hdr.h" #include "stack/include/btm_api.h" #include "stack/include/btm_status.h" #include "stack/include/gatt_api.h" #include "stack/include/pan_api.h" #include "stack/include/sec_hci_link_interface.h" #include "stack/l2cap/l2c_int.h" Loading Loading @@ -753,9 +755,17 @@ class LeShimAclConnection void OnPhyUpdate(hci::ErrorCode hci_status, uint8_t tx_phy, uint8_t rx_phy) override { TRY_POSTING_ON_MAIN(interface_.on_phy_update, ToLegacyHciErrorCode(hci_status), handle_, tx_phy, rx_phy); if (common::init_flags::pass_phy_update_callback_is_enabled()) { TRY_POSTING_ON_MAIN( interface_.on_phy_update, static_cast<tGATT_STATUS>(ToLegacyHciErrorCode(hci_status)), handle_, tx_phy, rx_phy); } else { LOG_WARN( "Not posting OnPhyUpdate callback since it is disabled: (tx:%x, " "rx:%x, status:%s)", tx_phy, rx_phy, hci::ErrorCodeText(hci_status).c_str()); } } void OnLocalAddressUpdate(hci::AddressWithType address_with_type) override { Loading system/main/shim/acl_legacy_interface.cc +5 −0 Original line number Diff line number Diff line Loading @@ -15,12 +15,16 @@ */ #include "main/shim/acl_legacy_interface.h" #include "stack/include/acl_hci_link_interface.h" #include "stack/include/ble_acl_interface.h" #include "stack/include/gatt_api.h" #include "stack/include/sco_hci_link_interface.h" #include "stack/include/sec_hci_link_interface.h" struct tBTM_ESCO_DATA; void gatt_notify_phy_updated(tGATT_STATUS status, uint16_t handle, uint8_t tx_phy, uint8_t rx_phy); namespace bluetooth { namespace shim { Loading Loading @@ -78,6 +82,7 @@ const acl_interface_t GetAclInterface() { .link.le.on_data_length_change = acl_ble_data_length_change_event, .link.le.on_read_remote_version_information_complete = btm_read_remote_version_complete, .link.le.on_phy_update = gatt_notify_phy_updated, }; return acl_interface; } Loading Loading
android/app/src/com/android/bluetooth/btservice/AdapterService.java +5 −0 Original line number Diff line number Diff line Loading @@ -5104,6 +5104,7 @@ public class AdapterService extends Service { private static final String GATT_ROBUST_CACHING_CLIENT_FLAG = "INIT_gatt_robust_caching_client"; private static final String GATT_ROBUST_CACHING_SERVER_FLAG = "INIT_gatt_robust_caching_server"; private static final String IRK_ROTATION_FLAG = "INIT_irk_rotation"; private static final String PASS_PHY_UPDATE_CALLBACK_FLAG = "INIT_pass_phy_update_callback"; /** * Logging flags logic (only applies to DEBUG and VERBOSE levels): Loading Loading @@ -5167,6 +5168,10 @@ public class AdapterService extends Service { if (DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_BLUETOOTH, IRK_ROTATION_FLAG, false)) { initFlags.add(String.format("%s=%s", IRK_ROTATION_FLAG, "true")); } if (DeviceConfig.getBoolean( DeviceConfig.NAMESPACE_BLUETOOTH, PASS_PHY_UPDATE_CALLBACK_FLAG, true)) { initFlags.add(String.format("%s=%s", PASS_PHY_UPDATE_CALLBACK_FLAG, "true")); } if (DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_BLUETOOTH, LOGGING_DEBUG_ENABLED_FOR_ALL_FLAG, false)) { initFlags.add(String.format("%s=%s", LOGGING_DEBUG_ENABLED_FOR_ALL_FLAG, "true")); Loading
system/gd/rust/common/src/init_flags.rs +2 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,8 @@ init_flags!( btaa_hci, gd_rust, gd_link_policy, irk_rotation irk_rotation, pass_phy_update_callback }, dependencies: { gd_core => gd_security Loading
system/gd/rust/shim/src/init_flags.rs +1 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ mod ffi { fn gd_rust_is_enabled() -> bool; fn gd_link_policy_is_enabled() -> bool; fn irk_rotation_is_enabled() -> bool; fn pass_phy_update_callback_is_enabled() -> bool; } } Loading
system/main/shim/acl.cc +13 −3 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ #include "device/include/controller.h" #include "gd/common/bidi_queue.h" #include "gd/common/bind.h" #include "gd/common/init_flags.h" #include "gd/common/strings.h" #include "gd/common/sync_map_count.h" #include "gd/hci/acl_manager.h" Loading Loading @@ -61,6 +62,7 @@ #include "stack/include/bt_hdr.h" #include "stack/include/btm_api.h" #include "stack/include/btm_status.h" #include "stack/include/gatt_api.h" #include "stack/include/pan_api.h" #include "stack/include/sec_hci_link_interface.h" #include "stack/l2cap/l2c_int.h" Loading Loading @@ -753,9 +755,17 @@ class LeShimAclConnection void OnPhyUpdate(hci::ErrorCode hci_status, uint8_t tx_phy, uint8_t rx_phy) override { TRY_POSTING_ON_MAIN(interface_.on_phy_update, ToLegacyHciErrorCode(hci_status), handle_, tx_phy, rx_phy); if (common::init_flags::pass_phy_update_callback_is_enabled()) { TRY_POSTING_ON_MAIN( interface_.on_phy_update, static_cast<tGATT_STATUS>(ToLegacyHciErrorCode(hci_status)), handle_, tx_phy, rx_phy); } else { LOG_WARN( "Not posting OnPhyUpdate callback since it is disabled: (tx:%x, " "rx:%x, status:%s)", tx_phy, rx_phy, hci::ErrorCodeText(hci_status).c_str()); } } void OnLocalAddressUpdate(hci::AddressWithType address_with_type) override { Loading
system/main/shim/acl_legacy_interface.cc +5 −0 Original line number Diff line number Diff line Loading @@ -15,12 +15,16 @@ */ #include "main/shim/acl_legacy_interface.h" #include "stack/include/acl_hci_link_interface.h" #include "stack/include/ble_acl_interface.h" #include "stack/include/gatt_api.h" #include "stack/include/sco_hci_link_interface.h" #include "stack/include/sec_hci_link_interface.h" struct tBTM_ESCO_DATA; void gatt_notify_phy_updated(tGATT_STATUS status, uint16_t handle, uint8_t tx_phy, uint8_t rx_phy); namespace bluetooth { namespace shim { Loading Loading @@ -78,6 +82,7 @@ const acl_interface_t GetAclInterface() { .link.le.on_data_length_change = acl_ble_data_length_change_event, .link.le.on_read_remote_version_information_complete = btm_read_remote_version_complete, .link.le.on_phy_update = gatt_notify_phy_updated, }; return acl_interface; } Loading