• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package android.telephony;
2 
3 import android.annotation.IntDef;
4 import android.net.NetworkAgent;
5 import android.net.NetworkCapabilities;
6 import android.telecom.Connection;
7 import android.telephony.data.ApnSetting;
8 
9 import java.lang.annotation.Retention;
10 import java.lang.annotation.RetentionPolicy;
11 
12 /**
13  * Telephony Annotations.
14  * Telephony sdk is a mainline module and others cannot reference hidden @IntDef. Moving some
15  * telephony annotations to a separate class to allow others statically link to it.
16  *
17  * @hide
18  */
19 public class Annotation {
20     @IntDef(prefix = {"DATA_"}, value = {
21             TelephonyManager.DATA_ACTIVITY_NONE,
22             TelephonyManager.DATA_ACTIVITY_IN,
23             TelephonyManager.DATA_ACTIVITY_OUT,
24             TelephonyManager.DATA_ACTIVITY_INOUT,
25             TelephonyManager.DATA_ACTIVITY_DORMANT,
26     })
27     @Retention(RetentionPolicy.SOURCE)
28     public @interface DataActivityType {
29     }
30 
31     @IntDef(prefix = {"DATA_"}, value = {
32             TelephonyManager.DATA_UNKNOWN,
33             TelephonyManager.DATA_DISCONNECTED,
34             TelephonyManager.DATA_CONNECTING,
35             TelephonyManager.DATA_CONNECTED,
36             TelephonyManager.DATA_SUSPENDED,
37     })
38     @Retention(RetentionPolicy.SOURCE)
39     public @interface DataState {
40     }
41 
42     @Retention(RetentionPolicy.SOURCE)
43     @IntDef(prefix = {"RADIO_POWER_"},
44             value = {
45                     TelephonyManager.RADIO_POWER_OFF,
46                     TelephonyManager.RADIO_POWER_ON,
47                     TelephonyManager.RADIO_POWER_UNAVAILABLE,
48             })
49     public @interface RadioPowerState {
50     }
51 
52     @IntDef({
53             TelephonyManager.SIM_ACTIVATION_STATE_UNKNOWN,
54             TelephonyManager.SIM_ACTIVATION_STATE_ACTIVATING,
55             TelephonyManager.SIM_ACTIVATION_STATE_ACTIVATED,
56             TelephonyManager.SIM_ACTIVATION_STATE_DEACTIVATED,
57             TelephonyManager.SIM_ACTIVATION_STATE_RESTRICTED
58     })
59     @Retention(RetentionPolicy.SOURCE)
60     public @interface SimActivationState {
61     }
62 
63     @Retention(RetentionPolicy.SOURCE)
64     @IntDef(prefix = {"SRVCC_STATE_"},
65             value = {
66                     TelephonyManager.SRVCC_STATE_HANDOVER_NONE,
67                     TelephonyManager.SRVCC_STATE_HANDOVER_STARTED,
68                     TelephonyManager.SRVCC_STATE_HANDOVER_COMPLETED,
69                     TelephonyManager.SRVCC_STATE_HANDOVER_FAILED,
70                     TelephonyManager.SRVCC_STATE_HANDOVER_CANCELED})
71     public @interface SrvccState {
72     }
73 
74     @IntDef(prefix = {"CALL_STATE_"}, value = {
75             TelephonyManager.CALL_STATE_IDLE,
76             TelephonyManager.CALL_STATE_RINGING,
77             TelephonyManager.CALL_STATE_OFFHOOK
78     })
79     @Retention(RetentionPolicy.SOURCE)
80     public @interface CallState {
81     }
82 
83     @IntDef({
84             TelephonyManager.NETWORK_TYPE_UNKNOWN,
85             TelephonyManager.NETWORK_TYPE_GPRS,
86             TelephonyManager.NETWORK_TYPE_EDGE,
87             TelephonyManager.NETWORK_TYPE_UMTS,
88             TelephonyManager.NETWORK_TYPE_CDMA,
89             TelephonyManager.NETWORK_TYPE_EVDO_0,
90             TelephonyManager.NETWORK_TYPE_EVDO_A,
91             TelephonyManager.NETWORK_TYPE_1xRTT,
92             TelephonyManager.NETWORK_TYPE_HSDPA,
93             TelephonyManager.NETWORK_TYPE_HSUPA,
94             TelephonyManager.NETWORK_TYPE_HSPA,
95             TelephonyManager.NETWORK_TYPE_IDEN,
96             TelephonyManager.NETWORK_TYPE_EVDO_B,
97             TelephonyManager.NETWORK_TYPE_LTE,
98             TelephonyManager.NETWORK_TYPE_EHRPD,
99             TelephonyManager.NETWORK_TYPE_HSPAP,
100             TelephonyManager.NETWORK_TYPE_GSM,
101             TelephonyManager.NETWORK_TYPE_TD_SCDMA,
102             TelephonyManager.NETWORK_TYPE_IWLAN,
103 
104             //TODO: In order for @SystemApi methods to use this class, there cannot be any
105             // public hidden members.  This network type is marked as hidden because it is not a
106             // true network type and we are looking to remove it completely from the available list
107             // of network types.
108             //TelephonyManager.NETWORK_TYPE_LTE_CA,
109 
110             TelephonyManager.NETWORK_TYPE_NR,
111     })
112     @Retention(RetentionPolicy.SOURCE)
113     public @interface NetworkType {
114     }
115 
116     // TODO(b/180542000): remove and replace references with @ApnSetting.ApnType
117     @IntDef(flag = true, prefix = {"TYPE_"}, value = {
118             ApnSetting.TYPE_DEFAULT,
119             ApnSetting.TYPE_MMS,
120             ApnSetting.TYPE_SUPL,
121             ApnSetting.TYPE_DUN,
122             ApnSetting.TYPE_HIPRI,
123             ApnSetting.TYPE_FOTA,
124             ApnSetting.TYPE_IMS,
125             ApnSetting.TYPE_CBS,
126             ApnSetting.TYPE_IA,
127             ApnSetting.TYPE_EMERGENCY,
128             ApnSetting.TYPE_MCX,
129             ApnSetting.TYPE_XCAP,
130             ApnSetting.TYPE_BIP,
131             ApnSetting.TYPE_VSIM,
132             ApnSetting.TYPE_ENTERPRISE
133     })
134     @Retention(RetentionPolicy.SOURCE)
135     public @interface ApnType {
136     }
137 
138     @IntDef(value = {
139             DataFailCause.NONE,
140             DataFailCause.OPERATOR_BARRED,
141             DataFailCause.NAS_SIGNALLING,
142             DataFailCause.LLC_SNDCP,
143             DataFailCause.INSUFFICIENT_RESOURCES,
144             DataFailCause.MISSING_UNKNOWN_APN,
145             DataFailCause.UNKNOWN_PDP_ADDRESS_TYPE,
146             DataFailCause.USER_AUTHENTICATION,
147             DataFailCause.ACTIVATION_REJECT_GGSN,
148             DataFailCause.ACTIVATION_REJECT_UNSPECIFIED,
149             DataFailCause.SERVICE_OPTION_NOT_SUPPORTED,
150             DataFailCause.SERVICE_OPTION_NOT_SUBSCRIBED,
151             DataFailCause.SERVICE_OPTION_OUT_OF_ORDER,
152             DataFailCause.NSAPI_IN_USE,
153             DataFailCause.REGULAR_DEACTIVATION,
154             DataFailCause.QOS_NOT_ACCEPTED,
155             DataFailCause.NETWORK_FAILURE,
156             DataFailCause.UMTS_REACTIVATION_REQ,
157             DataFailCause.FEATURE_NOT_SUPP,
158             DataFailCause.TFT_SEMANTIC_ERROR,
159             DataFailCause.TFT_SYTAX_ERROR,
160             DataFailCause.UNKNOWN_PDP_CONTEXT,
161             DataFailCause.FILTER_SEMANTIC_ERROR,
162             DataFailCause.FILTER_SYTAX_ERROR,
163             DataFailCause.PDP_WITHOUT_ACTIVE_TFT,
164             DataFailCause.ACTIVATION_REJECTED_BCM_VIOLATION,
165             DataFailCause.ONLY_IPV4_ALLOWED,
166             DataFailCause.ONLY_IPV6_ALLOWED,
167             DataFailCause.ONLY_SINGLE_BEARER_ALLOWED,
168             DataFailCause.ESM_INFO_NOT_RECEIVED,
169             DataFailCause.PDN_CONN_DOES_NOT_EXIST,
170             DataFailCause.MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED,
171             DataFailCause.COLLISION_WITH_NETWORK_INITIATED_REQUEST,
172             DataFailCause.ONLY_IPV4V6_ALLOWED,
173             DataFailCause.ONLY_NON_IP_ALLOWED,
174             DataFailCause.UNSUPPORTED_QCI_VALUE,
175             DataFailCause.BEARER_HANDLING_NOT_SUPPORTED,
176             DataFailCause.ACTIVE_PDP_CONTEXT_MAX_NUMBER_REACHED,
177             DataFailCause.UNSUPPORTED_APN_IN_CURRENT_PLMN,
178             DataFailCause.INVALID_TRANSACTION_ID,
179             DataFailCause.MESSAGE_INCORRECT_SEMANTIC,
180             DataFailCause.INVALID_MANDATORY_INFO,
181             DataFailCause.MESSAGE_TYPE_UNSUPPORTED,
182             DataFailCause.MSG_TYPE_NONCOMPATIBLE_STATE,
183             DataFailCause.UNKNOWN_INFO_ELEMENT,
184             DataFailCause.CONDITIONAL_IE_ERROR,
185             DataFailCause.MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE,
186             DataFailCause.PROTOCOL_ERRORS,
187             DataFailCause.APN_TYPE_CONFLICT,
188             DataFailCause.INVALID_PCSCF_ADDR,
189             DataFailCause.INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN,
190             DataFailCause.EMM_ACCESS_BARRED,
191             DataFailCause.EMERGENCY_IFACE_ONLY,
192             DataFailCause.IFACE_MISMATCH,
193             DataFailCause.COMPANION_IFACE_IN_USE,
194             DataFailCause.IP_ADDRESS_MISMATCH,
195             DataFailCause.IFACE_AND_POL_FAMILY_MISMATCH,
196             DataFailCause.EMM_ACCESS_BARRED_INFINITE_RETRY,
197             DataFailCause.AUTH_FAILURE_ON_EMERGENCY_CALL,
198             DataFailCause.INVALID_DNS_ADDR,
199             DataFailCause.INVALID_PCSCF_OR_DNS_ADDRESS,
200             DataFailCause.CALL_PREEMPT_BY_EMERGENCY_APN,
201             DataFailCause.UE_INITIATED_DETACH_OR_DISCONNECT,
202             DataFailCause.MIP_FA_REASON_UNSPECIFIED,
203             DataFailCause.MIP_FA_ADMIN_PROHIBITED,
204             DataFailCause.MIP_FA_INSUFFICIENT_RESOURCES,
205             DataFailCause.MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE,
206             DataFailCause.MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE,
207             DataFailCause.MIP_FA_REQUESTED_LIFETIME_TOO_LONG,
208             DataFailCause.MIP_FA_MALFORMED_REQUEST,
209             DataFailCause.MIP_FA_MALFORMED_REPLY,
210             DataFailCause.MIP_FA_ENCAPSULATION_UNAVAILABLE,
211             DataFailCause.MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE,
212             DataFailCause.MIP_FA_REVERSE_TUNNEL_UNAVAILABLE,
213             DataFailCause.MIP_FA_REVERSE_TUNNEL_IS_MANDATORY,
214             DataFailCause.MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED,
215             DataFailCause.MIP_FA_MISSING_NAI,
216             DataFailCause.MIP_FA_MISSING_HOME_AGENT,
217             DataFailCause.MIP_FA_MISSING_HOME_ADDRESS,
218             DataFailCause.MIP_FA_UNKNOWN_CHALLENGE,
219             DataFailCause.MIP_FA_MISSING_CHALLENGE,
220             DataFailCause.MIP_FA_STALE_CHALLENGE,
221             DataFailCause.MIP_HA_REASON_UNSPECIFIED,
222             DataFailCause.MIP_HA_ADMIN_PROHIBITED,
223             DataFailCause.MIP_HA_INSUFFICIENT_RESOURCES,
224             DataFailCause.MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE,
225             DataFailCause.MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE,
226             DataFailCause.MIP_HA_REGISTRATION_ID_MISMATCH,
227             DataFailCause.MIP_HA_MALFORMED_REQUEST,
228             DataFailCause.MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS,
229             DataFailCause.MIP_HA_REVERSE_TUNNEL_UNAVAILABLE,
230             DataFailCause.MIP_HA_REVERSE_TUNNEL_IS_MANDATORY,
231             DataFailCause.MIP_HA_ENCAPSULATION_UNAVAILABLE,
232             DataFailCause.CLOSE_IN_PROGRESS,
233             DataFailCause.NETWORK_INITIATED_TERMINATION,
234             DataFailCause.MODEM_APP_PREEMPTED,
235             DataFailCause.PDN_IPV4_CALL_DISALLOWED,
236             DataFailCause.PDN_IPV4_CALL_THROTTLED,
237             DataFailCause.PDN_IPV6_CALL_DISALLOWED,
238             DataFailCause.PDN_IPV6_CALL_THROTTLED,
239             DataFailCause.MODEM_RESTART,
240             DataFailCause.PDP_PPP_NOT_SUPPORTED,
241             DataFailCause.UNPREFERRED_RAT,
242             DataFailCause.PHYSICAL_LINK_CLOSE_IN_PROGRESS,
243             DataFailCause.APN_PENDING_HANDOVER,
244             DataFailCause.PROFILE_BEARER_INCOMPATIBLE,
245             DataFailCause.SIM_CARD_CHANGED,
246             DataFailCause.LOW_POWER_MODE_OR_POWERING_DOWN,
247             DataFailCause.APN_DISABLED,
248             DataFailCause.MAX_PPP_INACTIVITY_TIMER_EXPIRED,
249             DataFailCause.IPV6_ADDRESS_TRANSFER_FAILED,
250             DataFailCause.TRAT_SWAP_FAILED,
251             DataFailCause.EHRPD_TO_HRPD_FALLBACK,
252             DataFailCause.MIP_CONFIG_FAILURE,
253             DataFailCause.PDN_INACTIVITY_TIMER_EXPIRED,
254             DataFailCause.MAX_IPV4_CONNECTIONS,
255             DataFailCause.MAX_IPV6_CONNECTIONS,
256             DataFailCause.APN_MISMATCH,
257             DataFailCause.IP_VERSION_MISMATCH,
258             DataFailCause.DUN_CALL_DISALLOWED,
259             DataFailCause.INTERNAL_EPC_NONEPC_TRANSITION,
260             DataFailCause.INTERFACE_IN_USE,
261             DataFailCause.APN_DISALLOWED_ON_ROAMING,
262             DataFailCause.APN_PARAMETERS_CHANGED,
263             DataFailCause.NULL_APN_DISALLOWED,
264             DataFailCause.THERMAL_MITIGATION,
265             DataFailCause.DATA_SETTINGS_DISABLED,
266             DataFailCause.DATA_ROAMING_SETTINGS_DISABLED,
267             DataFailCause.DDS_SWITCHED,
268             DataFailCause.FORBIDDEN_APN_NAME,
269             DataFailCause.DDS_SWITCH_IN_PROGRESS,
270             DataFailCause.CALL_DISALLOWED_IN_ROAMING,
271             DataFailCause.NON_IP_NOT_SUPPORTED,
272             DataFailCause.PDN_NON_IP_CALL_THROTTLED,
273             DataFailCause.PDN_NON_IP_CALL_DISALLOWED,
274             DataFailCause.CDMA_LOCK,
275             DataFailCause.CDMA_INTERCEPT,
276             DataFailCause.CDMA_REORDER,
277             DataFailCause.CDMA_RELEASE_DUE_TO_SO_REJECTION,
278             DataFailCause.CDMA_INCOMING_CALL,
279             DataFailCause.CDMA_ALERT_STOP,
280             DataFailCause.CHANNEL_ACQUISITION_FAILURE,
281             DataFailCause.MAX_ACCESS_PROBE,
282             DataFailCause.CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION,
283             DataFailCause.NO_RESPONSE_FROM_BASE_STATION,
284             DataFailCause.REJECTED_BY_BASE_STATION,
285             DataFailCause.CONCURRENT_SERVICES_INCOMPATIBLE,
286             DataFailCause.NO_CDMA_SERVICE,
287             DataFailCause.RUIM_NOT_PRESENT,
288             DataFailCause.CDMA_RETRY_ORDER,
289             DataFailCause.ACCESS_BLOCK,
290             DataFailCause.ACCESS_BLOCK_ALL,
291             DataFailCause.IS707B_MAX_ACCESS_PROBES,
292             DataFailCause.THERMAL_EMERGENCY,
293             DataFailCause.CONCURRENT_SERVICES_NOT_ALLOWED,
294             DataFailCause.INCOMING_CALL_REJECTED,
295             DataFailCause.NO_SERVICE_ON_GATEWAY,
296             DataFailCause.NO_GPRS_CONTEXT,
297             DataFailCause.ILLEGAL_MS,
298             DataFailCause.ILLEGAL_ME,
299             DataFailCause.GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED,
300             DataFailCause.GPRS_SERVICES_NOT_ALLOWED,
301             DataFailCause.MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK,
302             DataFailCause.IMPLICITLY_DETACHED,
303             DataFailCause.PLMN_NOT_ALLOWED,
304             DataFailCause.LOCATION_AREA_NOT_ALLOWED,
305             DataFailCause.GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN,
306             DataFailCause.PDP_DUPLICATE,
307             DataFailCause.UE_RAT_CHANGE,
308             DataFailCause.CONGESTION,
309             DataFailCause.NO_PDP_CONTEXT_ACTIVATED,
310             DataFailCause.ACCESS_CLASS_DSAC_REJECTION,
311             DataFailCause.PDP_ACTIVATE_MAX_RETRY_FAILED,
312             DataFailCause.RADIO_ACCESS_BEARER_FAILURE,
313             DataFailCause.ESM_UNKNOWN_EPS_BEARER_CONTEXT,
314             DataFailCause.DRB_RELEASED_BY_RRC,
315             DataFailCause.CONNECTION_RELEASED,
316             DataFailCause.EMM_DETACHED,
317             DataFailCause.EMM_ATTACH_FAILED,
318             DataFailCause.EMM_ATTACH_STARTED,
319             DataFailCause.LTE_NAS_SERVICE_REQUEST_FAILED,
320             DataFailCause.DUPLICATE_BEARER_ID,
321             DataFailCause.ESM_COLLISION_SCENARIOS,
322             DataFailCause.ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK,
323             DataFailCause.ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER,
324             DataFailCause.ESM_BAD_OTA_MESSAGE,
325             DataFailCause.ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL,
326             DataFailCause.ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT,
327             DataFailCause.DS_EXPLICIT_DEACTIVATION,
328             DataFailCause.ESM_LOCAL_CAUSE_NONE,
329             DataFailCause.LTE_THROTTLING_NOT_REQUIRED,
330             DataFailCause.ACCESS_CONTROL_LIST_CHECK_FAILURE,
331             DataFailCause.SERVICE_NOT_ALLOWED_ON_PLMN,
332             DataFailCause.EMM_T3417_EXPIRED,
333             DataFailCause.EMM_T3417_EXT_EXPIRED,
334             DataFailCause.RRC_UPLINK_DATA_TRANSMISSION_FAILURE,
335             DataFailCause.RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER,
336             DataFailCause.RRC_UPLINK_CONNECTION_RELEASE,
337             DataFailCause.RRC_UPLINK_RADIO_LINK_FAILURE,
338             DataFailCause.RRC_UPLINK_ERROR_REQUEST_FROM_NAS,
339             DataFailCause.RRC_CONNECTION_ACCESS_STRATUM_FAILURE,
340             DataFailCause.RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS,
341             DataFailCause.RRC_CONNECTION_ACCESS_BARRED,
342             DataFailCause.RRC_CONNECTION_CELL_RESELECTION,
343             DataFailCause.RRC_CONNECTION_CONFIG_FAILURE,
344             DataFailCause.RRC_CONNECTION_TIMER_EXPIRED,
345             DataFailCause.RRC_CONNECTION_LINK_FAILURE,
346             DataFailCause.RRC_CONNECTION_CELL_NOT_CAMPED,
347             DataFailCause.RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE,
348             DataFailCause.RRC_CONNECTION_REJECT_BY_NETWORK,
349             DataFailCause.RRC_CONNECTION_NORMAL_RELEASE,
350             DataFailCause.RRC_CONNECTION_RADIO_LINK_FAILURE,
351             DataFailCause.RRC_CONNECTION_REESTABLISHMENT_FAILURE,
352             DataFailCause.RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER,
353             DataFailCause.RRC_CONNECTION_ABORT_REQUEST,
354             DataFailCause.RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR,
355             DataFailCause.NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH,
356             DataFailCause.NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH,
357             DataFailCause.ESM_PROCEDURE_TIME_OUT,
358             DataFailCause.INVALID_CONNECTION_ID,
359             DataFailCause.MAXIMIUM_NSAPIS_EXCEEDED,
360             DataFailCause.INVALID_PRIMARY_NSAPI,
361             DataFailCause.CANNOT_ENCODE_OTA_MESSAGE,
362             DataFailCause.RADIO_ACCESS_BEARER_SETUP_FAILURE,
363             DataFailCause.PDP_ESTABLISH_TIMEOUT_EXPIRED,
364             DataFailCause.PDP_MODIFY_TIMEOUT_EXPIRED,
365             DataFailCause.PDP_INACTIVE_TIMEOUT_EXPIRED,
366             DataFailCause.PDP_LOWERLAYER_ERROR,
367             DataFailCause.PDP_MODIFY_COLLISION,
368             DataFailCause.MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED,
369             DataFailCause.NAS_REQUEST_REJECTED_BY_NETWORK,
370             DataFailCause.RRC_CONNECTION_INVALID_REQUEST,
371             DataFailCause.RRC_CONNECTION_TRACKING_AREA_ID_CHANGED,
372             DataFailCause.RRC_CONNECTION_RF_UNAVAILABLE,
373             DataFailCause.RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE,
374             DataFailCause.RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE,
375             DataFailCause.RRC_CONNECTION_ABORTED_AFTER_HANDOVER,
376             DataFailCause.RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE,
377             DataFailCause.RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE,
378             DataFailCause.IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER,
379             DataFailCause.IMEI_NOT_ACCEPTED,
380             DataFailCause.EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED,
381             DataFailCause.EPS_SERVICES_NOT_ALLOWED_IN_PLMN,
382             DataFailCause.MSC_TEMPORARILY_NOT_REACHABLE,
383             DataFailCause.CS_DOMAIN_NOT_AVAILABLE,
384             DataFailCause.ESM_FAILURE,
385             DataFailCause.MAC_FAILURE,
386             DataFailCause.SYNCHRONIZATION_FAILURE,
387             DataFailCause.UE_SECURITY_CAPABILITIES_MISMATCH,
388             DataFailCause.SECURITY_MODE_REJECTED,
389             DataFailCause.UNACCEPTABLE_NON_EPS_AUTHENTICATION,
390             DataFailCause.CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED,
391             DataFailCause.NO_EPS_BEARER_CONTEXT_ACTIVATED,
392             DataFailCause.INVALID_EMM_STATE,
393             DataFailCause.NAS_LAYER_FAILURE,
394             DataFailCause.MULTIPLE_PDP_CALL_NOT_ALLOWED,
395             DataFailCause.EMBMS_NOT_ENABLED,
396             DataFailCause.IRAT_HANDOVER_FAILED,
397             DataFailCause.EMBMS_REGULAR_DEACTIVATION,
398             DataFailCause.TEST_LOOPBACK_REGULAR_DEACTIVATION,
399             DataFailCause.LOWER_LAYER_REGISTRATION_FAILURE,
400             DataFailCause.DATA_PLAN_EXPIRED,
401             DataFailCause.UMTS_HANDOVER_TO_IWLAN,
402             DataFailCause.EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY,
403             DataFailCause.EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE,
404             DataFailCause.EVDO_HDR_CHANGED,
405             DataFailCause.EVDO_HDR_EXITED,
406             DataFailCause.EVDO_HDR_NO_SESSION,
407             DataFailCause.EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL,
408             DataFailCause.EVDO_HDR_CONNECTION_SETUP_TIMEOUT,
409             DataFailCause.FAILED_TO_ACQUIRE_COLOCATED_HDR,
410             DataFailCause.OTASP_COMMIT_IN_PROGRESS,
411             DataFailCause.NO_HYBRID_HDR_SERVICE,
412             DataFailCause.HDR_NO_LOCK_GRANTED,
413             DataFailCause.DBM_OR_SMS_IN_PROGRESS,
414             DataFailCause.HDR_FADE,
415             DataFailCause.HDR_ACCESS_FAILURE,
416             DataFailCause.UNSUPPORTED_1X_PREV,
417             DataFailCause.LOCAL_END,
418             DataFailCause.NO_SERVICE,
419             DataFailCause.FADE,
420             DataFailCause.NORMAL_RELEASE,
421             DataFailCause.ACCESS_ATTEMPT_ALREADY_IN_PROGRESS,
422             DataFailCause.REDIRECTION_OR_HANDOFF_IN_PROGRESS,
423             DataFailCause.EMERGENCY_MODE,
424             DataFailCause.PHONE_IN_USE,
425             DataFailCause.INVALID_MODE,
426             DataFailCause.INVALID_SIM_STATE,
427             DataFailCause.NO_COLLOCATED_HDR,
428             DataFailCause.UE_IS_ENTERING_POWERSAVE_MODE,
429             DataFailCause.DUAL_SWITCH,
430             DataFailCause.PPP_TIMEOUT,
431             DataFailCause.PPP_AUTH_FAILURE,
432             DataFailCause.PPP_OPTION_MISMATCH,
433             DataFailCause.PPP_PAP_FAILURE,
434             DataFailCause.PPP_CHAP_FAILURE,
435             DataFailCause.PPP_CLOSE_IN_PROGRESS,
436             DataFailCause.LIMITED_TO_IPV4,
437             DataFailCause.LIMITED_TO_IPV6,
438             DataFailCause.VSNCP_TIMEOUT,
439             DataFailCause.VSNCP_GEN_ERROR,
440             DataFailCause.VSNCP_APN_UNAUTHORIZED,
441             DataFailCause.VSNCP_PDN_LIMIT_EXCEEDED,
442             DataFailCause.VSNCP_NO_PDN_GATEWAY_ADDRESS,
443             DataFailCause.VSNCP_PDN_GATEWAY_UNREACHABLE,
444             DataFailCause.VSNCP_PDN_GATEWAY_REJECT,
445             DataFailCause.VSNCP_INSUFFICIENT_PARAMETERS,
446             DataFailCause.VSNCP_RESOURCE_UNAVAILABLE,
447             DataFailCause.VSNCP_ADMINISTRATIVELY_PROHIBITED,
448             DataFailCause.VSNCP_PDN_ID_IN_USE,
449             DataFailCause.VSNCP_SUBSCRIBER_LIMITATION,
450             DataFailCause.VSNCP_PDN_EXISTS_FOR_THIS_APN,
451             DataFailCause.VSNCP_RECONNECT_NOT_ALLOWED,
452             DataFailCause.IPV6_PREFIX_UNAVAILABLE,
453             DataFailCause.HANDOFF_PREFERENCE_CHANGED,
454             DataFailCause.SLICE_REJECTED,
455             DataFailCause.MATCH_ALL_RULE_NOT_ALLOWED,
456             DataFailCause.ALL_MATCHING_RULES_FAILED,
457             DataFailCause.OEM_DCFAILCAUSE_1,
458             DataFailCause.OEM_DCFAILCAUSE_2,
459             DataFailCause.OEM_DCFAILCAUSE_3,
460             DataFailCause.OEM_DCFAILCAUSE_4,
461             DataFailCause.OEM_DCFAILCAUSE_5,
462             DataFailCause.OEM_DCFAILCAUSE_6,
463             DataFailCause.OEM_DCFAILCAUSE_7,
464             DataFailCause.OEM_DCFAILCAUSE_8,
465             DataFailCause.OEM_DCFAILCAUSE_9,
466             DataFailCause.OEM_DCFAILCAUSE_10,
467             DataFailCause.OEM_DCFAILCAUSE_11,
468             DataFailCause.OEM_DCFAILCAUSE_12,
469             DataFailCause.OEM_DCFAILCAUSE_13,
470             DataFailCause.OEM_DCFAILCAUSE_14,
471             DataFailCause.OEM_DCFAILCAUSE_15,
472             DataFailCause.REGISTRATION_FAIL,
473             DataFailCause.GPRS_REGISTRATION_FAIL,
474             DataFailCause.SIGNAL_LOST,
475             DataFailCause.PREF_RADIO_TECH_CHANGED,
476             DataFailCause.RADIO_POWER_OFF,
477             DataFailCause.TETHERED_CALL_ACTIVE,
478             DataFailCause.ERROR_UNSPECIFIED,
479             DataFailCause.UNKNOWN,
480             DataFailCause.RADIO_NOT_AVAILABLE,
481             DataFailCause.UNACCEPTABLE_NETWORK_PARAMETER,
482             DataFailCause.LOST_CONNECTION,
483     })
484     @Retention(RetentionPolicy.SOURCE)
485     public @interface DataFailureCause {
486     }
487 
488     @Retention(RetentionPolicy.SOURCE)
489     @IntDef(prefix = {"PRECISE_CALL_STATE_"},
490             value = {
491             PreciseCallState.PRECISE_CALL_STATE_NOT_VALID,
492             PreciseCallState.PRECISE_CALL_STATE_IDLE,
493             PreciseCallState.PRECISE_CALL_STATE_ACTIVE,
494             PreciseCallState.PRECISE_CALL_STATE_HOLDING,
495             PreciseCallState.PRECISE_CALL_STATE_DIALING,
496             PreciseCallState.PRECISE_CALL_STATE_ALERTING,
497             PreciseCallState. PRECISE_CALL_STATE_INCOMING,
498             PreciseCallState.PRECISE_CALL_STATE_WAITING,
499             PreciseCallState.PRECISE_CALL_STATE_DISCONNECTED,
500             PreciseCallState.PRECISE_CALL_STATE_DISCONNECTING})
501     public @interface PreciseCallStates {}
502 
503     @IntDef(value = {
504             DisconnectCause.NOT_VALID,
505             DisconnectCause.NOT_DISCONNECTED,
506             DisconnectCause.INCOMING_MISSED,
507             DisconnectCause.NORMAL,
508             DisconnectCause.LOCAL,
509             DisconnectCause.BUSY,
510             DisconnectCause.CONGESTION,
511             DisconnectCause.MMI,
512             DisconnectCause.INVALID_NUMBER,
513             DisconnectCause.NUMBER_UNREACHABLE,
514             DisconnectCause.SERVER_UNREACHABLE,
515             DisconnectCause.INVALID_CREDENTIALS,
516             DisconnectCause.OUT_OF_NETWORK,
517             DisconnectCause.SERVER_ERROR,
518             DisconnectCause.TIMED_OUT,
519             DisconnectCause.LOST_SIGNAL,
520             DisconnectCause.LIMIT_EXCEEDED,
521             DisconnectCause.INCOMING_REJECTED,
522             DisconnectCause.POWER_OFF,
523             DisconnectCause.OUT_OF_SERVICE,
524             DisconnectCause.ICC_ERROR,
525             DisconnectCause.CALL_BARRED,
526             DisconnectCause.FDN_BLOCKED,
527             DisconnectCause.CS_RESTRICTED,
528             DisconnectCause.CS_RESTRICTED_NORMAL,
529             DisconnectCause.CS_RESTRICTED_EMERGENCY,
530             DisconnectCause.UNOBTAINABLE_NUMBER,
531             DisconnectCause.CDMA_LOCKED_UNTIL_POWER_CYCLE,
532             DisconnectCause.CDMA_DROP,
533             DisconnectCause.CDMA_INTERCEPT,
534             DisconnectCause.CDMA_REORDER,
535             DisconnectCause.CDMA_SO_REJECT,
536             DisconnectCause.CDMA_RETRY_ORDER,
537             DisconnectCause.CDMA_ACCESS_FAILURE,
538             DisconnectCause.CDMA_PREEMPTED,
539             DisconnectCause.CDMA_NOT_EMERGENCY,
540             DisconnectCause.CDMA_ACCESS_BLOCKED,
541             DisconnectCause.ERROR_UNSPECIFIED,
542     })
543     @Retention(RetentionPolicy.SOURCE)
544     public @interface DisconnectCauses {
545     }
546 
547     @IntDef(value = {
548             PreciseDisconnectCause.NOT_VALID,
549             PreciseDisconnectCause.NO_DISCONNECT_CAUSE_AVAILABLE,
550             PreciseDisconnectCause.UNOBTAINABLE_NUMBER,
551             PreciseDisconnectCause.NORMAL,
552             PreciseDisconnectCause.BUSY,
553             PreciseDisconnectCause.NUMBER_CHANGED,
554             PreciseDisconnectCause.STATUS_ENQUIRY,
555             PreciseDisconnectCause.NORMAL_UNSPECIFIED,
556             PreciseDisconnectCause.NO_CIRCUIT_AVAIL,
557             PreciseDisconnectCause.TEMPORARY_FAILURE,
558             PreciseDisconnectCause.SWITCHING_CONGESTION,
559             PreciseDisconnectCause.CHANNEL_NOT_AVAIL,
560             PreciseDisconnectCause.QOS_NOT_AVAIL,
561             PreciseDisconnectCause.BEARER_NOT_AVAIL,
562             PreciseDisconnectCause.ACM_LIMIT_EXCEEDED,
563             PreciseDisconnectCause.CALL_BARRED,
564             PreciseDisconnectCause.FDN_BLOCKED,
565             PreciseDisconnectCause.IMSI_UNKNOWN_IN_VLR,
566             PreciseDisconnectCause.IMEI_NOT_ACCEPTED,
567             PreciseDisconnectCause.CDMA_LOCKED_UNTIL_POWER_CYCLE,
568             PreciseDisconnectCause.CDMA_DROP,
569             PreciseDisconnectCause.CDMA_INTERCEPT,
570             PreciseDisconnectCause.CDMA_REORDER,
571             PreciseDisconnectCause.CDMA_SO_REJECT,
572             PreciseDisconnectCause.CDMA_RETRY_ORDER,
573             PreciseDisconnectCause.CDMA_ACCESS_FAILURE,
574             PreciseDisconnectCause.CDMA_PREEMPTED,
575             PreciseDisconnectCause.CDMA_NOT_EMERGENCY,
576             PreciseDisconnectCause.CDMA_ACCESS_BLOCKED,
577             PreciseDisconnectCause.ERROR_UNSPECIFIED,
578     })
579     @Retention(RetentionPolicy.SOURCE)
580     public @interface PreciseDisconnectCauses {
581     }
582 
583     /**
584      * Carrier Privilege Status.
585      */
586     @IntDef(prefix = { "CARRIER_PRIVILEGE_STATUS_" }, value = {
587         TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS,
588         TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS,
589         TelephonyManager.CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED,
590         TelephonyManager.CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES,
591     })
592     @Retention(RetentionPolicy.SOURCE)
593     public @interface CarrierPrivilegeStatus {
594     }
595 
596     @IntDef({
597             Connection.AUDIO_CODEC_NONE,
598             Connection.AUDIO_CODEC_AMR,
599             Connection.AUDIO_CODEC_AMR_WB,
600             Connection.AUDIO_CODEC_QCELP13K,
601             Connection.AUDIO_CODEC_EVRC,
602             Connection.AUDIO_CODEC_EVRC_B,
603             Connection.AUDIO_CODEC_EVRC_WB,
604             Connection.AUDIO_CODEC_EVRC_NW,
605             Connection.AUDIO_CODEC_GSM_EFR,
606             Connection.AUDIO_CODEC_GSM_FR,
607             Connection.AUDIO_CODEC_G711U,
608             Connection.AUDIO_CODEC_G723,
609             Connection.AUDIO_CODEC_G711A,
610             Connection.AUDIO_CODEC_G722,
611             Connection.AUDIO_CODEC_G711AB,
612             Connection.AUDIO_CODEC_G729,
613             Connection.AUDIO_CODEC_EVS_NB,
614             Connection.AUDIO_CODEC_EVS_WB,
615             Connection.AUDIO_CODEC_EVS_SWB,
616             Connection.AUDIO_CODEC_EVS_FB
617     })
618     @Retention(RetentionPolicy.SOURCE)
619     public @interface ImsAudioCodec {
620     }
621 
622     /**
623      * UICC SIM Application Types
624      */
625     @IntDef(prefix = { "APPTYPE_" }, value = {
626             TelephonyManager.APPTYPE_SIM,
627             TelephonyManager.APPTYPE_USIM,
628             TelephonyManager.APPTYPE_RUIM,
629             TelephonyManager.APPTYPE_CSIM,
630             TelephonyManager.APPTYPE_ISIM
631     })
632     @Retention(RetentionPolicy.SOURCE)
633     public @interface UiccAppType{}
634 
635     /**
636      * UICC SIM Application Types including UNKNOWN
637      */
638     @IntDef(prefix = { "APPTYPE_" }, value = {
639             TelephonyManager.APPTYPE_UNKNOWN,
640             TelephonyManager.APPTYPE_SIM,
641             TelephonyManager.APPTYPE_USIM,
642             TelephonyManager.APPTYPE_RUIM,
643             TelephonyManager.APPTYPE_CSIM,
644             TelephonyManager.APPTYPE_ISIM
645     })
646     @Retention(RetentionPolicy.SOURCE)
647     public @interface UiccAppTypeExt{}
648 
649     /**
650      * Override network type
651      */
652     @Retention(RetentionPolicy.SOURCE)
653     @IntDef(prefix = "OVERRIDE_NETWORK_TYPE_", value = {
654             TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE,
655             TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_CA,
656             TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO,
657             TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA,
658             TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_ADVANCED})
659     public @interface OverrideNetworkType {}
660 
661     /**
662      *  Result of a thermal mitigation request.
663      */
664     @Retention(RetentionPolicy.SOURCE)
665     @IntDef(prefix = { "THERMAL_MITIGATION_RESULT_" }, value = {
666         TelephonyManager.THERMAL_MITIGATION_RESULT_SUCCESS,
667         TelephonyManager.THERMAL_MITIGATION_RESULT_MODEM_ERROR,
668         TelephonyManager.THERMAL_MITIGATION_RESULT_INVALID_STATE,
669         TelephonyManager.THERMAL_MITIGATION_RESULT_UNKNOWN_ERROR})
670     public @interface ThermalMitigationResult {}
671 
672     /**
673      * Per Android API guideline 8.15, annotation can't be public APIs. So duplicate
674      * android.net.NetworkCapabilities.NetCapability here. Must update here when new capabilities
675      * are added in {@link NetworkCapabilities}.
676      */
677     @Retention(RetentionPolicy.SOURCE)
678     @IntDef(prefix = { "NET_CAPABILITY_" }, value = {
679             NetworkCapabilities.NET_CAPABILITY_MMS,
680             NetworkCapabilities.NET_CAPABILITY_SUPL,
681             NetworkCapabilities.NET_CAPABILITY_DUN,
682             NetworkCapabilities.NET_CAPABILITY_FOTA,
683             NetworkCapabilities.NET_CAPABILITY_IMS,
684             NetworkCapabilities.NET_CAPABILITY_CBS,
685             NetworkCapabilities.NET_CAPABILITY_WIFI_P2P,
686             NetworkCapabilities.NET_CAPABILITY_IA,
687             NetworkCapabilities.NET_CAPABILITY_RCS,
688             NetworkCapabilities.NET_CAPABILITY_XCAP,
689             NetworkCapabilities.NET_CAPABILITY_EIMS,
690             NetworkCapabilities.NET_CAPABILITY_NOT_METERED,
691             NetworkCapabilities.NET_CAPABILITY_INTERNET,
692             NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED,
693             NetworkCapabilities.NET_CAPABILITY_TRUSTED,
694             NetworkCapabilities.NET_CAPABILITY_NOT_VPN,
695             NetworkCapabilities.NET_CAPABILITY_VALIDATED,
696             NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL,
697             NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING,
698             NetworkCapabilities.NET_CAPABILITY_FOREGROUND,
699             NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED,
700             NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED,
701             NetworkCapabilities.NET_CAPABILITY_OEM_PAID,
702             NetworkCapabilities.NET_CAPABILITY_MCX,
703             NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY,
704             NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED,
705             NetworkCapabilities.NET_CAPABILITY_OEM_PRIVATE,
706             NetworkCapabilities.NET_CAPABILITY_VEHICLE_INTERNAL,
707             NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED,
708             NetworkCapabilities.NET_CAPABILITY_ENTERPRISE,
709             NetworkCapabilities.NET_CAPABILITY_VSIM,
710             NetworkCapabilities.NET_CAPABILITY_BIP,
711             NetworkCapabilities.NET_CAPABILITY_HEAD_UNIT,
712             NetworkCapabilities.NET_CAPABILITY_MMTEL,
713             NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_LATENCY,
714             NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_BANDWIDTH
715     })
716     public @interface NetCapability { }
717 
718     /**
719      * Per Android API guideline 8.15, annotation can't be public APIs. So duplicate
720      * android.net.NetworkAgent.ValidationStatus here. Must update here when new validation status
721      * are added in {@link NetworkAgent}.
722      */
723     @Retention(RetentionPolicy.SOURCE)
724     @IntDef(prefix = { "VALIDATION_STATUS_" }, value = {
725             NetworkAgent.VALIDATION_STATUS_VALID,
726             NetworkAgent.VALIDATION_STATUS_NOT_VALID
727     })
728     public @interface ValidationStatus {}
729 
730     /** @hide */
731     @Retention(RetentionPolicy.SOURCE)
732     @IntDef(prefix = { "NET_CAPABILITY_ENTERPRISE_SUB_LEVEL" }, value = {
733             NetworkCapabilities.NET_ENTERPRISE_ID_1,
734             NetworkCapabilities.NET_ENTERPRISE_ID_2,
735             NetworkCapabilities.NET_ENTERPRISE_ID_3,
736             NetworkCapabilities.NET_ENTERPRISE_ID_4,
737             NetworkCapabilities.NET_ENTERPRISE_ID_5
738     })
739 
740     public @interface EnterpriseId {}
741 }
742