Loading system/bta/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -295,6 +295,7 @@ cc_test { ], srcs : [ ":TestMockBtif", ":TestMockMainShimLeScanning", "csis/csis_client.cc", "csis/csis_client_test.cc", "groups/groups.cc", Loading system/bta/csis/csis_client.cc +3 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ #include "csis_types.h" #include "gap_api.h" #include "gatt_api.h" #include "main/shim/le_scanning_manager.h" #include "osi/include/osi.h" #include "osi/include/properties.h" #include "stack/btm/btm_dev.h" Loading Loading @@ -1126,6 +1127,8 @@ class CsisClientImpl : public CsisClient { void CsisActiveObserverSet(bool enable) { LOG(INFO) << __func__ << " CSIS Discovery SET: " << enable; bluetooth::shim::set_empty_filter(enable); BTA_DmBleCsisObserve( enable, [](tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH* p_data) { /* If there's no instance we are most likely shutting Loading system/gd/hci/le_scanning_manager.cc +1 −1 Original line number Diff line number Diff line Loading @@ -674,7 +674,7 @@ struct LeScanningManager::impl : public bluetooth::hci::LeAddressManagerCallback advertising_filter_parameter.delivery_mode, advertising_filter_parameter.onfound_timeout, advertising_filter_parameter.onfound_timeout_cnt, advertising_filter_parameter.rssi_low_thres, advertising_filter_parameter.rssi_low_thresh, advertising_filter_parameter.onlost_timeout, advertising_filter_parameter.num_of_tracking_entries), module_handler_->BindOnceOn(this, &impl::on_advertising_filter_complete)); Loading system/gd/hci/le_scanning_manager.h +1 −1 Original line number Diff line number Diff line Loading @@ -101,7 +101,7 @@ class AdvertisingFilterParameter { DeliveryMode delivery_mode; uint16_t onfound_timeout; uint8_t onfound_timeout_cnt; uint8_t rssi_low_thres; uint8_t rssi_low_thresh; uint16_t onlost_timeout; uint16_t num_of_tracking_entries; }; Loading system/main/shim/le_scanning_manager.cc +22 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,10 @@ using bluetooth::ToGdAddress; namespace { constexpr char kBtmLogTag[] = "SCAN"; constexpr uint16_t kAllowAllFilter = 0x00; constexpr uint16_t kListLogicOr = 0x01; constexpr uint8_t kFilterLogicOr = 0x00; constexpr uint8_t kLowestRssiValue = 129; } extern void btm_ble_process_adv_pkt_cont_for_inquiry( Loading Loading @@ -123,7 +127,7 @@ class BleScannerInterfaceImpl : public BleScannerInterface, filt_param->found_timeout; advertising_filter_parameter.onfound_timeout_cnt = filt_param->found_timeout_cnt; advertising_filter_parameter.rssi_low_thres = advertising_filter_parameter.rssi_low_thresh = filt_param->rssi_low_thres; advertising_filter_parameter.onlost_timeout = filt_param->lost_timeout; advertising_filter_parameter.num_of_tracking_entries = Loading Loading @@ -539,3 +543,20 @@ BleScannerInterface* bluetooth::shim::get_ble_scanner_instance() { void bluetooth::shim::init_scanning_manager() { bt_le_scanner_instance->Init(); } void bluetooth::shim::set_empty_filter(bool enable) { bluetooth::hci::AdvertisingFilterParameter advertising_filter_parameter; bluetooth::shim::GetScanning()->ScanFilterParameterSetup( bluetooth::hci::ApcfAction::DELETE, 0x00, advertising_filter_parameter); if (enable) { /* Add an allow-all filter on index 0 */ advertising_filter_parameter.delivery_mode = bluetooth::hci::DeliveryMode::IMMEDIATE; advertising_filter_parameter.feature_selection = kAllowAllFilter; advertising_filter_parameter.list_logic_type = kListLogicOr; advertising_filter_parameter.filter_logic_type = kFilterLogicOr; advertising_filter_parameter.rssi_high_thresh = kLowestRssiValue; bluetooth::shim::GetScanning()->ScanFilterParameterSetup( bluetooth::hci::ApcfAction::ADD, 0x00, advertising_filter_parameter); } } No newline at end of file Loading
system/bta/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -295,6 +295,7 @@ cc_test { ], srcs : [ ":TestMockBtif", ":TestMockMainShimLeScanning", "csis/csis_client.cc", "csis/csis_client_test.cc", "groups/groups.cc", Loading
system/bta/csis/csis_client.cc +3 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ #include "csis_types.h" #include "gap_api.h" #include "gatt_api.h" #include "main/shim/le_scanning_manager.h" #include "osi/include/osi.h" #include "osi/include/properties.h" #include "stack/btm/btm_dev.h" Loading Loading @@ -1126,6 +1127,8 @@ class CsisClientImpl : public CsisClient { void CsisActiveObserverSet(bool enable) { LOG(INFO) << __func__ << " CSIS Discovery SET: " << enable; bluetooth::shim::set_empty_filter(enable); BTA_DmBleCsisObserve( enable, [](tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH* p_data) { /* If there's no instance we are most likely shutting Loading
system/gd/hci/le_scanning_manager.cc +1 −1 Original line number Diff line number Diff line Loading @@ -674,7 +674,7 @@ struct LeScanningManager::impl : public bluetooth::hci::LeAddressManagerCallback advertising_filter_parameter.delivery_mode, advertising_filter_parameter.onfound_timeout, advertising_filter_parameter.onfound_timeout_cnt, advertising_filter_parameter.rssi_low_thres, advertising_filter_parameter.rssi_low_thresh, advertising_filter_parameter.onlost_timeout, advertising_filter_parameter.num_of_tracking_entries), module_handler_->BindOnceOn(this, &impl::on_advertising_filter_complete)); Loading
system/gd/hci/le_scanning_manager.h +1 −1 Original line number Diff line number Diff line Loading @@ -101,7 +101,7 @@ class AdvertisingFilterParameter { DeliveryMode delivery_mode; uint16_t onfound_timeout; uint8_t onfound_timeout_cnt; uint8_t rssi_low_thres; uint8_t rssi_low_thresh; uint16_t onlost_timeout; uint16_t num_of_tracking_entries; }; Loading
system/main/shim/le_scanning_manager.cc +22 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,10 @@ using bluetooth::ToGdAddress; namespace { constexpr char kBtmLogTag[] = "SCAN"; constexpr uint16_t kAllowAllFilter = 0x00; constexpr uint16_t kListLogicOr = 0x01; constexpr uint8_t kFilterLogicOr = 0x00; constexpr uint8_t kLowestRssiValue = 129; } extern void btm_ble_process_adv_pkt_cont_for_inquiry( Loading Loading @@ -123,7 +127,7 @@ class BleScannerInterfaceImpl : public BleScannerInterface, filt_param->found_timeout; advertising_filter_parameter.onfound_timeout_cnt = filt_param->found_timeout_cnt; advertising_filter_parameter.rssi_low_thres = advertising_filter_parameter.rssi_low_thresh = filt_param->rssi_low_thres; advertising_filter_parameter.onlost_timeout = filt_param->lost_timeout; advertising_filter_parameter.num_of_tracking_entries = Loading Loading @@ -539,3 +543,20 @@ BleScannerInterface* bluetooth::shim::get_ble_scanner_instance() { void bluetooth::shim::init_scanning_manager() { bt_le_scanner_instance->Init(); } void bluetooth::shim::set_empty_filter(bool enable) { bluetooth::hci::AdvertisingFilterParameter advertising_filter_parameter; bluetooth::shim::GetScanning()->ScanFilterParameterSetup( bluetooth::hci::ApcfAction::DELETE, 0x00, advertising_filter_parameter); if (enable) { /* Add an allow-all filter on index 0 */ advertising_filter_parameter.delivery_mode = bluetooth::hci::DeliveryMode::IMMEDIATE; advertising_filter_parameter.feature_selection = kAllowAllFilter; advertising_filter_parameter.list_logic_type = kListLogicOr; advertising_filter_parameter.filter_logic_type = kFilterLogicOr; advertising_filter_parameter.rssi_high_thresh = kLowestRssiValue; bluetooth::shim::GetScanning()->ScanFilterParameterSetup( bluetooth::hci::ApcfAction::ADD, 0x00, advertising_filter_parameter); } } No newline at end of file