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

Commit e83d8614 authored by Hansong Zhang's avatar Hansong Zhang
Browse files

Simplify max data length request

Test: cert/run
Tag: #gd-refactor
Bug: 141555841
Change-Id: I422f6bd0c3a246fb9395b116fdf53f7f56a4bc69
parent 10fe6d6b
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -3569,10 +3569,12 @@ void bta_dm_ble_observe(bool start, uint8_t duration,
}

/** This function set the maximum transmission packet size */
void bta_dm_ble_set_data_length(const RawAddress& bd_addr,
                                uint16_t tx_data_length) {
  if (BTM_SetBleDataLength(bd_addr, tx_data_length) != BTM_SUCCESS) {
    LOG_INFO("Unable to set ble data length:%hu", tx_data_length);
void bta_dm_ble_set_data_length(const RawAddress& bd_addr) {
  const controller_t* controller = controller_get_interface();
  uint16_t max_len = controller->get_ble_maximum_tx_data_length();

  if (BTM_SetBleDataLength(bd_addr, max_len) != BTM_SUCCESS) {
    LOG_INFO("Unable to set ble data length:%hu", max_len);
  }
}

+3 −4
Original line number Diff line number Diff line
@@ -536,10 +536,9 @@ void BTA_DmBleGetEnergyInfo(tBTA_BLE_ENERGY_INFO_CBACK* p_cmpl_cback) {
}

/** This function is to set maximum LE data packet size */
void BTA_DmBleSetDataLength(const RawAddress& remote_device,
                            uint16_t tx_data_length) {
  do_in_main_thread(FROM_HERE, base::Bind(bta_dm_ble_set_data_length,
                                          remote_device, tx_data_length));
void BTA_DmBleRequestMaxTxDataLength(const RawAddress& remote_device) {
  do_in_main_thread(FROM_HERE,
                    base::Bind(bta_dm_ble_set_data_length, remote_device));
}

/*******************************************************************************
+1 −1
Original line number Diff line number Diff line
@@ -506,7 +506,7 @@ extern void bta_dm_ble_update_conn_params(const RawAddress&, uint16_t, uint16_t,
                                          uint16_t);
extern void bta_dm_ble_config_local_privacy(bool);

extern void bta_dm_ble_set_data_length(const RawAddress&, uint16_t);
extern void bta_dm_ble_set_data_length(const RawAddress& bd_addr);

extern void bta_dm_ble_get_energy_info(tBTA_BLE_ENERGY_INFO_CBACK*);

+1 −2
Original line number Diff line number Diff line
@@ -1096,8 +1096,7 @@ extern void BTA_DmBleUpdateConnectionParams(const RawAddress& bd_addr,
 * Returns          void
 *
 ******************************************************************************/
extern void BTA_DmBleSetDataLength(const RawAddress& remote_device,
                                   uint16_t tx_data_length);
extern void BTA_DmBleRequestMaxTxDataLength(const RawAddress& remote_device);

/*******************************************************************************
 *
+1 −6
Original line number Diff line number Diff line
@@ -251,12 +251,7 @@ static bt_status_t btsock_connect(const RawAddress* bd_addr, btsock_type_t type,
}

static void btsock_request_max_tx_data_length(const RawAddress& remote_device) {
  const controller_t* controller = controller_get_interface();
  uint16_t max_len = controller->get_ble_maximum_tx_data_length();

  DVLOG(2) << __func__ << ": max_len=" << max_len;

  BTA_DmBleSetDataLength(remote_device, max_len);
  BTA_DmBleRequestMaxTxDataLength(remote_device);
}

static void btsock_signaled(int fd, int type, int flags, uint32_t user_id) {