Support for 128-bit UUID service discovery

Support the discovery of custom 128-bit UUIDs. This is mainly needed for
GATT service discovery to find custom services.

Bug: 10116729
Change-Id: I8669111dfb8806f5632b7ea8ad02f0e38dded66f
diff --git a/stack/sdp/sdp_api.c b/stack/sdp/sdp_api.c
index 4899aa8..9ad959a 100644
--- a/stack/sdp/sdp_api.c
+++ b/stack/sdp/sdp_api.c
@@ -351,12 +351,22 @@
             {
                 if (SDP_DISC_ATTR_TYPE(p_sattr->attr_len_type) == UUID_DESC_TYPE)
                 {
-                    /* only support 16 bits UUID for now */
-                    if (SDP_DISC_ATTR_LEN(p_sattr->attr_len_type) == 2)
+                    if (SDP_DISC_ATTR_LEN(p_sattr->attr_len_type) == LEN_UUID_16)
                     {
-                        p_uuid->len = 2;
+                        p_uuid->len = LEN_UUID_16;
                         p_uuid->uu.uuid16 = p_sattr->attr_value.v.u16;
                     }
+                    else if (SDP_DISC_ATTR_LEN(p_sattr->attr_len_type) == LEN_UUID_128)
+                    {
+                        p_uuid->len = LEN_UUID_128;
+                        memcpy(p_uuid->uu.uuid128, p_sattr->attr_value.v.array, LEN_UUID_128);
+                    }
+                    else if (SDP_DISC_ATTR_LEN(p_sattr->attr_len_type) == LEN_UUID_32)
+                    {
+                        p_uuid->len = LEN_UUID_32;
+                        p_uuid->uu.uuid32 = p_sattr->attr_value.v.u32;
+                    }
+
                     return(TRUE);
                 }
 
@@ -548,12 +558,6 @@
             else if (p_attr->attr_id == ATTR_ID_SERVICE_ID)
             {
                 if ((SDP_DISC_ATTR_TYPE(p_attr->attr_len_type) == UUID_DESC_TYPE)
-                    && (SDP_DISC_ATTR_LEN(p_attr->attr_len_type) == 2))
-                {
-                    printf("SDP_FindServiceInDb - p_attr value = 0x%x serviceuuid= 0x%x \r\n", p_attr->attr_value.v.u16, service_uuid);
-                }
-
-                if ((SDP_DISC_ATTR_TYPE(p_attr->attr_len_type) == UUID_DESC_TYPE)
                     && (SDP_DISC_ATTR_LEN(p_attr->attr_len_type) == 2)
                     /* find a specific UUID or anyone */
                     && ((p_attr->attr_value.v.u16 == service_uuid) || service_uuid == 0))