Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1fef0e3d authored by Jakub Pawlowski's avatar Jakub Pawlowski
Browse files

Get rid of BTA_DmBleCfgFilterCondition

Bug: 30622771
Test: sl4a FilteringTest
Change-Id: I93b4f1275b9437a20cf1429d184dbefa79451986
parent cc84da57
Loading
Loading
Loading
Loading
+0 −24
Original line number Diff line number Diff line
@@ -1138,30 +1138,6 @@ void BTA_DmBleConfigLocalPrivacy(bool privacy_enable) {
#endif
}

/*******************************************************************************
 *
 * Function         BTA_DmBleScanFilterSetup
 *
 * Description      This function is called to setup the adv data payload filter
 *                  param
 *
 * Parameters       filt_index - Filter index
 *                  p_filt_params -Filter parameters
 *                  action - Add, delete or clear
 *                  cb - Command completed callback
 *
 ******************************************************************************/
void BTA_DmBleScanFilterSetup(
    uint8_t action, tBTM_BLE_PF_FILT_INDEX filt_index,
    std::unique_ptr<btgatt_filt_param_setup_t> p_filt_params,
    tBTM_BLE_PF_PARAM_CB cb) {
  APPL_TRACE_API("%s: %d", __func__, action);

  do_in_bta_thread(FROM_HERE,
                   base::Bind(&BTM_BleAdvFilterParamSetup, action, filt_index,
                              base::Passed(&p_filt_params), cb));
}

/*******************************************************************************
 *
 * Function         BTA_DmBleGetEnergyInfo
+0 −18
Original line number Diff line number Diff line
@@ -1835,24 +1835,6 @@ extern void BTA_DmBleReadScanReports(tBTA_BLE_BATCH_SCAN_MODE scan_type,
 ******************************************************************************/
extern void BTA_DmBleDisableBatchScan(tBTM_BLE_REF_VALUE ref_value);

/*******************************************************************************
 *
 * Function         BTA_DmBleScanFilterSetup
 *
 * Description      This function is called to setup the filter params
 *
 * Parameters       filt_index - Filter index
 *                  p_filt_params -Filter parameters
 *                  ref_value - Reference value
 *                  action - Add, delete or clear
 *                  cb - Command completed callback
 *
 ******************************************************************************/
extern void BTA_DmBleScanFilterSetup(
    uint8_t action, tBTM_BLE_PF_FILT_INDEX filt_index,
    std::unique_ptr<btgatt_filt_param_setup_t> p_filt_params,
    tBTM_BLE_PF_PARAM_CB cb);

/*******************************************************************************
 *
 * Function         BTA_DmBleTrackAdvertiser
+5 −3
Original line number Diff line number Diff line
@@ -395,9 +395,11 @@ class BleScannerInterfaceImpl : public BleScannerInterface {
      BTA_DmBleTrackAdvertiser(client_if, bta_track_adv_event_cb);
    }

    BTA_DmBleScanFilterSetup(
        action, filt_index, std::move(filt_param),
        base::Bind(&bta_scan_filt_param_setup_cb, client_if));
    do_in_bta_thread(
        FROM_HERE,
        base::Bind(&BTM_BleAdvFilterParamSetup, action, filt_index,
                   base::Passed(&filt_param),
                   base::Bind(&bta_scan_filt_param_setup_cb, client_if)));
  }

  void ScanFilterAddRemove(int client_if, int action, int filt_type,
+17 −8
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@

#include "bdaddr.h"
#include "bt_common.h"
#include "bta_closure_api.h"
#include "bta_gatt_api.h"
#include "btif_api.h"
#include "btif_config.h"
@@ -1345,8 +1346,10 @@ static void btif_dm_search_devices_evt(uint16_t event, char* p_param) {
    } break;

    case BTA_DM_INQ_CMPL_EVT: {
      BTA_DmBleScanFilterSetup(BTM_BLE_SCAN_COND_DELETE, 0, nullptr,
                               base::Bind(&bte_scan_filt_param_cfg_evt, 0));
      do_in_bta_thread(
          FROM_HERE,
          base::Bind(&BTM_BleAdvFilterParamSetup, BTM_BLE_SCAN_COND_DELETE, 0,
                     nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, 0)));
    } break;
    case BTA_DM_DISC_CMPL_EVT: {
      HAL_CBACK(bt_hal_cbacks, discovery_state_changed_cb,
@@ -1365,8 +1368,10 @@ static void btif_dm_search_devices_evt(uint16_t event, char* p_param) {
      if (btif_dm_inquiry_in_progress == false) {
        btgatt_filt_param_setup_t adv_filt_param;
        memset(&adv_filt_param, 0, sizeof(btgatt_filt_param_setup_t));
        BTA_DmBleScanFilterSetup(BTM_BLE_SCAN_COND_DELETE, 0, nullptr,
                                 base::Bind(&bte_scan_filt_param_cfg_evt, 0));
        do_in_bta_thread(
            FROM_HERE,
            base::Bind(&BTM_BleAdvFilterParamSetup, BTM_BLE_SCAN_COND_DELETE, 0,
                       nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, 0)));
        HAL_CBACK(bt_hal_cbacks, discovery_state_changed_cb,
                  BT_DISCOVERY_STOPPED);
      }
@@ -2152,8 +2157,10 @@ bt_status_t btif_dm_start_discovery(void) {
  BTIF_TRACE_EVENT("%s", __func__);

  /* Cleanup anything remaining on index 0 */
  BTA_DmBleScanFilterSetup(BTM_BLE_SCAN_COND_DELETE, 0, nullptr,
                           base::Bind(&bte_scan_filt_param_cfg_evt, 0));
  do_in_bta_thread(
      FROM_HERE,
      base::Bind(&BTM_BleAdvFilterParamSetup, BTM_BLE_SCAN_COND_DELETE, 0,
                 nullptr, base::Bind(&bte_scan_filt_param_cfg_evt, 0)));

  auto adv_filt_param = std::make_unique<btgatt_filt_param_setup_t>();
  /* Add an allow-all filter on index 0*/
@@ -2163,8 +2170,10 @@ bt_status_t 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;
  BTA_DmBleScanFilterSetup(BTM_BLE_SCAN_COND_ADD, 0, std::move(adv_filt_param),
                           base::Bind(&bte_scan_filt_param_cfg_evt, 0));
  do_in_bta_thread(
      FROM_HERE, base::Bind(&BTM_BleAdvFilterParamSetup, BTM_BLE_SCAN_COND_ADD,
                            0, base::Passed(&adv_filt_param),
                            base::Bind(&bte_scan_filt_param_cfg_evt, 0)));

  /* TODO: Do we need to handle multiple inquiries at the same time? */