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

Commit 00dbc15a authored by Chris Manton's avatar Chris Manton
Browse files

bta: Encapsulate bta::dm::disc::bta_dm_disc_acl_down

Bug: 309860002
Test: m .

Change-Id: I53d7b5b118d446f6735d84b073d7dc746b18d659
parent 07516b89
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -815,16 +815,7 @@ static void bta_dm_acl_down(const RawAddress& bd_addr,
    bta_dm_cb.device_list.le_count--;
  }

  if ((transport == BT_TRANSPORT_BR_EDR) &&
      (bta_dm_search_cb.wait_disc && bta_dm_search_cb.peer_bdaddr == bd_addr)) {
    bta_dm_search_cb.wait_disc = false;

    if (bta_dm_search_cb.sdp_results) {
      LOG_VERBOSE(" timer stopped  ");
      alarm_cancel(bta_dm_search_cb.search_timer);
      bta_dm_disc_discover_next_device();
    }
  }
  bta_dm_disc_acl_down(bd_addr, transport);

  if (bta_dm_cb.disabling) {
    if (!BTM_GetNumAclLinks()) {
+21 −0
Original line number Diff line number Diff line
@@ -2399,6 +2399,27 @@ void bta_dm_disc_start(bool delay_close_gatt) {
  bta_dm_search_cb.pending_discovery_queue = fixed_queue_new(SIZE_MAX);
}

void bta_dm_disc_acl_down(const RawAddress& bd_addr, tBT_TRANSPORT transport) {
  switch (transport) {
    case BT_TRANSPORT_BR_EDR:
      if (bta_dm_search_cb.wait_disc &&
          bta_dm_search_cb.peer_bdaddr == bd_addr) {
        bta_dm_search_cb.wait_disc = false;

        if (bta_dm_search_cb.sdp_results) {
          LOG_VERBOSE(" timer stopped  ");
          alarm_cancel(bta_dm_search_cb.search_timer);
          bta_dm_disc_discover_next_device();
        }
      }
      break;

    case BT_TRANSPORT_LE:
    default:
      break;
  }
}

void bta_dm_disc_stop() { bta_dm_disc_reset(); }

#define DUMPSYS_TAG "shim::legacy::bta::dm"
+4 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@

#include "bta/include/bta_api.h"  // tBTA_DM_SEARCH_CBACK
#include "stack/include/bt_hdr.h"
#include "types/bt_transport.h"
#include "types/raw_address.h"

// Bta module start and stop entry points
@@ -28,6 +29,9 @@ void bta_dm_disc_stop();
bool bta_dm_search_sm_execute(const BT_HDR_RIGID* p_msg);
void bta_dm_search_sm_disable();
void bta_dm_disc_disable_search_and_disc();
// Indication that an acl has gone down and to examine the current
// service discovery procedure, if any.
void bta_dm_disc_acl_down(const RawAddress& bd_addr, tBT_TRANSPORT transport);

// Return most recent remote name
const char* bta_dm_get_remname(void);