From 95db21de187ff7385499e1aedf481213f7398cce Mon Sep 17 00:00:00 2001 From: Daniel Bright Date: Wed, 28 Oct 2020 15:24:20 -0700 Subject: [PATCH] Allows APN to be unthrottled through an indication * Exposed new radio indication that can unthrottle an APN Test: N/a Bug: 167434852 Change-Id: Ic7f0aac140049feac08902458d797388a807bab0 --- radio/1.6/IRadioIndication.hal | 13 +++++++++++++ .../1.6/vts/functional/radio_hidl_hal_utils_v1_6.h | 3 +++ radio/1.6/vts/functional/radio_indication.cpp | 5 +++++ 3 files changed, 21 insertions(+) diff --git a/radio/1.6/IRadioIndication.hal b/radio/1.6/IRadioIndication.hal index d9aaa3838f..c135090947 100644 --- a/radio/1.6/IRadioIndication.hal +++ b/radio/1.6/IRadioIndication.hal @@ -40,4 +40,17 @@ interface IRadioIndication extends @1.5::IRadioIndication { * 3. Unsolicited disconnect from either modem or network side. */ oneway dataCallListChanged_1_6(RadioIndicationType type, vec dcList); + + /** + * The modem can explicitly set SetupDataCallResult::suggestedRetryTime after a failure in + * IRadio@1.6::SetupDataCall. During that time, no new calls are allowed to + * IRadio@1.6::SetupDataCall that use the same APN. + * + * When IRadioIndication@1.6::unthrottleApn is sent, AOSP will no longer throttle calls + * to IRadio@1.6::SetupDataCall for the given APN. + * + * @param type Type of radio indication + * @param apn Apn to unthrottle + */ + oneway unthrottleApn(RadioIndicationType type, string apn); }; diff --git a/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h b/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h index 784bcd91e8..c0130a44ff 100644 --- a/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h +++ b/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h @@ -787,6 +787,9 @@ class RadioIndication_v1_6 : public ::android::hardware::radio::V1_6::IRadioIndi RadioIndicationType type, const hidl_vec<::android::hardware::radio::V1_6::SetupDataCallResult>& dcList); + Return unthrottleApn(RadioIndicationType type, + const ::android::hardware::hidl_string& apn); + /* 1.5 Api */ Return uiccApplicationsEnablementChanged(RadioIndicationType type, bool enabled); diff --git a/radio/1.6/vts/functional/radio_indication.cpp b/radio/1.6/vts/functional/radio_indication.cpp index 57ee873505..b353c821d8 100644 --- a/radio/1.6/vts/functional/radio_indication.cpp +++ b/radio/1.6/vts/functional/radio_indication.cpp @@ -25,6 +25,11 @@ Return RadioIndication_v1_6::dataCallListChanged_1_6( return Void(); } +Return RadioIndication_v1_6::unthrottleApn(RadioIndicationType /*type*/, + const ::android::hardware::hidl_string& /*apn*/) { + return Void(); +} + /* 1.5 Apis */ Return RadioIndication_v1_6::uiccApplicationsEnablementChanged(RadioIndicationType /*type*/, bool /*enabled*/) {