IccCardConstants.java revision 33034b13cae1429d526722374bd39be3f9605ae4
133034b13cae1429d526722374bd39be3f9605ae4Wink Saville/*
233034b13cae1429d526722374bd39be3f9605ae4Wink Saville * Copyright (C) 2012 The Android Open Source Project
333034b13cae1429d526722374bd39be3f9605ae4Wink Saville *
433034b13cae1429d526722374bd39be3f9605ae4Wink Saville * Licensed under the Apache License, Version 2.0 (the "License");
533034b13cae1429d526722374bd39be3f9605ae4Wink Saville * you may not use this file except in compliance with the License.
633034b13cae1429d526722374bd39be3f9605ae4Wink Saville * You may obtain a copy of the License at
733034b13cae1429d526722374bd39be3f9605ae4Wink Saville *
833034b13cae1429d526722374bd39be3f9605ae4Wink Saville *      http://www.apache.org/licenses/LICENSE-2.0
933034b13cae1429d526722374bd39be3f9605ae4Wink Saville *
1033034b13cae1429d526722374bd39be3f9605ae4Wink Saville * Unless required by applicable law or agreed to in writing, software
1133034b13cae1429d526722374bd39be3f9605ae4Wink Saville * distributed under the License is distributed on an "AS IS" BASIS,
1233034b13cae1429d526722374bd39be3f9605ae4Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1333034b13cae1429d526722374bd39be3f9605ae4Wink Saville * See the License for the specific language governing permissions and
1433034b13cae1429d526722374bd39be3f9605ae4Wink Saville * limitations under the License.
1533034b13cae1429d526722374bd39be3f9605ae4Wink Saville */
1633034b13cae1429d526722374bd39be3f9605ae4Wink Savillepackage com.android.internal.telephony;
1733034b13cae1429d526722374bd39be3f9605ae4Wink Saville
1833034b13cae1429d526722374bd39be3f9605ae4Wink Saville/**
1933034b13cae1429d526722374bd39be3f9605ae4Wink Saville * {@hide}
2033034b13cae1429d526722374bd39be3f9605ae4Wink Saville */
2133034b13cae1429d526722374bd39be3f9605ae4Wink Savillepublic class IccCardConstants {
2233034b13cae1429d526722374bd39be3f9605ae4Wink Saville
2333034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /* The extra data for broacasting intent INTENT_ICC_STATE_CHANGE */
2433034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public static final String INTENT_KEY_ICC_STATE = "ss";
2533034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /* NOT_READY means the ICC interface is not ready (eg, radio is off or powering on) */
2633034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public static final String INTENT_VALUE_ICC_NOT_READY = "NOT_READY";
2733034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /* ABSENT means ICC is missing */
2833034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public static final String INTENT_VALUE_ICC_ABSENT = "ABSENT";
2933034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /* LOCKED means ICC is locked by pin or by network */
3033034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public static final String INTENT_VALUE_ICC_LOCKED = "LOCKED";
3133034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /* READY means ICC is ready to access */
3233034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public static final String INTENT_VALUE_ICC_READY = "READY";
3333034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /* IMSI means ICC IMSI is ready in property */
3433034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public static final String INTENT_VALUE_ICC_IMSI = "IMSI";
3533034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /* LOADED means all ICC records, including IMSI, are loaded */
3633034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public static final String INTENT_VALUE_ICC_LOADED = "LOADED";
3733034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /* The extra data for broacasting intent INTENT_ICC_STATE_CHANGE */
3833034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public static final String INTENT_KEY_LOCKED_REASON = "reason";
3933034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /* PIN means ICC is locked on PIN1 */
4033034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public static final String INTENT_VALUE_LOCKED_ON_PIN = "PIN";
4133034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /* PUK means ICC is locked on PUK1 */
4233034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public static final String INTENT_VALUE_LOCKED_ON_PUK = "PUK";
4333034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /* NETWORK means ICC is locked on NETWORK PERSONALIZATION */
4433034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public static final String INTENT_VALUE_LOCKED_NETWORK = "NETWORK";
4533034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /* PERM_DISABLED means ICC is permanently disabled due to puk fails */
4633034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public static final String INTENT_VALUE_ABSENT_ON_PERM_DISABLED = "PERM_DISABLED";
4733034b13cae1429d526722374bd39be3f9605ae4Wink Saville
4833034b13cae1429d526722374bd39be3f9605ae4Wink Saville    /*
4933034b13cae1429d526722374bd39be3f9605ae4Wink Saville      UNKNOWN is a transient state, for example, after uesr inputs ICC pin under
5033034b13cae1429d526722374bd39be3f9605ae4Wink Saville      PIN_REQUIRED state, the query for ICC status returns UNKNOWN before it
5133034b13cae1429d526722374bd39be3f9605ae4Wink Saville      turns to READY
5233034b13cae1429d526722374bd39be3f9605ae4Wink Saville     */
5333034b13cae1429d526722374bd39be3f9605ae4Wink Saville    public enum State {
5433034b13cae1429d526722374bd39be3f9605ae4Wink Saville        UNKNOWN,
5533034b13cae1429d526722374bd39be3f9605ae4Wink Saville        ABSENT,
5633034b13cae1429d526722374bd39be3f9605ae4Wink Saville        PIN_REQUIRED,
5733034b13cae1429d526722374bd39be3f9605ae4Wink Saville        PUK_REQUIRED,
5833034b13cae1429d526722374bd39be3f9605ae4Wink Saville        NETWORK_LOCKED,
5933034b13cae1429d526722374bd39be3f9605ae4Wink Saville        READY,
6033034b13cae1429d526722374bd39be3f9605ae4Wink Saville        NOT_READY,
6133034b13cae1429d526722374bd39be3f9605ae4Wink Saville        PERM_DISABLED;
6233034b13cae1429d526722374bd39be3f9605ae4Wink Saville
6333034b13cae1429d526722374bd39be3f9605ae4Wink Saville        public boolean isPinLocked() {
6433034b13cae1429d526722374bd39be3f9605ae4Wink Saville            return ((this == PIN_REQUIRED) || (this == PUK_REQUIRED));
6533034b13cae1429d526722374bd39be3f9605ae4Wink Saville        }
6633034b13cae1429d526722374bd39be3f9605ae4Wink Saville
6733034b13cae1429d526722374bd39be3f9605ae4Wink Saville        public boolean iccCardExist() {
6833034b13cae1429d526722374bd39be3f9605ae4Wink Saville            return ((this == PIN_REQUIRED) || (this == PUK_REQUIRED)
6933034b13cae1429d526722374bd39be3f9605ae4Wink Saville                    || (this == NETWORK_LOCKED) || (this == READY)
7033034b13cae1429d526722374bd39be3f9605ae4Wink Saville                    || (this == PERM_DISABLED));
7133034b13cae1429d526722374bd39be3f9605ae4Wink Saville        }
7233034b13cae1429d526722374bd39be3f9605ae4Wink Saville    }
7333034b13cae1429d526722374bd39be3f9605ae4Wink Saville}
74