Loading current.txt +4 −4 Original line number Diff line number Diff line Loading @@ -631,10 +631,10 @@ c9273429fcf98d797d3bb07fdba6f1be95bf960f9255cde169fd1ca4db85f856 android.hardwar ## # BEGIN Radio HAL Merge Conflict Avoidance Buffer - STOPSHIP if present ## 2c0587a1e83facba604949c31163486f21eb5b47a29c8f29119a47d3bd052103 android.hardware.radio@1.5::types b5cfa87882b416105fe01e8a40a856d36c93d64f1103d77e12b1281cea13b0bd android.hardware.radio@1.5::IRadio bc59237dbd93949238081f762710552e76670cb648c0e198138551460ac54b1e android.hardware.radio@1.5::IRadioIndication ef10e15cdbe8ba63925302a95962d5679bbda6a4351400cc23e1589ca0e9f94b android.hardware.radio@1.5::IRadioResponse 73b5418353fe52721267d64592d4d4c1b77fbd1ef4261d964865de88e62ee0be android.hardware.radio@1.5::types 996f98ffe508a2f6f1755c1511b50067f7883f7c445dea9f3e931385f020b7ab android.hardware.radio@1.5::IRadio 20d52e66fd548f89bcb98cda42749a591ce8f439a2a7148617adac0c967ad937 android.hardware.radio@1.5::IRadioIndication 1512f6e1198e1aa0ebcbdb1694d0ed500a3e7791d6f305327866112331d82b66 android.hardware.radio@1.5::IRadioResponse 55f0a15642869ec98a55ea0a5ac049d3e1a6245ff7750deb6bcb7182057eee83 android.hardware.radio.config@1.3::types b27ab0cd40b0b078cdcd024bfe1061c4c4c065f3519eeb9347fa359a3268a5ae android.hardware.radio.config@1.3::IRadioConfig 742360c775313438b0f82256eac62fb5bbc76a6ae6f388573f3aa142fb2c1eea android.hardware.radio.config@1.3::IRadioConfigIndication Loading radio/1.5/IRadio.hal +10 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import @1.2::DataRequestReason; import @1.4::IRadio; import @1.4::DataProfileInfo; import @1.5::AccessNetwork; import @1.5::BarringInfo; import @1.5::DataProfileInfo; import @1.5::IndicationFilter; import @1.5::LinkAddress; Loading Loading @@ -235,4 +236,13 @@ interface IRadio extends @1.4::IRadio { * Response callback is IRadioResponse.setIndicationFilterResponse() */ oneway setIndicationFilter_1_5(int32_t serial, bitfield<IndicationFilter> indicationFilter); /** * Get all the barring info for the current camped cell applicable to the current user. * * @param serial Serial number of request. * * Response callback is IRadioResponse.getBarringInfoResponse() */ oneway getBarringInfo(int32_t serial); }; radio/1.5/IRadioIndication.hal +17 −0 Original line number Diff line number Diff line Loading @@ -59,4 +59,21 @@ interface IRadioIndication extends @1.4::IRadioIndication { oneway registrationFailed( RadioIndicationType type, CellIdentity cellIdentity, string chosenPlmn, bitfield<Domain> domain, int32_t causeCode, int32_t additionalCauseCode); /** * Indicate barring information for the user’s access category / access class and PLMN. * * <p>Provide information about the barring status of the cell for the user. The information * provided should describe all barring configurations that are applicable to the current user, * even if the user is not currently barred (due to conditional barring). This informs Android * of likely future (statistical) barring for specific services. * * <p>This indication should be sent whenever the cell’s barring config changes for the current * user, or if the user’s conditional barring status changes due to re-evaluation of the * barring conditions. Barring status will likely change when the device camps for service, * when PLMN selection is completed, when the device attempts to access a conditionally barred * service, and when the System Information including barring info for a camped cell is updated. */ oneway barringInfoChanged( RadioIndicationType type, CellIdentity cellIdentity, vec<BarringInfo> barringInfos); }; radio/1.5/IRadioResponse.hal +13 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.hardware.radio@1.5; import @1.0::RadioResponseInfo; import @1.4::IRadioResponse; import @1.5::BarringInfo; import @1.5::SetupDataCallResult; /** Loading Loading @@ -157,4 +158,16 @@ interface IRadioResponse extends @1.4::IRadioResponse { * RadioError:SYSTEM_ERR */ oneway setIndicationFilterResponse_1_5(RadioResponseInfo info); /** * @param info Response info struct containing response type, serial no. and error * @param barringInfos a vector of barring info for all barring service types * * Valid errors returned: * RadioError:NONE * RadioError:RADIO_NOT_AVAILABLE * RadioError:INTERNAL_ERR * RadioError:MODEM_ERR */ oneway getBarringInfoResponse(RadioResponseInfo info, vec<BarringInfo> barringInfos); }; radio/1.5/types.hal +123 −0 Original line number Diff line number Diff line Loading @@ -426,7 +426,130 @@ safe_union CellIdentity { CellIdentityNr nr; }; /** * Combined list of barring services for UTRAN, EUTRAN, and NGRAN. * * Barring information is defined in: * -UTRAN - 3gpp 25.331 Sec 10.2.48.8.6. * -EUTRAN - 3gpp 36.331 Sec 6.3.1 SystemInformationBlockType2 * -NGRAN - 3gpp 38.331 Sec 6.3.2 UAC-BarringInfo and 22.261 Sec 6.22.2.[2-3] */ enum BarringServiceType : int32_t { /** Applicabe to UTRAN */ /** Barring for all CS services, including registration */ CS_SERVICE, /** Barring for all PS services, including registration */ PS_SERVICE, /** Barring for mobile-originated circuit-switched voice calls */ CS_VOICE, /** Applicable to EUTRAN, NGRAN */ /** Barring for mobile-originated signalling for any purpose */ MO_SIGNALLING, /** Barring for mobile-originated internet or other interactive data */ MO_DATA, /** Barring for circuit-switched fallback calling */ CS_FALLBACK, /** Barring for IMS voice calling */ MMTEL_VOICE, /** Barring for IMS video calling */ MMTEL_VIDEO, /** Applicable to UTRAN, EUTRAN, NGRAN */ /** Barring for emergency services, either CS or emergency MMTEL */ EMERGENCY, /** Barring for short message services */ SMS, /** Operator-specific barring codes; applicable to NGRAN */ OPERATOR_1 = 1001, OPERATOR_2 = 1002, OPERATOR_3 = 1003, OPERATOR_4 = 1004, OPERATOR_5 = 1005, OPERATOR_6 = 1006, OPERATOR_7 = 1007, OPERATOR_8 = 1008, OPERATOR_9 = 1009, OPERATOR_10 = 1010, OPERATOR_11 = 1011, OPERATOR_12 = 1012, OPERATOR_13 = 1013, OPERATOR_14 = 1014, OPERATOR_15 = 1015, OPERATOR_16 = 1016, OPERATOR_17 = 1017, OPERATOR_18 = 1018, OPERATOR_19 = 1019, OPERATOR_20 = 1020, OPERATOR_21 = 1021, OPERATOR_22 = 1022, OPERATOR_23 = 1023, OPERATOR_24 = 1024, OPERATOR_25 = 1025, OPERATOR_26 = 1026, OPERATOR_27 = 1027, OPERATOR_28 = 1028, OPERATOR_29 = 1029, OPERATOR_30 = 1030, OPERATOR_31 = 1031, OPERATOR_32 = 1032, }; enum BarringType : int32_t { /** Device is not barred for the given service */ NONE, /** Device may be barred based on time and probability factors */ CONDITIONAL, /* Device is unconditionally barred */ UNCONDITIONAL, }; struct ConditionalBarringInfo { /** The barring factor as a percentage 0-100 */ int32_t barringFactor; /** The number of seconds between re-evaluations of barring */ int32_t barringTimeSeconds; /** * Indicates whether barring is currently being applied. * * <p>True if the UE applies barring to a conditionally barred * service based on the conditional barring parameters. * * <p>False if the service is conditionally barred but barring * is not currently applied, which could be due to either the * barring criteria not having been evaluated (if the UE has not * attempted to use the service) or due to the criteria being * evaluated and the UE being permitted to use the service * despite conditional barring. */ bool isBarred; }; safe_union BarringTypeSpecificInfo { /** Barring type is either none or unconditional */ Monostate noinit; /** Must be included if barring is conditional */ ConditionalBarringInfo conditionalBarringInfo; }; struct BarringInfo { /** Barring service */ BarringServiceType service; /** The type of barring applied to the service */ BarringType type; /** Type-specific barring info if applicable */ BarringTypeSpecificInfo typeSpecificInfo; }; enum IndicationFilter : @1.2::IndicationFilter { /** Control the unsolicited sending of registration failure reports via onRegistrationFailed */ REGISTRATION_FAILURE = 1 << 5, /** Control the unsolicited sending of barring info updates via onBarringInfo */ BARRING_INFO = 1 << 6, }; Loading
current.txt +4 −4 Original line number Diff line number Diff line Loading @@ -631,10 +631,10 @@ c9273429fcf98d797d3bb07fdba6f1be95bf960f9255cde169fd1ca4db85f856 android.hardwar ## # BEGIN Radio HAL Merge Conflict Avoidance Buffer - STOPSHIP if present ## 2c0587a1e83facba604949c31163486f21eb5b47a29c8f29119a47d3bd052103 android.hardware.radio@1.5::types b5cfa87882b416105fe01e8a40a856d36c93d64f1103d77e12b1281cea13b0bd android.hardware.radio@1.5::IRadio bc59237dbd93949238081f762710552e76670cb648c0e198138551460ac54b1e android.hardware.radio@1.5::IRadioIndication ef10e15cdbe8ba63925302a95962d5679bbda6a4351400cc23e1589ca0e9f94b android.hardware.radio@1.5::IRadioResponse 73b5418353fe52721267d64592d4d4c1b77fbd1ef4261d964865de88e62ee0be android.hardware.radio@1.5::types 996f98ffe508a2f6f1755c1511b50067f7883f7c445dea9f3e931385f020b7ab android.hardware.radio@1.5::IRadio 20d52e66fd548f89bcb98cda42749a591ce8f439a2a7148617adac0c967ad937 android.hardware.radio@1.5::IRadioIndication 1512f6e1198e1aa0ebcbdb1694d0ed500a3e7791d6f305327866112331d82b66 android.hardware.radio@1.5::IRadioResponse 55f0a15642869ec98a55ea0a5ac049d3e1a6245ff7750deb6bcb7182057eee83 android.hardware.radio.config@1.3::types b27ab0cd40b0b078cdcd024bfe1061c4c4c065f3519eeb9347fa359a3268a5ae android.hardware.radio.config@1.3::IRadioConfig 742360c775313438b0f82256eac62fb5bbc76a6ae6f388573f3aa142fb2c1eea android.hardware.radio.config@1.3::IRadioConfigIndication Loading
radio/1.5/IRadio.hal +10 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import @1.2::DataRequestReason; import @1.4::IRadio; import @1.4::DataProfileInfo; import @1.5::AccessNetwork; import @1.5::BarringInfo; import @1.5::DataProfileInfo; import @1.5::IndicationFilter; import @1.5::LinkAddress; Loading Loading @@ -235,4 +236,13 @@ interface IRadio extends @1.4::IRadio { * Response callback is IRadioResponse.setIndicationFilterResponse() */ oneway setIndicationFilter_1_5(int32_t serial, bitfield<IndicationFilter> indicationFilter); /** * Get all the barring info for the current camped cell applicable to the current user. * * @param serial Serial number of request. * * Response callback is IRadioResponse.getBarringInfoResponse() */ oneway getBarringInfo(int32_t serial); };
radio/1.5/IRadioIndication.hal +17 −0 Original line number Diff line number Diff line Loading @@ -59,4 +59,21 @@ interface IRadioIndication extends @1.4::IRadioIndication { oneway registrationFailed( RadioIndicationType type, CellIdentity cellIdentity, string chosenPlmn, bitfield<Domain> domain, int32_t causeCode, int32_t additionalCauseCode); /** * Indicate barring information for the user’s access category / access class and PLMN. * * <p>Provide information about the barring status of the cell for the user. The information * provided should describe all barring configurations that are applicable to the current user, * even if the user is not currently barred (due to conditional barring). This informs Android * of likely future (statistical) barring for specific services. * * <p>This indication should be sent whenever the cell’s barring config changes for the current * user, or if the user’s conditional barring status changes due to re-evaluation of the * barring conditions. Barring status will likely change when the device camps for service, * when PLMN selection is completed, when the device attempts to access a conditionally barred * service, and when the System Information including barring info for a camped cell is updated. */ oneway barringInfoChanged( RadioIndicationType type, CellIdentity cellIdentity, vec<BarringInfo> barringInfos); };
radio/1.5/IRadioResponse.hal +13 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.hardware.radio@1.5; import @1.0::RadioResponseInfo; import @1.4::IRadioResponse; import @1.5::BarringInfo; import @1.5::SetupDataCallResult; /** Loading Loading @@ -157,4 +158,16 @@ interface IRadioResponse extends @1.4::IRadioResponse { * RadioError:SYSTEM_ERR */ oneway setIndicationFilterResponse_1_5(RadioResponseInfo info); /** * @param info Response info struct containing response type, serial no. and error * @param barringInfos a vector of barring info for all barring service types * * Valid errors returned: * RadioError:NONE * RadioError:RADIO_NOT_AVAILABLE * RadioError:INTERNAL_ERR * RadioError:MODEM_ERR */ oneway getBarringInfoResponse(RadioResponseInfo info, vec<BarringInfo> barringInfos); };
radio/1.5/types.hal +123 −0 Original line number Diff line number Diff line Loading @@ -426,7 +426,130 @@ safe_union CellIdentity { CellIdentityNr nr; }; /** * Combined list of barring services for UTRAN, EUTRAN, and NGRAN. * * Barring information is defined in: * -UTRAN - 3gpp 25.331 Sec 10.2.48.8.6. * -EUTRAN - 3gpp 36.331 Sec 6.3.1 SystemInformationBlockType2 * -NGRAN - 3gpp 38.331 Sec 6.3.2 UAC-BarringInfo and 22.261 Sec 6.22.2.[2-3] */ enum BarringServiceType : int32_t { /** Applicabe to UTRAN */ /** Barring for all CS services, including registration */ CS_SERVICE, /** Barring for all PS services, including registration */ PS_SERVICE, /** Barring for mobile-originated circuit-switched voice calls */ CS_VOICE, /** Applicable to EUTRAN, NGRAN */ /** Barring for mobile-originated signalling for any purpose */ MO_SIGNALLING, /** Barring for mobile-originated internet or other interactive data */ MO_DATA, /** Barring for circuit-switched fallback calling */ CS_FALLBACK, /** Barring for IMS voice calling */ MMTEL_VOICE, /** Barring for IMS video calling */ MMTEL_VIDEO, /** Applicable to UTRAN, EUTRAN, NGRAN */ /** Barring for emergency services, either CS or emergency MMTEL */ EMERGENCY, /** Barring for short message services */ SMS, /** Operator-specific barring codes; applicable to NGRAN */ OPERATOR_1 = 1001, OPERATOR_2 = 1002, OPERATOR_3 = 1003, OPERATOR_4 = 1004, OPERATOR_5 = 1005, OPERATOR_6 = 1006, OPERATOR_7 = 1007, OPERATOR_8 = 1008, OPERATOR_9 = 1009, OPERATOR_10 = 1010, OPERATOR_11 = 1011, OPERATOR_12 = 1012, OPERATOR_13 = 1013, OPERATOR_14 = 1014, OPERATOR_15 = 1015, OPERATOR_16 = 1016, OPERATOR_17 = 1017, OPERATOR_18 = 1018, OPERATOR_19 = 1019, OPERATOR_20 = 1020, OPERATOR_21 = 1021, OPERATOR_22 = 1022, OPERATOR_23 = 1023, OPERATOR_24 = 1024, OPERATOR_25 = 1025, OPERATOR_26 = 1026, OPERATOR_27 = 1027, OPERATOR_28 = 1028, OPERATOR_29 = 1029, OPERATOR_30 = 1030, OPERATOR_31 = 1031, OPERATOR_32 = 1032, }; enum BarringType : int32_t { /** Device is not barred for the given service */ NONE, /** Device may be barred based on time and probability factors */ CONDITIONAL, /* Device is unconditionally barred */ UNCONDITIONAL, }; struct ConditionalBarringInfo { /** The barring factor as a percentage 0-100 */ int32_t barringFactor; /** The number of seconds between re-evaluations of barring */ int32_t barringTimeSeconds; /** * Indicates whether barring is currently being applied. * * <p>True if the UE applies barring to a conditionally barred * service based on the conditional barring parameters. * * <p>False if the service is conditionally barred but barring * is not currently applied, which could be due to either the * barring criteria not having been evaluated (if the UE has not * attempted to use the service) or due to the criteria being * evaluated and the UE being permitted to use the service * despite conditional barring. */ bool isBarred; }; safe_union BarringTypeSpecificInfo { /** Barring type is either none or unconditional */ Monostate noinit; /** Must be included if barring is conditional */ ConditionalBarringInfo conditionalBarringInfo; }; struct BarringInfo { /** Barring service */ BarringServiceType service; /** The type of barring applied to the service */ BarringType type; /** Type-specific barring info if applicable */ BarringTypeSpecificInfo typeSpecificInfo; }; enum IndicationFilter : @1.2::IndicationFilter { /** Control the unsolicited sending of registration failure reports via onRegistrationFailed */ REGISTRATION_FAILURE = 1 << 5, /** Control the unsolicited sending of barring info updates via onBarringInfo */ BARRING_INFO = 1 << 6, };