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 17c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savillepackage com.android.internal.telephony; 18c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 19c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport android.os.Handler; 20c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Savilleimport android.os.Message; 21c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 22e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenkaimport com.android.internal.telephony.IccCardConstants.State; 23d720945f2be5ea5fe0faf67e67d9ea0e184eba67Alex Yakavenkaimport com.android.internal.telephony.uicc.IccCardApplicationStatus; 24d720945f2be5ea5fe0faf67e67d9ea0e184eba67Alex Yakavenkaimport com.android.internal.telephony.uicc.IccFileHandler; 25d720945f2be5ea5fe0faf67e67d9ea0e184eba67Alex Yakavenkaimport com.android.internal.telephony.uicc.IccRecords; 26c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 27c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville/** 28c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * {@hide} 29e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * @Deprecated use UiccController.getUiccCard instead. 30e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * 31e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * Integrated Circuit Card (ICC) interface 32e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * An object of a class implementing this interface is used by external 33e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * apps (specifically PhoneApp) to perform icc card related functionality. 34e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * 35e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * Apps (those that have access to Phone object) can retrieve this object 36e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * by calling phone.getIccCard() 37e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * 38e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * This interface is implemented by IccCardProxy and the object PhoneApp 39e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * gets when it calls getIccCard is IccCardProxy. 40c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 41e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenkapublic interface IccCard { 42e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka /** 43e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * @return combined Card and current App state 44e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka */ 45e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public State getState(); 46c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 47e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka /** 48e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * @return IccRecords object belonging to current UiccCardApplication 49e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka */ 50e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public IccRecords getIccRecords(); 51c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 52e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka /** 53e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * @return IccFileHandler object belonging to current UiccCardApplication 54e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka */ 55e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public IccFileHandler getIccFileHandler(); 56c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 57c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 58c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Notifies handler of any transition into IccCardConstants.State.ABSENT 59c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 60e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public void registerForAbsent(Handler h, int what, Object obj); 61e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public void unregisterForAbsent(Handler h); 62c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 63c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 64c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Notifies handler of any transition into IccCardConstants.State.NETWORK_LOCKED 65c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 66e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public void registerForNetworkLocked(Handler h, int what, Object obj); 67e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public void unregisterForNetworkLocked(Handler h); 68c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 69c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 70c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Notifies handler of any transition into IccCardConstants.State.isPinLocked() 71c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 72e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public void registerForLocked(Handler h, int what, Object obj); 73e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public void unregisterForLocked(Handler h); 74c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 75c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 76c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Supply the ICC PIN to the ICC 77c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 78c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * When the operation is complete, onComplete will be sent to its 79c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Handler. 80c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 81c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * onComplete.obj will be an AsyncResult 82c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 83c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * ((AsyncResult)onComplete.obj).exception == null on success 84c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * ((AsyncResult)onComplete.obj).exception != null on fail 85c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 86c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * If the supplied PIN is incorrect: 87c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * ((AsyncResult)onComplete.obj).exception != null 88c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * && ((AsyncResult)onComplete.obj).exception 89c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * instanceof com.android.internal.telephony.gsm.CommandException) 90c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * && ((CommandException)(((AsyncResult)onComplete.obj).exception)) 91c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * .getCommandError() == CommandException.Error.PASSWORD_INCORRECT 92c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 93e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public void supplyPin (String pin, Message onComplete); 94c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 95e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka /** 96e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * Supply the ICC PUK to the ICC 97e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka */ 98e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public void supplyPuk (String puk, String newPin, Message onComplete); 99c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 100e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka /** 101e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * Supply the ICC PIN2 to the ICC 102e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka */ 103e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public void supplyPin2 (String pin2, Message onComplete); 104c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 105e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka /** 106e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * Supply the ICC PUK2 to the ICC 107e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka */ 108e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public void supplyPuk2 (String puk2, String newPin2, Message onComplete); 109c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 110e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka /** 1113522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville * Check whether fdn (fixed dialing number) service is available. 1123522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville * @return true if ICC fdn service available 1133522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville * false if ICC fdn service not available 1143522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville */ 1153522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville public boolean getIccFdnAvailable(); 1163522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville 1173522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville /** 118e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * Supply Network depersonalization code to the RIL 119e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka */ 120e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public void supplyNetworkDepersonalization (String pin, Message onComplete); 121c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 122c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 123c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Check whether ICC pin lock is enabled 124c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * This is a sync call which returns the cached pin enabled state 125c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 126c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @return true for ICC locked enabled 127c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * false for ICC locked disabled 128c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 129e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public boolean getIccLockEnabled(); 130c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 131c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 132c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Check whether ICC fdn (fixed dialing number) is enabled 133c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * This is a sync call which returns the cached pin enabled state 134c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 135c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @return true for ICC fdn enabled 136c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * false for ICC fdn disabled 137c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 138e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public boolean getIccFdnEnabled(); 139c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 140c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 141c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Set the ICC pin lock enabled or disabled 142c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * When the operation is complete, onComplete will be sent to its handler 143c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 144c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @param enabled "true" for locked "false" for unlocked. 145c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @param password needed to change the ICC pin state, aka. Pin1 146c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @param onComplete 147c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * onComplete.obj will be an AsyncResult 148c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * ((AsyncResult)onComplete.obj).exception == null on success 149c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * ((AsyncResult)onComplete.obj).exception != null on fail 150c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 151c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville public void setIccLockEnabled (boolean enabled, 152e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka String password, Message onComplete); 153c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 154c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 155c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Set the ICC fdn enabled or disabled 156c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * When the operation is complete, onComplete will be sent to its handler 157c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 158c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @param enabled "true" for locked "false" for unlocked. 159c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @param password needed to change the ICC fdn enable, aka Pin2 160c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @param onComplete 161c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * onComplete.obj will be an AsyncResult 162c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * ((AsyncResult)onComplete.obj).exception == null on success 163c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * ((AsyncResult)onComplete.obj).exception != null on fail 164c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 165c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville public void setIccFdnEnabled (boolean enabled, 166e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka String password, Message onComplete); 167c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 168c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 169c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Change the ICC password used in ICC pin lock 170c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * When the operation is complete, onComplete will be sent to its handler 171c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 172c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @param oldPassword is the old password 173c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @param newPassword is the new password 174c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @param onComplete 175c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * onComplete.obj will be an AsyncResult 176c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * ((AsyncResult)onComplete.obj).exception == null on success 177c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * ((AsyncResult)onComplete.obj).exception != null on fail 178c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 179c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville public void changeIccLockPassword(String oldPassword, String newPassword, 180e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka Message onComplete); 181c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 182c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 183c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Change the ICC password used in ICC fdn enable 184c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * When the operation is complete, onComplete will be sent to its handler 185c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 186c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @param oldPassword is the old password 187c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @param newPassword is the new password 188c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @param onComplete 189c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * onComplete.obj will be an AsyncResult 190c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * ((AsyncResult)onComplete.obj).exception == null on success 191c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * ((AsyncResult)onComplete.obj).exception != null on fail 192c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 193c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville public void changeIccFdnPassword(String oldPassword, String newPassword, 194e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka Message onComplete); 195c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 196c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 197c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Returns service provider name stored in ICC card. 198c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * If there is no service provider name associated or the record is not 199c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * yet available, null will be returned <p> 200c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 201c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Please use this value when display Service Provider Name in idle mode <p> 202c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 203c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Usage of this provider name in the UI is a common carrier requirement. 204c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 205c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * Also available via Android property "gsm.sim.operator.alpha" 206c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 207c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @return Service Provider Name stored in ICC card 208c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * null if no service provider name associated or the record is not 209c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * yet available 210c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * 211c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 212e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public String getServiceProviderName (); 213c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 214c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 215e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * Checks if an Application of specified type present on the card 216e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka * @param type is AppType to look for 217c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 218e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public boolean isApplicationOnIcc(IccCardApplicationStatus.AppType type); 219c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville 220c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville /** 221c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville * @return true if a ICC card is present 222c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville */ 223e287feac673ff68565b766e0e463d105fa9cef9dAlex Yakavenka public boolean hasIccCard(); 2243522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville 2253522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville /** 2263522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville * @return true if ICC card is PIN2 blocked 2273522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville */ 2283522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville public boolean getIccPin2Blocked(); 2293522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville 2303522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville /** 2313522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville * @return true if ICC card is PUK2 blocked 2323522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville */ 2333522c54a64f577f2b657a775dae9b4eb2d8003d5Wink Saville public boolean getIccPuk2Blocked(); 234c38bb60d867c5d61d90b7179a9ed2b2d1848124fWink Saville} 235