Loading android/app/src/com/android/bluetooth/gatt/DistanceMeasurementManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -120,7 +120,8 @@ public class DistanceMeasurementManager { startRssiTracker(tracker); break; case DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_CHANNEL_SOUNDING: if (!mAdapterService.isConnected(params.getDevice())) { if (!mAdapterService.isLeChannelSoundingSupported() || !mAdapterService.isConnected(params.getDevice())) { Log.e(TAG, "Device " + params.getDevice() + " is not connected"); invokeStartFail( callback, Loading system/gd/hci/distance_measurement_manager.cc +12 −4 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #include "common/strings.h" #include "hal/ranging_hal.h" #include "hci/acl_manager.h" #include "hci/controller.h" #include "hci/distance_measurement_interface.h" #include "hci/event_checkers.h" #include "hci/hci_layer.h" Loading Loading @@ -253,9 +254,10 @@ struct DistanceMeasurementManager::impl : bluetooth::hal::RangingHalCallback { } ~impl() {} void start(os::Handler* handler, hal::RangingHal* ranging_hal, hci::HciLayer* hci_layer, hci::AclManager* acl_manager) { void start(os::Handler* handler, hci::Controller* controller, hal::RangingHal* ranging_hal, hci::HciLayer* hci_layer, hci::AclManager* acl_manager) { handler_ = handler; controller_ = controller; ranging_hal_ = ranging_hal; hci_layer_ = hci_layer; acl_manager_ = acl_manager; Loading @@ -265,6 +267,10 @@ struct DistanceMeasurementManager::impl : bluetooth::hal::RangingHalCallback { log::info("IS_FLAG_ENABLED channel_sounding_in_stack: false"); return; } if (!controller_->SupportsBleChannelSounding()) { log::info("The controller doesn't support Channel Sounding feature."); return; } distance_measurement_interface_ = hci_layer_->GetDistanceMeasurementInterface( handler_->BindOn(this, &DistanceMeasurementManager::impl::handle_event)); distance_measurement_interface_->EnqueueCommand( Loading Loading @@ -2137,6 +2143,7 @@ struct DistanceMeasurementManager::impl : bluetooth::hal::RangingHalCallback { os::Handler* handler_; hal::RangingHal* ranging_hal_; hci::Controller* controller_; hci::HciLayer* hci_layer_; hci::AclManager* acl_manager_; hci::DistanceMeasurementInterface* distance_measurement_interface_; Loading Loading @@ -2167,13 +2174,14 @@ DistanceMeasurementManager::~DistanceMeasurementManager() = default; void DistanceMeasurementManager::ListDependencies(ModuleList* list) const { list->add<hal::RangingHal>(); list->add<hci::Controller>(); list->add<hci::HciLayer>(); list->add<hci::AclManager>(); } void DistanceMeasurementManager::Start() { pimpl_->start(GetHandler(), GetDependency<hal::RangingHal>(), GetDependency<hci::HciLayer>(), GetDependency<AclManager>()); pimpl_->start(GetHandler(), GetDependency<hci::Controller>(), GetDependency<hal::RangingHal>(), GetDependency<hci::HciLayer>(), GetDependency<AclManager>()); } void DistanceMeasurementManager::Stop() { pimpl_->stop(); } Loading Loading
android/app/src/com/android/bluetooth/gatt/DistanceMeasurementManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -120,7 +120,8 @@ public class DistanceMeasurementManager { startRssiTracker(tracker); break; case DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_CHANNEL_SOUNDING: if (!mAdapterService.isConnected(params.getDevice())) { if (!mAdapterService.isLeChannelSoundingSupported() || !mAdapterService.isConnected(params.getDevice())) { Log.e(TAG, "Device " + params.getDevice() + " is not connected"); invokeStartFail( callback, Loading
system/gd/hci/distance_measurement_manager.cc +12 −4 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #include "common/strings.h" #include "hal/ranging_hal.h" #include "hci/acl_manager.h" #include "hci/controller.h" #include "hci/distance_measurement_interface.h" #include "hci/event_checkers.h" #include "hci/hci_layer.h" Loading Loading @@ -253,9 +254,10 @@ struct DistanceMeasurementManager::impl : bluetooth::hal::RangingHalCallback { } ~impl() {} void start(os::Handler* handler, hal::RangingHal* ranging_hal, hci::HciLayer* hci_layer, hci::AclManager* acl_manager) { void start(os::Handler* handler, hci::Controller* controller, hal::RangingHal* ranging_hal, hci::HciLayer* hci_layer, hci::AclManager* acl_manager) { handler_ = handler; controller_ = controller; ranging_hal_ = ranging_hal; hci_layer_ = hci_layer; acl_manager_ = acl_manager; Loading @@ -265,6 +267,10 @@ struct DistanceMeasurementManager::impl : bluetooth::hal::RangingHalCallback { log::info("IS_FLAG_ENABLED channel_sounding_in_stack: false"); return; } if (!controller_->SupportsBleChannelSounding()) { log::info("The controller doesn't support Channel Sounding feature."); return; } distance_measurement_interface_ = hci_layer_->GetDistanceMeasurementInterface( handler_->BindOn(this, &DistanceMeasurementManager::impl::handle_event)); distance_measurement_interface_->EnqueueCommand( Loading Loading @@ -2137,6 +2143,7 @@ struct DistanceMeasurementManager::impl : bluetooth::hal::RangingHalCallback { os::Handler* handler_; hal::RangingHal* ranging_hal_; hci::Controller* controller_; hci::HciLayer* hci_layer_; hci::AclManager* acl_manager_; hci::DistanceMeasurementInterface* distance_measurement_interface_; Loading Loading @@ -2167,13 +2174,14 @@ DistanceMeasurementManager::~DistanceMeasurementManager() = default; void DistanceMeasurementManager::ListDependencies(ModuleList* list) const { list->add<hal::RangingHal>(); list->add<hci::Controller>(); list->add<hci::HciLayer>(); list->add<hci::AclManager>(); } void DistanceMeasurementManager::Start() { pimpl_->start(GetHandler(), GetDependency<hal::RangingHal>(), GetDependency<hci::HciLayer>(), GetDependency<AclManager>()); pimpl_->start(GetHandler(), GetDependency<hci::Controller>(), GetDependency<hal::RangingHal>(), GetDependency<hci::HciLayer>(), GetDependency<AclManager>()); } void DistanceMeasurementManager::Stop() { pimpl_->stop(); } Loading