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

Commit 25fcbbae authored by Chris Manton's avatar Chris Manton
Browse files

Streamline bta_gattc_op_cmpl

Bug: 163134718
Test: gd/cert/run
Tag: #refactor

Change-Id: I940c842ed23be01dc20cbfe7c05d194dc7df19c2
parent 963a8d1a
Loading
Loading
Loading
Loading
+17 −12
Original line number Diff line number Diff line
@@ -962,26 +962,31 @@ static void bta_gattc_cfg_mtu_cmpl(tBTA_GATTC_CLCB* p_clcb,

/** operation completed */
void bta_gattc_op_cmpl(tBTA_GATTC_CLCB* p_clcb, const tBTA_GATTC_DATA* p_data) {
  uint8_t op = (uint8_t)p_data->op_cmpl.op_code;
  uint8_t mapped_op = 0;

  VLOG(1) << __func__ << ": op:" << +op;

  if (op == GATTC_OPTYPE_INDICATION || op == GATTC_OPTYPE_NOTIFICATION) {
    LOG(ERROR) << "unexpected operation, ignored";
  if (p_clcb->p_q_cmd == NULL) {
    LOG_ERROR("No pending command gatt client command");
    return;
  }

  if (op < GATTC_OPTYPE_READ) return;
  const tGATTC_OPTYPE op = p_data->op_cmpl.op_code;
  switch (op) {
    case GATTC_OPTYPE_READ:
    case GATTC_OPTYPE_WRITE:
    case GATTC_OPTYPE_EXE_WRITE:
    case GATTC_OPTYPE_CONFIG:
      break;

  if (p_clcb->p_q_cmd == NULL) {
    LOG(ERROR) << "No pending command";
    case GATTC_OPTYPE_NONE:
    case GATTC_OPTYPE_DISCOVERY:
    case GATTC_OPTYPE_NOTIFICATION:
    case GATTC_OPTYPE_INDICATION:
    default:
      LOG(ERROR) << "unexpected operation, ignored";
      return;
  }

  if (p_clcb->p_q_cmd->hdr.event !=
      bta_gattc_opcode_to_int_evt[op - GATTC_OPTYPE_READ]) {
    mapped_op =
    uint8_t mapped_op =
        p_clcb->p_q_cmd->hdr.event - BTA_GATTC_API_READ_EVT + GATTC_OPTYPE_READ;
    if (mapped_op > GATTC_OPTYPE_INDICATION) mapped_op = 0;

+1 −1
Original line number Diff line number Diff line
@@ -135,7 +135,7 @@ typedef struct {

typedef struct {
  BT_HDR_RIGID hdr;
  uint8_t op_code;
  tGATTC_OPTYPE op_code;
  tGATT_STATUS status;
  tGATT_CL_COMPLETE* p_cmpl;
} tBTA_GATTC_OP_CMPL;