Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 485a950a authored by Henri Chataing's avatar Henri Chataing
Browse files

system/bta/sdp: Migrate to libbluetooth_log

Test: m com.android.btservices
Bug: 305066880
Flag: EXEMPT, mechanical refactor
Change-Id: I80125dcabe5e5433be2b9e66bc47161c1ace43a7
parent 05f3ae93
Loading
Loading
Loading
Loading
+77 −77
Original line number Original line Diff line number Diff line
@@ -20,6 +20,7 @@
 *  This file contains action functions for SDP search.
 *  This file contains action functions for SDP search.
 ******************************************************************************/
 ******************************************************************************/


#include <bluetooth/log.h>
#include <frameworks/proto_logging/stats/enums/bluetooth/enums.pb.h>
#include <frameworks/proto_logging/stats/enums/bluetooth/enums.pb.h>
#include <hardware/bt_sdp.h>
#include <hardware/bt_sdp.h>


@@ -41,6 +42,7 @@
#include "types/raw_address.h"
#include "types/raw_address.h"


using namespace bluetooth::legacy::stack::sdp;
using namespace bluetooth::legacy::stack::sdp;
using namespace bluetooth;


static void bta_create_mns_sdp_record(bluetooth_sdp_record* record,
static void bta_create_mns_sdp_record(bluetooth_sdp_record* record,
                                      tSDP_DISC_REC* p_rec) {
                                      tSDP_DISC_REC* p_rec) {
@@ -62,10 +64,10 @@ static void bta_create_mns_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 4) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 4) {
      record->mns.supported_features = p_attr->attr_value.v.u32;
      record->mns.supported_features = p_attr->attr_value.v.u32;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_MAP_SUPPORTED_FEATURES attr type or size wrong!!");
      log::error("ATTR_ID_MAP_SUPPORTED_FEATURES attr type or size wrong!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_MAP_SUPPORTED_FEATURES attr not found!!");
    log::error("ATTR_ID_MAP_SUPPORTED_FEATURES attr not found!!");
  }
  }


  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
@@ -76,10 +78,10 @@ static void bta_create_mns_sdp_record(bluetooth_sdp_record* record,
          SDP_DISC_ATTR_LEN(p_attr->attr_len_type);
          SDP_DISC_ATTR_LEN(p_attr->attr_len_type);
      record->mns.hdr.service_name = (char*)p_attr->attr_value.v.array;
      record->mns.hdr.service_name = (char*)p_attr->attr_value.v.array;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_SERVICE_NAME attr type not TEXT_STR_DESC_TYPE!!");
      log::error("ATTR_ID_SERVICE_NAME attr type not TEXT_STR_DESC_TYPE!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_SERVICE_NAME attr not found!!");
    log::error("ATTR_ID_SERVICE_NAME attr not found!!");
  }
  }


  if (get_legacy_stack_sdp_api()->record.SDP_FindProfileVersionInRec(
  if (get_legacy_stack_sdp_api()->record.SDP_FindProfileVersionInRec(
@@ -99,10 +101,10 @@ static void bta_create_mns_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
      record->mns.hdr.l2cap_psm = p_attr->attr_value.v.u16;
      record->mns.hdr.l2cap_psm = p_attr->attr_value.v.u16;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_GOEP_L2CAP_PSM attr type or len wrong!!");
      log::error("ATTR_ID_GOEP_L2CAP_PSM attr type or len wrong!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_GOEP_L2CAP_PSM attr not found!!");
    log::error("ATTR_ID_GOEP_L2CAP_PSM attr not found!!");
  }
  }
}
}


@@ -129,10 +131,10 @@ static void bta_create_mas_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 1) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 1) {
      record->mas.mas_instance_id = p_attr->attr_value.v.u8;
      record->mas.mas_instance_id = p_attr->attr_value.v.u8;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_MAS_INSTANCE_ID attr type or len wrong!!");
      log::error("ATTR_ID_MAS_INSTANCE_ID attr type or len wrong!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_MAS_INSTANCE_ID attr not found!!");
    log::error("ATTR_ID_MAS_INSTANCE_ID attr not found!!");
  }
  }


  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
@@ -142,10 +144,10 @@ static void bta_create_mas_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 1) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 1) {
      record->mas.supported_message_types = p_attr->attr_value.v.u8;
      record->mas.supported_message_types = p_attr->attr_value.v.u8;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_SUPPORTED_MSG_TYPE attr type or len wrong!!");
      log::error("ATTR_ID_SUPPORTED_MSG_TYPE attr type or len wrong!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_SUPPORTED_MSG_TYPE attr not found!!");
    log::error("ATTR_ID_SUPPORTED_MSG_TYPE attr not found!!");
  }
  }


  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
@@ -155,10 +157,10 @@ static void bta_create_mas_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 4) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 4) {
      record->mas.supported_features = p_attr->attr_value.v.u32;
      record->mas.supported_features = p_attr->attr_value.v.u32;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_MAP_SUPPORTED_FEATURES attr type or len wrong!!");
      log::error("ATTR_ID_MAP_SUPPORTED_FEATURES attr type or len wrong!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_MAP_SUPPORTED_FEATURES attr not found!!");
    log::error("ATTR_ID_MAP_SUPPORTED_FEATURES attr not found!!");
  }
  }


  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
@@ -169,10 +171,10 @@ static void bta_create_mas_sdp_record(bluetooth_sdp_record* record,
          SDP_DISC_ATTR_LEN(p_attr->attr_len_type);
          SDP_DISC_ATTR_LEN(p_attr->attr_len_type);
      record->mas.hdr.service_name = (char*)p_attr->attr_value.v.array;
      record->mas.hdr.service_name = (char*)p_attr->attr_value.v.array;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_SERVICE_NAME attr type wrong!!");
      log::error("ATTR_ID_SERVICE_NAME attr type wrong!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_SERVICE_NAME attr not found!!");
    log::error("ATTR_ID_SERVICE_NAME attr not found!!");
  }
  }


  if (get_legacy_stack_sdp_api()->record.SDP_FindProfileVersionInRec(
  if (get_legacy_stack_sdp_api()->record.SDP_FindProfileVersionInRec(
@@ -192,10 +194,10 @@ static void bta_create_mas_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
      record->mas.hdr.l2cap_psm = p_attr->attr_value.v.u16;
      record->mas.hdr.l2cap_psm = p_attr->attr_value.v.u16;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_GOEP_L2CAP_PSM attr type or len wrong!!");
      log::error("ATTR_ID_GOEP_L2CAP_PSM attr type or len wrong!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_GOEP_L2CAP_PSM attr not found!!");
    log::error("ATTR_ID_GOEP_L2CAP_PSM attr not found!!");
  }
  }
}
}


@@ -221,10 +223,10 @@ static void bta_create_pse_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 1) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 1) {
      record->pse.supported_repositories = p_attr->attr_value.v.u8;
      record->pse.supported_repositories = p_attr->attr_value.v.u8;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_SUPPORTED_REPOSITORIES attr type or len wrong!!");
      log::error("ATTR_ID_SUPPORTED_REPOSITORIES attr type or len wrong!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_SUPPORTED_REPOSITORIES attr not found!!");
    log::error("ATTR_ID_SUPPORTED_REPOSITORIES attr not found!!");
  }
  }
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
      p_rec, ATTR_ID_PBAP_SUPPORTED_FEATURES);
      p_rec, ATTR_ID_PBAP_SUPPORTED_FEATURES);
@@ -233,10 +235,10 @@ static void bta_create_pse_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 4) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 4) {
      record->pse.supported_features = p_attr->attr_value.v.u32;
      record->pse.supported_features = p_attr->attr_value.v.u32;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_PBAP_SUPPORTED_FEATURES attr type or len wrong!!");
      log::error("ATTR_ID_PBAP_SUPPORTED_FEATURES attr type or len wrong!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_PBAP_SUPPORTED_FEATURES attr not found!!");
    log::error("ATTR_ID_PBAP_SUPPORTED_FEATURES attr not found!!");
  }
  }


  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
@@ -248,10 +250,10 @@ static void bta_create_pse_sdp_record(bluetooth_sdp_record* record,
      // TODO: validate the lifetime of this value
      // TODO: validate the lifetime of this value
      record->pse.hdr.service_name = (char*)p_attr->attr_value.v.array;
      record->pse.hdr.service_name = (char*)p_attr->attr_value.v.array;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_SERVICE_NAME attr type NOT string!!");
      log::error("ATTR_ID_SERVICE_NAME attr type NOT string!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_SERVICE_NAME attr not found!!");
    log::error("ATTR_ID_SERVICE_NAME attr not found!!");
  }
  }


  if (get_legacy_stack_sdp_api()->record.SDP_FindProfileVersionInRec(
  if (get_legacy_stack_sdp_api()->record.SDP_FindProfileVersionInRec(
@@ -271,10 +273,10 @@ static void bta_create_pse_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
      record->pse.hdr.l2cap_psm = p_attr->attr_value.v.u16;
      record->pse.hdr.l2cap_psm = p_attr->attr_value.v.u16;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_GOEP_L2CAP_PSM attr type or len wrong!!");
      log::error("ATTR_ID_GOEP_L2CAP_PSM attr type or len wrong!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_GOEP_L2CAP_PSM attr not found!!");
    log::error("ATTR_ID_GOEP_L2CAP_PSM attr not found!!");
  }
  }
}
}


@@ -300,10 +302,10 @@ static void bta_create_ops_sdp_record(bluetooth_sdp_record* record,
          SDP_DISC_ATTR_LEN(p_attr->attr_len_type);
          SDP_DISC_ATTR_LEN(p_attr->attr_len_type);
      record->ops.hdr.service_name = (char*)p_attr->attr_value.v.array;
      record->ops.hdr.service_name = (char*)p_attr->attr_value.v.array;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_SERVICE_NAME attr type NOT string!!");
      log::error("ATTR_ID_SERVICE_NAME attr type NOT string!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_SERVICE_NAME attr not found!!");
    log::error("ATTR_ID_SERVICE_NAME attr not found!!");
  }
  }


  if (get_legacy_stack_sdp_api()->record.SDP_FindProfileVersionInRec(
  if (get_legacy_stack_sdp_api()->record.SDP_FindProfileVersionInRec(
@@ -323,10 +325,10 @@ static void bta_create_ops_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
      record->ops.hdr.l2cap_psm = p_attr->attr_value.v.u16;
      record->ops.hdr.l2cap_psm = p_attr->attr_value.v.u16;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_GOEP_L2CAP_PSM attr type or len wrong!!");
      log::error("ATTR_ID_GOEP_L2CAP_PSM attr type or len wrong!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_GOEP_L2CAP_PSM attr not found!!");
    log::error("ATTR_ID_GOEP_L2CAP_PSM attr not found!!");
  }
  }


  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
@@ -335,10 +337,10 @@ static void bta_create_ops_sdp_record(bluetooth_sdp_record* record,
    /* Safety check - each entry should itself be a sequence */
    /* Safety check - each entry should itself be a sequence */
    if (SDP_DISC_ATTR_TYPE(p_attr->attr_len_type) != DATA_ELE_SEQ_DESC_TYPE) {
    if (SDP_DISC_ATTR_TYPE(p_attr->attr_len_type) != DATA_ELE_SEQ_DESC_TYPE) {
      record->ops.supported_formats_list_len = 0;
      record->ops.supported_formats_list_len = 0;
      LOG_ERROR(
      log::error(
          "%s() - supported_formats_list - wrong attribute length/type:"
          "supported_formats_list - wrong attribute length/type: 0x{:02x} - "
          " 0x%02x - expected 0x06",
          "expected 0x06",
          __func__, p_attr->attr_len_type);
          p_attr->attr_len_type);
    } else {
    } else {
      int count = 0;
      int count = 0;
      /* 1 byte for type/length 1 byte for value */
      /* 1 byte for type/length 1 byte for value */
@@ -351,10 +353,9 @@ static void bta_create_ops_sdp_record(bluetooth_sdp_record* record,
        if ((SDP_DISC_ATTR_TYPE(p_sattr->attr_len_type) == UINT_DESC_TYPE) &&
        if ((SDP_DISC_ATTR_TYPE(p_sattr->attr_len_type) == UINT_DESC_TYPE) &&
            (SDP_DISC_ATTR_LEN(p_sattr->attr_len_type) >= 1)) {
            (SDP_DISC_ATTR_LEN(p_sattr->attr_len_type) >= 1)) {
          if (count == sizeof(record->ops.supported_formats_list)) {
          if (count == sizeof(record->ops.supported_formats_list)) {
            LOG_ERROR(
            log::error(
                "%s() - supported_formats_list - count overflow - "
                "supported_formats_list - count overflow - too many sub "
                "too many sub attributes!!",
                "attributes!!");
                __func__);
            /* If you hit this, new formats have been added,
            /* If you hit this, new formats have been added,
             * update SDP_OPP_SUPPORTED_FORMATS_MAX_LENGTH */
             * update SDP_OPP_SUPPORTED_FORMATS_MAX_LENGTH */
            break;
            break;
@@ -362,19 +363,19 @@ static void bta_create_ops_sdp_record(bluetooth_sdp_record* record,
          record->ops.supported_formats_list[count] = p_sattr->attr_value.v.u8;
          record->ops.supported_formats_list[count] = p_sattr->attr_value.v.u8;
          count++;
          count++;
        } else {
        } else {
          LOG_ERROR(
          log::error(
              "%s() - supported_formats_list - wrong sub attribute "
              "supported_formats_list - wrong sub attribute length/type: "
              "length/type: 0x%02x - expected 0x80",
              "0x{:02x} - expected 0x80",
              __func__, p_sattr->attr_len_type);
              p_sattr->attr_len_type);
          break;
          break;
        }
        }
      }
      }
      if (record->ops.supported_formats_list_len != count) {
      if (record->ops.supported_formats_list_len != count) {
        LOG_WARN(
        log::warn(
            "%s() - supported_formats_list - Length of attribute different "
            "supported_formats_list - Length of attribute different from the "
            "from the actual number of sub-attributes in the sequence "
            "actual number of sub-attributes in the sequence att-length: {} - "
            "att-length: %d - number of elements: %d",
            "number of elements: {}",
            __func__, record->ops.supported_formats_list_len, count);
            record->ops.supported_formats_list_len, count);
      }
      }
      record->ops.supported_formats_list_len = count;
      record->ops.supported_formats_list_len = count;
    }
    }
@@ -402,10 +403,10 @@ static void bta_create_sap_sdp_record(bluetooth_sdp_record* record,
          SDP_DISC_ATTR_LEN(p_attr->attr_len_type);
          SDP_DISC_ATTR_LEN(p_attr->attr_len_type);
      record->sap.hdr.service_name = (char*)p_attr->attr_value.v.array;
      record->sap.hdr.service_name = (char*)p_attr->attr_value.v.array;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_SERVICE_NAME attr type NOT string!!");
      log::error("ATTR_ID_SERVICE_NAME attr type NOT string!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_SERVICE_NAME attr not found!!");
    log::error("ATTR_ID_SERVICE_NAME attr not found!!");
  }
  }


  if (get_legacy_stack_sdp_api()->record.SDP_FindProfileVersionInRec(
  if (get_legacy_stack_sdp_api()->record.SDP_FindProfileVersionInRec(
@@ -423,7 +424,7 @@ static void bta_create_dip_sdp_record(bluetooth_sdp_record* record,
                                      tSDP_DISC_REC* p_rec) {
                                      tSDP_DISC_REC* p_rec) {
  tSDP_DISC_ATTR* p_attr;
  tSDP_DISC_ATTR* p_attr;


  LOG_VERBOSE("%s()", __func__);
  log::verbose("");


  /* hdr is redundancy in dip */
  /* hdr is redundancy in dip */
  record->dip.hdr.type = SDP_TYPE_DIP;
  record->dip.hdr.type = SDP_TYPE_DIP;
@@ -440,10 +441,10 @@ static void bta_create_dip_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
      record->dip.spec_id = p_attr->attr_value.v.u16;
      record->dip.spec_id = p_attr->attr_value.v.u16;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_SPECIFICATION_ID attr type or len wrong!!");
      log::error("ATTR_ID_SPECIFICATION_ID attr type or len wrong!!");
    }
    }
  } else {
  } else {
    LOG_ERROR("%s() ATTR_ID_SPECIFICATION_ID not found", __func__);
    log::error("ATTR_ID_SPECIFICATION_ID not found");
  }
  }


  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
@@ -453,10 +454,10 @@ static void bta_create_dip_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
      record->dip.vendor = p_attr->attr_value.v.u16;
      record->dip.vendor = p_attr->attr_value.v.u16;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_VENDOR_ID attr type or len wrong!!");
      log::error("ATTR_ID_VENDOR_ID attr type or len wrong!!");
    }
    }
  } else {
  } else {
    LOG_ERROR("%s() ATTR_ID_VENDOR_ID not found", __func__);
    log::error("ATTR_ID_VENDOR_ID not found");
  }
  }


  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
@@ -466,10 +467,10 @@ static void bta_create_dip_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
      record->dip.vendor_id_source = p_attr->attr_value.v.u16;
      record->dip.vendor_id_source = p_attr->attr_value.v.u16;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_VENDOR_ID_SOURCE attr type or len wrong!!");
      log::error("ATTR_ID_VENDOR_ID_SOURCE attr type or len wrong!!");
    }
    }
  } else {
  } else {
    LOG_ERROR("%s() ATTR_ID_VENDOR_ID_SOURCE not found", __func__);
    log::error("ATTR_ID_VENDOR_ID_SOURCE not found");
  }
  }


  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
@@ -479,10 +480,10 @@ static void bta_create_dip_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
      record->dip.product = p_attr->attr_value.v.u16;
      record->dip.product = p_attr->attr_value.v.u16;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_PRODUCT_ID attr type or len wrong!!");
      log::error("ATTR_ID_PRODUCT_ID attr type or len wrong!!");
    }
    }
  } else {
  } else {
    LOG_ERROR("%s() ATTR_ID_PRODUCT_ID not found", __func__);
    log::error("ATTR_ID_PRODUCT_ID not found");
  }
  }


  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
@@ -492,10 +493,10 @@ static void bta_create_dip_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 2) {
      record->dip.version = p_attr->attr_value.v.u16;
      record->dip.version = p_attr->attr_value.v.u16;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_PRODUCT_VERSION attr type or len wrong!!");
      log::error("ATTR_ID_PRODUCT_VERSION attr type or len wrong!!");
    }
    }
  } else {
  } else {
    LOG_ERROR("%s() ATTR_ID_PRODUCT_VERSION not found", __func__);
    log::error("ATTR_ID_PRODUCT_VERSION not found");
  }
  }


  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
  p_attr = get_legacy_stack_sdp_api()->record.SDP_FindAttributeInRec(
@@ -505,10 +506,10 @@ static void bta_create_dip_sdp_record(bluetooth_sdp_record* record,
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 1) {
        SDP_DISC_ATTR_LEN(p_attr->attr_len_type) >= 1) {
      record->dip.primary_record = !(!p_attr->attr_value.v.u8);
      record->dip.primary_record = !(!p_attr->attr_value.v.u8);
    } else {
    } else {
      LOG_ERROR("ATTR_ID_PRIMARY_RECORD attr type or len wrong!!");
      log::error("ATTR_ID_PRIMARY_RECORD attr type or len wrong!!");
    }
    }
  } else {
  } else {
    LOG_ERROR("%s() ATTR_ID_PRIMARY_RECORD not found", __func__);
    log::error("ATTR_ID_PRIMARY_RECORD not found");
  }
  }
}
}


@@ -533,10 +534,10 @@ static void bta_create_raw_sdp_record(bluetooth_sdp_record* record,
          SDP_DISC_ATTR_LEN(p_attr->attr_len_type);
          SDP_DISC_ATTR_LEN(p_attr->attr_len_type);
      record->pse.hdr.service_name = (char*)p_attr->attr_value.v.array;
      record->pse.hdr.service_name = (char*)p_attr->attr_value.v.array;
    } else {
    } else {
      LOG_ERROR("ATTR_ID_SERVICE_NAME attr type NOT string!!");
      log::error("ATTR_ID_SERVICE_NAME attr type NOT string!!");
    }
    }
  } else {
  } else {
      LOG_ERROR("ATTR_ID_SERVICE_NAME attr not found!!");
    log::error("ATTR_ID_SERVICE_NAME attr not found!!");
  }
  }


  /* Try to extract an RFCOMM channel */
  /* Try to extract an RFCOMM channel */
@@ -553,7 +554,7 @@ static void bta_sdp_search_cback(UNUSED_ATTR const RawAddress& bd_addr,
                                 tSDP_RESULT result, const void* user_data) {
                                 tSDP_RESULT result, const void* user_data) {
  tBTA_SDP_STATUS status = BTA_SDP_FAILURE;
  tBTA_SDP_STATUS status = BTA_SDP_FAILURE;
  int count = 0;
  int count = 0;
  LOG_VERBOSE("%s() -  res: 0x%x", __func__, result);
  log::verbose("res: 0x{:x}", result);


  bta_sdp_cb.sdp_active = false;
  bta_sdp_cb.sdp_active = false;


@@ -573,28 +574,28 @@ static void bta_sdp_search_cback(UNUSED_ATTR const RawAddress& bd_addr,
          p_bta_sdp_cfg->p_sdp_db, uuid, p_rec);
          p_bta_sdp_cfg->p_sdp_db, uuid, p_rec);
      /* generate the matching record data pointer */
      /* generate the matching record data pointer */
      if (!p_rec) {
      if (!p_rec) {
        LOG_VERBOSE("%s() - UUID not found", __func__);
        log::verbose("UUID not found");
        continue;
        continue;
      }
      }


      status = BTA_SDP_SUCCESS;
      status = BTA_SDP_SUCCESS;
      if (uuid == UUID_MAP_MAS) {
      if (uuid == UUID_MAP_MAS) {
        LOG_VERBOSE("%s() - found MAP (MAS) uuid", __func__);
        log::verbose("found MAP (MAS) uuid");
        bta_create_mas_sdp_record(&evt_data.records[count], p_rec);
        bta_create_mas_sdp_record(&evt_data.records[count], p_rec);
      } else if (uuid == UUID_MAP_MNS) {
      } else if (uuid == UUID_MAP_MNS) {
        LOG_VERBOSE("%s() - found MAP (MNS) uuid", __func__);
        log::verbose("found MAP (MNS) uuid");
        bta_create_mns_sdp_record(&evt_data.records[count], p_rec);
        bta_create_mns_sdp_record(&evt_data.records[count], p_rec);
      } else if (uuid == UUID_PBAP_PSE) {
      } else if (uuid == UUID_PBAP_PSE) {
        LOG_VERBOSE("%s() - found PBAP (PSE) uuid", __func__);
        log::verbose("found PBAP (PSE) uuid");
        bta_create_pse_sdp_record(&evt_data.records[count], p_rec);
        bta_create_pse_sdp_record(&evt_data.records[count], p_rec);
      } else if (uuid == UUID_OBEX_OBJECT_PUSH) {
      } else if (uuid == UUID_OBEX_OBJECT_PUSH) {
        LOG_VERBOSE("%s() - found Object Push Server (OPS) uuid", __func__);
        log::verbose("found Object Push Server (OPS) uuid");
        bta_create_ops_sdp_record(&evt_data.records[count], p_rec);
        bta_create_ops_sdp_record(&evt_data.records[count], p_rec);
      } else if (uuid == UUID_SAP) {
      } else if (uuid == UUID_SAP) {
        LOG_VERBOSE("%s() - found SAP uuid", __func__);
        log::verbose("found SAP uuid");
        bta_create_sap_sdp_record(&evt_data.records[count], p_rec);
        bta_create_sap_sdp_record(&evt_data.records[count], p_rec);
      } else if (uuid == UUID_PBAP_PCE) {
      } else if (uuid == UUID_PBAP_PCE) {
        LOG_VERBOSE("%s() - found PBAP (PCE) uuid", __func__);
        log::verbose("found PBAP (PCE) uuid");
        if (p_rec != NULL) {
        if (p_rec != NULL) {
          uint16_t peer_pce_version = 0;
          uint16_t peer_pce_version = 0;


@@ -605,14 +606,14 @@ static void bta_sdp_search_cback(UNUSED_ATTR const RawAddress& bd_addr,
                                                 peer_pce_version);
                                                 peer_pce_version);
          }
          }
        } else {
        } else {
          LOG_VERBOSE("%s() - PCE Record is null", __func__);
          log::verbose("PCE Record is null");
        }
        }
      } else if (uuid == UUID_DIP) {
      } else if (uuid == UUID_DIP) {
        LOG_VERBOSE("%s() - found DIP uuid", __func__);
        log::verbose("found DIP uuid");
        bta_create_dip_sdp_record(&evt_data.records[count], p_rec);
        bta_create_dip_sdp_record(&evt_data.records[count], p_rec);
      } else {
      } else {
        /* we do not have specific structure for this */
        /* we do not have specific structure for this */
        LOG_VERBOSE("%s() - profile not identified. using raw data", __func__);
        log::verbose("profile not identified. using raw data");
        bta_create_raw_sdp_record(&evt_data.records[count], p_rec);
        bta_create_raw_sdp_record(&evt_data.records[count], p_rec);
        p_rec = NULL;  // Terminate loop
        p_rec = NULL;  // Terminate loop
        /* For raw, we only extract the first entry, and then return the
        /* For raw, we only extract the first entry, and then return the
@@ -647,7 +648,7 @@ static void bta_sdp_search_cback(UNUSED_ATTR const RawAddress& bd_addr,
 *
 *
 ******************************************************************************/
 ******************************************************************************/
void bta_sdp_enable(tBTA_SDP_DM_CBACK* p_cback) {
void bta_sdp_enable(tBTA_SDP_DM_CBACK* p_cback) {
  LOG_VERBOSE("%s in, sdp_active:%d", __func__, bta_sdp_cb.sdp_active);
  log::verbose("in, sdp_active:{}", bta_sdp_cb.sdp_active);
  tBTA_SDP_STATUS status = BTA_SDP_SUCCESS;
  tBTA_SDP_STATUS status = BTA_SDP_SUCCESS;
  bta_sdp_cb.p_dm_cback = p_cback;
  bta_sdp_cb.p_dm_cback = p_cback;
  tBTA_SDP bta_sdp;
  tBTA_SDP bta_sdp;
@@ -667,7 +668,7 @@ void bta_sdp_enable(tBTA_SDP_DM_CBACK* p_cback) {
void bta_sdp_search(const RawAddress bd_addr, const bluetooth::Uuid uuid) {
void bta_sdp_search(const RawAddress bd_addr, const bluetooth::Uuid uuid) {
  tBTA_SDP_STATUS status = BTA_SDP_FAILURE;
  tBTA_SDP_STATUS status = BTA_SDP_FAILURE;


  LOG_VERBOSE("%s in, sdp_active:%d", __func__, bta_sdp_cb.sdp_active);
  log::verbose("in, sdp_active:{}", bta_sdp_cb.sdp_active);


  if (bta_sdp_cb.sdp_active) {
  if (bta_sdp_cb.sdp_active) {
    /* SDP is still in progress */
    /* SDP is still in progress */
@@ -689,8 +690,7 @@ void bta_sdp_search(const RawAddress bd_addr, const bluetooth::Uuid uuid) {
  bta_sdp_cb.remote_addr = bd_addr;
  bta_sdp_cb.remote_addr = bd_addr;


  /* initialize the search for the uuid */
  /* initialize the search for the uuid */
  LOG_VERBOSE("%s init discovery with UUID: %s", __func__,
  log::verbose("init discovery with UUID: {}", uuid.ToString());
              uuid.ToString().c_str());
  get_legacy_stack_sdp_api()->service.SDP_InitDiscoveryDb(
  get_legacy_stack_sdp_api()->service.SDP_InitDiscoveryDb(
      p_bta_sdp_cfg->p_sdp_db, p_bta_sdp_cfg->sdp_db_size, 1, &uuid, 0, NULL);
      p_bta_sdp_cfg->p_sdp_db, p_bta_sdp_cfg->sdp_db_size, 1, &uuid, 0, NULL);