summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c0263aa)
raw | patch | inline | side by side (parent: c0263aa)
author | sqian <shuoq@google.com> | |
Wed, 19 Sep 2018 21:10:42 +0000 (14:10 -0700) | ||
committer | sqian <shuoq@google.com> | |
Tue, 2 Oct 2018 19:18:10 +0000 (12:18 -0700) |
- Add Emergency Number source for Emergency number, which is critical for
management and display priority.
- Remove solicited request for getting emergency number list.
- Rephrasing the documentations.
Test: Treehugger (will add VTS later)
Bug: 112657134
Change-Id: Idbfebf8d246de06fd91e8de89088f5cc2c70227b
management and display priority.
- Remove solicited request for getting emergency number list.
- Rephrasing the documentations.
Test: Treehugger (will add VTS later)
Bug: 112657134
Change-Id: Idbfebf8d246de06fd91e8de89088f5cc2c70227b
diff --git a/radio/1.3/Android.bp b/radio/1.3/Android.bp
index 5ac38cd90acfbc6faa15bfb019321676ad855c6c..9424a85756e76fd7c8cf2e1227a546bec0c2eade 100644 (file)
--- a/radio/1.3/Android.bp
+++ b/radio/1.3/Android.bp
"AccessNetwork",
"DataRegStateResult",
"EmergencyNumber",
+ "EmergencyNumberSource",
"EmergencyServiceCategory",
"LteVopsInfo",
],
diff --git a/radio/1.3/IRadio.hal b/radio/1.3/IRadio.hal
index 480a61fb0876d9cf25296135f56db637d72f3610..2b14488f3e5fdf359c94f30a5236765a3d96fe84 100644 (file)
--- a/radio/1.3/IRadio.hal
+++ b/radio/1.3/IRadio.hal
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).
+ * Initiate emergency voice call, with zero 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.
*
+ * If the dialed emergency number does not have a specified emergency service category, the
+ * 'categories' field is set to @1.3::EmergencyServiceCategory#UNSPECIFIED; iff either the
+ * 'categories' field is set to @1.3::EmergencyServiceCategory#UNSPECIFIED or the underlying
+ * technology used to request emergency services does not support the emergency service
+ * category, the interpretation of the categories is defined by implementation.
+ *
+ * Reference: 3gpp TS 22.101, Section 10 - Emergency Calls
+ *
* @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)
index c80e762611b04b61033354a56826eb0165d70723..509eef8f7d1ba3db3e4c4ddc9c475feece67c770 100644 (file)
*/
interface IRadioIndication extends @1.2::IRadioIndication {
/**
- * Indicate and update all of the current Emergency Number information known to the radio,
- * when any of the Emergency Number sources (For example, network operator signals, sim card
- * information, modem configuration, OEM configuration or system properties, etc.) change the
- * list of emergency numbers.
+ * Report the current list of emergency numbers
*
- * 112, 911 are always available. Besides, 000, 08, 110, 999, 118 and 119 should be available
- * when sim is not present.
+ * Each emergency number (@1.3::EmergencyNumber) in the emergency number list contains a
+ * dialing number, zero or more service category(s), mobile country code, and source(s) that
+ * indicate where it comes from.
*
- * This should be the same information as returned by getCurrentEmergencyNumberList() in
- * 1.3::IRadio.
+ * Radio must report all the valid emergency numbers with known mobile country code and
+ * emergency service categories from all available sources including network signaling, sim,
+ * modem/oem configuration, and default configuration (112 and 911 must be always available;
+ * additionally, 000, 08, 110, 999, 118 and 119 must be available when sim is not present).
+ * Radio shall not report emergency numbers that are invalid in the current locale. The
+ * reported emergency number list must not have duplicate @1.3::EmergencyNumber entries. Please
+ * refer the documentation of @1.3::EmergencyNumber to construct each emergency number to
+ * report.
*
- * The indicated list of emergency numbers should not have duplicate @1.3::EmergencyNumber.
- * Please refer the document of @1.3::EmergencyNumber to construct each emergency number to be
- * returned.
+ * Radio must report the complete list of emergency numbers whenever the emergency numbers in
+ * the list are changed or whenever the client and the radio server are connected.
*
- * Reference: 3GPP TS 22.101 version 9.1.0 Release 9
+ * Reference: 3gpp 22.101, Section 10 - Emergency Calls
*
* @param type Type of radio indication
- * @param emergencyNumberList List of current Emergency Number information
- * (@1.3::EmergencyNumber) known to radio. Radio must collect all sources of the emergency
- * numbers to build the indication. For example, network operator signals, sim card
- * information, modem configuration, OEM configuration (for example, OEM specific system
- * properties), always-available emergency numbers and sim-absence emergency numbers, etc.
+ * @param emergencyNumberList Current list of emergency numbers known to radio.
*/
oneway currentEmergencyNumberList(RadioIndicationType type,
vec<EmergencyNumber> emergencyNumberList);
index 3604953e142421c7031aa1a334e94899f314f18d..10e7d63cf11cc3f2ad7df508e4a1ed718b527149 100644 (file)
* Interface declaring response functions to solicited radio requests.
*/
interface IRadioResponse extends @1.2::IRadioResponse {
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param emergencyNumberList List of current Emergency Number information known to radio.
- *
- * 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.
- *
- * The returned list of emergency numbers must not have duplicate @1.3::EmergencyNumber. 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
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- */
- oneway getCurrentEmergencyNumberListResponse(RadioResponseInfo info,
- vec<EmergencyNumber> emergencyNumberList);
-
/**
* @param info Response info struct containing response type, serial no. and error
*
diff --git a/radio/1.3/types.hal b/radio/1.3/types.hal
index d472ca72f47a4aaba7ee97ee42fe7f191193188b..09202a5cbb0925a3ee0a34ce0e7834739560746e 100644 (file)
--- a/radio/1.3/types.hal
+++ b/radio/1.3/types.hal
};
/**
- * Emergency number contains information of number, one or more service category(s), and mobile
- * country code (mcc).
+ * Emergency number contains information of number, one or more service category(s), mobile country
+ * code (mcc), and source(s) that indicate where it comes from.
*
* If the source of the emergency number is associated with country, field ‘mcc’ must be
* provided; otherwise the field ‘mcc’ must be an empty string.
*
- * A unique EmergencyNumber has a unique combination of ‘number’ and ‘mcc’ fields.
- * Multiple @1.3::EmergencyServiceCategory should be merged into the bitfield for the same
+ * A unique EmergencyNumber has a unique combination of ‘number’, ‘mcc’ and 'categories' fields.
+ * Multiple @1.3::EmergencyNumberSource should be merged into the bitfield for the same
* EmergencyNumber.
*
* Reference: 3GPP TS 22.101 version 9.1.0 Release 9
* the value of each bit.
*/
bitfield<EmergencyServiceCategory> categories;
+ /**
+ * The bitfield of @1.3::EmergencyNumberSource(s). See @1.3::EmergencyNumberSource for the
+ * value of each bit.
+ */
+ bitfield<EmergencyNumberSource> sources;
};
/**
* - Manually Initiated eCall (MIeC);
* - Automatically Initiated eCall (AIeC);
*
- * Type GENERIC (General emergency call, all categories) is considered to use if the reported type
- * is not any of the other specific types.
+ * Category UNSPECIFIED (General emergency call, all categories) indicates that no specific
+ * services are associated with this emergency number.
*
- * Reference: 3GPP TS 22.101 version 9.1.0 Release 9
+ * Reference: 3gpp 22.101, Section 10 - Emergency Calls
*/
enum EmergencyServiceCategory : int32_t {
- GENERIC = 0, // General emergency call, all categories
+ /**
+ * General emergency call, all categories
+ */
+ UNSPECIFIED = 0,
POLICE = 1 << 0,
AMBULANCE = 1 << 1,
FIRE_BRIGADE = 1 << 2,
MARINE_GUARD = 1 << 3,
MOUNTAIN_RESCUE = 1 << 4,
- MIEC = 1 << 5, // Manually Initiated eCall (MIeC)
- AIEC = 1 << 6, // Automatically Initiated eCall (AIeC)
+ /**
+ * Manually Initiated eCall (MIeC)
+ */
+ MIEC = 1 << 5,
+ /**
+ * Automatically Initiated eCall (AIeC)
+ */
+ AIEC = 1 << 6,
+};
+
+/**
+ * The source to tell where the corresponding @1.3::EmergencyNumber comes from.
+ *
+ * Reference: 3gpp 22.101, Section 10 - Emergency Calls
+ */
+enum EmergencyNumberSource : int32_t {
+ /**
+ * Indicates the number is from the network signal.
+ */
+ NETWORK_SIGNALING = 1 << 0,
+ /**
+ * Indicates the number is from the sim card.
+ */
+ SIM = 1 << 1,
+ /**
+ * Indicates the number is from the modem config.
+ */
+ MODEM_CONFIG = 1 << 2,
+ /**
+ * Indicates the number is available as default. Per the reference, 112, 911 must always be
+ * available; additionally, 000, 08, 110, 999, 118 and 119 must be available when sim is not
+ * present.
+ */
+ DEFAULT = 1 << 3,
};
/**