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

Commit 4cfbcbcc authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Add "connecting" and "disconnecting" states to HID Device."

parents 5f37b73b 917d2467
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@

#if defined(BTA_HD_INCLUDED) && (BTA_HD_INCLUDED == TRUE)

#include <hardware/bluetooth.h>
#include <hardware/bt_hd.h>
#include <string.h>

#include "bt_utils.h"
@@ -259,6 +261,7 @@ void bta_hd_unregister2_act(tBTA_HD_DATA* p_data) {
extern void bta_hd_connect_act(tBTA_HD_DATA* p_data) {
  tHID_STATUS ret;
  tBTA_HD_DEVICE_CTRL* p_ctrl = (tBTA_HD_DEVICE_CTRL*)p_data;
  tBTA_HD cback_data;

  APPL_TRACE_API("%s", __func__);

@@ -271,7 +274,13 @@ extern void bta_hd_connect_act(tBTA_HD_DATA* p_data) {
  ret = HID_DevConnect();
  if (ret != HID_SUCCESS) {
    APPL_TRACE_WARNING("%s: HID_DevConnect returned %d", __func__, ret);
    return;
  }

  bdcpy(cback_data.conn.bda, p_ctrl->addr);
  cback_data.conn.status = BTHD_CONN_STATE_CONNECTING;

  bta_hd_cb.p_cback(BTA_HD_CONN_STATE_EVT, &cback_data);
}

/*******************************************************************************
@@ -285,6 +294,7 @@ extern void bta_hd_connect_act(tBTA_HD_DATA* p_data) {
 ******************************************************************************/
extern void bta_hd_disconnect_act(UNUSED_ATTR tBTA_HD_DATA* p_data) {
  tHID_STATUS ret;
  tBTA_HD cback_data;

  APPL_TRACE_API("%s", __func__);

@@ -292,7 +302,13 @@ extern void bta_hd_disconnect_act(UNUSED_ATTR tBTA_HD_DATA* p_data) {

  if (ret != HID_SUCCESS) {
    APPL_TRACE_WARNING("%s: HID_DevDisconnect returned %d", __func__, ret);
    return;
  }

  bdcpy(cback_data.conn.bda, bta_hd_cb.bd_addr);
  cback_data.conn.status = BTHD_CONN_STATE_DISCONNECTING;

  bta_hd_cb.p_cback(BTA_HD_CONN_STATE_EVT, &cback_data);
}

/*******************************************************************************
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@
#define BTA_HD_SET_PROTOCOL_EVT 8   /* SET_PROTOCOL request from host */
#define BTA_HD_INTR_DATA_EVT 9      /* DATA received from host on intr */
#define BTA_HD_VC_UNPLUG_EVT 10     /* Virtual Cable Unplug */
#define BTA_HD_CONN_STATE_EVT 11    /* Report connection state change */
#define BTA_HD_API_ERR_EVT 99       /* BT-HD API error */

typedef uint16_t tBTA_HD_EVT;
+7 −0
Original line number Diff line number Diff line
@@ -268,6 +268,12 @@ static void btif_hd_upstreams_evt(uint16_t event, char* p_param) {
      HAL_CBACK(bt_hd_callbacks, vc_unplug_cb);
      break;

    case BTA_HD_CONN_STATE_EVT:
      HAL_CBACK(bt_hd_callbacks, connection_state_cb,
                (bt_bdaddr_t*)&p_data->conn.bda,
                (bthd_connection_state_t)p_data->conn.status);
      break;

    default:
      BTIF_TRACE_WARNING("%s: unknown event (%d)", __func__, event);
      break;
@@ -305,6 +311,7 @@ static void bte_hd_evt(tBTA_HD_EVT event, tBTA_HD* p_data) {
    case BTA_HD_OPEN_EVT:
    case BTA_HD_CLOSE_EVT:
    case BTA_HD_VC_UNPLUG_EVT:
    case BTA_HD_CONN_STATE_EVT:
      param_len = sizeof(tBTA_HD_CONN);
      break;

+1 −0
Original line number Diff line number Diff line
@@ -376,6 +376,7 @@ const char* dump_hd_event(uint16_t event) {
    CASE_RETURN_STR(BTA_HD_SET_PROTOCOL_EVT)
    CASE_RETURN_STR(BTA_HD_INTR_DATA_EVT)
    CASE_RETURN_STR(BTA_HD_VC_UNPLUG_EVT)
    CASE_RETURN_STR(BTA_HD_CONN_STATE_EVT)
    CASE_RETURN_STR(BTA_HD_API_ERR_EVT)
    default:
      return "UNKNOWN MSG ID";