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

Commit 9bec1def authored by Zach Johnson's avatar Zach Johnson Committed by Automerger Merge Worker
Browse files

Merge changes Ifad48ac1,Iec6e7550,I68ff2112,Ibb875781,Iae859fcc, ... am: 09d9355e

Original change: https://android-review.googlesource.com/c/platform/system/bt/+/1405314

Change-Id: I6b43faab0f5cf67e6f60e14dc9047eed1fd4a273
parents 9f26c4cc 09d9355e
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -844,7 +844,6 @@ void bta_av_do_disc_a2dp(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
  }
  /* store peer addr other parameters */
  bta_av_save_addr(p_scb, p_data->api_open.bd_addr);
  p_scb->sec_mask = p_data->api_open.sec_mask;
  p_scb->use_rc = p_data->api_open.use_rc;

  bta_sys_app_open(BTA_ID_AV, p_scb->app_id, p_scb->PeerAddress());
@@ -1405,7 +1404,7 @@ void bta_av_connect_req(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) {
    return;
  }

  AVDT_ConnectReq(p_scb->PeerAddress(), p_scb->hdi, p_scb->sec_mask,
  AVDT_ConnectReq(p_scb->PeerAddress(), p_scb->hdi, BTA_SEC_AUTHENTICATE,
                  &bta_av_proc_stream_evt);
}

@@ -2697,7 +2696,7 @@ void bta_av_rcfg_connect(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) {
    /* let bta_av_rcfg_failed report fail */
    bta_av_rcfg_failed(p_scb, NULL);
  } else {
    AVDT_ConnectReq(p_scb->PeerAddress(), p_scb->hdi, p_scb->sec_mask,
    AVDT_ConnectReq(p_scb->PeerAddress(), p_scb->hdi, BTA_SEC_AUTHENTICATE,
                    &bta_av_proc_stream_evt);
  }
}
@@ -2729,7 +2728,7 @@ void bta_av_rcfg_discntd(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) {
    /* report close event & go to init state */
    bta_av_ssm_execute(p_scb, BTA_AV_STR_DISC_FAIL_EVT, NULL);
  } else {
    AVDT_ConnectReq(p_scb->PeerAddress(), p_scb->hdi, p_scb->sec_mask,
    AVDT_ConnectReq(p_scb->PeerAddress(), p_scb->hdi, BTA_SEC_AUTHENTICATE,
                    &bta_av_proc_stream_evt);
  }
}
+5 −8
Original line number Diff line number Diff line
@@ -59,8 +59,7 @@ static const tBTA_SYS_REG bta_av_reg = {bta_av_hdl_event, BTA_AvDisable};
 * Returns          void
 *
 ******************************************************************************/
void BTA_AvEnable(tBTA_SEC sec_mask, tBTA_AV_FEAT features,
                  tBTA_AV_CBACK* p_cback) {
void BTA_AvEnable(tBTA_AV_FEAT features, tBTA_AV_CBACK* p_cback) {
  tBTA_AV_API_ENABLE* p_buf =
      (tBTA_AV_API_ENABLE*)osi_malloc(sizeof(tBTA_AV_API_ENABLE));

@@ -70,7 +69,6 @@ void BTA_AvEnable(tBTA_SEC sec_mask, tBTA_AV_FEAT features,
  p_buf->hdr.event = BTA_AV_API_ENABLE_EVT;
  p_buf->p_cback = p_cback;
  p_buf->features = features;
  p_buf->sec_mask = sec_mask;

  bta_sys_sendmsg(p_buf);
}
@@ -155,10 +153,10 @@ void BTA_AvDeregister(tBTA_AV_HNDL hndl) {
 *
 ******************************************************************************/
void BTA_AvOpen(const RawAddress& bd_addr, tBTA_AV_HNDL handle, bool use_rc,
                tBTA_SEC sec_mask, uint16_t uuid) {
  LOG_INFO("%s: peer %s bta_handle:0x%x use_rc=%s sec_mask=0x%x uuid=0x%x",
           __func__, bd_addr.ToString().c_str(), handle,
           (use_rc) ? "true" : "false", sec_mask, uuid);
                uint16_t uuid) {
  LOG_INFO("%s: peer %s bta_handle:0x%x use_rc=%s uuid=0x%x", __func__,
           bd_addr.ToString().c_str(), handle, (use_rc) ? "true" : "false",
           uuid);

  tBTA_AV_API_OPEN* p_buf =
      (tBTA_AV_API_OPEN*)osi_malloc(sizeof(tBTA_AV_API_OPEN));
@@ -167,7 +165,6 @@ void BTA_AvOpen(const RawAddress& bd_addr, tBTA_AV_HNDL handle, bool use_rc,
  p_buf->hdr.layer_specific = handle;
  p_buf->bd_addr = bd_addr;
  p_buf->use_rc = use_rc;
  p_buf->sec_mask = sec_mask;
  p_buf->switch_res = BTA_AV_RS_NONE;
  p_buf->uuid = uuid;

+0 −3
Original line number Diff line number Diff line
@@ -215,7 +215,6 @@ typedef struct {
  BT_HDR hdr;
  tBTA_AV_CBACK* p_cback;
  tBTA_AV_FEAT features;
  tBTA_SEC sec_mask;
} tBTA_AV_API_ENABLE;

/* data type for BTA_AV_API_REGISTER_EVT */
@@ -239,7 +238,6 @@ typedef struct {
  BT_HDR hdr;
  RawAddress bd_addr;
  bool use_rc;
  tBTA_SEC sec_mask;
  tBTA_AV_RS_RES switch_res;
  uint16_t uuid; /* uuid of initiator */
} tBTA_AV_API_OPEN;
@@ -470,7 +468,6 @@ struct tBTA_AV_SCB final {
  alarm_t* avrc_ct_timer;                   /* delay timer for AVRC CT */
  uint16_t l2c_cid;                         /* L2CAP channel ID */
  uint16_t stream_mtu;                      /* MTU of stream */
  tBTA_SEC sec_mask;          /* security mask */
  uint8_t media_type;         /* Media type: AVDT_MEDIA_TYPE_* */
  bool cong;                  /* true if AVDTP congested */
  tBTA_AV_STATUS open_status; /* open failure status */
+6 −24
Original line number Diff line number Diff line
@@ -271,7 +271,6 @@ static void bta_av_api_enable(tBTA_AV_DATA* p_data) {
  /* store parameters */
  bta_av_cb.p_cback = p_data->api_enable.p_cback;
  bta_av_cb.features = p_data->api_enable.features;
  bta_av_cb.sec_mask = p_data->api_enable.sec_mask;

  tBTA_AV_ENABLE enable;
  enable.features = bta_av_cb.features;
@@ -505,12 +504,11 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
  char* p_service_name;
  tBTA_UTL_COD cod;

  if (bta_av_cb.disabling ||
      (bta_av_cb.features == 0 && bta_av_cb.sec_mask == 0)) {
  if (bta_av_cb.disabling || (bta_av_cb.features == 0)) {
    APPL_TRACE_WARNING(
        "%s: AV instance (features=%#x, sec_mask=%#x, reg_audio=%#x) is not "
        "%s: AV instance (features=%#x, reg_audio=%#x) is not "
        "ready for app_id %d",
        __func__, bta_av_cb.features, bta_av_cb.sec_mask, bta_av_cb.reg_audio,
        __func__, bta_av_cb.features, bta_av_cb.reg_audio,
        p_data->api_reg.app_id);
    tBTA_AV_API_REG* p_buf =
        (tBTA_AV_API_REG*)osi_malloc(sizeof(tBTA_AV_API_REG));
@@ -568,7 +566,7 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
      reg.ret_tout = BTA_AV_RET_TOUT;
      reg.sig_tout = BTA_AV_SIG_TOUT;
      reg.idle_tout = BTA_AV_IDLE_TOUT;
      reg.sec_mask = bta_av_cb.sec_mask;
      reg.sec_mask = BTA_SEC_AUTHENTICATE;
      reg.scb_index = p_scb->hdi;
#if (BTA_AR_INCLUDED == TRUE)
      bta_ar_reg_avdt(&reg, bta_av_conn_cback, BTA_ID_AV);
@@ -579,14 +577,8 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
      if (bta_av_cb.features & (BTA_AV_FEAT_RCTG)) {
/* register with no authorization; let AVDTP use authorization instead */
#if (BTA_AR_INCLUDED == TRUE)
#if (BTA_AV_WITH_AVCTP_AUTHORIZATION == TRUE)
        bta_ar_reg_avct(p_bta_av_cfg->avrc_mtu, p_bta_av_cfg->avrc_br_mtu,
                        bta_av_cb.sec_mask, BTA_ID_AV);
#else
        bta_ar_reg_avct(p_bta_av_cfg->avrc_mtu, p_bta_av_cfg->avrc_br_mtu,
                        (uint8_t)(bta_av_cb.sec_mask & (~BTA_SEC_AUTHORIZE)),
                        BTA_ID_AV);
#endif
                        BTA_SEC_AUTHENTICATE, BTA_ID_AV);

        /* For the Audio Sink role we support additional TG to support
         * absolute volume.
@@ -736,14 +728,8 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
        /* if TG is not supported, we need to register to AVCT now */
        if ((bta_av_cb.features & (BTA_AV_FEAT_RCTG)) == 0) {
#if (BTA_AR_INCLUDED == TRUE)
#if (BTA_AV_WITH_AVCTP_AUTHORIZATION == TRUE)
          bta_ar_reg_avct(p_bta_av_cfg->avrc_mtu, p_bta_av_cfg->avrc_br_mtu,
                          bta_av_cb.sec_mask, BTA_ID_AV);
#else
          bta_ar_reg_avct(p_bta_av_cfg->avrc_mtu, p_bta_av_cfg->avrc_br_mtu,
                          (uint8_t)(bta_av_cb.sec_mask & (~BTA_SEC_AUTHORIZE)),
                          BTA_ID_AV);
#endif
                          BTA_SEC_AUTHENTICATE, BTA_ID_AV);
#endif
          bta_av_rc_create(&bta_av_cb, AVCT_ACP, 0, BTA_AV_NUM_LINKS + 1);
        }
@@ -1451,7 +1437,6 @@ void bta_debug_av_dump(int fd) {
  dprintf(fd, "  SDP A2DP source handle: %d\n", bta_av_cb.sdp_a2dp_handle);
  dprintf(fd, "  SDP A2DP sink handle: %d\n", bta_av_cb.sdp_a2dp_snk_handle);
  dprintf(fd, "  Features: 0x%x\n", bta_av_cb.features);
  dprintf(fd, "  Security mask: 0x%x\n", bta_av_cb.sec_mask);
  dprintf(fd, "  SDP handle: %d\n", bta_av_cb.handle);
  dprintf(fd, "  Disabling: %s\n", bta_av_cb.disabling ? "true" : "false");
  dprintf(fd, "  SCO occupied: %s\n",
@@ -1501,21 +1486,18 @@ void bta_debug_av_dump(int fd) {
            p_scb->q_info.open.bd_addr.ToString().c_str());
    dprintf(fd, "      Use AVRCP: %s\n",
            p_scb->q_info.open.use_rc ? "true" : "false");
    dprintf(fd, "      Security mask: 0x%x\n", p_scb->q_info.open.sec_mask);
    dprintf(fd, "      Switch result: %d\n", p_scb->q_info.open.switch_res);
    dprintf(fd, "      Initiator UUID: 0x%x\n", p_scb->q_info.open.uuid);
    dprintf(fd, "    Saved API Open peer: %s\n",
            p_scb->open_api.bd_addr.ToString().c_str());
    dprintf(fd, "      Use AVRCP: %s\n",
            p_scb->open_api.use_rc ? "true" : "false");
    dprintf(fd, "      Security mask: 0x%x\n", p_scb->open_api.sec_mask);
    dprintf(fd, "      Switch result: %d\n", p_scb->open_api.switch_res);
    dprintf(fd, "      Initiator UUID: 0x%x\n", p_scb->open_api.uuid);
    // TODO: Print p_scb->sep_info[], cfg, avrc_ct_timer, current_codec ?
    dprintf(fd, "    L2CAP Channel ID: %d\n", p_scb->l2c_cid);
    dprintf(fd, "    Stream MTU: %d\n", p_scb->stream_mtu);
    dprintf(fd, "    AVDTP version: 0x%x\n", p_scb->AvdtpVersion());
    dprintf(fd, "    Security mask: 0x%x\n", p_scb->sec_mask);
    dprintf(fd, "    Media type: %d\n", p_scb->media_type);
    dprintf(fd, "    Congested: %s\n", p_scb->cong ? "true" : "false");
    dprintf(fd, "    Open status: %d\n", p_scb->open_status);
+0 −3
Original line number Diff line number Diff line
@@ -140,9 +140,6 @@ typedef uint32_t tBTA_SERVICE_MASK;

/* Security Setting Mask */
#define BTA_SEC_NONE BTM_SEC_NONE /* No security. */
#define BTA_SEC_AUTHORIZE                                               \
  (BTM_SEC_IN_AUTHORIZE) /* Authorization required (only needed for out \
                            going connection )*/
#define BTA_SEC_AUTHENTICATE \
  (BTM_SEC_IN_AUTHENTICATE | \
   BTM_SEC_OUT_AUTHENTICATE) /* Authentication required. */
Loading