/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

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