Home | History | Annotate | Download | only in uicc
      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