From eaff2ee62101165879d49b93f7cb871fdd2ade0f Mon Sep 17 00:00:00 2001 From: Chris Manton Date: Fri, 18 Dec 2020 20:22:26 -0800 Subject: [PATCH] Add and use tBTM_CB::tACL_CB::Init Towards encapsulated code Bug: 163134718 Tag: #refactor Test: gd/cert/run --host Change-Id: I38a17794c6f0af25b40d8b095621d9df658dff42 --- stack/Android.bp | 3 +++ stack/acl/acl.cc | 9 +++++++++ stack/acl/acl.h | 7 +++++-- stack/acl/btm_acl.cc | 10 +--------- stack/btm/btm_ble_cont_energy.cc | 2 +- stack/test/btm/stack_btm_test.cc | 9 +++++---- 6 files changed, 24 insertions(+), 16 deletions(-) diff --git a/stack/Android.bp b/stack/Android.bp index 12c21f45b..24dc977ab 100644 --- a/stack/Android.bp +++ b/stack/Android.bp @@ -671,15 +671,18 @@ cc_test { "btm/btm_ble_adv_filter.cc", "btm/btm_ble_batchscan.cc", "btm/btm_ble_bgconn.cc", + "btm/btm_ble_cont_energy.cc", "btm/btm_ble_gap.cc", "btm/btm_ble_multi_adv.cc", "btm/btm_ble_privacy.cc", + "btm/btm_client_interface.cc", "btm/btm_dev.cc", "btm/btm_devctl.cc", "btm/btm_inq.cc", "btm/btm_iso.cc", "btm/btm_main.cc", "btm/btm_sco.cc", + "btm/btm_scn.cc", "btm/btm_sec.cc", "test/btm/stack_btm_test.cc", "test/common/mock_bta_dm_act.cc", diff --git a/stack/acl/acl.cc b/stack/acl/acl.cc index 465a03ea6..2c0ca33f5 100644 --- a/stack/acl/acl.cc +++ b/stack/acl/acl.cc @@ -46,3 +46,12 @@ void sACL_CONN::Reset() { switch_role_state_ = BTM_ACL_SWKEY_STATE_IDLE; sca = 0; } + +void sACL_CB::Init() { + btm_def_link_super_tout = HCI_DEFAULT_INACT_TOUT; + acl_disc_reason = HCI_ERR_UNDEFINED; + + btm_acl_pkt_types_supported = + HCI_PKT_TYPES_MASK_DH1 + HCI_PKT_TYPES_MASK_DM1 + HCI_PKT_TYPES_MASK_DH3 + + HCI_PKT_TYPES_MASK_DM3 + HCI_PKT_TYPES_MASK_DH5 + HCI_PKT_TYPES_MASK_DM5; +} diff --git a/stack/acl/acl.h b/stack/acl/acl.h index 0507a5259..8dd6454a7 100644 --- a/stack/acl/acl.h +++ b/stack/acl/acl.h @@ -364,7 +364,7 @@ typedef sACL_CONN tACL_CONN; /**************************************************** ** ACL Management API ****************************************************/ -typedef struct { +struct sACL_CB { private: friend bool BTM_IsBleConnection(uint16_t hci_handle); friend bool acl_is_role_switch_allowed(); @@ -446,4 +446,7 @@ typedef struct { } return cnt; } -} tACL_CB; + + void Init(); +}; +typedef sACL_CB tACL_CB; diff --git a/stack/acl/btm_acl.cc b/stack/acl/btm_acl.cc index 3a471ec5d..20b317cd7 100644 --- a/stack/acl/btm_acl.cc +++ b/stack/acl/btm_acl.cc @@ -199,15 +199,7 @@ static void hci_start_role_switch_to_central(tACL_CONN& p_acl) { * Returns void * ******************************************************************************/ -void btm_acl_init(void) { - /* Initialize nonzero defaults */ - btm_cb.acl_cb_.btm_def_link_super_tout = HCI_DEFAULT_INACT_TOUT; - btm_cb.acl_cb_.acl_disc_reason = HCI_ERR_UNDEFINED; - - btm_cb.acl_cb_.btm_acl_pkt_types_supported = - HCI_PKT_TYPES_MASK_DH1 + HCI_PKT_TYPES_MASK_DM1 + HCI_PKT_TYPES_MASK_DH3 + - HCI_PKT_TYPES_MASK_DM3 + HCI_PKT_TYPES_MASK_DH5 + HCI_PKT_TYPES_MASK_DM5; -} +void btm_acl_init(void) { btm_cb.acl_cb_.Init(); } void BTM_acl_after_controller_started() { internal_.btm_set_default_link_policy( diff --git a/stack/btm/btm_ble_cont_energy.cc b/stack/btm/btm_ble_cont_energy.cc index 8a15e7b82..00519b0c8 100644 --- a/stack/btm/btm_ble_cont_energy.cc +++ b/stack/btm/btm_ble_cont_energy.cc @@ -20,13 +20,13 @@ #include "bt_target.h" #include "bt_types.h" -#include "bt_utils.h" #include "btm_ble_api.h" #include "btm_int.h" #include "btu.h" #include "hcidefs.h" #include "hcimsgs.h" #include "stack/btm/btm_int_types.h" +#include "utils/include/bt_utils.h" extern tBTM_CB btm_cb; diff --git a/stack/test/btm/stack_btm_test.cc b/stack/test/btm/stack_btm_test.cc index 9532bbab0..6fab688e9 100644 --- a/stack/test/btm/stack_btm_test.cc +++ b/stack/test/btm/stack_btm_test.cc @@ -26,6 +26,7 @@ #include "osi/include/osi.h" #include "stack/btm/btm_int_types.h" #include "stack/include/acl_hci_link_interface.h" +#include "stack/include/btm_client_interface.h" #include "types/raw_address.h" base::MessageLoop* get_main_message_loop() { return nullptr; } @@ -91,8 +92,8 @@ class StackBtmTest : public Test { }; TEST_F(StackBtmTest, GlobalLifecycle) { - btm_init(); - btm_free(); + get_btm_client_interface().lifecycle.btm_init(); + get_btm_client_interface().lifecycle.btm_free(); } TEST_F(StackBtmTest, DynamicLifecycle) { @@ -103,7 +104,7 @@ TEST_F(StackBtmTest, DynamicLifecycle) { TEST_F(StackBtmTest, InformBtmOnConnection) { MOCK_bluetooth_shim_is_gd_acl_enabled_ = true; - btm_init(); + get_btm_client_interface().lifecycle.btm_init(); RawAddress bda({0x11, 0x22, 0x33, 0x44, 0x55, 0x66}); @@ -111,7 +112,7 @@ TEST_F(StackBtmTest, InformBtmOnConnection) { ASSERT_EQ(static_cast(1), mock_function_count_map.count("BTA_dm_acl_up")); - btm_free(); + get_btm_client_interface().lifecycle.btm_free(); } } // namespace -- 2.11.0