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

Commit 445e7fee authored by Chris Manton's avatar Chris Manton
Browse files

legacy: Use bta::dm::disc::get_btm_client_interface

Bug: 193716447
Test: m .
Change-Id: I60e099b4d9bf89194e9bcce14568d16928786c9f
parent 3ccce24c
Loading
Loading
Loading
Loading
+29 −22
Original line number Diff line number Diff line
@@ -262,7 +262,7 @@ static void bta_dm_search_start(tBTA_DM_MSG* p_data) {

  LOG_VERBOSE("%s avoid_scatter=%d", __func__, p_bta_dm_cfg->avoid_scatter);

  BTM_ClearInqDb(nullptr);
  get_btm_client_interface().db.BTM_ClearInqDb(nullptr);
  /* save search params */
  bta_dm_search_cb.p_search_cback = p_data->search.p_cback;
  bta_dm_search_cb.services = p_data->search.services;
@@ -302,7 +302,7 @@ static void bta_dm_search_cancel() {
  /* If no Service Search going on then issue cancel remote name in case it is
     active */
  else if (!bta_dm_search_cb.name_discover_done) {
    BTM_CancelRemoteDeviceName();
    get_btm_client_interface().peer.BTM_CancelRemoteDeviceName();
    bta_dm_search_cmpl();
  } else {
    bta_dm_inq_cmpl(0);
@@ -330,7 +330,8 @@ static void bta_dm_discover(tBTA_DM_MSG* p_data) {
  bta_dm_search_cb.service_index = 0;
  bta_dm_search_cb.services_found = 0;
  bta_dm_search_cb.peer_name[0] = 0;
  bta_dm_search_cb.p_btm_inq_info = BTM_InqDbRead(p_data->discover.bd_addr);
  bta_dm_search_cb.p_btm_inq_info =
      get_btm_client_interface().db.BTM_InqDbRead(p_data->discover.bd_addr);
  bta_dm_search_cb.transport = p_data->discover.transport;

  bta_dm_search_cb.name_discover_done = false;
@@ -385,8 +386,8 @@ static bool bta_dm_read_remote_device_name(const RawAddress& bd_addr,
  bta_dm_search_cb.peer_bdaddr = bd_addr;
  bta_dm_search_cb.peer_name[0] = 0;

  btm_status = BTM_ReadRemoteDeviceName(bta_dm_search_cb.peer_bdaddr,
                                        bta_dm_remname_cback, transport);
  btm_status = get_btm_client_interface().peer.BTM_ReadRemoteDeviceName(
      bta_dm_search_cb.peer_bdaddr, bta_dm_remname_cback, transport);

  if (btm_status == BTM_CMD_STARTED) {
    LOG_VERBOSE("%s: BTM_ReadRemoteDeviceName is started", __func__);
@@ -438,7 +439,8 @@ static void bta_dm_inq_cmpl(uint8_t num) {
  data.inq_cmpl.num_resps = num;
  bta_dm_search_cb.p_search_cback(BTA_DM_INQ_CMPL_EVT, &data);

  bta_dm_search_cb.p_btm_inq_info = BTM_InqDbFirst();
  bta_dm_search_cb.p_btm_inq_info =
      get_btm_client_interface().db.BTM_InqDbFirst();
  if (bta_dm_search_cb.p_btm_inq_info != NULL) {
    /* start name and service discovery from the first device on inquiry result
     */
@@ -464,7 +466,8 @@ static void bta_dm_remote_name_cmpl(const tBTA_DM_MSG* p_data) {
                     bta_dm_state_text(bta_dm_search_get_state()).c_str(),
                     PRIVATE_NAME(remote_name_msg.bd_name)));

  tBTM_INQ_INFO* p_btm_inq_info = BTM_InqDbRead(remote_name_msg.bd_addr);
  tBTM_INQ_INFO* p_btm_inq_info =
      get_btm_client_interface().db.BTM_InqDbRead(remote_name_msg.bd_addr);
  if (!bd_name_is_empty(remote_name_msg.bd_name) && p_btm_inq_info) {
    p_btm_inq_info->appl_knows_rem_name = true;
  }
@@ -1117,7 +1120,7 @@ static void bta_dm_search_cancel_notify() {
    case BTA_DM_SEARCH_ACTIVE:
    case BTA_DM_SEARCH_CANCELLING:
      if (!bta_dm_search_cb.name_discover_done) {
        BTM_CancelRemoteDeviceName();
        get_btm_client_interface().peer.BTM_CancelRemoteDeviceName();
      }
      break;
    case BTA_DM_SEARCH_IDLE:
@@ -1237,8 +1240,8 @@ static void bta_dm_discover_next_device(void) {
  LOG_VERBOSE("bta_dm_discover_next_device");

  /* searching next device on inquiry result */
  bta_dm_search_cb.p_btm_inq_info =
      BTM_InqDbNext(bta_dm_search_cb.p_btm_inq_info);
  bta_dm_search_cb.p_btm_inq_info = get_btm_client_interface().db.BTM_InqDbNext(
      bta_dm_search_cb.p_btm_inq_info);
  if (bta_dm_search_cb.p_btm_inq_info != NULL) {
    bta_dm_search_cb.name_discover_done = false;
    bta_dm_search_cb.peer_name[0] = 0;
@@ -1271,7 +1274,8 @@ static tBT_TRANSPORT bta_dm_determine_discovery_transport(
    tBT_DEVICE_TYPE dev_type;
    tBLE_ADDR_TYPE addr_type;

    BTM_ReadDevInfo(remote_bd_addr, &dev_type, &addr_type);
    get_btm_client_interface().peer.BTM_ReadDevInfo(remote_bd_addr, &dev_type,
                                                    &addr_type);
    if (dev_type == BT_DEVICE_TYPE_BLE || addr_type == BLE_ADDR_RANDOM) {
      transport = BT_TRANSPORT_LE;
    } else if (dev_type == BT_DEVICE_TYPE_DUMO) {
@@ -1476,7 +1480,8 @@ static void bta_dm_inq_results_cb(tBTM_INQ_RESULTS* p_inq, const uint8_t* p_eir,

  result.inq_res.ble_evt_type = p_inq->ble_evt_type;

  p_inq_info = BTM_InqDbRead(p_inq->remote_bd_addr);
  p_inq_info =
      get_btm_client_interface().db.BTM_InqDbRead(p_inq->remote_bd_addr);
  if (p_inq_info != NULL) {
    /* initialize remt_name_not_required to false so that we get the name by
     * default */
@@ -1539,9 +1544,9 @@ static void bta_dm_service_search_remname_cback(const RawAddress& bd_addr,
    bta_dm_remname_cback(&rem_name);
  } else {
    /* get name of device */
    btm_status =
        BTM_ReadRemoteDeviceName(bta_dm_search_cb.peer_bdaddr,
                                 bta_dm_remname_cback, BT_TRANSPORT_BR_EDR);
    btm_status = get_btm_client_interface().peer.BTM_ReadRemoteDeviceName(
        bta_dm_search_cb.peer_bdaddr, bta_dm_remname_cback,
        BT_TRANSPORT_BR_EDR);
    if (btm_status == BTM_BUSY) {
      /* wait for next chance(notification of remote name discovery done) */
      LOG_VERBOSE("%s: BTM_ReadRemoteDeviceName is busy", __func__);
@@ -1688,7 +1693,8 @@ static void bta_dm_observe_results_cb(tBTM_INQ_RESULTS* p_inq,
  result.inq_res.p_eir = const_cast<uint8_t*>(p_eir);
  result.inq_res.eir_len = eir_len;

  p_inq_info = BTM_InqDbRead(p_inq->remote_bd_addr);
  p_inq_info =
      get_btm_client_interface().db.BTM_InqDbRead(p_inq->remote_bd_addr);
  if (p_inq_info != NULL) {
    /* initialize remt_name_not_required to false so that we get the name by
     * default */
@@ -1739,7 +1745,8 @@ static void bta_dm_opportunistic_observe_results_cb(tBTM_INQ_RESULTS* p_inq,
  result.inq_res.p_eir = const_cast<uint8_t*>(p_eir);
  result.inq_res.eir_len = eir_len;

  p_inq_info = BTM_InqDbRead(p_inq->remote_bd_addr);
  p_inq_info =
      get_btm_client_interface().db.BTM_InqDbRead(p_inq->remote_bd_addr);
  if (p_inq_info != NULL) {
    /* initialize remt_name_not_required to false so that we get the name by
     * default */
@@ -1783,9 +1790,9 @@ static void bta_dm_observe_cmpl_cb(void* p_result) {

static void bta_dm_start_scan(uint8_t duration_sec,
                              bool low_latency_scan = false) {
  tBTM_STATUS status =
      BTM_BleObserve(true, duration_sec, bta_dm_observe_results_cb,
                     bta_dm_observe_cmpl_cb, low_latency_scan);
  tBTM_STATUS status = get_btm_client_interface().ble.BTM_BleObserve(
      true, duration_sec, bta_dm_observe_results_cb, bta_dm_observe_cmpl_cb,
      low_latency_scan);

  if (status != BTM_CMD_STARTED) {
    tBTA_DM_SEARCH data = {
@@ -1808,7 +1815,7 @@ void bta_dm_ble_observe(bool start, uint8_t duration,
                        tBTA_DM_SEARCH_CBACK* p_cback) {
  if (!start) {
    bta_dm_search_cb.p_scan_cback = NULL;
    BTM_BleObserve(false, 0, NULL, NULL);
    get_btm_client_interface().ble.BTM_BleObserve(false, 0, NULL, NULL, false);
    return;
  }

@@ -1823,7 +1830,7 @@ void bta_dm_ble_scan(bool start, uint8_t duration_sec,
  if (bta_dm_search_cb.p_scan_cback != NULL) return;

  if (!start) {
    BTM_BleObserve(false, 0, NULL, NULL);
    get_btm_client_interface().ble.BTM_BleObserve(false, 0, NULL, NULL, false);
    return;
  }

+3 −9
Original line number Diff line number Diff line
@@ -472,7 +472,7 @@ TEST_F(BtaDmTest,
       bta_dm_determine_discovery_transport__BT_TRANSPORT_AUTO__BR_EDR) {
  bta_dm_search_cb.transport = BT_TRANSPORT_AUTO;

  test::mock::stack_btm_ble::BTM_ReadDevInfo.body =
  mock_btm_client_interface.peer.BTM_ReadDevInfo =
      [](const RawAddress& remote_bda, tBT_DEVICE_TYPE* p_dev_type,
         tBLE_ADDR_TYPE* p_addr_type) {
        *p_dev_type = BT_DEVICE_TYPE_BREDR;
@@ -482,15 +482,13 @@ TEST_F(BtaDmTest,
  ASSERT_EQ(BT_TRANSPORT_BR_EDR,
            bluetooth::legacy::testing::bta_dm_determine_discovery_transport(
                kRawAddress));

  test::mock::stack_btm_ble::BTM_ReadDevInfo = {};
}

TEST_F(BtaDmTest,
       bta_dm_determine_discovery_transport__BT_TRANSPORT_AUTO__BLE__PUBLIC) {
  bta_dm_search_cb.transport = BT_TRANSPORT_AUTO;

  test::mock::stack_btm_ble::BTM_ReadDevInfo.body =
  mock_btm_client_interface.peer.BTM_ReadDevInfo =
      [](const RawAddress& remote_bda, tBT_DEVICE_TYPE* p_dev_type,
         tBLE_ADDR_TYPE* p_addr_type) {
        *p_dev_type = BT_DEVICE_TYPE_BLE;
@@ -500,15 +498,13 @@ TEST_F(BtaDmTest,
  ASSERT_EQ(BT_TRANSPORT_LE,
            bluetooth::legacy::testing::bta_dm_determine_discovery_transport(
                kRawAddress));

  test::mock::stack_btm_ble::BTM_ReadDevInfo = {};
}

TEST_F(BtaDmTest,
       bta_dm_determine_discovery_transport__BT_TRANSPORT_AUTO__DUMO) {
  bta_dm_search_cb.transport = BT_TRANSPORT_AUTO;

  test::mock::stack_btm_ble::BTM_ReadDevInfo.body =
  mock_btm_client_interface.peer.BTM_ReadDevInfo =
      [](const RawAddress& remote_bda, tBT_DEVICE_TYPE* p_dev_type,
         tBLE_ADDR_TYPE* p_addr_type) {
        *p_dev_type = BT_DEVICE_TYPE_DUMO;
@@ -518,8 +514,6 @@ TEST_F(BtaDmTest,
  ASSERT_EQ(BT_TRANSPORT_BR_EDR,
            bluetooth::legacy::testing::bta_dm_determine_discovery_transport(
                kRawAddress));

  test::mock::stack_btm_ble::BTM_ReadDevInfo = {};
}

TEST_F(BtaDmTest, bta_dm_search_evt_text) {