Hearing Aid: Use valid COC service id
Test: disconnect hearing aid and let remote device connect to it
Bug: 116317072
Bug: 117423102
Change-Id: Iea001d287256f4d7d9e8213ac8a4f03d78f4bbc5
Merged-In: Iea001d287256f4d7d9e8213ac8a4f03d78f4bbc5
(cherry picked from commit 0df1bffc0b4e7ae0bd855684d91492168ab2c410)
diff --git a/bta/hearing_aid/hearing_aid.cc b/bta/hearing_aid/hearing_aid.cc
index d0c6df1..d698e00 100644
--- a/bta/hearing_aid/hearing_aid.cc
+++ b/bta/hearing_aid/hearing_aid.cc
@@ -704,8 +704,11 @@
void ConnectSocket(HearingDevice* hearingDevice) {
tL2CAP_CFG_INFO cfg_info = tL2CAP_CFG_INFO{.mtu = 512};
+ uint8_t service_id = hearingDevice->isLeft()
+ ? BTM_SEC_SERVICE_HEARING_AID_LEFT
+ : BTM_SEC_SERVICE_HEARING_AID_RIGHT;
uint16_t gap_handle = GAP_ConnOpen(
- "", 0, false, &hearingDevice->address, hearingDevice->psm,
+ "", service_id, false, &hearingDevice->address, hearingDevice->psm,
514 /* MPS */, &cfg_info, nullptr,
BTM_SEC_NONE /* TODO: request security ? */, L2CAP_FCR_LE_COC_MODE,
HearingAidImpl::GapCallbackStatic, BT_TRANSPORT_LE);
diff --git a/stack/include/btm_api_types.h b/stack/include/btm_api_types.h
index df7b64d..8cc9485 100644
--- a/stack/include/btm_api_types.h
+++ b/stack/include/btm_api_types.h
@@ -1192,9 +1192,11 @@
#define BTM_SEC_SERVICE_HIDD_SEC_CTRL 51
#define BTM_SEC_SERVICE_HIDD_NOSEC_CTRL 52
#define BTM_SEC_SERVICE_HIDD_INTR 53
+#define BTM_SEC_SERVICE_HEARING_AID_LEFT 54
+#define BTM_SEC_SERVICE_HEARING_AID_RIGHT 55
/* Update these as services are added */
-#define BTM_SEC_SERVICE_FIRST_EMPTY 54
+#define BTM_SEC_SERVICE_FIRST_EMPTY 56
#ifndef BTM_SEC_MAX_SERVICES
#define BTM_SEC_MAX_SERVICES 75