10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/*
20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2011 The Android Open Source Project
30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License");
50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License.
60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at
70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *      http://www.apache.org/licenses/LICENSE-2.0
90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software
110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS,
120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and
140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License.
150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony.gsm;
180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
190825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.IccServiceTable;
200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/**
220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Wrapper class for the USIM Service Table EF.
230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See 3GPP TS 31.102 Release 10 section 4.2.8
240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
250825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic final class UsimServiceTable extends IccServiceTable {
260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public enum UsimService {
270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        PHONEBOOK,
280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        FDN,                                // Fixed Dialing Numbers
290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        FDN_EXTENSION,                      // FDN extension data in EF_EXT2
300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        SDN,                                // Service Dialing Numbers
310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        SDN_EXTENSION,                      // SDN extension data in EF_EXT3
320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        BDN,                                // Barred Dialing Numbers
330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        BDN_EXTENSION,                      // BDN extension data in EF_EXT4
340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        OUTGOING_CALL_INFO,
350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        INCOMING_CALL_INFO,
360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        SM_STORAGE,
370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        SM_STATUS_REPORTS,
380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        SM_SERVICE_PARAMS,
390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        ADVICE_OF_CHARGE,
400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        CAP_CONFIG_PARAMS_2,
410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        CB_MESSAGE_ID,
420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        CB_MESSAGE_ID_RANGES,
430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        GROUP_ID_LEVEL_1,
440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        GROUP_ID_LEVEL_2,
450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        SPN,                                // Service Provider Name
460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        USER_PLMN_SELECT,
470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        MSISDN,
480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        IMAGE,
490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        LOCALISED_SERVICE_AREAS,
500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        EMLPP,                              // Enhanced Multi-Level Precedence and Preemption
510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        EMLPP_AUTO_ANSWER,
520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        RFU,
530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        GSM_ACCESS,
540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        DATA_DL_VIA_SMS_PP,
550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        DATA_DL_VIA_SMS_CB,
560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        CALL_CONTROL_BY_USIM,
570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        MO_SMS_CONTROL_BY_USIM,
580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        RUN_AT_COMMAND,
590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        IGNORED_1,
600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        ENABLED_SERVICES_TABLE,
610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        APN_CONTROL_LIST,
620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        DEPERSONALISATION_CONTROL_KEYS,
630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        COOPERATIVE_NETWORK_LIST,
640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        GSM_SECURITY_CONTEXT,
650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        CPBCCH_INFO,
660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        INVESTIGATION_SCAN,
670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        MEXE,
680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        OPERATOR_PLMN_SELECT,
690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        HPLMN_SELECT,
700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        EXTENSION_5,                        // Extension data for ICI, OCI, MSISDN in EF_EXT5
710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        PLMN_NETWORK_NAME,
720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        OPERATOR_PLMN_LIST,
730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        MBDN,                               // Mailbox Dialing Numbers
740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        MWI_STATUS,                         // Message Waiting Indication status
750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        CFI_STATUS,                         // Call Forwarding Indication status
760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        IGNORED_2,
770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        SERVICE_PROVIDER_DISPLAY_INFO,
780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        MMS_NOTIFICATION,
790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        MMS_NOTIFICATION_EXTENSION,         // MMS Notification extension data in EF_EXT8
800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        GPRS_CALL_CONTROL_BY_USIM,
810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        MMS_CONNECTIVITY_PARAMS,
820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        NETWORK_INDICATION_OF_ALERTING,
830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        VGCS_GROUP_ID_LIST,
840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        VBS_GROUP_ID_LIST,
850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        PSEUDONYM,
860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        IWLAN_USER_PLMN_SELECT,
870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        IWLAN_OPERATOR_PLMN_SELECT,
880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        USER_WSID_LIST,
890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        OPERATOR_WSID_LIST,
900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        VGCS_SECURITY,
910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        VBS_SECURITY,
920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        WLAN_REAUTH_IDENTITY,
930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        MM_STORAGE,
940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        GBA,                                // Generic Bootstrapping Architecture
950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        MBMS_SECURITY,
960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        DATA_DL_VIA_USSD,
970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        EQUIVALENT_HPLMN,
980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        TERMINAL_PROFILE_AFTER_UICC_ACTIVATION,
990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        EQUIVALENT_HPLMN_PRESENTATION,
1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        LAST_RPLMN_SELECTION_INDICATION,
1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        OMA_BCAST_PROFILE,
1020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        GBA_LOCAL_KEY_ESTABLISHMENT,
1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        TERMINAL_APPLICATIONS,
1040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        SPN_ICON,
1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        PLMN_NETWORK_NAME_ICON,
1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        USIM_IP_CONNECTION_PARAMS,
1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        IWLAN_HOME_ID_LIST,
1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        IWLAN_EQUIVALENT_HPLMN_PRESENTATION,
1090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        IWLAN_HPLMN_PRIORITY_INDICATION,
1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        IWLAN_LAST_REGISTERED_PLMN,
1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        EPS_MOBILITY_MANAGEMENT_INFO,
1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        ALLOWED_CSG_LISTS_AND_INDICATIONS,
1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        CALL_CONTROL_ON_EPS_PDN_CONNECTION_BY_USIM,
1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        HPLMN_DIRECT_ACCESS,
1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        ECALL_DATA,
1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        OPERATOR_CSG_LISTS_AND_INDICATIONS,
1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        SM_OVER_IP,
1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        CSG_DISPLAY_CONTROL,
1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        IMS_COMMUNICATION_CONTROL_BY_USIM,
1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        EXTENDED_TERMINAL_APPLICATIONS,
1210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        UICC_ACCESS_TO_IMS,
1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        NAS_CONFIG_BY_USIM
1230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public UsimServiceTable(byte[] table) {
1260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        super(table);
1270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public boolean isAvailable(UsimService service) {
1300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return super.isAvailable(service.ordinal());
1310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    @Override
1340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    protected String getTag() {
1350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return "UsimServiceTable";
1360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    @Override
1390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    protected Object[] getValues() {
1400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return UsimService.values();
1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville}
143