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

Commit ce35268a authored by Sharvil Nanavati's avatar Sharvil Nanavati
Browse files

DO NOT MERGE ANYWHERE 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 7a4ae2e3
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -16,12 +16,16 @@
 *  limitations under the License.
 *
 ******************************************************************************/

#define LOG_TAG "bt_hf_client"

#include <errno.h>
#include <string.h>
#include <stdio.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 */
@@ -145,11 +149,15 @@ static void bta_hf_client_at_resp_timer_cback (TIMER_LIST_ENT *p_tle)
    {
        bta_hf_client_cb.scb.at_cb.resp_timer_on = FALSE;

        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_stop_at_resp_timer(void)
{