Loading radio/1.3/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ hidl_interface { "AccessNetwork", "DataRegStateResult", "EmergencyNumber", "EmergencyNumberSource", "EmergencyServiceCategory", "LteVopsInfo", ], Loading radio/1.3/IRadio.hal +9 −26 Original line number Diff line number Diff line Loading @@ -86,36 +86,19 @@ interface IRadio extends @1.2::IRadio { 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) Loading radio/1.3/IRadioIndication.hal +16 −17 Original line number Diff line number Diff line Loading @@ -24,29 +24,28 @@ import @1.2::IRadioIndication; */ 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); Loading radio/1.3/IRadioResponse.hal +0 −24 Original line number Diff line number Diff line Loading @@ -23,30 +23,6 @@ import @1.2::IRadioResponse; * 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 * Loading radio/1.3/types.hal +50 −10 Original line number Diff line number Diff line Loading @@ -29,14 +29,14 @@ enum AccessNetwork : @1.2::AccessNetwork { }; /** * 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 Loading @@ -56,6 +56,11 @@ struct EmergencyNumber{ * 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; }; /** Loading @@ -69,20 +74,55 @@ struct EmergencyNumber{ * - 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, }; /** Loading Loading
radio/1.3/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ hidl_interface { "AccessNetwork", "DataRegStateResult", "EmergencyNumber", "EmergencyNumberSource", "EmergencyServiceCategory", "LteVopsInfo", ], Loading
radio/1.3/IRadio.hal +9 −26 Original line number Diff line number Diff line Loading @@ -86,36 +86,19 @@ interface IRadio extends @1.2::IRadio { 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) Loading
radio/1.3/IRadioIndication.hal +16 −17 Original line number Diff line number Diff line Loading @@ -24,29 +24,28 @@ import @1.2::IRadioIndication; */ 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); Loading
radio/1.3/IRadioResponse.hal +0 −24 Original line number Diff line number Diff line Loading @@ -23,30 +23,6 @@ import @1.2::IRadioResponse; * 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 * Loading
radio/1.3/types.hal +50 −10 Original line number Diff line number Diff line Loading @@ -29,14 +29,14 @@ enum AccessNetwork : @1.2::AccessNetwork { }; /** * 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 Loading @@ -56,6 +56,11 @@ struct EmergencyNumber{ * 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; }; /** Loading @@ -69,20 +74,55 @@ struct EmergencyNumber{ * - 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, }; /** Loading