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

Commit 0e5d64a6 authored by Sharvil Nanavati's avatar Sharvil Nanavati Committed by Andre Eisenbach
Browse files

Spoof response to AT+CNUM if we don't get a reply from the audio gateway.

The Huawei Honor 4X CHE1-CL10 phone doesn't reply to AT+CNUM so
we end up disconnecting the service level connection. In this CL,
I'm spoofing an OK response to AT+CNUM in case we time out waiting
for a reply.

Bug: 26504036
Change-Id: I91d5ab4ea91fd67b3f6c6f796c39fd0091bff5cf
parent afa629bd
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -16,6 +16,9 @@
 *  limitations under the License.
 *
 ******************************************************************************/

#define LOG_TAG "bt_hf_client"

#include <errno.h>
#include <string.h>
#include <stdio.h>
@@ -23,6 +26,7 @@
#include "osi/include/osi.h"
#include "bta_hf_client_api.h"
#include "bta_hf_client_int.h"
#include "osi/include/log.h"
#include "port_api.h"

/* Uncomment to enable AT traffic dumping */
@@ -144,9 +148,14 @@ static void bta_hf_client_queue_at(tBTA_HF_CLIENT_AT_CMD cmd, const char *buf, U

static void bta_hf_client_at_resp_timer_cback(UNUSED_ATTR void *data)
{
  if (bta_hf_client_cb.scb.at_cb.current_cmd == BTA_HF_CLIENT_AT_CNUM) {
    LOG_INFO("%s timed out waiting for AT+CNUM response; spoofing OK.", __func__);
    bta_hf_client_handle_ok();
  } else {
    APPL_TRACE_ERROR("HFPClient: AT response timeout, disconnecting");
    bta_hf_client_sm_execute(BTA_HF_CLIENT_API_CLOSE_EVT, NULL);
  }
}

static void bta_hf_client_start_at_resp_timer(void)
{