Add IRadioResponse/Indication 1.3 and Emergency Function HAL
- Add IRadioResponse/Indication in 1.3
- Add Emergency Functions:
1) getCurrentEmergencyNumberList/getCurrentEmergencyNumberListResponse
2) emergencyDial/emergencyDialResponse
3) currentEmergencyNumberList
4) EmergencyNumber/EmergencyServiceCategory
Test: compile (will add VTS later)
Bug: 112657134
Change-Id: Iafe12d5fd0e4c28fcf6e4d8e61cfb954db7fa68a
diff --git a/radio/1.3/IRadio.hal b/radio/1.3/IRadio.hal
index 16e6684..480a61f 100644
--- a/radio/1.3/IRadio.hal
+++ b/radio/1.3/IRadio.hal
@@ -17,9 +17,11 @@
package android.hardware.radio@1.3;
import @1.0::DataProfileInfo;
+import @1.0::Dial;
import @1.2::DataRequestReason;
import @1.2::IRadio;
import @1.3::AccessNetwork;
+import @1.3::EmergencyServiceCategory;
/**
* This interface is used by telephony and telecom to talk to cellular radio.
@@ -82,4 +84,45 @@
oneway setupDataCall_1_3(int32_t serial, AccessNetwork accessNetwork,
DataProfileInfo dataProfileInfo, bool modemCognitive, bool roamingAllowed,
bool isRoaming, DataRequestReason reason, vec<string> addresses, vec<string> dnses);
+
+ /**
+ * Request the current emergency number list.
+ *
+ * Each emergency number (@1.3::EmergencyNumber) in the emergency number list contains a
+ * dialing number, one or more service category(s), and mobile country code.
+ *
+ * Radio must collect all sources of the emergency number to build the response.
+ * For example, network operator signals, sim card information, modem configuration, OEM
+ * configuration (for example, OEM system properties), always-available emergency numbers and
+ * sim-absence emergency numbers, etc.
+ *
+ * 112, 911 are always available. Besides, 000, 08, 110, 999, 118 and 119 should be available
+ * when sim is not present.
+ *
+ * Please refer the document of @1.3::EmergencyNumber to construct each emergency number to be
+ * returned.
+ *
+ * Reference: 3GPP TS 22.101 version 9.1.0 Release 9
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioResponse.getCurrentEmergencyNumberListResponse()
+ */
+ oneway getCurrentEmergencyNumberList(int32_t serial);
+
+ /**
+ * Initiate emergency voice call, with one or more emergency service category(s).
+ *
+ * Note this API is the same as IRadio.dial except using the
+ * @1.3::EmergencyServiceCategory as the input param.
+ *
+ * @param serial Serial number of request.
+ * @param dialInfo the same @1.0::Dial information used by @1.0::IRadio.dial.
+ * @param categories bitfield<@1.3::EmergencyServiceCategory> the Emergency Service Category(s)
+ * of the call.
+ *
+ * Response function is IRadioResponse.emergencyDialResponse()
+ */
+ oneway emergencyDial(int32_t serial, Dial dialInfo,
+ bitfield<EmergencyServiceCategory> categories);
};