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

Commit 50712640 authored by weichinweng's avatar weichinweng Committed by android-build-merger
Browse files

Open connection if it doesn't exsist in bta_gattc_process_indicate

am: 78b1921c

Change-Id: I1aab49dcdb7c2212271b6c0b8006b0edfdbb6712
parents 5a0dbf31 78b1921c
Loading
Loading
Loading
Loading
+14 −15
Original line number Diff line number Diff line
@@ -1240,22 +1240,12 @@ void bta_gattc_process_indicate(uint16_t conn_id, tGATTC_OPTYPE op,
  }

  tBTA_GATTC_CLCB* p_clcb = bta_gattc_find_clcb_by_conn_id(conn_id);

  notify.handle = handle;

  /* if service change indication/notification, don't forward to application */
  if (bta_gattc_process_srvc_chg_ind(conn_id, p_clrcb, p_srcb, p_clcb, &notify,
                                     &p_data->att_value))
    return;

  /* if app registered for the notification */
  if (bta_gattc_check_notif_registry(p_clrcb, p_srcb, &notify)) {
  /* connection not open yet */
  if (p_clcb == NULL) {
    p_clcb = bta_gattc_clcb_alloc(gatt_if, remote_bda, transport);

    if (p_clcb == NULL) {
        LOG(ERROR) << "No resources";
      LOG(ERROR) << __func__ << ": No resources";
      return;
    }

@@ -1265,6 +1255,15 @@ void bta_gattc_process_indicate(uint16_t conn_id, tGATTC_OPTYPE op,
    bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_CONN_EVT, NULL);
  }

  notify.handle = handle;

  /* if service change indication/notification, don't forward to application */
  if (bta_gattc_process_srvc_chg_ind(conn_id, p_clrcb, p_srcb, p_clcb, &notify,
                                     &p_data->att_value))
    return;

  /* if app registered for the notification */
  if (bta_gattc_check_notif_registry(p_clrcb, p_srcb, &notify)) {
    if (p_clcb != NULL)
      bta_gattc_proc_other_indication(p_clcb, op, p_data, &notify);
  }