diff options
4 files changed, 29 insertions, 12 deletions
diff --git a/system/vendor_libs/test_vendor_lib/model/controller/acl_connection_handler.cc b/system/vendor_libs/test_vendor_lib/model/controller/acl_connection_handler.cc index 4613cbe581..3f9b5b18fd 100644 --- a/system/vendor_libs/test_vendor_lib/model/controller/acl_connection_handler.cc +++ b/system/vendor_libs/test_vendor_lib/model/controller/acl_connection_handler.cc @@ -500,7 +500,7 @@ uint16_t AclConnectionHandler::GetScoHandle(bluetooth::hci::Address addr) const return std::get<0>(pair); } } - return 0; + return kReservedHandle; } ScoConnectionParameters AclConnectionHandler::GetScoConnectionParameters( diff --git a/system/vendor_libs/test_vendor_lib/model/controller/dual_mode_controller.cc b/system/vendor_libs/test_vendor_lib/model/controller/dual_mode_controller.cc index 8d4f08ff8a..f0a33a558b 100644 --- a/system/vendor_libs/test_vendor_lib/model/controller/dual_mode_controller.cc +++ b/system/vendor_libs/test_vendor_lib/model/controller/dual_mode_controller.cc @@ -1430,14 +1430,21 @@ void DualModeController::WriteScanEnable(CommandView command) { auto command_view = gd_hci::WriteScanEnableView::Create( gd_hci::DiscoveryCommandView::Create(command)); ASSERT(command_view.IsValid()); - link_layer_controller_.SetInquiryScanEnable( - command_view.GetScanEnable() == - gd_hci::ScanEnable::INQUIRY_AND_PAGE_SCAN || - command_view.GetScanEnable() == gd_hci::ScanEnable::INQUIRY_SCAN_ONLY); - link_layer_controller_.SetPageScanEnable( - command_view.GetScanEnable() == - gd_hci::ScanEnable::INQUIRY_AND_PAGE_SCAN || - command_view.GetScanEnable() == gd_hci::ScanEnable::PAGE_SCAN_ONLY); + + gd_hci::ScanEnable scan_enable = command_view.GetScanEnable(); + bool inquiry_scan = + scan_enable == gd_hci::ScanEnable::INQUIRY_AND_PAGE_SCAN || + scan_enable == gd_hci::ScanEnable::INQUIRY_SCAN_ONLY; + bool page_scan = + scan_enable == gd_hci::ScanEnable::INQUIRY_AND_PAGE_SCAN || + scan_enable == gd_hci::ScanEnable::PAGE_SCAN_ONLY; + + LOG_INFO("%s | WriteScanEnable %s", + properties_.GetAddress().ToString().c_str(), + gd_hci::ScanEnableText(scan_enable).c_str()); + + link_layer_controller_.SetInquiryScanEnable(inquiry_scan); + link_layer_controller_.SetPageScanEnable(page_scan); send_event_(bluetooth::hci::WriteScanEnableCompleteBuilder::Create( kNumCommandPackets, ErrorCode::SUCCESS)); } @@ -1725,6 +1732,11 @@ void DualModeController::LeSetAdvertisingEnable(CommandView command) { auto command_view = gd_hci::LeSetAdvertisingEnableView::Create( gd_hci::LeAdvertisingCommandView::Create(command)); ASSERT(command_view.IsValid()); + + LOG_INFO("%s | LeSetAdvertisingEnable (%d)", + properties_.GetAddress().ToString().c_str(), + command_view.GetAdvertisingEnable() == gd_hci::Enable::ENABLED); + auto status = link_layer_controller_.SetLeAdvertisingEnable( command_view.GetAdvertisingEnable() == gd_hci::Enable::ENABLED); send_event_(bluetooth::hci::LeSetAdvertisingEnableCompleteBuilder::Create( @@ -1750,6 +1762,11 @@ void DualModeController::LeSetScanEnable(CommandView command) { auto command_view = gd_hci::LeSetScanEnableView::Create( gd_hci::LeScanningCommandView::Create(command)); ASSERT(command_view.IsValid()); + + LOG_INFO("%s | LeSetScanEnable (%d)", + properties_.GetAddress().ToString().c_str(), + command_view.GetLeScanEnable() == gd_hci::Enable::ENABLED); + if (command_view.GetLeScanEnable() == gd_hci::Enable::ENABLED) { link_layer_controller_.SetLeScanEnable(gd_hci::OpCode::LE_SET_SCAN_ENABLE); } else { diff --git a/system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.cc b/system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.cc index e79982fa0c..2c70374202 100644 --- a/system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.cc +++ b/system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.cc @@ -1559,7 +1559,7 @@ void LinkLayerController::IncomingScoDisconnect( static_cast<unsigned>(reason), incoming.GetSourceAddress().ToString().c_str()); - if (handle != 0) { + if (handle != kReservedHandle) { connections_.Disconnect(handle); SendDisconnectionCompleteEvent(handle, reason); } @@ -2771,7 +2771,7 @@ ErrorCode LinkLayerController::Disconnect(uint16_t handle, uint8_t reason) { remote.ToString().c_str()); uint16_t sco_handle = connections_.GetScoHandle(remote.GetAddress()); - if (sco_handle != 0) { + if (sco_handle != kReservedHandle) { SendLinkLayerPacket(model::packets::ScoDisconnectBuilder::Create( properties_.GetAddress(), remote.GetAddress(), reason)); diff --git a/system/vendor_libs/test_vendor_lib/model/controller/sco_connection.cc b/system/vendor_libs/test_vendor_lib/model/controller/sco_connection.cc index d1b19ecc14..24a805ec41 100644 --- a/system/vendor_libs/test_vendor_lib/model/controller/sco_connection.cc +++ b/system/vendor_libs/test_vendor_lib/model/controller/sco_connection.cc @@ -140,7 +140,7 @@ std::optional<ScoLinkParameters> ScoConnectionParameters::GetLinkParameters() { double bandwidth_usage = (double)transmission_window / (double)transmission_interval; - if (bandwidth_usage < best_bandwidth_usage) { + if (bandwidth_usage <= best_bandwidth_usage) { LOG_INFO("Valid combination!"); uint16_t tx_packet_length = |