Loading system/bta/ag/bta_ag_act.cc +2 −0 Original line number Diff line number Diff line Loading @@ -100,6 +100,7 @@ void bta_ag_register(tBTA_AG_SCB* p_scb, const tBTA_AG_DATA& data) { /* initialize control block */ p_scb->reg_services = data.api_register.services; p_scb->features = data.api_register.features; p_scb->masked_features = data.api_register.features; p_scb->app_id = data.api_register.app_id; /* create SDP records */ Loading Loading @@ -361,6 +362,7 @@ void bta_ag_rfc_close(tBTA_AG_SCB* p_scb, /* reinitialize stuff */ p_scb->conn_service = 0; p_scb->peer_features = 0; p_scb->masked_features = p_scb->features; p_scb->peer_codecs = BTA_AG_CODEC_CVSD; p_scb->sco_codec = BTA_AG_CODEC_CVSD; /* Clear these flags upon SLC teardown */ Loading system/bta/ag/bta_ag_cmd.cc +6 −7 Original line number Diff line number Diff line Loading @@ -963,7 +963,7 @@ void bta_ag_at_hfp_cback(tBTA_AG_SCB* p_scb, uint16_t cmd, uint8_t arg_type, ** peer features do not have HF Indicators, service level conn. now open */ if (!p_scb->svc_conn && !((p_scb->features & BTA_AG_FEAT_HF_IND) && !((p_scb->masked_features & BTA_AG_FEAT_HF_IND) && (p_scb->peer_features & BTA_AG_PEER_FEAT_HF_IND))) { bta_ag_svc_conn_open(p_scb, tBTA_AG_DATA::kEmpty); } Loading Loading @@ -1060,9 +1060,9 @@ void bta_ag_at_hfp_cback(tBTA_AG_SCB* p_scb, uint16_t cmd, uint8_t arg_type, * peer features do not have 3-way or HF Indicators, service level conn. * now open */ if (!p_scb->svc_conn && !((p_scb->features & BTA_AG_FEAT_3WAY) && !((p_scb->masked_features & BTA_AG_FEAT_3WAY) && (p_scb->peer_features & BTA_AG_PEER_FEAT_3WAY)) && !((p_scb->features & BTA_AG_FEAT_HF_IND) && !((p_scb->masked_features & BTA_AG_FEAT_HF_IND) && (p_scb->peer_features & BTA_AG_PEER_FEAT_HF_IND))) { bta_ag_svc_conn_open(p_scb, tBTA_AG_DATA::kEmpty); } Loading Loading @@ -1102,17 +1102,16 @@ void bta_ag_at_hfp_cback(tBTA_AG_SCB* p_scb, uint16_t cmd, uint8_t arg_type, /* store peer features */ p_scb->peer_features = (uint16_t)int_arg; tBTA_AG_FEAT features = p_scb->features; if (p_scb->peer_version < HFP_VERSION_1_7) { features &= HFP_1_6_FEAT_MASK; p_scb->masked_features &= HFP_1_6_FEAT_MASK; } APPL_TRACE_DEBUG("%s BRSF HF: 0x%x, phone: 0x%x", __func__, p_scb->peer_features, features); p_scb->peer_features, p_scb->masked_features); /* send BRSF, send OK */ bta_ag_send_result(p_scb, BTA_AG_LOCAL_RES_BRSF, nullptr, (int16_t)features); (int16_t)p_scb->masked_features); bta_ag_send_ok(p_scb); break; } Loading system/bta/ag/bta_ag_int.h +1 −0 Original line number Diff line number Diff line Loading @@ -203,6 +203,7 @@ struct tBTA_AG_SCB { tBTA_SERVICE_MASK open_services; /* services specified in open API */ uint16_t conn_handle; /* RFCOMM handle of connected service */ tBTA_AG_FEAT features; /* features registered by application */ tBTA_AG_FEAT masked_features; /* local BRSF features for this connection */ tBTA_AG_PEER_FEAT peer_features; /* peer device features */ uint16_t peer_sdp_features; /* peer device SDP features */ uint16_t peer_version; /* profile version of peer device */ Loading Loading
system/bta/ag/bta_ag_act.cc +2 −0 Original line number Diff line number Diff line Loading @@ -100,6 +100,7 @@ void bta_ag_register(tBTA_AG_SCB* p_scb, const tBTA_AG_DATA& data) { /* initialize control block */ p_scb->reg_services = data.api_register.services; p_scb->features = data.api_register.features; p_scb->masked_features = data.api_register.features; p_scb->app_id = data.api_register.app_id; /* create SDP records */ Loading Loading @@ -361,6 +362,7 @@ void bta_ag_rfc_close(tBTA_AG_SCB* p_scb, /* reinitialize stuff */ p_scb->conn_service = 0; p_scb->peer_features = 0; p_scb->masked_features = p_scb->features; p_scb->peer_codecs = BTA_AG_CODEC_CVSD; p_scb->sco_codec = BTA_AG_CODEC_CVSD; /* Clear these flags upon SLC teardown */ Loading
system/bta/ag/bta_ag_cmd.cc +6 −7 Original line number Diff line number Diff line Loading @@ -963,7 +963,7 @@ void bta_ag_at_hfp_cback(tBTA_AG_SCB* p_scb, uint16_t cmd, uint8_t arg_type, ** peer features do not have HF Indicators, service level conn. now open */ if (!p_scb->svc_conn && !((p_scb->features & BTA_AG_FEAT_HF_IND) && !((p_scb->masked_features & BTA_AG_FEAT_HF_IND) && (p_scb->peer_features & BTA_AG_PEER_FEAT_HF_IND))) { bta_ag_svc_conn_open(p_scb, tBTA_AG_DATA::kEmpty); } Loading Loading @@ -1060,9 +1060,9 @@ void bta_ag_at_hfp_cback(tBTA_AG_SCB* p_scb, uint16_t cmd, uint8_t arg_type, * peer features do not have 3-way or HF Indicators, service level conn. * now open */ if (!p_scb->svc_conn && !((p_scb->features & BTA_AG_FEAT_3WAY) && !((p_scb->masked_features & BTA_AG_FEAT_3WAY) && (p_scb->peer_features & BTA_AG_PEER_FEAT_3WAY)) && !((p_scb->features & BTA_AG_FEAT_HF_IND) && !((p_scb->masked_features & BTA_AG_FEAT_HF_IND) && (p_scb->peer_features & BTA_AG_PEER_FEAT_HF_IND))) { bta_ag_svc_conn_open(p_scb, tBTA_AG_DATA::kEmpty); } Loading Loading @@ -1102,17 +1102,16 @@ void bta_ag_at_hfp_cback(tBTA_AG_SCB* p_scb, uint16_t cmd, uint8_t arg_type, /* store peer features */ p_scb->peer_features = (uint16_t)int_arg; tBTA_AG_FEAT features = p_scb->features; if (p_scb->peer_version < HFP_VERSION_1_7) { features &= HFP_1_6_FEAT_MASK; p_scb->masked_features &= HFP_1_6_FEAT_MASK; } APPL_TRACE_DEBUG("%s BRSF HF: 0x%x, phone: 0x%x", __func__, p_scb->peer_features, features); p_scb->peer_features, p_scb->masked_features); /* send BRSF, send OK */ bta_ag_send_result(p_scb, BTA_AG_LOCAL_RES_BRSF, nullptr, (int16_t)features); (int16_t)p_scb->masked_features); bta_ag_send_ok(p_scb); break; } Loading
system/bta/ag/bta_ag_int.h +1 −0 Original line number Diff line number Diff line Loading @@ -203,6 +203,7 @@ struct tBTA_AG_SCB { tBTA_SERVICE_MASK open_services; /* services specified in open API */ uint16_t conn_handle; /* RFCOMM handle of connected service */ tBTA_AG_FEAT features; /* features registered by application */ tBTA_AG_FEAT masked_features; /* local BRSF features for this connection */ tBTA_AG_PEER_FEAT peer_features; /* peer device features */ uint16_t peer_sdp_features; /* peer device SDP features */ uint16_t peer_version; /* profile version of peer device */ Loading