oal_status_t res = OAL_STATUS_SUCCESS;
_bt_convert_addr_string_to_type(device_address.addr, address);
-
+ BT_DBG("service_id [%d]", service_id);
switch (service_id) {
case HSP_SERVICE_ID:
case HFP_SERVICE_ID:
BT_DBG("Connected [0x%x]", connected);
break;
case AVRCP_SERVICE_ID:
+ if (TIZEN_FEATURE_DA_REFERENCE) {
+ connected = _bt_is_headset_type_connected(BT_AVRCP_TARGET, connected_address);
+ BT_DBG("Connected [0x%x]", connected);
+ }
break;
default:
BT_ERR("Invalid HFP device ID.. [%d]", service_id);
return;
}
}
+
+ if(service_id == AVRCP_SERVICE_ID) {
+ char hfp_connected_address[BT_ADDRESS_STRING_SIZE + 1];
+ gboolean hfp_connected = FALSE;
+ hfp_connected = _bt_is_headset_type_connected(BT_AUDIO_AG, hfp_connected_address);
+
+ if (hfp_connected) {
+ BT_INFO("device is already connected..check which device..");
+ if (g_strcmp0(hfp_connected_address, address) != 0) {
+ BT_INFO("Different device is HF connected[%s] reject current [%s] device authorization request",
+ hfp_connected_address, address);
+ res = device_reply_auth_request((bt_address_t*)&device_address, service_id, FALSE, FALSE);
+ if (res != OAL_STATUS_SUCCESS)
+ BT_ERR("authorize_response: %d", res);
+ return;
+ }
+ }
+ }
}
if (connected) {
break;
case AVRCP_SERVICE_ID:
BT_DBG("Incoming AVRCP (Remote) Profile conn Req from device addr [%s]", address);
+ if (TIZEN_FEATURE_DA_REFERENCE) {
+ _bt_audio_handle_incoming_authorization(address, service_id);
+ return;
+ }
break;
case AVRCP_CT_SERVICE_ID:
BT_DBG("Incoming AVRCP (Remote: Controller) Profile conn Req from device addr [%s]", address);
+ if (TIZEN_FEATURE_DA_REFERENCE) {
+ _bt_audio_handle_incoming_authorization(address, service_id);
+ return;
+ }
break;
#ifdef TIZEN_FEATURE_BT_OBEX
case OPP_SERVICE_ID: {