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

Commit bfae013b authored by Zach Johnson's avatar Zach Johnson Committed by Gerrit Code Review
Browse files

Merge changes I51c3b864,I2af0f2c2,Ifaec802b,I9ea573cb,I87154d64, ...

* changes:
  what on earth
  if you pass 0, these are the values used
  These were never set
  The params are never ignore, they're set in this function
  Fold bt_scan_mode_t into BTA_DmSetVisibility
  Flatten BTA_DmSetVisibility
parents 55e5a050 e49a5b02
Loading
Loading
Loading
Loading
+26 −27
Original line number Diff line number Diff line
@@ -489,34 +489,33 @@ void bta_dm_set_dev_name(const std::vector<uint8_t>& name) {
}

/** Sets discoverability, connectability and pairability */
void bta_dm_set_visibility(tBTA_DM_DISC disc_mode_param,
                           tBTA_DM_CONN conn_mode_param) {
  uint16_t window, interval;
  uint16_t le_disc_mode = BTM_BleReadDiscoverability();
  uint16_t le_conn_mode = BTM_BleReadConnectability();
  uint16_t disc_mode = BTM_ReadDiscoverability(&window, &interval);
  uint16_t conn_mode = BTM_ReadConnectability(&window, &interval);

  /* set modes for Discoverability and connectability if not ignore */
  if (disc_mode_param != (BTA_DM_IGNORE | BTA_DM_LE_IGNORE)) {
    if ((disc_mode_param & BTA_DM_LE_IGNORE) == BTA_DM_LE_IGNORE)
      disc_mode_param = ((disc_mode_param & ~BTA_DM_LE_IGNORE) | le_disc_mode);
    if ((disc_mode_param & BTA_DM_IGNORE) == BTA_DM_IGNORE)
      disc_mode_param = ((disc_mode_param & ~BTA_DM_IGNORE) | disc_mode);

    BTM_SetDiscoverability(disc_mode_param, bta_dm_cb.inquiry_scan_window,
                           bta_dm_cb.inquiry_scan_interval);
  }

  if (conn_mode_param != (BTA_DM_IGNORE | BTA_DM_LE_IGNORE)) {
    if ((conn_mode_param & BTA_DM_LE_IGNORE) == BTA_DM_LE_IGNORE)
      conn_mode_param = ((conn_mode_param & ~BTA_DM_LE_IGNORE) | le_conn_mode);
    if ((conn_mode_param & BTA_DM_IGNORE) == BTA_DM_IGNORE)
      conn_mode_param = ((conn_mode_param & ~BTA_DM_IGNORE) | conn_mode);

    BTM_SetConnectability(conn_mode_param, bta_dm_cb.page_scan_window,
                          bta_dm_cb.page_scan_interval);
bool BTA_DmSetVisibility(bt_scan_mode_t mode) {
  tBTA_DM_DISC disc_mode_param;
  tBTA_DM_CONN conn_mode_param;

  switch (mode) {
    case BT_SCAN_MODE_NONE:
      disc_mode_param = BTA_DM_NON_DISC;
      conn_mode_param = BTA_DM_NON_CONN;
      break;

    case BT_SCAN_MODE_CONNECTABLE:
      disc_mode_param = BTA_DM_NON_DISC;
      conn_mode_param = BTA_DM_CONN;
      break;

    case BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE:
      disc_mode_param = BTA_DM_GENERAL_DISC;
      conn_mode_param = BTA_DM_CONN;
      break;

    default:
      return false;
  }

  BTM_SetDiscoverability(disc_mode_param, 0, 0);
  BTM_SetConnectability(conn_mode_param, 0, 0);
  return true;
}

static void bta_dm_process_remove_device_no_callback(
+0 −8
Original line number Diff line number Diff line
@@ -64,14 +64,6 @@ void BTA_DmSetDeviceName(char* p_name) {
  do_in_main_thread(FROM_HERE, base::Bind(bta_dm_set_dev_name, name));
}

/** This function sets the Bluetooth connectable, discoverable, pairable and
 * conn paired only modes of local device
 */
void BTA_DmSetVisibility(tBTA_DM_DISC disc_mode, tBTA_DM_CONN conn_mode) {
  do_in_main_thread(FROM_HERE,
                    base::Bind(bta_dm_set_visibility, disc_mode, conn_mode));
}

/*******************************************************************************
 *
 * Function         BTA_DmSearch
+0 −4
Original line number Diff line number Diff line
@@ -266,10 +266,6 @@ typedef struct {
  bool disable_pair_mode; /* disable pair mode or not */
  bool conn_paired_only;  /* allow connectable to paired device only or not */
  tBTA_DM_API_SEARCH search_msg;
  uint16_t page_scan_interval;
  uint16_t page_scan_window;
  uint16_t inquiry_scan_interval;
  uint16_t inquiry_scan_window;

  /* Storage for pin code request parameters */
  RawAddress pin_bd_addr;
+1 −1
Original line number Diff line number Diff line
@@ -860,7 +860,7 @@ extern void BTA_DmSetDeviceName(char* p_name);
 * Returns          void
 *
 ******************************************************************************/
extern void BTA_DmSetVisibility(tBTA_DM_DISC disc_mode, tBTA_DM_CONN conn_mode);
extern bool BTA_DmSetVisibility(bt_scan_mode_t mode);

/*******************************************************************************
 *
+0 −16
Original line number Diff line number Diff line
@@ -299,12 +299,6 @@ static bool bta_pan_has_multiple_connections(uint8_t app_id) {
 ******************************************************************************/
void bta_pan_enable(tBTA_PAN_DATA* p_data) {
  tPAN_REGISTER reg_data;
  uint16_t initial_discoverability;
  uint16_t initial_connectability;
  uint16_t d_window;
  uint16_t d_interval;
  uint16_t c_window;
  uint16_t c_interval;

  bta_pan_cb.p_cback = p_data->api_enable.p_cback;

@@ -316,18 +310,8 @@ void bta_pan_enable(tBTA_PAN_DATA* p_data) {
  reg_data.pan_mfilt_ind_cb = bta_pan_mfilt_ind_cback;
  reg_data.pan_tx_data_flow_cb = bta_pan_data_flow_cb;

  /* read connectability and discoverability settings.
  Pan profile changes the settings. We have to change it back to
  be consistent with other bta subsystems */
  initial_connectability = BTM_ReadConnectability(&c_window, &c_interval);
  initial_discoverability = BTM_ReadDiscoverability(&d_window, &d_interval);

  PAN_Register(&reg_data);

  /* set it back to original value */
  BTM_SetDiscoverability(initial_discoverability, d_window, d_interval);
  BTM_SetConnectability(initial_connectability, c_window, c_interval);

  bta_pan_cb.flow_mask = bta_pan_co_init(&bta_pan_cb.q_level);
  bta_pan_cb.p_cback(BTA_PAN_ENABLE_EVT, NULL);
}
Loading