• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2011 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.internal.telephony.uicc;
18 
19 
20 /**
21  * Wrapper class for the USIM Service Table EF.
22  * See 3GPP TS 31.102 Release 10 section 4.2.8
23  */
24 public final class UsimServiceTable extends IccServiceTable {
25     public enum UsimService {
26         PHONEBOOK,
27         FDN,                                // Fixed Dialing Numbers
28         FDN_EXTENSION,                      // FDN extension data in EF_EXT2
29         SDN,                                // Service Dialing Numbers
30         SDN_EXTENSION,                      // SDN extension data in EF_EXT3
31         BDN,                                // Barred Dialing Numbers
32         BDN_EXTENSION,                      // BDN extension data in EF_EXT4
33         OUTGOING_CALL_INFO,
34         INCOMING_CALL_INFO,
35         SM_STORAGE,
36         SM_STATUS_REPORTS,
37         SM_SERVICE_PARAMS,
38         ADVICE_OF_CHARGE,
39         CAP_CONFIG_PARAMS_2,
40         CB_MESSAGE_ID,
41         CB_MESSAGE_ID_RANGES,
42         GROUP_ID_LEVEL_1,
43         GROUP_ID_LEVEL_2,
44         SPN,                                // Service Provider Name
45         USER_PLMN_SELECT,
46         MSISDN,
47         IMAGE,
48         LOCALISED_SERVICE_AREAS,
49         EMLPP,                              // Enhanced Multi-Level Precedence and Preemption
50         EMLPP_AUTO_ANSWER,
51         RFU,
52         GSM_ACCESS,
53         DATA_DL_VIA_SMS_PP,
54         DATA_DL_VIA_SMS_CB,
55         CALL_CONTROL_BY_USIM,
56         MO_SMS_CONTROL_BY_USIM,
57         RUN_AT_COMMAND,
58         IGNORED_1,
59         ENABLED_SERVICES_TABLE,
60         APN_CONTROL_LIST,
61         DEPERSONALISATION_CONTROL_KEYS,
62         COOPERATIVE_NETWORK_LIST,
63         GSM_SECURITY_CONTEXT,
64         CPBCCH_INFO,
65         INVESTIGATION_SCAN,
66         MEXE,
67         OPERATOR_PLMN_SELECT,
68         HPLMN_SELECT,
69         EXTENSION_5,                        // Extension data for ICI, OCI, MSISDN in EF_EXT5
70         PLMN_NETWORK_NAME,
71         OPERATOR_PLMN_LIST,
72         MBDN,                               // Mailbox Dialing Numbers
73         MWI_STATUS,                         // Message Waiting Indication status
74         CFI_STATUS,                         // Call Forwarding Indication status
75         IGNORED_2,
76         SERVICE_PROVIDER_DISPLAY_INFO,
77         MMS_NOTIFICATION,
78         MMS_NOTIFICATION_EXTENSION,         // MMS Notification extension data in EF_EXT8
79         GPRS_CALL_CONTROL_BY_USIM,
80         MMS_CONNECTIVITY_PARAMS,
81         NETWORK_INDICATION_OF_ALERTING,
82         VGCS_GROUP_ID_LIST,
83         VBS_GROUP_ID_LIST,
84         PSEUDONYM,
85         IWLAN_USER_PLMN_SELECT,
86         IWLAN_OPERATOR_PLMN_SELECT,
87         USER_WSID_LIST,
88         OPERATOR_WSID_LIST,
89         VGCS_SECURITY,
90         VBS_SECURITY,
91         WLAN_REAUTH_IDENTITY,
92         MM_STORAGE,
93         GBA,                                // Generic Bootstrapping Architecture
94         MBMS_SECURITY,
95         DATA_DL_VIA_USSD,
96         EQUIVALENT_HPLMN,
97         TERMINAL_PROFILE_AFTER_UICC_ACTIVATION,
98         EQUIVALENT_HPLMN_PRESENTATION,
99         LAST_RPLMN_SELECTION_INDICATION,
100         OMA_BCAST_PROFILE,
101         GBA_LOCAL_KEY_ESTABLISHMENT,
102         TERMINAL_APPLICATIONS,
103         SPN_ICON,
104         PLMN_NETWORK_NAME_ICON,
105         USIM_IP_CONNECTION_PARAMS,
106         IWLAN_HOME_ID_LIST,
107         IWLAN_EQUIVALENT_HPLMN_PRESENTATION,
108         IWLAN_HPLMN_PRIORITY_INDICATION,
109         IWLAN_LAST_REGISTERED_PLMN,
110         EPS_MOBILITY_MANAGEMENT_INFO,
111         ALLOWED_CSG_LISTS_AND_INDICATIONS,
112         CALL_CONTROL_ON_EPS_PDN_CONNECTION_BY_USIM,
113         HPLMN_DIRECT_ACCESS,
114         ECALL_DATA,
115         OPERATOR_CSG_LISTS_AND_INDICATIONS,
116         SM_OVER_IP,
117         CSG_DISPLAY_CONTROL,
118         IMS_COMMUNICATION_CONTROL_BY_USIM,
119         EXTENDED_TERMINAL_APPLICATIONS,
120         UICC_ACCESS_TO_IMS,
121         NAS_CONFIG_BY_USIM
122     }
123 
UsimServiceTable(byte[] table)124     public UsimServiceTable(byte[] table) {
125         super(table);
126     }
127 
isAvailable(UsimService service)128     public boolean isAvailable(UsimService service) {
129         return super.isAvailable(service.ordinal());
130     }
131 
132     @Override
getTag()133     protected String getTag() {
134         return "UsimServiceTable";
135     }
136 
137     @Override
getValues()138     protected Object[] getValues() {
139         return UsimService.values();
140     }
141 }
142