Loading system/bta/dm/bta_dm_act.cc +3 −22 Original line number Diff line number Diff line Loading @@ -239,12 +239,7 @@ void BTA_dm_on_hw_off() { /* reinitialize the control block */ bta_dm_deinit_cb(); /* hw is ready, go on with BTA DM initialization */ alarm_free(bta_dm_search_cb.search_timer); alarm_free(bta_dm_search_cb.gatt_close_timer); osi_free_and_reset((void**)&bta_dm_search_cb.p_pending_search); fixed_queue_free(bta_dm_search_cb.pending_discovery_queue, osi_free); bta_dm_search_cb = {}; bta_dm_disc_stop(); } void BTA_dm_on_hw_on() { Loading @@ -256,22 +251,8 @@ void BTA_dm_on_hw_on() { /* make sure the control block is properly initialized */ bta_dm_init_cb(); /* hw is ready, go on with BTA DM initialization */ alarm_free(bta_dm_search_cb.search_timer); alarm_free(bta_dm_search_cb.gatt_close_timer); osi_free_and_reset((void**)&bta_dm_search_cb.p_pending_search); fixed_queue_free(bta_dm_search_cb.pending_discovery_queue, osi_free); bta_dm_search_cb = {}; /* * TODO: Should alarm_free() the bta_dm_search_cb timers during * graceful shutdown. */ bta_dm_search_cb.search_timer = alarm_new("bta_dm_search.search_timer"); bool delay_close_gatt = osi_property_get_bool("bluetooth.gatt.delay_close.enabled", true); bta_dm_search_cb.gatt_close_timer = delay_close_gatt ? alarm_new("bta_dm_search.gatt_close_timer") : nullptr; bta_dm_search_cb.pending_discovery_queue = fixed_queue_new(SIZE_MAX); bta_dm_disc_start( osi_property_get_bool("bluetooth.gatt.delay_close.enabled", true)); memset(&bta_dm_conn_srvcs, 0, sizeof(bta_dm_conn_srvcs)); memset(&bta_dm_di_cb, 0, sizeof(tBTA_DM_DI_CB)); Loading system/bta/dm/bta_dm_disc.cc +18 −0 Original line number Diff line number Diff line Loading @@ -2370,6 +2370,24 @@ bool bta_dm_search_sm_execute(const BT_HDR_RIGID* p_msg) { return true; } static void bta_dm_disc_reset() { alarm_free(bta_dm_search_cb.search_timer); alarm_free(bta_dm_search_cb.gatt_close_timer); osi_free_and_reset((void**)&bta_dm_search_cb.p_pending_search); fixed_queue_free(bta_dm_search_cb.pending_discovery_queue, osi_free); bta_dm_search_cb = {}; } void bta_dm_disc_start(bool delay_close_gatt) { bta_dm_disc_reset(); bta_dm_search_cb.search_timer = alarm_new("bta_dm_search.search_timer"); bta_dm_search_cb.gatt_close_timer = delay_close_gatt ? alarm_new("bta_dm_search.gatt_close_timer") : nullptr; bta_dm_search_cb.pending_discovery_queue = fixed_queue_new(SIZE_MAX); } void bta_dm_disc_stop() { bta_dm_disc_reset(); } #define DUMPSYS_TAG "shim::legacy::bta::dm" void DumpsysBtaDmDisc(int fd) { auto copy = search_state_history_.Pull(); Loading system/bta/dm/bta_dm_disc.h +4 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,10 @@ #include "stack/include/bt_hdr.h" #include "types/raw_address.h" // Bta module start and stop entry points void bta_dm_disc_start(bool delay_close_gatt); void bta_dm_disc_stop(); // Bta subsystem entrypoint and lifecycle bool bta_dm_search_sm_execute(const BT_HDR_RIGID* p_msg); void bta_dm_search_sm_disable(); Loading system/bta/test/bta_dm_test.cc +6 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include <string> #include "bta/dm/bta_dm_disc.h" #include "bta/dm/bta_dm_int.h" #include "bta/dm/bta_dm_sec_int.h" #include "bta/hf_client/bta_hf_client_int.h" Loading Loading @@ -556,3 +557,8 @@ TEST_F(BtaDmTest, bta_dm_remote_name_cmpl) { bluetooth::legacy::testing::bta_dm_remote_name_cmpl(&msg); ASSERT_EQ(1, get_func_call_count("BTM_InqDbRead")); } TEST_F(BtaDmTest, bta_dm_disc_start__true) { bta_dm_disc_start(true); } TEST_F(BtaDmTest, bta_dm_disc_start__false) { bta_dm_disc_start(false); } TEST_F(BtaDmTest, bta_dm_disc_stop) { bta_dm_disc_stop(); } Loading
system/bta/dm/bta_dm_act.cc +3 −22 Original line number Diff line number Diff line Loading @@ -239,12 +239,7 @@ void BTA_dm_on_hw_off() { /* reinitialize the control block */ bta_dm_deinit_cb(); /* hw is ready, go on with BTA DM initialization */ alarm_free(bta_dm_search_cb.search_timer); alarm_free(bta_dm_search_cb.gatt_close_timer); osi_free_and_reset((void**)&bta_dm_search_cb.p_pending_search); fixed_queue_free(bta_dm_search_cb.pending_discovery_queue, osi_free); bta_dm_search_cb = {}; bta_dm_disc_stop(); } void BTA_dm_on_hw_on() { Loading @@ -256,22 +251,8 @@ void BTA_dm_on_hw_on() { /* make sure the control block is properly initialized */ bta_dm_init_cb(); /* hw is ready, go on with BTA DM initialization */ alarm_free(bta_dm_search_cb.search_timer); alarm_free(bta_dm_search_cb.gatt_close_timer); osi_free_and_reset((void**)&bta_dm_search_cb.p_pending_search); fixed_queue_free(bta_dm_search_cb.pending_discovery_queue, osi_free); bta_dm_search_cb = {}; /* * TODO: Should alarm_free() the bta_dm_search_cb timers during * graceful shutdown. */ bta_dm_search_cb.search_timer = alarm_new("bta_dm_search.search_timer"); bool delay_close_gatt = osi_property_get_bool("bluetooth.gatt.delay_close.enabled", true); bta_dm_search_cb.gatt_close_timer = delay_close_gatt ? alarm_new("bta_dm_search.gatt_close_timer") : nullptr; bta_dm_search_cb.pending_discovery_queue = fixed_queue_new(SIZE_MAX); bta_dm_disc_start( osi_property_get_bool("bluetooth.gatt.delay_close.enabled", true)); memset(&bta_dm_conn_srvcs, 0, sizeof(bta_dm_conn_srvcs)); memset(&bta_dm_di_cb, 0, sizeof(tBTA_DM_DI_CB)); Loading
system/bta/dm/bta_dm_disc.cc +18 −0 Original line number Diff line number Diff line Loading @@ -2370,6 +2370,24 @@ bool bta_dm_search_sm_execute(const BT_HDR_RIGID* p_msg) { return true; } static void bta_dm_disc_reset() { alarm_free(bta_dm_search_cb.search_timer); alarm_free(bta_dm_search_cb.gatt_close_timer); osi_free_and_reset((void**)&bta_dm_search_cb.p_pending_search); fixed_queue_free(bta_dm_search_cb.pending_discovery_queue, osi_free); bta_dm_search_cb = {}; } void bta_dm_disc_start(bool delay_close_gatt) { bta_dm_disc_reset(); bta_dm_search_cb.search_timer = alarm_new("bta_dm_search.search_timer"); bta_dm_search_cb.gatt_close_timer = delay_close_gatt ? alarm_new("bta_dm_search.gatt_close_timer") : nullptr; bta_dm_search_cb.pending_discovery_queue = fixed_queue_new(SIZE_MAX); } void bta_dm_disc_stop() { bta_dm_disc_reset(); } #define DUMPSYS_TAG "shim::legacy::bta::dm" void DumpsysBtaDmDisc(int fd) { auto copy = search_state_history_.Pull(); Loading
system/bta/dm/bta_dm_disc.h +4 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,10 @@ #include "stack/include/bt_hdr.h" #include "types/raw_address.h" // Bta module start and stop entry points void bta_dm_disc_start(bool delay_close_gatt); void bta_dm_disc_stop(); // Bta subsystem entrypoint and lifecycle bool bta_dm_search_sm_execute(const BT_HDR_RIGID* p_msg); void bta_dm_search_sm_disable(); Loading
system/bta/test/bta_dm_test.cc +6 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include <string> #include "bta/dm/bta_dm_disc.h" #include "bta/dm/bta_dm_int.h" #include "bta/dm/bta_dm_sec_int.h" #include "bta/hf_client/bta_hf_client_int.h" Loading Loading @@ -556,3 +557,8 @@ TEST_F(BtaDmTest, bta_dm_remote_name_cmpl) { bluetooth::legacy::testing::bta_dm_remote_name_cmpl(&msg); ASSERT_EQ(1, get_func_call_count("BTM_InqDbRead")); } TEST_F(BtaDmTest, bta_dm_disc_start__true) { bta_dm_disc_start(true); } TEST_F(BtaDmTest, bta_dm_disc_start__false) { bta_dm_disc_start(false); } TEST_F(BtaDmTest, bta_dm_disc_stop) { bta_dm_disc_stop(); }