am 3f4867f4
: Merge "Telephony: Add functionality to handle ICC IO error"
* commit '3f4867f49d6c1932117e3519ce10d11f37829f19': Telephony: Add functionality to handle ICC IO error
This commit is contained in:
@ -168,6 +168,9 @@ public class PhoneStatusBarPolicy {
|
|||||||
if (IccCardConstants.INTENT_VALUE_ICC_ABSENT.equals(stateExtra)) {
|
if (IccCardConstants.INTENT_VALUE_ICC_ABSENT.equals(stateExtra)) {
|
||||||
mSimState = IccCardConstants.State.ABSENT;
|
mSimState = IccCardConstants.State.ABSENT;
|
||||||
}
|
}
|
||||||
|
else if (IccCardConstants.INTENT_VALUE_ICC_CARD_IO_ERROR.equals(stateExtra)) {
|
||||||
|
mSimState = IccCardConstants.State.CARD_IO_ERROR;
|
||||||
|
}
|
||||||
else if (IccCardConstants.INTENT_VALUE_ICC_READY.equals(stateExtra)) {
|
else if (IccCardConstants.INTENT_VALUE_ICC_READY.equals(stateExtra)) {
|
||||||
mSimState = IccCardConstants.State.READY;
|
mSimState = IccCardConstants.State.READY;
|
||||||
}
|
}
|
||||||
|
@ -1055,6 +1055,10 @@ public class TelephonyManager {
|
|||||||
public static final int SIM_STATE_NETWORK_LOCKED = 4;
|
public static final int SIM_STATE_NETWORK_LOCKED = 4;
|
||||||
/** SIM card state: Ready */
|
/** SIM card state: Ready */
|
||||||
public static final int SIM_STATE_READY = 5;
|
public static final int SIM_STATE_READY = 5;
|
||||||
|
/** SIM card state: SIM Card Error, Sim Card is present but faulty
|
||||||
|
*@hide
|
||||||
|
*/
|
||||||
|
public static final int SIM_STATE_CARD_IO_ERROR = 6;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return true if a ICC card is present
|
* @return true if a ICC card is present
|
||||||
@ -1081,6 +1085,7 @@ public class TelephonyManager {
|
|||||||
* @see #SIM_STATE_PUK_REQUIRED
|
* @see #SIM_STATE_PUK_REQUIRED
|
||||||
* @see #SIM_STATE_NETWORK_LOCKED
|
* @see #SIM_STATE_NETWORK_LOCKED
|
||||||
* @see #SIM_STATE_READY
|
* @see #SIM_STATE_READY
|
||||||
|
* @see #SIM_STATE_CARD_IO_ERROR
|
||||||
*/
|
*/
|
||||||
public int getSimState() {
|
public int getSimState() {
|
||||||
String prop = SystemProperties.get(TelephonyProperties.PROPERTY_SIM_STATE);
|
String prop = SystemProperties.get(TelephonyProperties.PROPERTY_SIM_STATE);
|
||||||
@ -1099,6 +1104,9 @@ public class TelephonyManager {
|
|||||||
else if ("READY".equals(prop)) {
|
else if ("READY".equals(prop)) {
|
||||||
return SIM_STATE_READY;
|
return SIM_STATE_READY;
|
||||||
}
|
}
|
||||||
|
else if ("CARD_IO_ERROR".equals(prop)) {
|
||||||
|
return SIM_STATE_CARD_IO_ERROR;
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
return SIM_STATE_UNKNOWN;
|
return SIM_STATE_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,8 @@ public class IccCardConstants {
|
|||||||
public static final String INTENT_VALUE_ICC_NOT_READY = "NOT_READY";
|
public static final String INTENT_VALUE_ICC_NOT_READY = "NOT_READY";
|
||||||
/* ABSENT means ICC is missing */
|
/* ABSENT means ICC is missing */
|
||||||
public static final String INTENT_VALUE_ICC_ABSENT = "ABSENT";
|
public static final String INTENT_VALUE_ICC_ABSENT = "ABSENT";
|
||||||
|
/* CARD_IO_ERROR means for three consecutive times there was SIM IO error */
|
||||||
|
static public final String INTENT_VALUE_ICC_CARD_IO_ERROR = "CARD_IO_ERROR";
|
||||||
/* LOCKED means ICC is locked by pin or by network */
|
/* LOCKED means ICC is locked by pin or by network */
|
||||||
public static final String INTENT_VALUE_ICC_LOCKED = "LOCKED";
|
public static final String INTENT_VALUE_ICC_LOCKED = "LOCKED";
|
||||||
/* READY means ICC is ready to access */
|
/* READY means ICC is ready to access */
|
||||||
@ -63,7 +65,8 @@ public class IccCardConstants {
|
|||||||
NETWORK_LOCKED,
|
NETWORK_LOCKED,
|
||||||
READY,
|
READY,
|
||||||
NOT_READY,
|
NOT_READY,
|
||||||
PERM_DISABLED;
|
PERM_DISABLED,
|
||||||
|
CARD_IO_ERROR;
|
||||||
|
|
||||||
public boolean isPinLocked() {
|
public boolean isPinLocked() {
|
||||||
return ((this == PIN_REQUIRED) || (this == PUK_REQUIRED));
|
return ((this == PIN_REQUIRED) || (this == PUK_REQUIRED));
|
||||||
@ -72,7 +75,7 @@ public class IccCardConstants {
|
|||||||
public boolean iccCardExist() {
|
public boolean iccCardExist() {
|
||||||
return ((this == PIN_REQUIRED) || (this == PUK_REQUIRED)
|
return ((this == PIN_REQUIRED) || (this == PUK_REQUIRED)
|
||||||
|| (this == NETWORK_LOCKED) || (this == READY)
|
|| (this == NETWORK_LOCKED) || (this == READY)
|
||||||
|| (this == PERM_DISABLED));
|
|| (this == PERM_DISABLED) || (this == CARD_IO_ERROR));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user