SIMFileHandler.java revision d720945f2be5ea5fe0faf67e67d9ea0e184eba67
1c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville/* 2c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Copyright (C) 2006 The Android Open Source Project 3c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 4c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 5c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * you may not use this file except in compliance with the License. 6c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * You may obtain a copy of the License at 7c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 8c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * http://www.apache.org/licenses/LICENSE-2.0 9c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 10c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Unless required by applicable law or agreed to in writing, software 11c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * distributed under the License is distributed on an "AS IS" BASIS, 12c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * See the License for the specific language governing permissions and 14c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * limitations under the License. 15c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 16c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 17d720945f2be5ea5fe0faf67e67d9ea0e184eba67Alex Yakavenkapackage com.android.internal.telephony.uicc; 18c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 19c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport android.os.Message; 20ded9c0af7fa49504c047275ed34c2d3b22bf0c3aWink Savilleimport android.telephony.Rlog; 21c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 22c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport com.android.internal.telephony.CommandsInterface; 23c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 24c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville/** 25c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * {@hide} 26c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 27c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savillepublic final class SIMFileHandler extends IccFileHandler implements IccConstants { 28c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville static final String LOG_TAG = "GSM"; 29c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 30c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville //***** Instance Variables 31c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 32c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville //***** Constructor 33c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 34e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public SIMFileHandler(UiccCardApplication app, String aid, CommandsInterface ci) { 35e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka super(app, aid, ci); 36c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 37c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 38c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville //***** Overridden from IccFileHandler 39c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 40c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville @Override 41c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville protected String getEFPath(int efid) { 42c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville // TODO(): DF_GSM can be 7F20 or 7F21 to handle backward compatibility. 43c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville // Implement this after discussion with OEMs. 44c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville switch(efid) { 45c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_SMS: 46c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville return MF_SIM + DF_TELECOM; 47c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 48c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_EXT6: 49c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_MWIS: 50c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_MBI: 51c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_SPN: 52c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_AD: 53c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_MBDN: 54c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_PNN: 55c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_SPDI: 56c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_SST: 57c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_CFIS: 58c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville return MF_SIM + DF_GSM; 59c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 60c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_MAILBOX_CPHS: 61c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_VOICE_MAIL_INDICATOR_CPHS: 62c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_CFF_CPHS: 63c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_SPN_CPHS: 64c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_SPN_SHORT_CPHS: 65c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_INFO_CPHS: 66c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_CSP_CPHS: 67c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville return MF_SIM + DF_GSM; 68c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 69c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville String path = getCommonIccEFPath(efid); 70c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville if (path == null) { 71ded9c0af7fa49504c047275ed34c2d3b22bf0c3aWink Saville Rlog.e(LOG_TAG, "Error: EF Path being returned in null"); 72c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 73c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville return path; 74c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 75c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 76e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka @Override 77c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville protected void logd(String msg) { 78ded9c0af7fa49504c047275ed34c2d3b22bf0c3aWink Saville Rlog.d(LOG_TAG, "[SIMFileHandler] " + msg); 79c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 80c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 81e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka @Override 82c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville protected void loge(String msg) { 83ded9c0af7fa49504c047275ed34c2d3b22bf0c3aWink Saville Rlog.e(LOG_TAG, "[SIMFileHandler] " + msg); 84c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 85c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville} 86