case A2DP_SERVICE_ID:
connected = _bt_is_headset_type_connected(BT_AUDIO_A2DP, connected_address);
+ if (TIZEN_FEATURE_DA_REFERENCE) {
+ if (!connected)
+ connected = _bt_is_headset_type_connected(BT_AUDIO_A2DP_SOURCE, connected_address);
+ }
+
if (connected) {
BT_INFO("A2DP is already connected..check which device..");
if (g_strcmp0(connected_address, address) != 0) {
return;
}
} else {
+ if (TIZEN_FEATURE_DA_REFERENCE) {
+ 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) {
+ 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;
+ }
+ }
+ }
+
res = device_reply_auth_request((bt_address_t*)&device_address, service_id, TRUE, FALSE);
if (res != OAL_STATUS_SUCCESS)
BT_ERR("authorize_response: %d", res);
return;
}
+ if (TIZEN_FEATURE_DA_REFERENCE) {
+ char a2dp_connected_address[BT_ADDRESS_STRING_SIZE + 1];
+ gboolean a2dp_connected = FALSE;
+
+ a2dp_connected = _bt_is_headset_type_connected(BT_AUDIO_A2DP_SOURCE, a2dp_connected_address);
+
+ if (a2dp_connected) {
+ if (g_strcmp0(a2dp_connected_address, address) != 0) {
+ BT_INFO("Different device is A2DP Source connected[%s] reject current [%s] device authorization request",
+ a2dp_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;
+ }
+ }
+
+ a2dp_connected = _bt_is_headset_type_connected(BT_AUDIO_A2DP, a2dp_connected_address);
+
+ if (a2dp_connected) {
+ if (g_strcmp0(a2dp_connected_address, address) != 0) {
+ BT_INFO("Different device is A2DP Sink connected[%s] reject current [%s] device authorization request",
+ a2dp_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) {
BT_INFO("[%d] device is already connected..check which device..", service_id);
if (g_strcmp0(connected_address, address) != 0) {