Loading system/bta/dm/bta_dm_act.cc +14 −2 Original line number Diff line number Diff line Loading @@ -1857,18 +1857,26 @@ static void bta_dm_discover_next_device(void) { * Returns void * ******************************************************************************/ static void bta_dm_discover_device(const RawAddress& remote_bd_addr) { static tBT_TRANSPORT bta_dm_determine_discovery_transport( const RawAddress& remote_bd_addr) { tBT_TRANSPORT transport = BT_TRANSPORT_BR_EDR; if (bta_dm_search_cb.transport == BT_TRANSPORT_AUTO) { tBT_DEVICE_TYPE dev_type; tBLE_ADDR_TYPE addr_type; BTM_ReadDevInfo(remote_bd_addr, &dev_type, &addr_type); if (dev_type == BT_DEVICE_TYPE_BLE || addr_type == BLE_ADDR_RANDOM) if (dev_type == BT_DEVICE_TYPE_BLE || addr_type == BLE_ADDR_RANDOM) { transport = BT_TRANSPORT_LE; } } else { transport = bta_dm_search_cb.transport; } return transport; } static void bta_dm_discover_device(const RawAddress& remote_bd_addr) { const tBT_TRANSPORT transport = bta_dm_determine_discovery_transport(remote_bd_addr); VLOG(1) << __func__ << " BDA: " << ADDRESS_TO_LOGGABLE_STR(remote_bd_addr); Loading Loading @@ -4573,6 +4581,10 @@ void bta_dm_remname_cback(const tBTM_REMOTE_DEV_NAME* p) { ::bta_dm_remname_cback(p); } tBT_TRANSPORT bta_dm_determine_discovery_transport(const RawAddress& bd_addr) { return ::bta_dm_determine_discovery_transport(bd_addr); } } // namespace testing } // namespace legacy } // namespace bluetooth system/bta/test/bta_dm_test.cc +30 −0 Original line number Diff line number Diff line Loading @@ -247,6 +247,9 @@ tBTA_DM_PEER_DEVICE* allocate_device_for(const RawAddress& bd_addr, void bta_dm_remname_cback(const tBTM_REMOTE_DEV_NAME* p); tBT_TRANSPORT bta_dm_determine_discovery_transport( const RawAddress& remote_bd_addr); } // namespace testing } // namespace legacy } // namespace bluetooth Loading Loading @@ -471,3 +474,30 @@ TEST_F(BtaDmTest, bta_dm_remname_cback__HCI_ERR_CONNECTION_EXISTS) { ASSERT_EQ(1, get_func_call_count("BTM_SecDeleteRmtNameNotifyCallback")); ASSERT_TRUE(bta_dm_search_cb.name_discover_done); } TEST_F(BtaDmTest, bta_dm_determine_discovery_transport__BT_TRANSPORT_BR_EDR) { const RawAddress bd_addr{{0x11, 0x22, 0x33, 0x44, 0x55, 0x66}}; bta_dm_search_cb.transport = BT_TRANSPORT_BR_EDR; ASSERT_EQ(BT_TRANSPORT_BR_EDR, bluetooth::legacy::testing::bta_dm_determine_discovery_transport( bd_addr)); } TEST_F(BtaDmTest, bta_dm_determine_discovery_transport__BT_TRANSPORT_LE) { const RawAddress bd_addr{{0x11, 0x22, 0x33, 0x44, 0x55, 0x66}}; bta_dm_search_cb.transport = BT_TRANSPORT_LE; ASSERT_EQ(BT_TRANSPORT_LE, bluetooth::legacy::testing::bta_dm_determine_discovery_transport( bd_addr)); } TEST_F(BtaDmTest, bta_dm_determine_discovery_transport__BT_TRANSPORT_AUTO) { const RawAddress bd_addr{{0x11, 0x22, 0x33, 0x44, 0x55, 0x66}}; bta_dm_search_cb.transport = BT_TRANSPORT_AUTO; ASSERT_EQ(BT_TRANSPORT_BR_EDR, bluetooth::legacy::testing::bta_dm_determine_discovery_transport( bd_addr)); } Loading
system/bta/dm/bta_dm_act.cc +14 −2 Original line number Diff line number Diff line Loading @@ -1857,18 +1857,26 @@ static void bta_dm_discover_next_device(void) { * Returns void * ******************************************************************************/ static void bta_dm_discover_device(const RawAddress& remote_bd_addr) { static tBT_TRANSPORT bta_dm_determine_discovery_transport( const RawAddress& remote_bd_addr) { tBT_TRANSPORT transport = BT_TRANSPORT_BR_EDR; if (bta_dm_search_cb.transport == BT_TRANSPORT_AUTO) { tBT_DEVICE_TYPE dev_type; tBLE_ADDR_TYPE addr_type; BTM_ReadDevInfo(remote_bd_addr, &dev_type, &addr_type); if (dev_type == BT_DEVICE_TYPE_BLE || addr_type == BLE_ADDR_RANDOM) if (dev_type == BT_DEVICE_TYPE_BLE || addr_type == BLE_ADDR_RANDOM) { transport = BT_TRANSPORT_LE; } } else { transport = bta_dm_search_cb.transport; } return transport; } static void bta_dm_discover_device(const RawAddress& remote_bd_addr) { const tBT_TRANSPORT transport = bta_dm_determine_discovery_transport(remote_bd_addr); VLOG(1) << __func__ << " BDA: " << ADDRESS_TO_LOGGABLE_STR(remote_bd_addr); Loading Loading @@ -4573,6 +4581,10 @@ void bta_dm_remname_cback(const tBTM_REMOTE_DEV_NAME* p) { ::bta_dm_remname_cback(p); } tBT_TRANSPORT bta_dm_determine_discovery_transport(const RawAddress& bd_addr) { return ::bta_dm_determine_discovery_transport(bd_addr); } } // namespace testing } // namespace legacy } // namespace bluetooth
system/bta/test/bta_dm_test.cc +30 −0 Original line number Diff line number Diff line Loading @@ -247,6 +247,9 @@ tBTA_DM_PEER_DEVICE* allocate_device_for(const RawAddress& bd_addr, void bta_dm_remname_cback(const tBTM_REMOTE_DEV_NAME* p); tBT_TRANSPORT bta_dm_determine_discovery_transport( const RawAddress& remote_bd_addr); } // namespace testing } // namespace legacy } // namespace bluetooth Loading Loading @@ -471,3 +474,30 @@ TEST_F(BtaDmTest, bta_dm_remname_cback__HCI_ERR_CONNECTION_EXISTS) { ASSERT_EQ(1, get_func_call_count("BTM_SecDeleteRmtNameNotifyCallback")); ASSERT_TRUE(bta_dm_search_cb.name_discover_done); } TEST_F(BtaDmTest, bta_dm_determine_discovery_transport__BT_TRANSPORT_BR_EDR) { const RawAddress bd_addr{{0x11, 0x22, 0x33, 0x44, 0x55, 0x66}}; bta_dm_search_cb.transport = BT_TRANSPORT_BR_EDR; ASSERT_EQ(BT_TRANSPORT_BR_EDR, bluetooth::legacy::testing::bta_dm_determine_discovery_transport( bd_addr)); } TEST_F(BtaDmTest, bta_dm_determine_discovery_transport__BT_TRANSPORT_LE) { const RawAddress bd_addr{{0x11, 0x22, 0x33, 0x44, 0x55, 0x66}}; bta_dm_search_cb.transport = BT_TRANSPORT_LE; ASSERT_EQ(BT_TRANSPORT_LE, bluetooth::legacy::testing::bta_dm_determine_discovery_transport( bd_addr)); } TEST_F(BtaDmTest, bta_dm_determine_discovery_transport__BT_TRANSPORT_AUTO) { const RawAddress bd_addr{{0x11, 0x22, 0x33, 0x44, 0x55, 0x66}}; bta_dm_search_cb.transport = BT_TRANSPORT_AUTO; ASSERT_EQ(BT_TRANSPORT_BR_EDR, bluetooth::legacy::testing::bta_dm_determine_discovery_transport( bd_addr)); }