RuimFileHandler.java revision c38bb60d867c5d61d90b7179a9ed2b2d1848124f
1c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville/* 2c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Copyright (C) 2008 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 17c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savillepackage com.android.internal.telephony.cdma; 18c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 19c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport android.os.*; 20c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport android.util.Log; 21c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 22c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport com.android.internal.telephony.CommandsInterface; 23c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport com.android.internal.telephony.IccCard; 24c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport com.android.internal.telephony.IccConstants; 25c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport com.android.internal.telephony.IccException; 26c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport com.android.internal.telephony.IccFileHandler; 27c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport com.android.internal.telephony.IccFileTypeMismatch; 28c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport com.android.internal.telephony.IccIoResult; 29c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport com.android.internal.telephony.IccUtils; 30c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport com.android.internal.telephony.PhoneBase; 31c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport com.android.internal.telephony.PhoneProxy; 32c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 33c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport java.util.ArrayList; 34c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 35c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville/** 36c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * {@hide} 37c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 38c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savillepublic final class RuimFileHandler extends IccFileHandler { 39c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville static final String LOG_TAG = "CDMA"; 40c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 41c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville //***** Instance Variables 42c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 43c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville //***** Constructor 44c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville public RuimFileHandler(IccCard card, String aid, CommandsInterface ci) { 45c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville super(card, aid, ci); 46c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 47c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 48c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville protected void finalize() { 49c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville Log.d(LOG_TAG, "RuimFileHandler finalized"); 50c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 51c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 52c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville //***** Overridden from IccFileHandler 53c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 54c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville @Override 55c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville public void loadEFImgTransparent(int fileid, int highOffset, int lowOffset, 56c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville int length, Message onLoaded) { 57c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville Message response = obtainMessage(EVENT_READ_ICON_DONE, fileid, 0, 58c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville onLoaded); 59c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 60c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville mCi.iccIOForApp(COMMAND_GET_RESPONSE, fileid, "img", 0, 0, 61c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville GET_RESPONSE_EF_IMG_SIZE_BYTES, null, null, 62c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville mAid, response); 63c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 64c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 65c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville @Override 66c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville public void handleMessage(Message msg) { 67c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 68c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville super.handleMessage(msg); 69c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 70c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 71c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville protected String getEFPath(int efid) { 72c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville switch(efid) { 73c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_SMS: 74c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_CST: 75c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville case EF_RUIM_SPN: 76c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville return MF_SIM + DF_CDMA; 77c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 78c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville return getCommonIccEFPath(efid); 79c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 80c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 81c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville protected void logd(String msg) { 82c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville Log.d(LOG_TAG, "[RuimFileHandler] " + msg); 83c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 84c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 85c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville protected void loge(String msg) { 86c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville Log.e(LOG_TAG, "[RuimFileHandler] " + msg); 87c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville } 88c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 89c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville} 90