mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Merge "Manual network selection by RAN type" am: b25740f083
Change-Id: I635ef788b7c5e696ac95935306cecac407a2c047
This commit is contained in:
14
current.txt
14
current.txt
@@ -640,17 +640,11 @@ 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
|
||||
##
|
||||
# BEGIN Radio HAL Merge Conflict Avoidance Buffer - STOPSHIP if present
|
||||
##
|
||||
2fc83babe7cd7c6d5f1013f84019d761d2ac0eb38bdade7f9b01f5dc577de8f8 android.hardware.radio@1.5::types
|
||||
603851ca0f5360778049902fc7486d0ff60065b16e83b99f076487667aba1928 android.hardware.radio@1.5::IRadio
|
||||
50e22cd55ad5499e68e81541bbc67bd10e59c1b9f3ff8cc7ba70dcb0d2918381 android.hardware.radio@1.5::types
|
||||
8cc3306e8cd755d04521d1611b217b9d13a2a76d2af57cbea8f875333b3363f7 android.hardware.radio@1.5::IRadio
|
||||
e96ae1c3a9c0689002ec2318e9c587f4f607c16a75a3cd38788b77eb91072021 android.hardware.radio@1.5::IRadioIndication
|
||||
04cce8fdae2b03becda4ee6fe17cb032fd7d30152f8ab36f642d794e4f5f6999 android.hardware.radio@1.5::IRadioResponse
|
||||
7b77721a7716e163f5cc5f2830ed5616b953fcf0e5406f69de0fde5ce95e4184 android.hardware.radio@1.5::IRadioResponse
|
||||
2fd107f3de1b7e36825e241a88dfae8edf3a77c166cb746f00ddf6440ab78db1 android.hardware.radio.config@1.3::types
|
||||
a2977755bc5f1ef47f04b7f2400632efda6218e1515dba847da487145cfabc4f android.hardware.radio.config@1.3::IRadioConfig
|
||||
742360c775313438b0f82256eac62fb5bbc76a6ae6f388573f3aa142fb2c1eea android.hardware.radio.config@1.3::IRadioConfigIndication
|
||||
0006ab8e8b0910cbd3bbb08d5f17d5fac7d65a2bdad5f2334e4851db9d1e6fa8 android.hardware.radio.config@1.3::IRadioConfigResponse
|
||||
##
|
||||
# END Radio HAL Merge Conflict Avoidance Buffer - STOPSHIP if present
|
||||
##
|
||||
0006ab8e8b0910cbd3bbb08d5f17d5fac7d65a2bdad5f2334e4851db9d1e6fa8 android.hardware.radio.config@1.3::IRadioConfigResponse
|
||||
@@ -16,10 +16,10 @@
|
||||
|
||||
package android.hardware.radio@1.5;
|
||||
|
||||
import @1.2::DataRequestReason;
|
||||
import @1.0::CdmaSmsMessage;
|
||||
import @1.4::IRadio;
|
||||
import @1.2::DataRequestReason;
|
||||
import @1.4::DataProfileInfo;
|
||||
import @1.4::IRadio;
|
||||
import @1.5::AccessNetwork;
|
||||
import @1.5::BarringInfo;
|
||||
import @1.5::DataProfileInfo;
|
||||
@@ -27,6 +27,7 @@ import @1.5::IndicationFilter;
|
||||
import @1.5::LinkAddress;
|
||||
import @1.5::NetworkScanRequest;
|
||||
import @1.5::PersoSubstate;
|
||||
import @1.5::RadioAccessNetworks;
|
||||
import @1.5::RadioAccessSpecifier;
|
||||
import @1.5::SignalThresholdInfo;
|
||||
|
||||
@@ -266,16 +267,23 @@ interface IRadio extends @1.4::IRadio {
|
||||
*/
|
||||
oneway getDataRegistrationState_1_5(int32_t serial);
|
||||
|
||||
/**
|
||||
* Requests that deactivates one category of the device personalization.
|
||||
/*
|
||||
* Manually select a specified network.
|
||||
* This request must not respond until the new operator is selected and registered.
|
||||
* Per TS 23.122, the RAN is just the initial suggested value.
|
||||
* If registration fails, the RAN is not available afterwards, or the RAN is not within
|
||||
* the network types specified by IRadio::setPreferredNetworkTypeBitmap, then the modem
|
||||
* will need to select the next best RAN for network registration.
|
||||
*
|
||||
* @param serial Serial number of request.
|
||||
* @param persoType SIM personalization type.
|
||||
* @param controlKey depersonalization code corresponding to persoType
|
||||
* @param operatorNumeric String specifying MCCMNC of network to select (eg "310170").
|
||||
* @param ran Initial suggested radio access network type. If value is UNKNOWN, the modem
|
||||
* will select the next best RAN for network registration.
|
||||
*
|
||||
* Response function is IRadioResponse.supplySimDepersonalizationResponse()
|
||||
* Response function is IRadioResponse.setNetworkSelectionModeManualResponse_1_5()
|
||||
*/
|
||||
oneway supplySimDepersonalization(int32_t serial, PersoSubstate persoType, string controlKey);
|
||||
oneway setNetworkSelectionModeManual_1_5(int32_t serial, string operatorNumeric,
|
||||
RadioAccessNetworks ran);
|
||||
|
||||
/**
|
||||
* Send an SMS message. Identical to sendCdmaSms,
|
||||
@@ -287,4 +295,15 @@ interface IRadio extends @1.4::IRadio {
|
||||
* Response callback is IRadioResponse.sendCdmaSMSExpectMoreResponse()
|
||||
*/
|
||||
oneway sendCdmaSmsExpectMore(int32_t serial, CdmaSmsMessage sms);
|
||||
|
||||
/**
|
||||
* Requests that deactivates one category of the device personalization.
|
||||
*
|
||||
* @param serial Serial number of request.
|
||||
* @param persoType SIM personalization type.
|
||||
* @param controlKey depersonalization code corresponding to persoType
|
||||
*
|
||||
* Response function is IRadioResponse.supplySimDepersonalizationResponse()
|
||||
*/
|
||||
oneway supplySimDepersonalization(int32_t serial, PersoSubstate persoType, string controlKey);
|
||||
};
|
||||
|
||||
@@ -21,9 +21,10 @@ import @1.0::SendSmsResult;
|
||||
import @1.4::IRadioResponse;
|
||||
import @1.5::BarringInfo;
|
||||
import @1.5::CellInfo;
|
||||
import @1.5::PersoSubstate;
|
||||
import @1.5::RegStateResult;
|
||||
import @1.5::SetupDataCallResult;
|
||||
import @1.4::SetupDataCallResult;
|
||||
import @1.5::PersoSubstate;
|
||||
|
||||
/**
|
||||
* Interface declaring response functions to solicited radio requests.
|
||||
@@ -176,7 +177,6 @@ interface IRadioResponse extends @1.4::IRadioResponse {
|
||||
oneway getBarringInfoResponse(RadioResponseInfo info, vec<BarringInfo> barringInfos);
|
||||
|
||||
/**
|
||||
* @param info Response info struct containing response type, serial no. and error
|
||||
* @param voiceRegResponse Current Voice registration response as defined by RegStateResult
|
||||
* in types.hal
|
||||
*
|
||||
@@ -215,27 +215,29 @@ interface IRadioResponse extends @1.4::IRadioResponse {
|
||||
*/
|
||||
oneway getCellInfoListResponse_1_5(RadioResponseInfo info, vec<CellInfo> cellInfo);
|
||||
|
||||
|
||||
/**
|
||||
* @param info Response info struct containing response type, serial no. and error
|
||||
* @param persoType SIM Personalisation type
|
||||
* @param remainingRetries Positive values indicates number of retries remaining,
|
||||
* must be equal to -1 if number of retries are infinite.
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
* RadioError:RADIO_NOT_AVAILABLE
|
||||
* RadioError:PASSWORD_INCORRECT (code is invalid)
|
||||
* RadioError:ILLEGAL_SIM_OR_ME
|
||||
* RadioError:OPERATION_NOT_ALLOWED
|
||||
* RadioError:INVALID_STATE
|
||||
* RadioError:NO_MEMORY
|
||||
* RadioError:INVALID_SIM_STATE
|
||||
* RadioError:INTERNAL_ERR
|
||||
* RadioError:SYSTEM_ERR
|
||||
* RadioError:MODEM_ERR
|
||||
* RadioError:INVALID_ARGUMENTS
|
||||
* RadioError:NO_RESOURCES
|
||||
* RadioError:MODEM_ERR
|
||||
* RadioError:REQUEST_NOT_SUPPORTED
|
||||
* RadioError:NO_RESOURCES
|
||||
* RadioError:CANCELLED
|
||||
*
|
||||
* Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and
|
||||
* no retries needed, such as illegal SIM or ME.
|
||||
*/
|
||||
oneway supplySimDepersonalizationResponse(RadioResponseInfo info,
|
||||
PersoSubstate persoType, int32_t remainingRetries);
|
||||
oneway setNetworkSelectionModeManualResponse_1_5(RadioResponseInfo info);
|
||||
|
||||
/**
|
||||
* @param info Response info struct containing response type, serial no. and error
|
||||
@@ -267,4 +269,26 @@ interface IRadioResponse extends @1.4::IRadioResponse {
|
||||
* RadioError:SIM_ABSENT
|
||||
*/
|
||||
oneway sendCdmaSmsExpectMoreResponse(RadioResponseInfo info, SendSmsResult sms);
|
||||
|
||||
/**
|
||||
* @param info Response info struct contatining response type, serial no. and error
|
||||
* @param persoType SIM Personalisation type
|
||||
* @param remainingRetries postiive values indicates number of retries remaining,
|
||||
* must be equal to -1 if number of retries is infinite.
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
* RadioError:RADIO_NOT_AVAILABLE
|
||||
* RadioError:PASSWORD_INCORRECT (code is invalid)
|
||||
* RadioError:NO_MEMORY
|
||||
* RadioError:INVALID_SIM_STATE
|
||||
* RadioError:INTERNAL_ERR
|
||||
* RadioError:SYSTEM_ERR
|
||||
* RadioError:MODEM_ERR
|
||||
* RadioError:INVALID_ARGUMENTS
|
||||
* RadioError:NO_RESOURCES
|
||||
* RadioError:REQUEST_NOT_SUPPORTED
|
||||
*/
|
||||
oneway supplySimDepersonalizationResponse(RadioResponseInfo info,
|
||||
PersoSubstate persoType, int32_t remainingRetries);
|
||||
};
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
package android.hardware.radio@1.5;
|
||||
|
||||
import @1.0::ApnAuthType;
|
||||
import @1.0::CdmaSignalStrength;
|
||||
import @1.0::DataProfileId;
|
||||
import @1.0::DataProfileInfoType;
|
||||
import @1.0::CdmaSignalStrength;
|
||||
import @1.0::EvdoSignalStrength;
|
||||
import @1.0::GsmSignalStrength;
|
||||
import @1.0::LteSignalStrength;
|
||||
@@ -167,7 +167,11 @@ enum AccessNetwork : @1.4::AccessNetwork {
|
||||
};
|
||||
|
||||
enum RadioAccessNetworks : @1.1::RadioAccessNetworks {
|
||||
UNKNOWN = 0,
|
||||
/** Next Generation Radio Access Network */
|
||||
NGRAN = 4,
|
||||
/** CDMA 2000 Network */
|
||||
CDMA2000 = 5,
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -879,6 +879,9 @@ TEST_F(RadioHidlTest_v1_5, setupDataCall_1_5) {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Test IRadio.setInitialAttachApn_1_5() for the response returned.
|
||||
*/
|
||||
TEST_F(RadioHidlTest_v1_5, setInitialAttachApn_1_5) {
|
||||
serial = GetRandomSerialNumber();
|
||||
|
||||
@@ -919,6 +922,9 @@ TEST_F(RadioHidlTest_v1_5, setInitialAttachApn_1_5) {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Test IRadio.setDataProfile_1_5() for the response returned.
|
||||
*/
|
||||
TEST_F(RadioHidlTest_v1_5, setDataProfile_1_5) {
|
||||
serial = GetRandomSerialNumber();
|
||||
|
||||
@@ -991,6 +997,32 @@ TEST_F(RadioHidlTest_v1_5, setRadioPower_1_5_emergencyCall_cancalled) {
|
||||
EXPECT_EQ(RadioError::NONE, radioRsp_v1_5->rspInfo.error);
|
||||
}
|
||||
|
||||
/*
|
||||
* Test IRadio.setNetworkSelectionModeManual_1_5() for the response returned.
|
||||
*/
|
||||
TEST_F(RadioHidlTest_v1_5, setNetworkSelectionModeManual_1_5) {
|
||||
serial = GetRandomSerialNumber();
|
||||
|
||||
// can't camp on nonexistent MCCMNC, so we expect this to fail.
|
||||
Return<void> res = radio_v1_5->setNetworkSelectionModeManual_1_5(
|
||||
serial, "123456", android::hardware::radio::V1_5::RadioAccessNetworks::GERAN);
|
||||
EXPECT_EQ(std::cv_status::no_timeout, wait());
|
||||
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_5->rspInfo.type);
|
||||
EXPECT_EQ(serial, radioRsp_v1_5->rspInfo.serial);
|
||||
|
||||
if (cardStatus.base.base.cardState == CardState::ABSENT) {
|
||||
ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error,
|
||||
{RadioError::NONE, RadioError::ILLEGAL_SIM_OR_ME,
|
||||
RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE},
|
||||
CHECK_GENERAL_ERROR));
|
||||
} else if (cardStatus.base.base.cardState == CardState::PRESENT) {
|
||||
ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_5->rspInfo.error,
|
||||
{RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE,
|
||||
RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE},
|
||||
CHECK_GENERAL_ERROR));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Test IRadio.sendCdmaSmsExpectMore() for the response returned.
|
||||
*/
|
||||
@@ -1033,4 +1065,4 @@ TEST_F(RadioHidlTest_v1_5, sendCdmaSmsExpectMore) {
|
||||
{RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE, RadioError::SIM_ABSENT},
|
||||
CHECK_GENERAL_ERROR));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -293,8 +293,6 @@ class RadioResponse_v1_5 : public ::android::hardware::radio::V1_5::IRadioRespon
|
||||
|
||||
Return<void> sendCdmaSmsResponse(const RadioResponseInfo& info, const SendSmsResult& sms);
|
||||
|
||||
Return<void> sendCdmaSmsExpectMoreResponse(const RadioResponseInfo& info, const SendSmsResult& sms);
|
||||
|
||||
Return<void> acknowledgeLastIncomingCdmaSmsResponse(const RadioResponseInfo& info);
|
||||
|
||||
Return<void> getGsmBroadcastConfigResponse(
|
||||
@@ -576,6 +574,11 @@ class RadioResponse_v1_5 : public ::android::hardware::radio::V1_5::IRadioRespon
|
||||
const RadioResponseInfo& info,
|
||||
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::CellInfo>&
|
||||
cellInfo);
|
||||
|
||||
Return<void> setNetworkSelectionModeManualResponse_1_5(const RadioResponseInfo& info);
|
||||
|
||||
Return<void> sendCdmaSmsExpectMoreResponse(const RadioResponseInfo& info,
|
||||
const SendSmsResult& sms);
|
||||
};
|
||||
|
||||
/* Callback class for radio indication */
|
||||
|
||||
@@ -421,11 +421,6 @@ Return<void> RadioResponse_v1_5::sendCdmaSmsResponse(const RadioResponseInfo& /*
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> RadioResponse_v1_5::sendCdmaSmsExpectMoreResponse(const RadioResponseInfo& /*info*/,
|
||||
const SendSmsResult& /*sms*/) {
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> RadioResponse_v1_5::acknowledgeLastIncomingCdmaSmsResponse(
|
||||
const RadioResponseInfo& /*info*/) {
|
||||
return Void();
|
||||
@@ -1004,3 +999,15 @@ Return<void> RadioResponse_v1_5::getCellInfoListResponse_1_5(
|
||||
::android::hardware::radio::V1_5::CellInfo>& /*cellInfo*/) {
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> RadioResponse_v1_5::setNetworkSelectionModeManualResponse_1_5(
|
||||
const RadioResponseInfo& info) {
|
||||
rspInfo = info;
|
||||
parent_v1_5.notify(info.serial);
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> RadioResponse_v1_5::sendCdmaSmsExpectMoreResponse(const RadioResponseInfo& /*info*/,
|
||||
const SendSmsResult& /*sms*/) {
|
||||
return Void();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user