Loading system/btif/src/btif_dm.cc +19 −12 Original line number Diff line number Diff line Loading @@ -215,7 +215,7 @@ static void btif_dm_ble_oob_req_evt(tBTA_DM_SP_RMT_OOB* req_oob_type); static void btif_dm_ble_sc_oob_req_evt(tBTA_DM_SP_RMT_OOB* req_oob_type); static void bte_scan_filt_param_cfg_evt(uint8_t action_type, uint8_t avbl_space, uint8_t ref_value, uint8_t status); uint8_t ref_value, uint8_t btm_status); static char* btif_get_default_local_name(); Loading Loading @@ -1213,8 +1213,11 @@ static void btif_dm_search_devices_evt(tBTA_DM_SEARCH_EVT event, } break; case BTA_DM_INQ_CMPL_EVT: { BTM_BleAdvFilterParamSetup(BTM_BLE_SCAN_COND_DELETE, 0, nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, 0)); BTM_BleAdvFilterParamSetup(BTM_BLE_SCAN_COND_DELETE, static_cast<tBTM_BLE_PF_FILT_INDEX>(0), nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, btm_status_value(BTM_SUCCESS))); } break; case BTA_DM_DISC_CMPL_EVT: { invoke_discovery_state_changed_cb(BT_DISCOVERY_STOPPED); Loading @@ -1233,7 +1236,8 @@ static void btif_dm_search_devices_evt(tBTA_DM_SEARCH_EVT event, btgatt_filt_param_setup_t adv_filt_param; memset(&adv_filt_param, 0, sizeof(btgatt_filt_param_setup_t)); BTM_BleAdvFilterParamSetup(BTM_BLE_SCAN_COND_DELETE, 0, nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, 0)); base::Bind(&bte_scan_filt_param_cfg_evt, btm_status_value(BTM_SUCCESS))); invoke_discovery_state_changed_cb(BT_DISCOVERY_STOPPED); } } break; Loading Loading @@ -1780,12 +1784,13 @@ static void bta_energy_info_cb(tBTM_BLE_TX_TIME_MS tx_time, /* Scan filter param config event */ static void bte_scan_filt_param_cfg_evt(uint8_t ref_value, uint8_t avbl_space, uint8_t action_type, uint8_t status) { uint8_t action_type, uint8_t btm_status) { /* This event occurs on calling BTA_DmBleCfgFilterCondition internally, ** and that is why there is no HAL callback */ if (BTA_SUCCESS != status) { BTIF_TRACE_ERROR("%s, %d", __func__, status); if (btm_status != btm_status_value(BTM_SUCCESS)) { BTIF_TRACE_ERROR("%s, %d", __func__, btm_status); } else { BTIF_TRACE_DEBUG("%s", __func__); } Loading @@ -1808,8 +1813,9 @@ void btif_dm_start_discovery(void) { BTIF_TRACE_EVENT("%s", __func__); /* Cleanup anything remaining on index 0 */ BTM_BleAdvFilterParamSetup(BTM_BLE_SCAN_COND_DELETE, 0, nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, 0)); BTM_BleAdvFilterParamSetup( BTM_BLE_SCAN_COND_DELETE, static_cast<tBTM_BLE_PF_FILT_INDEX>(0), nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, btm_status_value(BTM_SUCCESS))); auto adv_filt_param = std::make_unique<btgatt_filt_param_setup_t>(); /* Add an allow-all filter on index 0*/ Loading @@ -1819,9 +1825,10 @@ void btif_dm_start_discovery(void) { adv_filt_param->list_logic_type = BTA_DM_BLE_PF_LIST_LOGIC_OR; adv_filt_param->rssi_low_thres = LOWEST_RSSI_VALUE; adv_filt_param->rssi_high_thres = LOWEST_RSSI_VALUE; BTM_BleAdvFilterParamSetup(BTM_BLE_SCAN_COND_ADD, 0, BTM_BleAdvFilterParamSetup( BTM_BLE_SCAN_COND_ADD, static_cast<tBTM_BLE_PF_FILT_INDEX>(0), std::move(adv_filt_param), base::Bind(&bte_scan_filt_param_cfg_evt, 0)); base::Bind(&bte_scan_filt_param_cfg_evt, btm_status_value(BTM_SUCCESS))); /* Will be enabled to true once inquiry busy level has been received */ btif_dm_inquiry_in_progress = false; Loading system/main/shim/btm_api.cc +1 −1 Original line number Diff line number Diff line Loading @@ -548,7 +548,7 @@ tBTM_STATUS bluetooth::shim::BTM_StartInquiry(tBTM_INQ_RESULTS_CB* p_results_cb, uint8_t classic_mode = inqparms.mode & 0x0f; if (!Stack::GetInstance()->GetBtm()->StartInquiry( classic_mode, inqparms.duration, 0, [](uint16_t status, uint8_t inquiry_mode) { [](tBTM_STATUS status, uint8_t inquiry_mode) { LOG_INFO("%s Inquiry is complete status:%hd inquiry_mode:%hhd", __func__, status, inquiry_mode); btm_cb.btm_inq_vars.inqparms.mode &= ~(inquiry_mode); Loading system/main/shim/le_scanning_manager.cc +7 −4 Original line number Diff line number Diff line Loading @@ -117,7 +117,8 @@ class BleScannerInterfaceImpl : public BleScannerInterface, bluetooth::shim::GetScanning()->ScanFilterParameterSetup( apcf_action, filter_index, advertising_filter_parameter); // TODO refactor callback mechanism do_in_jni_thread(FROM_HERE, base::Bind(cb, 0, 0, 0)); do_in_jni_thread(FROM_HERE, base::Bind(cb, 0, 0, btm_status_value(BTM_SUCCESS))); } /** Configure a scan filter condition */ Loading @@ -135,7 +136,8 @@ class BleScannerInterfaceImpl : public BleScannerInterface, new_filters.push_back(command); } bluetooth::shim::GetScanning()->ScanFilterAdd(filter_index, new_filters); do_in_jni_thread(FROM_HERE, base::Bind(cb, 0, 0, 0, 0)); do_in_jni_thread(FROM_HERE, base::Bind(cb, 0, 0, 0, btm_status_value(BTM_SUCCESS))); } /** Clear all scan filter conditions for specific filter index*/ Loading @@ -150,7 +152,8 @@ class BleScannerInterfaceImpl : public BleScannerInterface, bluetooth::shim::GetScanning()->ScanFilterEnable(enable); uint8_t action = enable ? 1 : 0; do_in_jni_thread(FROM_HERE, base::Bind(cb, action, 0)); do_in_jni_thread(FROM_HERE, base::Bind(cb, action, btm_status_value(BTM_SUCCESS))); } /** Sets the LE scan interval and window in units of N*0.625 msec */ Loading system/stack/btm/btm_ble.cc +1 −1 Original line number Diff line number Diff line Loading @@ -1784,7 +1784,7 @@ tBTM_STATUS btm_proc_smp_cback(tSMP_EVT event, const RawAddress& bd_addr, if (p_dev_rec == NULL) { BTM_TRACE_ERROR("%s: p_dev_rec is NULL", __func__); android_errorWriteLog(0x534e4554, "120612744"); return 0; return BTM_SUCCESS; } BTM_TRACE_DEBUG( "evt=SMP_COMPLT_EVT before update sec_level=0x%x sec_flags=0x%x", Loading system/stack/btm/btm_ble_adv_filter.cc +15 −10 Original line number Diff line number Diff line Loading @@ -149,8 +149,10 @@ static void btm_flt_update_cb(uint8_t expected_ocf, tBTM_BLE_PF_CFG_CBACK cb, return; } tBTM_STATUS btm_status = (status == 0) ? BTM_SUCCESS : BTM_ERR_PROCESSING; if (op_subcode == BTM_BLE_META_PF_FEAT_SEL) { cb.Run(num_avail, action, status); cb.Run(num_avail, action, btm_status); return; } Loading @@ -168,7 +170,7 @@ static void btm_flt_update_cb(uint8_t expected_ocf, tBTM_BLE_PF_CFG_CBACK cb, /* send ADV PF operation complete */ btm_ble_adv_filt_cb.op_type = 0; cb.Run(num_avail, action, status); cb.Run(num_avail, action, btm_status); } /******************************************************************************* Loading Loading @@ -533,7 +535,7 @@ static void BTM_LE_PF_uuid_filter(tBTM_BLE_SCAN_COND_OP action, len += Uuid::kNumBytes128; } else { BTM_TRACE_ERROR("illegal UUID length: %d", uuid_len); cb.Run(0, BTM_BLE_PF_CONFIG, 1 /*BTA_FAILURE*/); cb.Run(0, BTM_BLE_PF_CONFIG, BTM_ILLEGAL_VALUE); return; } Loading Loading @@ -565,7 +567,7 @@ void BTM_LE_PF_set(tBTM_BLE_PF_FILT_INDEX filt_index, std::vector<ApcfCommand> commands, tBTM_BLE_PF_CFG_CBACK cb) { if (!is_filtering_supported()) { cb.Run(0, BTM_BLE_PF_ENABLE, 1 /* BTA_FAILURE */); cb.Run(0, BTM_BLE_PF_ENABLE, BTM_MODE_UNSUPPORTED); return; } Loading Loading @@ -624,7 +626,7 @@ void BTM_LE_PF_set(tBTM_BLE_PF_FILT_INDEX filt_index, break; } } cb.Run(0, 0, 0); cb.Run(0, 0, BTM_SUCCESS); } /** Loading @@ -633,7 +635,7 @@ void BTM_LE_PF_set(tBTM_BLE_PF_FILT_INDEX filt_index, void BTM_LE_PF_clear(tBTM_BLE_PF_FILT_INDEX filt_index, tBTM_BLE_PF_CFG_CBACK cb) { if (!is_filtering_supported()) { cb.Run(0, BTM_BLE_PF_ENABLE, 1 /* BTA_FAILURE */); cb.Run(0, BTM_BLE_PF_ENABLE, BTM_MODE_UNSUPPORTED); return; } Loading Loading @@ -710,7 +712,7 @@ void BTM_BleAdvFilterParamSetup( uint8_t param[len], *p; if (!is_filtering_supported()) { cb.Run(0, BTM_BLE_PF_ENABLE, 1 /* BTA_FAILURE */); cb.Run(0, BTM_BLE_PF_ENABLE, btm_status_value(BTM_MODE_UNSUPPORTED)); return; } Loading @@ -722,7 +724,7 @@ void BTM_BleAdvFilterParamSetup( p_bda_filter = btm_ble_find_addr_filter_counter(nullptr); if (NULL == p_bda_filter) { BTM_TRACE_ERROR("BD Address not found!"); cb.Run(0, BTM_BLE_PF_ENABLE, 1 /* BTA_FAILURE */); cb.Run(0, BTM_BLE_PF_ENABLE, btm_status_value(BTM_UNKNOWN_ADDR)); return; } Loading Loading @@ -812,7 +814,8 @@ static void enable_cmpl_cback(tBTM_BLE_PF_STATUS_CBACK p_stat_cback, uint8_t* p, return; } p_stat_cback.Run(action, status); tBTM_STATUS btm_status = (status == 0) ? BTM_SUCCESS : BTM_ERR_PROCESSING; p_stat_cback.Run(action, btm_status); } /******************************************************************************* Loading @@ -828,7 +831,9 @@ static void enable_cmpl_cback(tBTM_BLE_PF_STATUS_CBACK p_stat_cback, uint8_t* p, void BTM_BleEnableDisableFilterFeature(uint8_t enable, tBTM_BLE_PF_STATUS_CBACK p_stat_cback) { if (!is_filtering_supported()) { if (p_stat_cback) p_stat_cback.Run(BTM_BLE_PF_ENABLE, 1 /* BTA_FAILURE */); if (p_stat_cback) p_stat_cback.Run(BTM_BLE_PF_ENABLE, BTM_MODE_UNSUPPORTED /* BTA_FAILURE */); return; } Loading Loading
system/btif/src/btif_dm.cc +19 −12 Original line number Diff line number Diff line Loading @@ -215,7 +215,7 @@ static void btif_dm_ble_oob_req_evt(tBTA_DM_SP_RMT_OOB* req_oob_type); static void btif_dm_ble_sc_oob_req_evt(tBTA_DM_SP_RMT_OOB* req_oob_type); static void bte_scan_filt_param_cfg_evt(uint8_t action_type, uint8_t avbl_space, uint8_t ref_value, uint8_t status); uint8_t ref_value, uint8_t btm_status); static char* btif_get_default_local_name(); Loading Loading @@ -1213,8 +1213,11 @@ static void btif_dm_search_devices_evt(tBTA_DM_SEARCH_EVT event, } break; case BTA_DM_INQ_CMPL_EVT: { BTM_BleAdvFilterParamSetup(BTM_BLE_SCAN_COND_DELETE, 0, nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, 0)); BTM_BleAdvFilterParamSetup(BTM_BLE_SCAN_COND_DELETE, static_cast<tBTM_BLE_PF_FILT_INDEX>(0), nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, btm_status_value(BTM_SUCCESS))); } break; case BTA_DM_DISC_CMPL_EVT: { invoke_discovery_state_changed_cb(BT_DISCOVERY_STOPPED); Loading @@ -1233,7 +1236,8 @@ static void btif_dm_search_devices_evt(tBTA_DM_SEARCH_EVT event, btgatt_filt_param_setup_t adv_filt_param; memset(&adv_filt_param, 0, sizeof(btgatt_filt_param_setup_t)); BTM_BleAdvFilterParamSetup(BTM_BLE_SCAN_COND_DELETE, 0, nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, 0)); base::Bind(&bte_scan_filt_param_cfg_evt, btm_status_value(BTM_SUCCESS))); invoke_discovery_state_changed_cb(BT_DISCOVERY_STOPPED); } } break; Loading Loading @@ -1780,12 +1784,13 @@ static void bta_energy_info_cb(tBTM_BLE_TX_TIME_MS tx_time, /* Scan filter param config event */ static void bte_scan_filt_param_cfg_evt(uint8_t ref_value, uint8_t avbl_space, uint8_t action_type, uint8_t status) { uint8_t action_type, uint8_t btm_status) { /* This event occurs on calling BTA_DmBleCfgFilterCondition internally, ** and that is why there is no HAL callback */ if (BTA_SUCCESS != status) { BTIF_TRACE_ERROR("%s, %d", __func__, status); if (btm_status != btm_status_value(BTM_SUCCESS)) { BTIF_TRACE_ERROR("%s, %d", __func__, btm_status); } else { BTIF_TRACE_DEBUG("%s", __func__); } Loading @@ -1808,8 +1813,9 @@ void btif_dm_start_discovery(void) { BTIF_TRACE_EVENT("%s", __func__); /* Cleanup anything remaining on index 0 */ BTM_BleAdvFilterParamSetup(BTM_BLE_SCAN_COND_DELETE, 0, nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, 0)); BTM_BleAdvFilterParamSetup( BTM_BLE_SCAN_COND_DELETE, static_cast<tBTM_BLE_PF_FILT_INDEX>(0), nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, btm_status_value(BTM_SUCCESS))); auto adv_filt_param = std::make_unique<btgatt_filt_param_setup_t>(); /* Add an allow-all filter on index 0*/ Loading @@ -1819,9 +1825,10 @@ void btif_dm_start_discovery(void) { adv_filt_param->list_logic_type = BTA_DM_BLE_PF_LIST_LOGIC_OR; adv_filt_param->rssi_low_thres = LOWEST_RSSI_VALUE; adv_filt_param->rssi_high_thres = LOWEST_RSSI_VALUE; BTM_BleAdvFilterParamSetup(BTM_BLE_SCAN_COND_ADD, 0, BTM_BleAdvFilterParamSetup( BTM_BLE_SCAN_COND_ADD, static_cast<tBTM_BLE_PF_FILT_INDEX>(0), std::move(adv_filt_param), base::Bind(&bte_scan_filt_param_cfg_evt, 0)); base::Bind(&bte_scan_filt_param_cfg_evt, btm_status_value(BTM_SUCCESS))); /* Will be enabled to true once inquiry busy level has been received */ btif_dm_inquiry_in_progress = false; Loading
system/main/shim/btm_api.cc +1 −1 Original line number Diff line number Diff line Loading @@ -548,7 +548,7 @@ tBTM_STATUS bluetooth::shim::BTM_StartInquiry(tBTM_INQ_RESULTS_CB* p_results_cb, uint8_t classic_mode = inqparms.mode & 0x0f; if (!Stack::GetInstance()->GetBtm()->StartInquiry( classic_mode, inqparms.duration, 0, [](uint16_t status, uint8_t inquiry_mode) { [](tBTM_STATUS status, uint8_t inquiry_mode) { LOG_INFO("%s Inquiry is complete status:%hd inquiry_mode:%hhd", __func__, status, inquiry_mode); btm_cb.btm_inq_vars.inqparms.mode &= ~(inquiry_mode); Loading
system/main/shim/le_scanning_manager.cc +7 −4 Original line number Diff line number Diff line Loading @@ -117,7 +117,8 @@ class BleScannerInterfaceImpl : public BleScannerInterface, bluetooth::shim::GetScanning()->ScanFilterParameterSetup( apcf_action, filter_index, advertising_filter_parameter); // TODO refactor callback mechanism do_in_jni_thread(FROM_HERE, base::Bind(cb, 0, 0, 0)); do_in_jni_thread(FROM_HERE, base::Bind(cb, 0, 0, btm_status_value(BTM_SUCCESS))); } /** Configure a scan filter condition */ Loading @@ -135,7 +136,8 @@ class BleScannerInterfaceImpl : public BleScannerInterface, new_filters.push_back(command); } bluetooth::shim::GetScanning()->ScanFilterAdd(filter_index, new_filters); do_in_jni_thread(FROM_HERE, base::Bind(cb, 0, 0, 0, 0)); do_in_jni_thread(FROM_HERE, base::Bind(cb, 0, 0, 0, btm_status_value(BTM_SUCCESS))); } /** Clear all scan filter conditions for specific filter index*/ Loading @@ -150,7 +152,8 @@ class BleScannerInterfaceImpl : public BleScannerInterface, bluetooth::shim::GetScanning()->ScanFilterEnable(enable); uint8_t action = enable ? 1 : 0; do_in_jni_thread(FROM_HERE, base::Bind(cb, action, 0)); do_in_jni_thread(FROM_HERE, base::Bind(cb, action, btm_status_value(BTM_SUCCESS))); } /** Sets the LE scan interval and window in units of N*0.625 msec */ Loading
system/stack/btm/btm_ble.cc +1 −1 Original line number Diff line number Diff line Loading @@ -1784,7 +1784,7 @@ tBTM_STATUS btm_proc_smp_cback(tSMP_EVT event, const RawAddress& bd_addr, if (p_dev_rec == NULL) { BTM_TRACE_ERROR("%s: p_dev_rec is NULL", __func__); android_errorWriteLog(0x534e4554, "120612744"); return 0; return BTM_SUCCESS; } BTM_TRACE_DEBUG( "evt=SMP_COMPLT_EVT before update sec_level=0x%x sec_flags=0x%x", Loading
system/stack/btm/btm_ble_adv_filter.cc +15 −10 Original line number Diff line number Diff line Loading @@ -149,8 +149,10 @@ static void btm_flt_update_cb(uint8_t expected_ocf, tBTM_BLE_PF_CFG_CBACK cb, return; } tBTM_STATUS btm_status = (status == 0) ? BTM_SUCCESS : BTM_ERR_PROCESSING; if (op_subcode == BTM_BLE_META_PF_FEAT_SEL) { cb.Run(num_avail, action, status); cb.Run(num_avail, action, btm_status); return; } Loading @@ -168,7 +170,7 @@ static void btm_flt_update_cb(uint8_t expected_ocf, tBTM_BLE_PF_CFG_CBACK cb, /* send ADV PF operation complete */ btm_ble_adv_filt_cb.op_type = 0; cb.Run(num_avail, action, status); cb.Run(num_avail, action, btm_status); } /******************************************************************************* Loading Loading @@ -533,7 +535,7 @@ static void BTM_LE_PF_uuid_filter(tBTM_BLE_SCAN_COND_OP action, len += Uuid::kNumBytes128; } else { BTM_TRACE_ERROR("illegal UUID length: %d", uuid_len); cb.Run(0, BTM_BLE_PF_CONFIG, 1 /*BTA_FAILURE*/); cb.Run(0, BTM_BLE_PF_CONFIG, BTM_ILLEGAL_VALUE); return; } Loading Loading @@ -565,7 +567,7 @@ void BTM_LE_PF_set(tBTM_BLE_PF_FILT_INDEX filt_index, std::vector<ApcfCommand> commands, tBTM_BLE_PF_CFG_CBACK cb) { if (!is_filtering_supported()) { cb.Run(0, BTM_BLE_PF_ENABLE, 1 /* BTA_FAILURE */); cb.Run(0, BTM_BLE_PF_ENABLE, BTM_MODE_UNSUPPORTED); return; } Loading Loading @@ -624,7 +626,7 @@ void BTM_LE_PF_set(tBTM_BLE_PF_FILT_INDEX filt_index, break; } } cb.Run(0, 0, 0); cb.Run(0, 0, BTM_SUCCESS); } /** Loading @@ -633,7 +635,7 @@ void BTM_LE_PF_set(tBTM_BLE_PF_FILT_INDEX filt_index, void BTM_LE_PF_clear(tBTM_BLE_PF_FILT_INDEX filt_index, tBTM_BLE_PF_CFG_CBACK cb) { if (!is_filtering_supported()) { cb.Run(0, BTM_BLE_PF_ENABLE, 1 /* BTA_FAILURE */); cb.Run(0, BTM_BLE_PF_ENABLE, BTM_MODE_UNSUPPORTED); return; } Loading Loading @@ -710,7 +712,7 @@ void BTM_BleAdvFilterParamSetup( uint8_t param[len], *p; if (!is_filtering_supported()) { cb.Run(0, BTM_BLE_PF_ENABLE, 1 /* BTA_FAILURE */); cb.Run(0, BTM_BLE_PF_ENABLE, btm_status_value(BTM_MODE_UNSUPPORTED)); return; } Loading @@ -722,7 +724,7 @@ void BTM_BleAdvFilterParamSetup( p_bda_filter = btm_ble_find_addr_filter_counter(nullptr); if (NULL == p_bda_filter) { BTM_TRACE_ERROR("BD Address not found!"); cb.Run(0, BTM_BLE_PF_ENABLE, 1 /* BTA_FAILURE */); cb.Run(0, BTM_BLE_PF_ENABLE, btm_status_value(BTM_UNKNOWN_ADDR)); return; } Loading Loading @@ -812,7 +814,8 @@ static void enable_cmpl_cback(tBTM_BLE_PF_STATUS_CBACK p_stat_cback, uint8_t* p, return; } p_stat_cback.Run(action, status); tBTM_STATUS btm_status = (status == 0) ? BTM_SUCCESS : BTM_ERR_PROCESSING; p_stat_cback.Run(action, btm_status); } /******************************************************************************* Loading @@ -828,7 +831,9 @@ static void enable_cmpl_cback(tBTM_BLE_PF_STATUS_CBACK p_stat_cback, uint8_t* p, void BTM_BleEnableDisableFilterFeature(uint8_t enable, tBTM_BLE_PF_STATUS_CBACK p_stat_cback) { if (!is_filtering_supported()) { if (p_stat_cback) p_stat_cback.Run(BTM_BLE_PF_ENABLE, 1 /* BTA_FAILURE */); if (p_stat_cback) p_stat_cback.Run(BTM_BLE_PF_ENABLE, BTM_MODE_UNSUPPORTED /* BTA_FAILURE */); return; } Loading