static void bta_hf_client_handle_error(tBTA_HF_CLIENT_AT_RESULT_TYPE type, UINT16 cme) { APPL_TRACE_DEBUG("%s %u %u", __FUNCTION__, type, cme); bta_hf_client_stop_at_resp_timer(); if (!bta_hf_client_cb.scb.svc_conn) { bta_hf_client_slc_seq(TRUE); return; } switch (bta_hf_client_cb.scb.at_cb.current_cmd) { case BTA_HF_CLIENT_AT_BIA: break; case BTA_HF_CLIENT_AT_BCC: case BTA_HF_CLIENT_AT_BCS: bta_hf_client_cback_sco(BTA_HF_CLIENT_AUDIO_CLOSE_EVT); break; case BTA_HF_CLIENT_AT_CLIP: //last cmd is post slc seq if (bta_hf_client_cb.scb.send_at_reply == FALSE) { bta_hf_client_cb.scb.send_at_reply = TRUE; } break; default: if (bta_hf_client_cb.scb.send_at_reply) { bta_hf_client_at_result(type, cme); } break; } bta_hf_client_cb.scb.at_cb.current_cmd = BTA_HF_CLIENT_AT_NONE; bta_hf_client_send_queued_at(); }
static void bta_hf_client_at_hold_timer_cback(TIMER_LIST_ENT *p_tle) { APPL_TRACE_DEBUG("%s", __FUNCTION__); if (p_tle) { bta_hf_client_cb.scb.at_cb.hold_timer_on = FALSE; bta_hf_client_send_queued_at(); } }
static void bta_hf_client_handle_ok() { APPL_TRACE_DEBUG("%s", __FUNCTION__); bta_hf_client_stop_at_resp_timer(); if (!bta_hf_client_cb.scb.svc_conn) { bta_hf_client_slc_seq(FALSE); return; } switch(bta_hf_client_cb.scb.at_cb.current_cmd) { case BTA_HF_CLIENT_AT_BIA: case BTA_HF_CLIENT_AT_BCC: break; case BTA_HF_CLIENT_AT_BCS: bta_hf_client_start_at_hold_timer(); bta_hf_client_cb.scb.at_cb.current_cmd = BTA_HF_CLIENT_AT_NONE; return; case BTA_HF_CLIENT_AT_CLIP: //last cmd is post slc seq if (bta_hf_client_cb.scb.send_at_reply == FALSE) { bta_hf_client_cb.scb.send_at_reply = TRUE; } break; case BTA_HF_CLIENT_AT_NONE: bta_hf_client_stop_at_hold_timer(); break; default: if (bta_hf_client_cb.scb.send_at_reply) { bta_hf_client_at_result(BTA_HF_CLIENT_AT_RESULT_OK, 0); } break; } bta_hf_client_cb.scb.at_cb.current_cmd = BTA_HF_CLIENT_AT_NONE; bta_hf_client_send_queued_at(); }