PageRenderTime 17ms CodeModel.GetById 13ms app.highlight 3ms RepoModel.GetById 0ms app.codeStats 0ms

/telephony/java/com/android/internal/telephony/gsm/UsimServiceTable.java

http://github.com/CyanogenMod/android_frameworks_base
Java | 142 lines | 116 code | 7 blank | 19 comment | 0 complexity | 397801e3b6d0610f9559ad61f8870d76 MD5 | raw file
Possible License(s): LGPL-2.1, MPL-2.0-no-copyleft-exception, CC0-1.0, BitTorrent-1.0, BSD-3-Clause
  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
 17package com.android.internal.telephony.gsm;
 18
 19import 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 */
 25public 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}