mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Merge "Update IRadioNetwork and VTS for emergency domain selection"
This commit is contained in:
@@ -72,6 +72,6 @@ interface IRadioNetwork {
|
||||
oneway void getUsageSetting(in int serial);
|
||||
oneway void setEmergencyMode(int serial, in android.hardware.radio.network.EmergencyMode emcModeType);
|
||||
oneway void triggerEmergencyNetworkScan(int serial, in android.hardware.radio.network.EmergencyNetworkScanTrigger request);
|
||||
oneway void cancelEmergencyNetworkScan(in int serial);
|
||||
oneway void cancelEmergencyNetworkScan(int serial, boolean resetScan);
|
||||
oneway void exitEmergencyMode(in int serial);
|
||||
}
|
||||
|
||||
@@ -18,6 +18,8 @@ package android.hardware.radio.network;
|
||||
|
||||
import android.hardware.radio.AccessNetwork;
|
||||
import android.hardware.radio.network.CdmaRoamingType;
|
||||
import android.hardware.radio.network.EmergencyMode;
|
||||
import android.hardware.radio.network.EmergencyNetworkScanTrigger;
|
||||
import android.hardware.radio.network.IRadioNetworkIndication;
|
||||
import android.hardware.radio.network.IRadioNetworkResponse;
|
||||
import android.hardware.radio.network.IndicationFilter;
|
||||
@@ -27,8 +29,6 @@ import android.hardware.radio.network.RadioAccessSpecifier;
|
||||
import android.hardware.radio.network.RadioBandMode;
|
||||
import android.hardware.radio.network.SignalThresholdInfo;
|
||||
import android.hardware.radio.network.UsageSetting;
|
||||
import android.hardware.radio.network.EmergencyNetworkScanTrigger;
|
||||
import android.hardware.radio.network.EmergencyMode;
|
||||
|
||||
/**
|
||||
* This interface is used by telephony and telecom to talk to cellular radio for network APIs.
|
||||
@@ -449,27 +449,30 @@ oneway interface IRadioNetwork {
|
||||
*
|
||||
* Response function is IRadioEmergencyResponse.setEmergencyModeResponse()
|
||||
*/
|
||||
void setEmergencyMode(int serial, in EmergencyMode emcModeType );
|
||||
void setEmergencyMode(int serial, in EmergencyMode emcModeType);
|
||||
|
||||
/**
|
||||
* Triggers an Emergency network scan.
|
||||
*
|
||||
* @param serial Serial number of the request.
|
||||
* @param request Defines the radio target networks/preferred network/
|
||||
* Max Scan Time and type of service to be scanned.
|
||||
* @param request Contains the preferred networks and type of service to be scanned.
|
||||
* See {@link EmergencyNetworkScanTrigger}.
|
||||
*
|
||||
* Response function is IRadioEmergencyResponse.triggerEmergencyNetworkScanResponse()
|
||||
*/
|
||||
void triggerEmergencyNetworkScan( int serial, in EmergencyNetworkScanTrigger request);
|
||||
void triggerEmergencyNetworkScan(int serial, in EmergencyNetworkScanTrigger request);
|
||||
|
||||
/**
|
||||
* Cancels ongoing Emergency network scan
|
||||
*
|
||||
* @param serial Serial number of the request.
|
||||
* @param resetScan Indicates how the next {@link #triggerEmergencyNetworkScan} should work.
|
||||
* If {@code true}, then the modem shall start the new scan from the beginning,
|
||||
* otherwise the modem shall resume from the last search.
|
||||
*
|
||||
* Response function is IRadioEmergencyResponse.cancelEmergencyNetworkScan()
|
||||
*/
|
||||
void cancelEmergencyNetworkScan(in int serial);
|
||||
void cancelEmergencyNetworkScan(int serial, boolean resetScan);
|
||||
|
||||
/**
|
||||
* Exits ongoing Emergency Mode
|
||||
|
||||
@@ -23,13 +23,13 @@ import android.hardware.radio.network.BarringInfo;
|
||||
import android.hardware.radio.network.CdmaRoamingType;
|
||||
import android.hardware.radio.network.CellIdentity;
|
||||
import android.hardware.radio.network.CellInfo;
|
||||
import android.hardware.radio.network.EmergencyRegResult;
|
||||
import android.hardware.radio.network.OperatorInfo;
|
||||
import android.hardware.radio.network.RadioAccessSpecifier;
|
||||
import android.hardware.radio.network.RadioBandMode;
|
||||
import android.hardware.radio.network.RegStateResult;
|
||||
import android.hardware.radio.network.SignalStrength;
|
||||
import android.hardware.radio.network.UsageSetting;
|
||||
import android.hardware.radio.network.EmergencyRegResult;
|
||||
|
||||
/**
|
||||
* Interface declaring response functions to solicited radio requests for network APIs.
|
||||
@@ -575,11 +575,15 @@ oneway interface IRadioNetworkResponse {
|
||||
oneway void getUsageSettingResponse(in RadioResponseInfo info, in UsageSetting usageSetting);
|
||||
|
||||
/**
|
||||
* Response of setEmergencyMode.
|
||||
* This is an optional API.
|
||||
*
|
||||
* @param info Response info struct containing response type, serial no. and error.
|
||||
* @param regState the current registration state of the modem.
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
* RadioError:REQUEST_NOT_SUPPORTED
|
||||
* RadioError:RADIO_NOT_AVAILABLE
|
||||
* RadioError:MODEM_ERR
|
||||
* RadioError:INVALID_ARGUMENTS
|
||||
@@ -587,10 +591,14 @@ oneway interface IRadioNetworkResponse {
|
||||
void setEmergencyModeResponse(in RadioResponseInfo info, in EmergencyRegResult regState);
|
||||
|
||||
/**
|
||||
* @param info Response info struct containing response type, serial no. and error
|
||||
* Response of triggerEmergencyNetworkScan.
|
||||
* This is an optional API.
|
||||
*
|
||||
* @param info Response info struct containing response type, serial no. and error.
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
* RadioError:REQUEST_NOT_SUPPORTED
|
||||
* RadioError:RADIO_NOT_AVAILABLE
|
||||
* RadioError:MODEM_ERR
|
||||
* RadioError:INVALID_ARGUMENTS
|
||||
@@ -598,20 +606,28 @@ oneway interface IRadioNetworkResponse {
|
||||
void triggerEmergencyNetworkScanResponse(in RadioResponseInfo info);
|
||||
|
||||
/**
|
||||
* @param info Response info struct containing response type, serial no. and error
|
||||
* Response of exitEmergencyMode.
|
||||
* This is an optional API.
|
||||
*
|
||||
* @param info Response info struct containing response type, serial no. and error.
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
* RadioError:REQUEST_NOT_SUPPORTED
|
||||
* RadioError:RADIO_NOT_AVAILABLE
|
||||
* RadioError:MODEM_ERR
|
||||
*/
|
||||
void exitEmergencyModeResponse(in RadioResponseInfo info);
|
||||
|
||||
/**
|
||||
* @param info Response info struct containing response type, serial no. and error
|
||||
* Response of cancelEmergencyNetworkScan.
|
||||
* This is an optional API.
|
||||
*
|
||||
* @param info Response info struct containing response type, serial no. and error.
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
* RadioError:REQUEST_NOT_SUPPORTED
|
||||
* RadioError:RADIO_NOT_AVAILABLE
|
||||
* RadioError:MODEM_ERR
|
||||
*/
|
||||
|
||||
@@ -97,7 +97,7 @@ class RadioNetwork : public RadioCompatBase,
|
||||
int32_t serial,
|
||||
const ::aidl::android::hardware::radio::network::EmergencyNetworkScanTrigger&
|
||||
scanTrigger) override;
|
||||
::ndk::ScopedAStatus cancelEmergencyNetworkScan(int32_t serial) override;
|
||||
::ndk::ScopedAStatus cancelEmergencyNetworkScan(int32_t serial, bool resetScan) override;
|
||||
::ndk::ScopedAStatus exitEmergencyMode(int32_t serial) override;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -326,7 +326,7 @@ ScopedAStatus RadioNetwork::triggerEmergencyNetworkScan(int32_t serial,
|
||||
return ok();
|
||||
}
|
||||
|
||||
ScopedAStatus RadioNetwork::cancelEmergencyNetworkScan(int32_t serial) {
|
||||
ScopedAStatus RadioNetwork::cancelEmergencyNetworkScan(int32_t serial, bool) {
|
||||
LOG_CALL << serial;
|
||||
LOG(ERROR) << " cancelEmergencyNetworkScan is unsupported by HIDL HALs";
|
||||
respond()->cancelEmergencyNetworkScanResponse(notSupported(serial));
|
||||
|
||||
@@ -1848,7 +1848,7 @@ TEST_P(RadioNetworkTest, setEmergencyMode) {
|
||||
|
||||
ASSERT_TRUE(CheckAnyOfErrors(
|
||||
radioRsp_network->rspInfo.error,
|
||||
{RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE,
|
||||
{RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED, RadioError::RADIO_NOT_AVAILABLE,
|
||||
RadioError::MODEM_ERR, RadioError::INVALID_ARGUMENTS}));
|
||||
LOG(DEBUG) << "setEmergencyMode finished";
|
||||
}
|
||||
@@ -1871,7 +1871,7 @@ TEST_P(RadioNetworkTest, triggerEmergencyNetworkScan) {
|
||||
|
||||
ASSERT_TRUE(CheckAnyOfErrors(
|
||||
radioRsp_network->rspInfo.error,
|
||||
{RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE,
|
||||
{RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED, RadioError::RADIO_NOT_AVAILABLE,
|
||||
RadioError::MODEM_ERR, RadioError::INVALID_ARGUMENTS}));
|
||||
LOG(DEBUG) << "triggerEmergencyNetworkScan finished";
|
||||
}
|
||||
@@ -1883,14 +1883,15 @@ TEST_P(RadioNetworkTest, cancelEmergencyNetworkScan) {
|
||||
LOG(DEBUG) << "cancelEmergencyNetworkScan";
|
||||
serial = GetRandomSerialNumber();
|
||||
|
||||
radio_network->cancelEmergencyNetworkScan(serial);
|
||||
radio_network->cancelEmergencyNetworkScan(serial, true);
|
||||
EXPECT_EQ(std::cv_status::no_timeout, wait());
|
||||
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_network->rspInfo.type);
|
||||
EXPECT_EQ(serial, radioRsp_network->rspInfo.serial);
|
||||
|
||||
ASSERT_TRUE(CheckAnyOfErrors(
|
||||
radioRsp_network->rspInfo.error,
|
||||
{RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, RadioError::MODEM_ERR}));
|
||||
{RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED, RadioError::RADIO_NOT_AVAILABLE,
|
||||
RadioError::MODEM_ERR}));
|
||||
LOG(DEBUG) << "cancelEmergencyNetworkScan finished";
|
||||
}
|
||||
|
||||
@@ -1908,6 +1909,7 @@ TEST_P(RadioNetworkTest, exitEmergencyMode) {
|
||||
|
||||
ASSERT_TRUE(CheckAnyOfErrors(
|
||||
radioRsp_network->rspInfo.error,
|
||||
{RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, RadioError::MODEM_ERR}));
|
||||
{RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED, RadioError::RADIO_NOT_AVAILABLE,
|
||||
RadioError::MODEM_ERR}));
|
||||
LOG(DEBUG) << "exitEmergencyMode finished";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user