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.gsm; 18 19 import com.android.internal.telephony.IccServiceTable; 20 21 /** 22 * Wrapper class for the USIM Service Table EF. 23 * See 3GPP TS 31.102 Release 10 section 4.2.8 24 */ 25 public final class UsimServiceTable extends IccServiceTable { 26 public enum UsimService { 27 PHONEBOOK, 28 FDN, // Fixed Dialing Numbers 29 FDN_EXTENSION, // FDN extension data in EF_EXT2 30 SDN, // Service Dialing Numbers 31 SDN_EXTENSION, // SDN extension data in EF_EXT3 32 BDN, // Barred Dialing Numbers 33 BDN_EXTENSION, // BDN extension data in EF_EXT4 34 OUTGOING_CALL_INFO, 35 INCOMING_CALL_INFO, 36 SM_STORAGE, 37 SM_STATUS_REPORTS, 38 SM_SERVICE_PARAMS, 39 ADVICE_OF_CHARGE, 40 CAP_CONFIG_PARAMS_2, 41 CB_MESSAGE_ID, 42 CB_MESSAGE_ID_RANGES, 43 GROUP_ID_LEVEL_1, 44 GROUP_ID_LEVEL_2, 45 SPN, // Service Provider Name 46 USER_PLMN_SELECT, 47 MSISDN, 48 IMAGE, 49 LOCALISED_SERVICE_AREAS, 50 EMLPP, // Enhanced Multi-Level Precedence and Preemption 51 EMLPP_AUTO_ANSWER, 52 RFU, 53 GSM_ACCESS, 54 DATA_DL_VIA_SMS_PP, 55 DATA_DL_VIA_SMS_CB, 56 CALL_CONTROL_BY_USIM, 57 MO_SMS_CONTROL_BY_USIM, 58 RUN_AT_COMMAND, 59 IGNORED_1, 60 ENABLED_SERVICES_TABLE, 61 APN_CONTROL_LIST, 62 DEPERSONALISATION_CONTROL_KEYS, 63 COOPERATIVE_NETWORK_LIST, 64 GSM_SECURITY_CONTEXT, 65 CPBCCH_INFO, 66 INVESTIGATION_SCAN, 67 MEXE, 68 OPERATOR_PLMN_SELECT, 69 HPLMN_SELECT, 70 EXTENSION_5, // Extension data for ICI, OCI, MSISDN in EF_EXT5 71 PLMN_NETWORK_NAME, 72 OPERATOR_PLMN_LIST, 73 MBDN, // Mailbox Dialing Numbers 74 MWI_STATUS, // Message Waiting Indication status 75 CFI_STATUS, // Call Forwarding Indication status 76 IGNORED_2, 77 SERVICE_PROVIDER_DISPLAY_INFO, 78 MMS_NOTIFICATION, 79 MMS_NOTIFICATION_EXTENSION, // MMS Notification extension data in EF_EXT8 80 GPRS_CALL_CONTROL_BY_USIM, 81 MMS_CONNECTIVITY_PARAMS, 82 NETWORK_INDICATION_OF_ALERTING, 83 VGCS_GROUP_ID_LIST, 84 VBS_GROUP_ID_LIST, 85 PSEUDONYM, 86 IWLAN_USER_PLMN_SELECT, 87 IWLAN_OPERATOR_PLMN_SELECT, 88 USER_WSID_LIST, 89 OPERATOR_WSID_LIST, 90 VGCS_SECURITY, 91 VBS_SECURITY, 92 WLAN_REAUTH_IDENTITY, 93 MM_STORAGE, 94 GBA, // Generic Bootstrapping Architecture 95 MBMS_SECURITY, 96 DATA_DL_VIA_USSD, 97 EQUIVALENT_HPLMN, 98 TERMINAL_PROFILE_AFTER_UICC_ACTIVATION, 99 EQUIVALENT_HPLMN_PRESENTATION, 100 LAST_RPLMN_SELECTION_INDICATION, 101 OMA_BCAST_PROFILE, 102 GBA_LOCAL_KEY_ESTABLISHMENT, 103 TERMINAL_APPLICATIONS, 104 SPN_ICON, 105 PLMN_NETWORK_NAME_ICON, 106 USIM_IP_CONNECTION_PARAMS, 107 IWLAN_HOME_ID_LIST, 108 IWLAN_EQUIVALENT_HPLMN_PRESENTATION, 109 IWLAN_HPLMN_PRIORITY_INDICATION, 110 IWLAN_LAST_REGISTERED_PLMN, 111 EPS_MOBILITY_MANAGEMENT_INFO, 112 ALLOWED_CSG_LISTS_AND_INDICATIONS, 113 CALL_CONTROL_ON_EPS_PDN_CONNECTION_BY_USIM, 114 HPLMN_DIRECT_ACCESS, 115 ECALL_DATA, 116 OPERATOR_CSG_LISTS_AND_INDICATIONS, 117 SM_OVER_IP, 118 CSG_DISPLAY_CONTROL, 119 IMS_COMMUNICATION_CONTROL_BY_USIM, 120 EXTENDED_TERMINAL_APPLICATIONS, 121 UICC_ACCESS_TO_IMS, 122 NAS_CONFIG_BY_USIM 123 } 124 125 public UsimServiceTable(byte[] table) { 126 super(table); 127 } 128 129 public boolean isAvailable(UsimService service) { 130 return super.isAvailable(service.ordinal()); 131 } 132 133 @Override 134 protected String getTag() { 135 return "UsimServiceTable"; 136 } 137 138 @Override 139 protected Object[] getValues() { 140 return UsimService.values(); 141 } 142 } 143