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

Commit 213633c9 authored by Hansong Zhang's avatar Hansong Zhang
Browse files

GATT: Set data length directly

Since only GATT, hearing aid (hardcoded), JNI (hidden API) can set data
length, we just skip L2cap set data length path, and directly send HCI
command.

Test: cert/run
Tag: #gd-refactor
Bug: 141555841
Change-Id: Id9dd7f9bdea69b025650ff7a287ba55c0d31db75
parent 4e669dea
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1053,8 +1053,8 @@ void gatt_process_mtu_rsp(tGATT_TCB& tcb, tGATT_CLCB* p_clcb, uint16_t len,
      tcb.payload_size = mtu;
  }

  L2CA_SetLeFixedChannelTxDataLength(tcb.peer_bda, L2CAP_ATT_CID,
                                     tcb.payload_size);
  BTM_SetBleDataLength(tcb.peer_bda, tcb.payload_size);

  gatt_end_operation(p_clcb, status, NULL);
}
/*******************************************************************************
+1 −2
Original line number Diff line number Diff line
@@ -814,8 +814,7 @@ static void gatts_process_mtu_req(tGATT_TCB& tcb, uint16_t cid, uint16_t len,

  LOG(INFO) << "MTU request PDU with MTU size " << +tcb.payload_size;

  l2cble_set_fixed_channel_tx_data_length(tcb.peer_bda, L2CAP_ATT_CID,
                                          tcb.payload_size);
  BTM_SetBleDataLength(tcb.peer_bda, tcb.payload_size);

  tGATT_SR_MSG gatt_sr_msg;
  gatt_sr_msg.mtu = tcb.payload_size;
+5 −0
Original line number Diff line number Diff line
@@ -75,6 +75,11 @@ tGATT_STATUS attp_send_cl_msg(tGATT_TCB& tcb, tGATT_CLCB* p_clcb,
tGATT_STATUS attp_send_sr_msg(tGATT_TCB& tcb, uint16_t cid, BT_HDR* p_msg) {
  return GATT_SUCCESS;
}

tBTM_STATUS BTM_SetBleDataLength(const RawAddress& bd_addr, uint16_t length) {
  return BTM_SUCCESS;
}

uint8_t btm_ble_read_sec_key_size(const RawAddress& bd_addr) { return 0; }
bool BTM_GetSecurityFlagsByTransport(const RawAddress& bd_addr,
                                     uint8_t* p_sec_flags,