Merge "Allow null DataProfileInfo for IA APN to clear"

This commit is contained in:
Sarah Chin
2022-01-29 01:46:13 +00:00
committed by Gerrit Code Review
4 changed files with 19 additions and 15 deletions

View File

@@ -44,7 +44,7 @@ interface IRadioData {
oneway void setDataAllowed(in int serial, in boolean allow); oneway void setDataAllowed(in int serial, in boolean allow);
oneway void setDataProfile(in int serial, in android.hardware.radio.data.DataProfileInfo[] profiles); oneway void setDataProfile(in int serial, in android.hardware.radio.data.DataProfileInfo[] profiles);
oneway void setDataThrottling(in int serial, in android.hardware.radio.data.DataThrottlingAction dataThrottlingAction, in long completionDurationMillis); oneway void setDataThrottling(in int serial, in android.hardware.radio.data.DataThrottlingAction dataThrottlingAction, in long completionDurationMillis);
oneway void setInitialAttachApn(in int serial, in android.hardware.radio.data.DataProfileInfo dataProfileInfo); oneway void setInitialAttachApn(in int serial, in @nullable android.hardware.radio.data.DataProfileInfo dataProfileInfo);
oneway void setResponseFunctions(in android.hardware.radio.data.IRadioDataResponse radioDataResponse, in android.hardware.radio.data.IRadioDataIndication radioDataIndication); oneway void setResponseFunctions(in android.hardware.radio.data.IRadioDataResponse radioDataResponse, in android.hardware.radio.data.IRadioDataIndication radioDataIndication);
oneway void setupDataCall(in int serial, in android.hardware.radio.AccessNetwork accessNetwork, in android.hardware.radio.data.DataProfileInfo dataProfileInfo, in boolean roamingAllowed, in android.hardware.radio.data.DataRequestReason reason, in android.hardware.radio.data.LinkAddress[] addresses, in String[] dnses, in int pduSessionId, in @nullable android.hardware.radio.data.SliceInfo sliceInfo, in boolean matchAllRuleAllowed); oneway void setupDataCall(in int serial, in android.hardware.radio.AccessNetwork accessNetwork, in android.hardware.radio.data.DataProfileInfo dataProfileInfo, in boolean roamingAllowed, in android.hardware.radio.data.DataRequestReason reason, in android.hardware.radio.data.LinkAddress[] addresses, in String[] dnses, in int pduSessionId, in @nullable android.hardware.radio.data.SliceInfo sliceInfo, in boolean matchAllRuleAllowed);
oneway void startHandover(in int serial, in int callId); oneway void startHandover(in int serial, in int callId);

View File

@@ -159,14 +159,15 @@ oneway interface IRadioData {
in long completionDurationMillis); in long completionDurationMillis);
/** /**
* Set an APN to initial attach network. * Set an APN to initial attach network or clear the existing initial attach APN.
* *
* @param serial Serial number of request. * @param serial Serial number of request.
* @param dataProfileInfo data profile containing APN settings * @param dataProfileInfo Data profile containing APN settings or null to clear the existing
* initial attach APN.
* *
* Response function is IRadioDataResponse.setInitialAttachApnResponse() * Response function is IRadioDataResponse.setInitialAttachApnResponse()
*/ */
void setInitialAttachApn(in int serial, in DataProfileInfo dataProfileInfo); void setInitialAttachApn(in int serial, in @nullable DataProfileInfo dataProfileInfo);
/** /**
* Set response functions for data radio requests and indications. * Set response functions for data radio requests and indications.

View File

@@ -122,9 +122,10 @@ ScopedAStatus RadioData::setDataThrottling(int32_t serial, aidl::DataThrottlingA
return ok(); return ok();
} }
ScopedAStatus RadioData::setInitialAttachApn(int32_t serial, const aidl::DataProfileInfo& info) { ScopedAStatus RadioData::setInitialAttachApn(int32_t serial,
const std::optional<aidl::DataProfileInfo>& info) {
LOG_CALL << serial; LOG_CALL << serial;
mHal1_5->setInitialAttachApn_1_5(serial, toHidl(info)); mHal1_5->setInitialAttachApn_1_5(serial, toHidl(info.value()));
return ok(); return ok();
} }
@@ -136,14 +137,15 @@ ScopedAStatus RadioData::setResponseFunctions(
return ok(); return ok();
} }
ScopedAStatus RadioData::setupDataCall( // ScopedAStatus RadioData::setupDataCall(int32_t serial, aidlCommon::AccessNetwork accessNetwork,
int32_t serial, aidlCommon::AccessNetwork accessNetwork, const aidl::DataProfileInfo& dataProfileInfo,
const aidl::DataProfileInfo& dataProfileInfo, bool roamingAllowed, bool roamingAllowed, aidl::DataRequestReason reason,
aidl::DataRequestReason reason, const std::vector<aidl::LinkAddress>& addresses, const std::vector<aidl::LinkAddress>& addresses,
const std::vector<std::string>& dnses, int32_t pduSessId, const std::vector<std::string>& dnses, int32_t pduSessId,
const std::optional<aidl::SliceInfo>& sliceInfo, bool matchAllRuleAllowed) { const std::optional<aidl::SliceInfo>& sliceInfo,
bool matchAllRuleAllowed) {
if (mHal1_6) { if (mHal1_6) {
mHal1_6->setupDataCall_1_6( // mHal1_6->setupDataCall_1_6(
serial, V1_5::AccessNetwork(accessNetwork), toHidl(dataProfileInfo), roamingAllowed, serial, V1_5::AccessNetwork(accessNetwork), toHidl(dataProfileInfo), roamingAllowed,
V1_2::DataRequestReason(reason), toHidl(addresses), toHidl(dnses), pduSessId, V1_2::DataRequestReason(reason), toHidl(addresses), toHidl(dnses), pduSessId,
toHidl<V1_6::OptionalSliceInfo>(sliceInfo), toHidl<V1_6::OptionalSliceInfo>(sliceInfo),
@@ -151,7 +153,7 @@ ScopedAStatus RadioData::setupDataCall( //
matchAllRuleAllowed); matchAllRuleAllowed);
mContext->addDataProfile(dataProfileInfo); mContext->addDataProfile(dataProfileInfo);
} else { } else {
mHal1_5->setupDataCall_1_5( // mHal1_5->setupDataCall_1_5(
serial, V1_5::AccessNetwork(accessNetwork), toHidl(dataProfileInfo), roamingAllowed, serial, V1_5::AccessNetwork(accessNetwork), toHidl(dataProfileInfo), roamingAllowed,
V1_2::DataRequestReason(reason), toHidl(addresses), toHidl(dnses)); V1_2::DataRequestReason(reason), toHidl(addresses), toHidl(dnses));
} }

View File

@@ -44,7 +44,8 @@ class RadioData : public RadioCompatBase, public aidl::android::hardware::radio:
int64_t completionDurationMillis) override; int64_t completionDurationMillis) override;
::ndk::ScopedAStatus setInitialAttachApn( ::ndk::ScopedAStatus setInitialAttachApn(
int32_t serial, int32_t serial,
const ::aidl::android::hardware::radio::data::DataProfileInfo& dpInfo) override; const std::optional<::aidl::android::hardware::radio::data::DataProfileInfo>& dpInfo)
override;
::ndk::ScopedAStatus setResponseFunctions( ::ndk::ScopedAStatus setResponseFunctions(
const std::shared_ptr<::aidl::android::hardware::radio::data::IRadioDataResponse>& const std::shared_ptr<::aidl::android::hardware::radio::data::IRadioDataResponse>&
radioDataResponse, radioDataResponse,