Merge "[AWARE] Add service support for SDEA service info"
am: c8b34b1c2c
Change-Id: I433a08ac78cbf565f7c82d70dda0461f4fb2d67d
This commit is contained in:
commit
aac3de67d3
1 changed files with 38 additions and 7 deletions
|
@ -917,7 +917,15 @@ bool convertHidlNanPublishRequestToLegacy(
|
||||||
memcpy(legacy_request->service_specific_info,
|
memcpy(legacy_request->service_specific_info,
|
||||||
hidl_request.baseConfigs.serviceSpecificInfo.data(),
|
hidl_request.baseConfigs.serviceSpecificInfo.data(),
|
||||||
legacy_request->service_specific_info_len);
|
legacy_request->service_specific_info_len);
|
||||||
// TODO: b/35193423 add support for extended service specific info
|
legacy_request->sdea_service_specific_info_len =
|
||||||
|
hidl_request.baseConfigs.extendedServiceSpecificInfo.size();
|
||||||
|
if (legacy_request->sdea_service_specific_info_len > NAN_MAX_SDEA_SERVICE_SPECIFIC_INFO_LEN) {
|
||||||
|
LOG(ERROR) << "convertHidlNanPublishRequestToLegacy: sdea_service_specific_info_len too large";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
memcpy(legacy_request->sdea_service_specific_info,
|
||||||
|
hidl_request.baseConfigs.extendedServiceSpecificInfo.data(),
|
||||||
|
legacy_request->sdea_service_specific_info_len);
|
||||||
legacy_request->rx_match_filter_len = hidl_request.baseConfigs.rxMatchFilter.size();
|
legacy_request->rx_match_filter_len = hidl_request.baseConfigs.rxMatchFilter.size();
|
||||||
if (legacy_request->rx_match_filter_len > NAN_MAX_MATCH_FILTER_LEN) {
|
if (legacy_request->rx_match_filter_len > NAN_MAX_MATCH_FILTER_LEN) {
|
||||||
LOG(ERROR) << "convertHidlNanPublishRequestToLegacy: rx_match_filter_len too large";
|
LOG(ERROR) << "convertHidlNanPublishRequestToLegacy: rx_match_filter_len too large";
|
||||||
|
@ -999,7 +1007,16 @@ bool convertHidlNanSubscribeRequestToLegacy(
|
||||||
memcpy(legacy_request->service_specific_info,
|
memcpy(legacy_request->service_specific_info,
|
||||||
hidl_request.baseConfigs.serviceSpecificInfo.data(),
|
hidl_request.baseConfigs.serviceSpecificInfo.data(),
|
||||||
legacy_request->service_specific_info_len);
|
legacy_request->service_specific_info_len);
|
||||||
// TODO: b/35193423 add support for extended service specific info
|
legacy_request->sdea_service_specific_info_len =
|
||||||
|
hidl_request.baseConfigs.extendedServiceSpecificInfo.size();
|
||||||
|
if (legacy_request->sdea_service_specific_info_len > NAN_MAX_SDEA_SERVICE_SPECIFIC_INFO_LEN) {
|
||||||
|
LOG(ERROR) <<
|
||||||
|
"convertHidlNanSubscribeRequestToLegacy: sdea_service_specific_info_len too large";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
memcpy(legacy_request->sdea_service_specific_info,
|
||||||
|
hidl_request.baseConfigs.extendedServiceSpecificInfo.data(),
|
||||||
|
legacy_request->sdea_service_specific_info_len);
|
||||||
legacy_request->rx_match_filter_len = hidl_request.baseConfigs.rxMatchFilter.size();
|
legacy_request->rx_match_filter_len = hidl_request.baseConfigs.rxMatchFilter.size();
|
||||||
if (legacy_request->rx_match_filter_len > NAN_MAX_MATCH_FILTER_LEN) {
|
if (legacy_request->rx_match_filter_len > NAN_MAX_MATCH_FILTER_LEN) {
|
||||||
LOG(ERROR) << "convertHidlNanSubscribeRequestToLegacy: rx_match_filter_len too large";
|
LOG(ERROR) << "convertHidlNanSubscribeRequestToLegacy: rx_match_filter_len too large";
|
||||||
|
@ -1083,13 +1100,22 @@ bool convertHidlNanTransmitFollowupRequestToLegacy(
|
||||||
legacy_hal::NAN_TRANSMIT_IN_DW : legacy_hal::NAN_TRANSMIT_IN_FAW;
|
legacy_hal::NAN_TRANSMIT_IN_DW : legacy_hal::NAN_TRANSMIT_IN_FAW;
|
||||||
legacy_request->service_specific_info_len = hidl_request.serviceSpecificInfo.size();
|
legacy_request->service_specific_info_len = hidl_request.serviceSpecificInfo.size();
|
||||||
if (legacy_request->service_specific_info_len > NAN_MAX_SERVICE_SPECIFIC_INFO_LEN) {
|
if (legacy_request->service_specific_info_len > NAN_MAX_SERVICE_SPECIFIC_INFO_LEN) {
|
||||||
LOG(ERROR) << "convertHidlNanTransmitFollowupRequestToLegacy: service_specific_info_len too large";
|
LOG(ERROR) <<
|
||||||
|
"convertHidlNanTransmitFollowupRequestToLegacy: service_specific_info_len too large";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
memcpy(legacy_request->service_specific_info,
|
memcpy(legacy_request->service_specific_info,
|
||||||
hidl_request.serviceSpecificInfo.data(),
|
hidl_request.serviceSpecificInfo.data(),
|
||||||
legacy_request->service_specific_info_len);
|
legacy_request->service_specific_info_len);
|
||||||
// TODO: b/35193423 add support for extended service specific info
|
legacy_request->sdea_service_specific_info_len = hidl_request.extendedServiceSpecificInfo.size();
|
||||||
|
if (legacy_request->sdea_service_specific_info_len > NAN_MAX_SDEA_SERVICE_SPECIFIC_INFO_LEN) {
|
||||||
|
LOG(ERROR) <<
|
||||||
|
"convertHidlNanTransmitFollowupRequestToLegacy: sdea_service_specific_info_len too large";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
memcpy(legacy_request->sdea_service_specific_info,
|
||||||
|
hidl_request.extendedServiceSpecificInfo.data(),
|
||||||
|
legacy_request->sdea_service_specific_info_len);
|
||||||
legacy_request->recv_indication_cfg = hidl_request.disableFollowupResultIndication ? 0x1 : 0x0;
|
legacy_request->recv_indication_cfg = hidl_request.disableFollowupResultIndication ? 0x1 : 0x0;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -1279,8 +1305,8 @@ bool convertLegacyNanCapabilitiesResponseToHidl(
|
||||||
hidl_response->maxMatchFilterLen = legacy_response.max_match_filter_len;
|
hidl_response->maxMatchFilterLen = legacy_response.max_match_filter_len;
|
||||||
hidl_response->maxTotalMatchFilterLen = legacy_response.max_total_match_filter_len;
|
hidl_response->maxTotalMatchFilterLen = legacy_response.max_total_match_filter_len;
|
||||||
hidl_response->maxServiceSpecificInfoLen = legacy_response.max_service_specific_info_len;
|
hidl_response->maxServiceSpecificInfoLen = legacy_response.max_service_specific_info_len;
|
||||||
// TODO: b/35193423 add support for extended service specific info
|
hidl_response->maxExtendedServiceSpecificInfoLen =
|
||||||
hidl_response->maxExtendedServiceSpecificInfoLen = 0;
|
legacy_response.max_sdea_service_specific_info_len;
|
||||||
hidl_response->maxNdiInterfaces = legacy_response.max_ndi_interfaces;
|
hidl_response->maxNdiInterfaces = legacy_response.max_ndi_interfaces;
|
||||||
hidl_response->maxNdpSessions = legacy_response.max_ndp_sessions;
|
hidl_response->maxNdpSessions = legacy_response.max_ndp_sessions;
|
||||||
hidl_response->maxAppInfoLen = legacy_response.max_app_info_len;
|
hidl_response->maxAppInfoLen = legacy_response.max_app_info_len;
|
||||||
|
@ -1303,7 +1329,9 @@ bool convertLegacyNanMatchIndToHidl(
|
||||||
hidl_ind->addr = hidl_array<uint8_t, 6>(legacy_ind.addr);
|
hidl_ind->addr = hidl_array<uint8_t, 6>(legacy_ind.addr);
|
||||||
hidl_ind->serviceSpecificInfo = std::vector<uint8_t>(legacy_ind.service_specific_info,
|
hidl_ind->serviceSpecificInfo = std::vector<uint8_t>(legacy_ind.service_specific_info,
|
||||||
legacy_ind.service_specific_info + legacy_ind.service_specific_info_len);
|
legacy_ind.service_specific_info + legacy_ind.service_specific_info_len);
|
||||||
// TODO: b/35193423 add support for extended service specific info
|
hidl_ind->extendedServiceSpecificInfo = std::vector<uint8_t>(
|
||||||
|
legacy_ind.sdea_service_specific_info,
|
||||||
|
legacy_ind.sdea_service_specific_info + legacy_ind.sdea_service_specific_info_len);
|
||||||
hidl_ind->matchFilter = std::vector<uint8_t>(legacy_ind.sdf_match_filter,
|
hidl_ind->matchFilter = std::vector<uint8_t>(legacy_ind.sdf_match_filter,
|
||||||
legacy_ind.sdf_match_filter + legacy_ind.sdf_match_filter_len);
|
legacy_ind.sdf_match_filter + legacy_ind.sdf_match_filter_len);
|
||||||
hidl_ind->matchOccuredInBeaconFlag = legacy_ind.match_occured_flag == 1;
|
hidl_ind->matchOccuredInBeaconFlag = legacy_ind.match_occured_flag == 1;
|
||||||
|
@ -1333,6 +1361,9 @@ bool convertLegacyNanFollowupIndToHidl(
|
||||||
hidl_ind->receivedInFaw = legacy_ind.dw_or_faw == 1;
|
hidl_ind->receivedInFaw = legacy_ind.dw_or_faw == 1;
|
||||||
hidl_ind->serviceSpecificInfo = std::vector<uint8_t>(legacy_ind.service_specific_info,
|
hidl_ind->serviceSpecificInfo = std::vector<uint8_t>(legacy_ind.service_specific_info,
|
||||||
legacy_ind.service_specific_info + legacy_ind.service_specific_info_len);
|
legacy_ind.service_specific_info + legacy_ind.service_specific_info_len);
|
||||||
|
hidl_ind->extendedServiceSpecificInfo = std::vector<uint8_t>(
|
||||||
|
legacy_ind.sdea_service_specific_info,
|
||||||
|
legacy_ind.sdea_service_specific_info + legacy_ind.sdea_service_specific_info_len);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue