Added SSC mode 3 support
Added flags, deprecated time, and expired time field to the IP address. This will allow baseband vendor to mark an IP address as deprecated and inform upper layer when the IP address will become deprecated and expired. Test: Telephony sanity tests Bug: 135717900 Merged-In: Ia00827f5ff1201d36439f5b2219312b3fd2f0d24 Change-Id: Ia00827f5ff1201d36439f5b2219312b3fd2f0d24 (cherry picked from commit 246fc142c9bebc941b80c559e315b101da92fbeb)
This commit is contained in:
parent
3702b15a2a
commit
7f6c8d03e7
7 changed files with 119 additions and 15 deletions
|
@ -604,10 +604,10 @@ a64467bae843569f0d465c5be7f0c7a5b987985b55a3ef4794dd5afc68538650 android.hardwar
|
|||
619fc9839ec6e369cfa9b28e3e9412e6885720ff8f9b5750c1b6ffb905120391 android.hardware.wifi.supplicant@1.3::ISupplicantStaIfaceCallback
|
||||
c9273429fcf98d797d3bb07fdba6f1be95bf960f9255cde169fd1ca4db85f856 android.hardware.wifi.supplicant@1.3::ISupplicantStaNetwork
|
||||
9b0a3ab6f4f74b971ed094426d8a443e29b512ff03e1ab50c07156396cdb2483 android.hardware.wifi.supplicant@1.3::types
|
||||
0e3c23f1c815469fdcdc39bc33a486817771c7c6b6e5303f2f25569499fc6c69 android.hardware.radio@1.5::types
|
||||
2bc87cde08fcd8d9a0f5d4a2b8560ea793264d94f5b763a6b22d4a63d0f3cd5a android.hardware.radio@1.5::IRadio
|
||||
c897388b19e902a3c4989e0b5d59831e07c0cf14d16195d26ebc760ec353f750 android.hardware.radio@1.5::types
|
||||
5ae0401fdaad9b85de7bebc5bdd7388a4ea661c46f1e4929341981b0540c67de android.hardware.radio@1.5::IRadio
|
||||
3afac66f21a33bc9c4b80481c7d5540038348651d9a7d8af64ea13610af138da android.hardware.radio@1.5::IRadioIndication
|
||||
67c8d90dab3f5b8f1e9cf123d6d1f9e581d382846eacc14476335798b9670885 android.hardware.radio@1.5::IRadioResponse
|
||||
f4888f9676890b43a459c6380f335fea7a6ad32ed3bafafeb018a88d6c0be8a4 android.hardware.radio@1.5::IRadioResponse
|
||||
55f0a15642869ec98a55ea0a5ac049d3e1a6245ff7750deb6bcb7182057eee83 android.hardware.radio.config@1.3::types
|
||||
b27ab0cd40b0b078cdcd024bfe1061c4c4c065f3519eeb9347fa359a3268a5ae android.hardware.radio.config@1.3::IRadioConfig
|
||||
742360c775313438b0f82256eac62fb5bbc76a6ae6f388573f3aa142fb2c1eea android.hardware.radio.config@1.3::IRadioConfigIndication
|
||||
|
|
|
@ -18,8 +18,10 @@ package android.hardware.radio@1.5;
|
|||
|
||||
import @1.2::DataRequestReason;
|
||||
import @1.4::IRadio;
|
||||
import @1.4::DataProfileInfo;
|
||||
import @1.5::AccessNetwork;
|
||||
import @1.5::DataProfileInfo;
|
||||
import @1.5::LinkAddress;
|
||||
import @1.5::NetworkScanRequest;
|
||||
import @1.5::RadioAccessSpecifier;
|
||||
import @1.5::SignalThresholdInfo;
|
||||
|
@ -149,11 +151,7 @@ interface IRadio extends @1.4::IRadio {
|
|||
* @param reason The request reason. Must be DataRequestReason.NORMAL or
|
||||
* DataRequestReason.HANDOVER.
|
||||
* @param addresses If the reason is DataRequestReason.HANDOVER, this indicates the list of link
|
||||
* addresses of the existing data connection. The format is IP address with optional "/"
|
||||
* prefix length (The format is defined in RFC-4291 section 2.3). For example, "192.0.1.3",
|
||||
* "192.0.1.11/16", or "2001:db8::1/64". Typically one IPv4 or one IPv6 or one of each. If
|
||||
* the prefix length is absent, then the addresses are assumed to be point to point with
|
||||
* IPv4 with prefix length 32 or IPv6 with prefix length 128. This parameter must be ignored
|
||||
* addresses of the existing data connection. This parameter must be ignored
|
||||
* unless reason is DataRequestReason.HANDOVER.
|
||||
* @param dnses If the reason is DataRequestReason.HANDOVER, this indicates the list of DNS
|
||||
* addresses of the existing data connection. The format is defined in RFC-4291 section
|
||||
|
@ -167,7 +165,7 @@ interface IRadio extends @1.4::IRadio {
|
|||
*/
|
||||
oneway setupDataCall_1_5(int32_t serial, AccessNetwork accessNetwork,
|
||||
DataProfileInfo dataProfileInfo, bool roamingAllowed,
|
||||
DataRequestReason reason, vec<string> addresses, vec<string> dnses);
|
||||
DataRequestReason reason, vec<LinkAddress> addresses, vec<string> dnses);
|
||||
|
||||
/**
|
||||
* Set an apn to initial attach network
|
||||
|
@ -191,7 +189,7 @@ interface IRadio extends @1.4::IRadio {
|
|||
* Response callback is IRadioResponse.setDataProfileResponse_1_5()
|
||||
*
|
||||
* Note this API is the same as the 1.4 version except using the 1.5 DataProfileInfo
|
||||
* as the input param.
|
||||
* and LinkAddress as the input param.
|
||||
*/
|
||||
oneway setDataProfile_1_5(int32_t serial, vec<DataProfileInfo> profiles);
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ package android.hardware.radio@1.5;
|
|||
|
||||
import @1.0::RadioResponseInfo;
|
||||
import @1.4::IRadioResponse;
|
||||
import @1.4::SetupDataCallResult;
|
||||
import @1.5::SetupDataCallResult;
|
||||
|
||||
/**
|
||||
* Interface declaring response functions to solicited radio requests.
|
||||
|
|
|
@ -25,7 +25,10 @@ import @1.1::UtranBands;
|
|||
import @1.2::NetworkScanRequest;
|
||||
import @1.4::AccessNetwork;
|
||||
import @1.4::ApnTypes;
|
||||
import @1.4::DataCallFailCause;
|
||||
import @1.4::DataConnActiveStatus;
|
||||
import @1.4::DataProfileInfo;
|
||||
import @1.4::PdpProtocolType;
|
||||
|
||||
/**
|
||||
* Defining signal strength type.
|
||||
|
@ -289,3 +292,105 @@ struct DataProfileInfo {
|
|||
/** Supported APN types bitmap. See ApnTypes for the value of each bit. */
|
||||
bitfield<ApnTypes> supportedApnTypesBitmap;
|
||||
};
|
||||
|
||||
/**
|
||||
* The properties of the link address. This enum reflects the definition in
|
||||
* if_addr.h in Linux kernel.
|
||||
*/
|
||||
enum AddressProperty : int32_t {
|
||||
NONE = 0,
|
||||
|
||||
/** Indicates this address is deprecated */
|
||||
DEPRECATED = 0x20,
|
||||
};
|
||||
|
||||
struct LinkAddress {
|
||||
/**
|
||||
* The format is IP address with optional "/"
|
||||
* prefix length (The format is defined in RFC-4291 section 2.3). For example, "192.0.1.3",
|
||||
* "192.0.1.11/16", or "2001:db8::1/64". Typically one IPv4 or one IPv6 or one of each. If
|
||||
* the prefix length is absent, then the addresses are assumed to be point to point with
|
||||
* IPv4 with prefix length 32 or IPv6 with prefix length 128.
|
||||
*/
|
||||
string address;
|
||||
|
||||
/**
|
||||
* The properties of the link address
|
||||
*/
|
||||
bitfield<AddressProperty> properties;
|
||||
|
||||
/**
|
||||
* The UTC time that this link address will be deprecated. 0 indicates this information is not
|
||||
* available.
|
||||
*/
|
||||
uint64_t deprecatedTime;
|
||||
|
||||
/**
|
||||
* The UTC time that this link address will expire and no longer valid. 0 indicates this
|
||||
* information is not available.
|
||||
*/
|
||||
uint64_t expiredTime;
|
||||
};
|
||||
|
||||
/**
|
||||
* Overwritten from @1.4::SetupDataCallResult in order to update the addresses to 1.5
|
||||
* version.
|
||||
*/
|
||||
struct SetupDataCallResult {
|
||||
/** Data call fail cause. DataCallFailCause.NONE if no error. */
|
||||
DataCallFailCause cause;
|
||||
|
||||
/**
|
||||
* If status != DataCallFailCause.NONE, this field indicates the suggested retry back-off timer
|
||||
* value RIL wants to override the one pre-configured in FW. The unit is milliseconds.
|
||||
* The value < 0 means no value is suggested.
|
||||
* The value 0 means retry must be done ASAP.
|
||||
* The value of INT_MAX(0x7fffffff) means no retry.
|
||||
*/
|
||||
int32_t suggestedRetryTime;
|
||||
|
||||
/** Context ID, uniquely identifies this call. */
|
||||
int32_t cid;
|
||||
|
||||
/** Data connection active status. */
|
||||
DataConnActiveStatus active;
|
||||
|
||||
/**
|
||||
* PDP_type values. If cause is DataCallFailCause.ONLY_SINGLE_BEARER_ALLOWED, this is the type
|
||||
* supported such as "IP" or "IPV6".
|
||||
*/
|
||||
PdpProtocolType type;
|
||||
|
||||
/** The network interface name. */
|
||||
string ifname;
|
||||
|
||||
/**
|
||||
* List of link address.
|
||||
*/
|
||||
vec<LinkAddress> addresses;
|
||||
|
||||
/**
|
||||
* List of DNS server addresses, e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1". Empty if no dns
|
||||
* server addresses returned.
|
||||
*/
|
||||
vec<string> dnses;
|
||||
|
||||
/**
|
||||
* List of default gateway addresses, e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
|
||||
* When empty, the addresses represent point to point connections.
|
||||
*/
|
||||
vec<string> gateways;
|
||||
|
||||
/**
|
||||
* List of P-CSCF(Proxy Call State Control Function) addresses via PCO(Protocol Configuration
|
||||
* Option), e.g., "2001:db8::1 2001:db8::2 2001:db8::3". Empty if not IMS client.
|
||||
*/
|
||||
vec<string> pcscf;
|
||||
|
||||
/**
|
||||
* MTU received from network. Value <= 0 means network has either not sent a value or sent an
|
||||
* invalid value.
|
||||
*/
|
||||
int32_t mtu;
|
||||
};
|
||||
|
||||
|
|
|
@ -853,10 +853,11 @@ TEST_F(RadioHidlTest_v1_5, setupDataCall_1_5) {
|
|||
|
||||
bool roamingAllowed = false;
|
||||
|
||||
std::vector<::android::hardware::radio::V1_5::LinkAddress> addresses = {};
|
||||
std::vector<hidl_string> dnses = {};
|
||||
|
||||
::android::hardware::radio::V1_2::DataRequestReason reason =
|
||||
::android::hardware::radio::V1_2::DataRequestReason::NORMAL;
|
||||
std::vector<hidl_string> addresses = {""};
|
||||
std::vector<hidl_string> dnses = {""};
|
||||
|
||||
Return<void> res = radio_v1_5->setupDataCall_1_5(serial, accessNetwork, dataProfileInfo,
|
||||
roamingAllowed, reason, addresses, dnses);
|
||||
|
|
|
@ -544,7 +544,7 @@ class RadioResponse_v1_5 : public ::android::hardware::radio::V1_5::IRadioRespon
|
|||
|
||||
Return<void> setupDataCallResponse_1_5(
|
||||
const RadioResponseInfo& info,
|
||||
const android::hardware::radio::V1_4::SetupDataCallResult& dcResponse);
|
||||
const android::hardware::radio::V1_5::SetupDataCallResult& dcResponse);
|
||||
|
||||
Return<void> setInitialAttachApnResponse_1_5(const RadioResponseInfo& info);
|
||||
|
||||
|
|
|
@ -931,7 +931,7 @@ Return<void> RadioResponse_v1_5::startNetworkScanResponse_1_5(const RadioRespons
|
|||
|
||||
Return<void> RadioResponse_v1_5::setupDataCallResponse_1_5(
|
||||
const RadioResponseInfo& info,
|
||||
const android::hardware::radio::V1_4::SetupDataCallResult& /* dcResponse */) {
|
||||
const android::hardware::radio::V1_5::SetupDataCallResult& /* dcResponse */) {
|
||||
rspInfo = info;
|
||||
parent_v1_5.notify(info.serial);
|
||||
return Void();
|
||||
|
|
Loading…
Reference in a new issue