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

Commit c5539a78 authored by Joseph Pirozzo's avatar Joseph Pirozzo Committed by android-build-merger
Browse files

Merge "Recover from HandsFree client connection collision"

am: 02427dfa

Change-Id: I9cddf7fc2a827b20f18393ff62d1cb3fd0032320
parents b9649f72 02427dfa
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -329,6 +329,8 @@ void bta_hf_client_resume_open(tBTA_HF_CLIENT_CB* client_cb) {
    client_cb->state = BTA_HF_CLIENT_OPENING_ST;
    tBTA_HF_CLIENT_DATA msg;
    msg.hdr.layer_specific = client_cb->handle;
    msg.api_open.bd_addr = client_cb->peer_addr;
    msg.api_open.sec_mask = client_cb->cli_sec_mask;
    bta_hf_client_start_open(&msg);
  }
}
@@ -749,19 +751,14 @@ void bta_hf_client_sm_execute(uint16_t event, tBTA_HF_CLIENT_DATA* p_data) {
    evt.bd_addr = client_cb->peer_addr;
    if (client_cb->state == BTA_HF_CLIENT_INIT_ST) {
      bta_hf_client_app_callback(BTA_HF_CLIENT_CLOSE_EVT, &evt);
      APPL_TRACE_DEBUG("%s: marking CB handle %d to false", __func__, client_cb->handle);
      client_cb->is_allocated = false;
    } else if (client_cb->state == BTA_HF_CLIENT_OPEN_ST) {
      evt.open.handle = client_cb->handle;
      bta_hf_client_app_callback(BTA_HF_CLIENT_OPEN_EVT, &evt);
    }
  }

  /* if the next state is INIT then release the cb for future use */
  if (client_cb->state == BTA_HF_CLIENT_INIT_ST) {
    APPL_TRACE_DEBUG("%s: marking CB handle %d to false", __func__,
                     client_cb->handle);
    client_cb->is_allocated = false;
  }

  VLOG(2) << __func__ << ": device " << client_cb->peer_addr
          << "state change: [" << bta_hf_client_state_str(in_state) << "] -> ["
          << bta_hf_client_state_str(client_cb->state) << "] after Event ["