Revert "Add emergencyDial_1_6 in the HAL to modify the multisim ..."
Revert "Add cuttilefish implementation for emergencyDial_1_6"
Revert submission 13164522-emergencyDial_1_6
Reason for revert: Potential culprit of b/176519828
Reverted Changes:
I3680b8d42:Add cuttilefish implementation for emergencyDial_1...
I94319ab34:Add emergencyDial_1_6 in the HAL to modify the mul...
Change-Id: I17e59676b6467b8b51dcb839497883a2c89ee50d
diff --git a/radio/1.6/IRadio.hal b/radio/1.6/IRadio.hal
index 36d288f..3dc80b9 100644
--- a/radio/1.6/IRadio.hal
+++ b/radio/1.6/IRadio.hal
@@ -18,12 +18,9 @@
import @1.0::CdmaSmsMessage;
-import @1.0::Dial;
import @1.0::GsmSmsMessage;
import @1.1::CardPowerState;
import @1.2::DataRequestReason;
-import @1.4::EmergencyCallRouting;
-import @1.4::EmergencyServiceCategory;
import @1.4::RadioAccessFamily;
import @1.5::IRadio;
import @1.5::AccessNetwork;
@@ -375,64 +372,6 @@
int64_t completionDurationMillis);
/**
- * Initiate emergency voice call, with zero or more emergency service category(s), zero or
- * more emergency Uniform Resource Names (URN), and routing information for handling the call.
- * Android uses this request to make its emergency call instead of using @1.0::IRadio.dial
- * if the 'address' in the 'dialInfo' field is identified as an emergency number by Android.
- *
- * In multi-sim scenario, if the emergency number is from a specific subscription, this radio
- * request can still be sent out on the other subscription as long as routing is set to
- * @1.4::EmergencyNumberRouting#EMERGENCY. This radio request will not be sent on an inactive
- * (PIN/PUK locked) subscription unless both subscriptions are PIN/PUK locked. In this case,
- * the request will be sent on the primary subscription.
- *
- * Some countries or carriers require some emergency numbers that must be handled with normal
- * call routing if possible or emergency routing. 1) if the 'routing' field is specified as
- * @1.4::EmergencyNumberRouting#NORMAL, the implementation must try the full radio service to
- * use normal call routing to handle the call; if service cannot support normal routing, the
- * implementation must use emergency routing to handle the call. 2) if 'routing' is specified
- * as @1.4::EmergencyNumberRouting#EMERGENCY, the implementation must use emergency routing to
- * handle the call. 3) if 'routing' is specified as @1.4::EmergencyNumberRouting#UNKNOWN,
- * Android does not know how to handle the call.
- *
- * If the dialed emergency number does not have a specified emergency service category, the
- * 'categories' field is set to @1.4::EmergencyServiceCategory#UNSPECIFIED; if the dialed
- * emergency number does not have specified emergency Uniform Resource Names, the 'urns' field
- * is set to an empty list. If the underlying technology used to request emergency services
- * does not support the emergency service category or emergency uniform resource names, the
- * field 'categories' or 'urns' may be ignored.
- *
- * In the scenarios that the 'address' in the 'dialInfo' field has other functions besides the
- * emergency number function, if the 'hasKnownUserIntentEmergency' field is true, the user's
- * intent for this dial request is emergency call, and the modem must treat this as an actual
- * emergency dial; if the 'hasKnownUserIntentEmergency' field is false, Android does not know
- * user's intent for this call.
- *
- * If 'isTesting' is true, this request is for testing purpose, and must not be sent to a real
- * emergency service; otherwise it's for a real emergency call request.
- *
- * Reference: 3gpp 22.101, Section 10 - Emergency Calls;
- * 3gpp 23.167, Section 6 - Functional description;
- * 3gpp 24.503, Section 5.1.6.8.1 - General;
- * RFC 5031
- *
- * @param serial Serial number of request.
- * @param dialInfo the same @1.0::Dial information used by @1.0::IRadio.dial.
- * @param categories bitfield<@1.4::EmergencyServiceCategory> the Emergency Service Category(s)
- * of the call.
- * @param urns the emergency Uniform Resource Names (URN)
- * @param routing @1.4::EmergencyCallRouting the emergency call routing information.
- * @param hasKnownUserIntentEmergency Flag indicating if user's intent for the emergency call
- * is known.
- * @param isTesting Flag indicating if this request is for testing purpose.
- *
- * Response function is IRadioResponse.emergencyDialResponse()
- */
- oneway emergencyDial_1_6(int32_t serial, Dial dialInfo,
- bitfield<EmergencyServiceCategory> categories, vec<string> urns,
- EmergencyCallRouting routing, bool hasKnownUserIntentEmergency, bool isTesting);
-
- /**
* Get which bands the modem's background scan is acting on.
*
* @param serial Serial number of request.
diff --git a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp
index c8846d2..47babed 100644
--- a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp
+++ b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp
@@ -408,167 +408,6 @@
}
/*
- * Test IRadio.emergencyDial() for the response returned.
- */
-TEST_P(RadioHidlTest_v1_6, emergencyDial_1_6) {
- if (!deviceSupportsFeature(FEATURE_VOICE_CALL)) {
- ALOGI("Skipping emergencyDial because voice call is not supported in device");
- return;
- } else {
- ALOGI("Running emergencyDial because voice call is supported in device");
- }
-
- serial = GetRandomSerialNumber();
-
- ::android::hardware::radio::V1_0::Dial dialInfo;
- dialInfo.address = hidl_string("911");
- int categories = static_cast<int>(
- ::android::hardware::radio::V1_4::EmergencyServiceCategory::UNSPECIFIED);
- std::vector<hidl_string> urns = {""};
- ::android::hardware::radio::V1_4::EmergencyCallRouting routing =
- ::android::hardware::radio::V1_4::EmergencyCallRouting::UNKNOWN;
-
- Return<void> res =
- radio_v1_6->emergencyDial_1_6(serial, dialInfo, categories, urns, routing, true, true);
- ASSERT_OK(res);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo_v1_0.type);
- EXPECT_EQ(serial, radioRsp_v1_6->rspInfo_v1_0.serial);
-
- ALOGI("emergencyDial, rspInfo_v1_0.error = %s\n",
- toString(radioRsp_v1_6->rspInfo_v1_0.error).c_str());
-
- ::android::hardware::radio::V1_0::RadioError rspEmergencyDial =
- radioRsp_v1_6->rspInfo_v1_0.error;
- // In DSDS or TSTS, we only check the result if the current slot is IN_SERVICE
- // or Emergency_Only.
- if (isDsDsEnabled() || isTsTsEnabled()) {
- serial = GetRandomSerialNumber();
- radio_v1_6->getVoiceRegistrationState(serial);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- if (isVoiceEmergencyOnly(radioRsp_v1_6->voiceRegResp.regState) ||
- isVoiceInService(radioRsp_v1_6->voiceRegResp.regState)) {
- EXPECT_EQ(::android::hardware::radio::V1_0::RadioError::NONE, rspEmergencyDial);
- }
- } else {
- EXPECT_EQ(::android::hardware::radio::V1_0::RadioError::NONE, rspEmergencyDial);
- }
-
- // Give some time for modem to establish the emergency call channel.
- sleep(MODEM_EMERGENCY_CALL_ESTABLISH_TIME);
-
- // Disconnect all the potential established calls to prevent them affecting other tests.
- clearPotentialEstablishedCalls();
-}
-
-/*
- * Test IRadio.emergencyDial() with specified service and its response returned.
- */
-TEST_P(RadioHidlTest_v1_6, emergencyDial_1_6_withServices) {
- if (!deviceSupportsFeature(FEATURE_VOICE_CALL)) {
- ALOGI("Skipping emergencyDial because voice call is not supported in device");
- return;
- } else {
- ALOGI("Running emergencyDial because voice call is supported in device");
- }
-
- serial = GetRandomSerialNumber();
-
- ::android::hardware::radio::V1_0::Dial dialInfo;
- dialInfo.address = hidl_string("911");
- int categories =
- static_cast<int>(::android::hardware::radio::V1_4::EmergencyServiceCategory::AMBULANCE);
- std::vector<hidl_string> urns = {"urn:service:sos.ambulance"};
- ::android::hardware::radio::V1_4::EmergencyCallRouting routing =
- ::android::hardware::radio::V1_4::EmergencyCallRouting::UNKNOWN;
-
- Return<void> res =
- radio_v1_6->emergencyDial_1_6(serial, dialInfo, categories, urns, routing, true, true);
- ASSERT_OK(res);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo_v1_0.type);
- EXPECT_EQ(serial, radioRsp_v1_6->rspInfo_v1_0.serial);
-
- ALOGI("emergencyDial_withServices, rspInfo_v1_0.error = %s\n",
- toString(radioRsp_v1_6->rspInfo_v1_0.error).c_str());
- ::android::hardware::radio::V1_0::RadioError rspEmergencyDial =
- radioRsp_v1_6->rspInfo_v1_0.error;
-
- // In DSDS or TSTS, we only check the result if the current slot is IN_SERVICE
- // or Emergency_Only.
- if (isDsDsEnabled() || isTsTsEnabled()) {
- serial = GetRandomSerialNumber();
- radio_v1_6->getVoiceRegistrationState(serial);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- if (isVoiceEmergencyOnly(radioRsp_v1_6->voiceRegResp.regState) ||
- isVoiceInService(radioRsp_v1_6->voiceRegResp.regState)) {
- EXPECT_EQ(::android::hardware::radio::V1_0::RadioError::NONE, rspEmergencyDial);
- }
- } else {
- EXPECT_EQ(::android::hardware::radio::V1_0::RadioError::NONE, rspEmergencyDial);
- }
- // Give some time for modem to establish the emergency call channel.
- sleep(MODEM_EMERGENCY_CALL_ESTABLISH_TIME);
-
- // Disconnect all the potential established calls to prevent them affecting other tests.
- clearPotentialEstablishedCalls();
-}
-
-/*
- * Test IRadio.emergencyDial() with known emergency call routing and its response returned.
- */
-TEST_P(RadioHidlTest_v1_6, emergencyDial_1_6_withEmergencyRouting) {
- if (!deviceSupportsFeature(FEATURE_VOICE_CALL)) {
- ALOGI("Skipping emergencyDial because voice call is not supported in device");
- return;
- } else {
- ALOGI("Running emergencyDial because voice call is supported in device");
- }
-
- serial = GetRandomSerialNumber();
-
- ::android::hardware::radio::V1_0::Dial dialInfo;
- dialInfo.address = hidl_string("911");
- int categories = static_cast<int>(
- ::android::hardware::radio::V1_4::EmergencyServiceCategory::UNSPECIFIED);
- std::vector<hidl_string> urns = {""};
- ::android::hardware::radio::V1_4::EmergencyCallRouting routing =
- ::android::hardware::radio::V1_4::EmergencyCallRouting::EMERGENCY;
-
- Return<void> res =
- radio_v1_6->emergencyDial_1_6(serial, dialInfo, categories, urns, routing, true, true);
- ASSERT_OK(res);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo_v1_0.type);
- EXPECT_EQ(serial, radioRsp_v1_6->rspInfo_v1_0.serial);
-
- ALOGI("emergencyDial_withEmergencyRouting, rspInfo_v1_0.error = %s\n",
- toString(radioRsp_v1_6->rspInfo_v1_0.error).c_str());
- ::android::hardware::radio::V1_0::RadioError rspEmergencyDial =
- radioRsp_v1_6->rspInfo_v1_0.error;
-
- // In DSDS or TSTS, we only check the result if the current slot is IN_SERVICE
- // or Emergency_Only.
- if (isDsDsEnabled() || isTsTsEnabled()) {
- serial = GetRandomSerialNumber();
- radio_v1_6->getVoiceRegistrationState(serial);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- if (isVoiceEmergencyOnly(radioRsp_v1_6->voiceRegResp.regState) ||
- isVoiceInService(radioRsp_v1_6->voiceRegResp.regState)) {
- EXPECT_EQ(::android::hardware::radio::V1_0::RadioError::NONE, rspEmergencyDial);
- }
- } else {
- EXPECT_EQ(::android::hardware::radio::V1_0::RadioError::NONE, rspEmergencyDial);
- }
-
- // Give some time for modem to establish the emergency call channel.
- sleep(MODEM_EMERGENCY_CALL_ESTABLISH_TIME);
-
- // Disconnect all the potential established calls to prevent them affecting other tests.
- clearPotentialEstablishedCalls();
-}
-
-/*
* Test IRadio.getCurrentCalls_1_6() for the response returned.
*/
TEST_P(RadioHidlTest_v1_6, getCurrentCalls_1_6) {
diff --git a/radio/1.6/vts/functional/radio_hidl_hal_test.cpp b/radio/1.6/vts/functional/radio_hidl_hal_test.cpp
index 59f7682..79c3cde 100644
--- a/radio/1.6/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.6/vts/functional/radio_hidl_hal_test.cpp
@@ -74,29 +74,6 @@
return status;
}
-void RadioHidlTest_v1_6::clearPotentialEstablishedCalls() {
- // Get the current call Id to hangup the established emergency call.
- serial = GetRandomSerialNumber();
- radio_v1_6->getCurrentCalls_1_6(serial);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
-
- // Hang up to disconnect the established call channels.
- for (const ::android::hardware::radio::V1_6::Call& call : radioRsp_v1_6->currentCalls) {
- serial = GetRandomSerialNumber();
- radio_v1_6->hangup(serial, call.base.base.index);
- ALOGI("Hang up to disconnect the established call channel: %d", call.base.base.index);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- // Give some time for modem to disconnect the established call channel.
- sleep(MODEM_EMERGENCY_CALL_DISCONNECT_TIME);
- }
-
- // Verify there are no more current calls.
- serial = GetRandomSerialNumber();
- radio_v1_6->getCurrentCalls_1_6(serial);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- EXPECT_EQ(0, radioRsp_v1_6->currentCalls.size());
-}
-
void RadioHidlTest_v1_6::updateSimCardStatus() {
serial = GetRandomSerialNumber();
radio_v1_6->getIccCardStatus(serial);
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 e41b807..fbcd7a9 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
@@ -70,8 +70,7 @@
::android::hardware::radio::V1_6::RadioResponseInfo rspInfo;
// Call
- hidl_vec<::android::hardware::radio::V1_6::Call> currentCalls;
- ::android::hardware::radio::V1_2::VoiceRegStateResult voiceRegResp;
+ hidl_vec<::android::hardware::radio::V1_2::Call> currentCalls;
// Sms
SendSmsResult sendSmsResult;
diff --git a/radio/1.6/vts/functional/radio_response.cpp b/radio/1.6/vts/functional/radio_response.cpp
index ba84fd4..7c5cf6d 100644
--- a/radio/1.6/vts/functional/radio_response.cpp
+++ b/radio/1.6/vts/functional/radio_response.cpp
@@ -816,11 +816,8 @@
}
Return<void> RadioResponse_v1_6::getVoiceRegistrationStateResponse_1_2(
- const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
- const ::android::hardware::radio::V1_2::VoiceRegStateResult& voiceRegResponse) {
- rspInfo_v1_0 = info;
- voiceRegResp = voiceRegResponse;
- parent_v1_6.notify(info.serial);
+ const ::android::hardware::radio::V1_0::RadioResponseInfo& /*info*/,
+ const ::android::hardware::radio::V1_2::VoiceRegStateResult& /*voiceRegResponse*/) {
return Void();
}
@@ -1213,9 +1210,8 @@
Return<void> RadioResponse_v1_6::getCurrentCallsResponse_1_6(
const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
- const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::Call>& calls) {
+ const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::Call>& /*calls*/) {
rspInfo = info;
- currentCalls = calls;
parent_v1_6.notify(info.serial);
return Void();
}