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 124 public UsimServiceTable(byte[] table) { 125 super(table); 126 } 127 128 public boolean isAvailable(UsimService service) { 129 return super.isAvailable(service.ordinal()); 130 } 131 132 @Override 133 protected String getTag() { 134 return "UsimServiceTable"; 135 } 136 137 @Override 138 protected Object[] getValues() { 139 return UsimService.values(); 140 } 141 } 142