Loading api/system-current.txt +16 −0 Original line number Diff line number Diff line Loading @@ -1594,9 +1594,25 @@ package android.content { field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK"; field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED"; field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME"; field @Deprecated public static final String EXTRA_SIM_LOCKED_REASON = "reason"; field @Deprecated public static final String EXTRA_SIM_STATE = "ss"; field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP"; field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE"; field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION"; field @Deprecated public static final String SIM_ABSENT_ON_PERM_DISABLED = "PERM_DISABLED"; field @Deprecated public static final String SIM_LOCKED_NETWORK = "NETWORK"; field @Deprecated public static final String SIM_LOCKED_ON_PIN = "PIN"; field @Deprecated public static final String SIM_LOCKED_ON_PUK = "PUK"; field @Deprecated public static final String SIM_STATE_ABSENT = "ABSENT"; field @Deprecated public static final String SIM_STATE_CARD_IO_ERROR = "CARD_IO_ERROR"; field @Deprecated public static final String SIM_STATE_CARD_RESTRICTED = "CARD_RESTRICTED"; field @Deprecated public static final String SIM_STATE_IMSI = "IMSI"; field @Deprecated public static final String SIM_STATE_LOADED = "LOADED"; field @Deprecated public static final String SIM_STATE_LOCKED = "LOCKED"; field @Deprecated public static final String SIM_STATE_NOT_READY = "NOT_READY"; field @Deprecated public static final String SIM_STATE_PRESENT = "PRESENT"; field @Deprecated public static final String SIM_STATE_READY = "READY"; field @Deprecated public static final String SIM_STATE_UNKNOWN = "UNKNOWN"; } public class IntentFilter implements android.os.Parcelable { Loading core/java/android/content/Intent.java +171 −1 Original line number Diff line number Diff line Loading @@ -3995,15 +3995,185 @@ public class Intent implements Parcelable, Cloneable { * Broadcast Action: The sim card state has changed. * For more details see TelephonyIntents.ACTION_SIM_STATE_CHANGED. This is here * because TelephonyIntents is an internal class. * @hide * The intent will have following extras.</p> * <p> * @see #EXTRA_SIM_STATE * @see #EXTRA_SIM_LOCKED_REASON * * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} or * {@link #ACTION_SIM_APPLICATION_STATE_CHANGED} * * @hide */ @Deprecated @SystemApi @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED"; /** * The extra used with {@link #ACTION_SIM_STATE_CHANGED} for broadcasting SIM STATE. * This will have one of the following intent values. * @see #SIM_STATE_UNKNOWN * @see #SIM_STATE_NOT_READY * @see #SIM_STATE_ABSENT * @see #SIM_STATE_PRESENT * @see #SIM_STATE_CARD_IO_ERROR * @see #SIM_STATE_CARD_RESTRICTED * @see #SIM_STATE_LOCKED * @see #SIM_STATE_READY * @see #SIM_STATE_IMSI * @see #SIM_STATE_LOADED * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String EXTRA_SIM_STATE = "ss"; /** * The intent value UNKNOWN represents the SIM state unknown * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_UNKNOWN = "UNKNOWN"; /** * The intent value NOT_READY means that the SIM is not ready eg. radio is off or powering on * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_NOT_READY = "NOT_READY"; /** * The intent value ABSENT means the SIM card is missing * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_ABSENT = "ABSENT"; /** * The intent value PRESENT means the device has a SIM card inserted * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_PRESENT = "PRESENT"; /** * The intent value CARD_IO_ERROR means for three consecutive times there was SIM IO error * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi static public final String SIM_STATE_CARD_IO_ERROR = "CARD_IO_ERROR"; /** * The intent value CARD_RESTRICTED means card is present but not usable due to carrier * restrictions * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi static public final String SIM_STATE_CARD_RESTRICTED = "CARD_RESTRICTED"; /** * The intent value LOCKED means the SIM is locked by PIN or by network * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_LOCKED = "LOCKED"; /** * The intent value READY means the SIM is ready to be accessed * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_READY = "READY"; /** * The intent value IMSI means the SIM IMSI is ready in property * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_IMSI = "IMSI"; /** * The intent value LOADED means all SIM records, including IMSI, are loaded * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_LOADED = "LOADED"; /** * The extra used with {@link #ACTION_SIM_STATE_CHANGED} for broadcasting SIM STATE. * This extra will have one of the following intent values. * <p> * @see #SIM_LOCKED_ON_PIN * @see #SIM_LOCKED_ON_PUK * @see #SIM_LOCKED_NETWORK * @see #SIM_ABSENT_ON_PERM_DISABLED * * @hide * @deprecated Use {@link #ACTION_SIM_APPLICATION_STATE_CHANGED} */ @Deprecated @SystemApi public static final String EXTRA_SIM_LOCKED_REASON = "reason"; /** * The intent value PIN means the SIM is locked on PIN1 * @hide * @deprecated Use {@link #ACTION_SIM_APPLICATION_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_LOCKED_ON_PIN = "PIN"; /** * The intent value PUK means the SIM is locked on PUK1 * @hide * @deprecated Use {@link #ACTION_SIM_APPLICATION_STATE_CHANGED} */ /* PUK means ICC is locked on PUK1 */ @Deprecated @SystemApi public static final String SIM_LOCKED_ON_PUK = "PUK"; /** * The intent value NETWORK means the SIM is locked on NETWORK PERSONALIZATION * @hide * @deprecated Use {@link #ACTION_SIM_APPLICATION_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_LOCKED_NETWORK = "NETWORK"; /** * The intent value PERM_DISABLED means SIM is permanently disabled due to puk fails * @hide * @deprecated Use {@link #ACTION_SIM_APPLICATION_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_ABSENT_ON_PERM_DISABLED = "PERM_DISABLED"; /** * Broadcast Action: indicate that the phone service state has changed. * The intent will have the following extra values:</p> Loading services/core/java/com/android/server/connectivity/DataConnectionStats.java +18 −20 Original line number Diff line number Diff line Loading @@ -31,8 +31,6 @@ import android.telephony.TelephonyManager; import android.util.Log; import com.android.internal.app.IBatteryStats; import com.android.internal.telephony.IccCardConstants; import com.android.internal.telephony.TelephonyIntents; import com.android.server.am.BatteryStatsService; public class DataConnectionStats extends BroadcastReceiver { Loading @@ -44,7 +42,7 @@ public class DataConnectionStats extends BroadcastReceiver { private final Handler mListenerHandler; private final PhoneStateListener mPhoneStateListener; private IccCardConstants.State mSimState = IccCardConstants.State.READY; private int mSimState = TelephonyManager.SIM_STATE_READY; private SignalStrength mSignalStrength; private ServiceState mServiceState; private int mDataState = TelephonyManager.DATA_DISCONNECTED; Loading @@ -66,7 +64,7 @@ public class DataConnectionStats extends BroadcastReceiver { | PhoneStateListener.LISTEN_DATA_ACTIVITY); IntentFilter filter = new IntentFilter(); filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED); filter.addAction(Intent.ACTION_SIM_STATE_CHANGED); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); filter.addAction(ConnectivityManager.INET_CONDITION_ACTION); mContext.registerReceiver(this, filter, null /* broadcastPermission */, mListenerHandler); Loading @@ -75,7 +73,7 @@ public class DataConnectionStats extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if (action.equals(TelephonyIntents.ACTION_SIM_STATE_CHANGED)) { if (action.equals(Intent.ACTION_SIM_STATE_CHANGED)) { updateSimState(intent); notePhoneDataConnectionState(); } else if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION) || Loading @@ -88,8 +86,8 @@ public class DataConnectionStats extends BroadcastReceiver { if (mServiceState == null) { return; } boolean simReadyOrUnknown = mSimState == IccCardConstants.State.READY || mSimState == IccCardConstants.State.UNKNOWN; boolean simReadyOrUnknown = mSimState == TelephonyManager.SIM_STATE_READY || mSimState == TelephonyManager.SIM_STATE_UNKNOWN; boolean visible = (simReadyOrUnknown || isCdma()) // we only check the sim state for GSM && hasService() && mDataState == TelephonyManager.DATA_CONNECTED; Loading @@ -105,23 +103,23 @@ public class DataConnectionStats extends BroadcastReceiver { } private final void updateSimState(Intent intent) { String stateExtra = intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE); if (IccCardConstants.INTENT_VALUE_ICC_ABSENT.equals(stateExtra)) { mSimState = IccCardConstants.State.ABSENT; } else if (IccCardConstants.INTENT_VALUE_ICC_READY.equals(stateExtra)) { mSimState = IccCardConstants.State.READY; } else if (IccCardConstants.INTENT_VALUE_ICC_LOCKED.equals(stateExtra)) { String stateExtra = intent.getStringExtra(Intent.EXTRA_SIM_STATE); if (Intent.SIM_STATE_ABSENT.equals(stateExtra)) { mSimState = TelephonyManager.SIM_STATE_ABSENT; } else if (Intent.SIM_STATE_READY.equals(stateExtra)) { mSimState = TelephonyManager.SIM_STATE_READY; } else if (Intent.SIM_STATE_LOCKED.equals(stateExtra)) { final String lockedReason = intent.getStringExtra(IccCardConstants.INTENT_KEY_LOCKED_REASON); if (IccCardConstants.INTENT_VALUE_LOCKED_ON_PIN.equals(lockedReason)) { mSimState = IccCardConstants.State.PIN_REQUIRED; } else if (IccCardConstants.INTENT_VALUE_LOCKED_ON_PUK.equals(lockedReason)) { mSimState = IccCardConstants.State.PUK_REQUIRED; intent.getStringExtra(Intent.EXTRA_SIM_LOCKED_REASON); if (Intent.SIM_LOCKED_ON_PIN.equals(lockedReason)) { mSimState = TelephonyManager.SIM_STATE_PIN_REQUIRED; } else if (Intent.SIM_LOCKED_ON_PUK.equals(lockedReason)) { mSimState = TelephonyManager.SIM_STATE_PUK_REQUIRED; } else { mSimState = IccCardConstants.State.NETWORK_LOCKED; mSimState = TelephonyManager.SIM_STATE_NETWORK_LOCKED; } } else { mSimState = IccCardConstants.State.UNKNOWN; mSimState = TelephonyManager.SIM_STATE_UNKNOWN; } } Loading telephony/java/com/android/internal/telephony/IccCardConstants.java +18 −16 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ package com.android.internal.telephony; import android.content.Intent; import android.telephony.TelephonyManager; import dalvik.annotation.compat.UnsupportedAppUsage; Loading @@ -25,37 +26,38 @@ import dalvik.annotation.compat.UnsupportedAppUsage; public class IccCardConstants { /* The extra data for broadcasting intent INTENT_ICC_STATE_CHANGE */ public static final String INTENT_KEY_ICC_STATE = "ss"; public static final String INTENT_KEY_ICC_STATE = Intent.EXTRA_SIM_STATE; /* UNKNOWN means the ICC state is unknown */ public static final String INTENT_VALUE_ICC_UNKNOWN = "UNKNOWN"; public static final String INTENT_VALUE_ICC_UNKNOWN = Intent.SIM_STATE_UNKNOWN; /* NOT_READY means the ICC interface is not ready (eg, radio is off or powering on) */ public static final String INTENT_VALUE_ICC_NOT_READY = "NOT_READY"; public static final String INTENT_VALUE_ICC_NOT_READY = Intent.SIM_STATE_NOT_READY; /* ABSENT means ICC is missing */ public static final String INTENT_VALUE_ICC_ABSENT = "ABSENT"; public static final String INTENT_VALUE_ICC_ABSENT = Intent.SIM_STATE_ABSENT; /* PRESENT means ICC is present */ public static final String INTENT_VALUE_ICC_PRESENT = "PRESENT"; public static final String INTENT_VALUE_ICC_PRESENT = Intent.SIM_STATE_PRESENT; /* 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"; static public final String INTENT_VALUE_ICC_CARD_IO_ERROR = Intent.SIM_STATE_CARD_IO_ERROR; /* CARD_RESTRICTED means card is present but not usable due to carrier restrictions */ static public final String INTENT_VALUE_ICC_CARD_RESTRICTED = "CARD_RESTRICTED"; static public final String INTENT_VALUE_ICC_CARD_RESTRICTED = Intent.SIM_STATE_CARD_RESTRICTED; /* 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 = Intent.SIM_STATE_LOCKED; /* READY means ICC is ready to access */ public static final String INTENT_VALUE_ICC_READY = "READY"; public static final String INTENT_VALUE_ICC_READY = Intent.SIM_STATE_READY; /* IMSI means ICC IMSI is ready in property */ public static final String INTENT_VALUE_ICC_IMSI = "IMSI"; public static final String INTENT_VALUE_ICC_IMSI = Intent.SIM_STATE_IMSI; /* LOADED means all ICC records, including IMSI, are loaded */ public static final String INTENT_VALUE_ICC_LOADED = "LOADED"; public static final String INTENT_VALUE_ICC_LOADED = Intent.SIM_STATE_LOADED; /* The extra data for broadcasting intent INTENT_ICC_STATE_CHANGE */ public static final String INTENT_KEY_LOCKED_REASON = "reason"; public static final String INTENT_KEY_LOCKED_REASON = Intent.EXTRA_SIM_LOCKED_REASON; /* PIN means ICC is locked on PIN1 */ public static final String INTENT_VALUE_LOCKED_ON_PIN = "PIN"; public static final String INTENT_VALUE_LOCKED_ON_PIN = Intent.SIM_LOCKED_ON_PIN; /* PUK means ICC is locked on PUK1 */ public static final String INTENT_VALUE_LOCKED_ON_PUK = "PUK"; public static final String INTENT_VALUE_LOCKED_ON_PUK = Intent.SIM_LOCKED_ON_PUK; /* NETWORK means ICC is locked on NETWORK PERSONALIZATION */ public static final String INTENT_VALUE_LOCKED_NETWORK = "NETWORK"; public static final String INTENT_VALUE_LOCKED_NETWORK = Intent.SIM_LOCKED_NETWORK; /* PERM_DISABLED means ICC is permanently disabled due to puk fails */ public static final String INTENT_VALUE_ABSENT_ON_PERM_DISABLED = "PERM_DISABLED"; public static final String INTENT_VALUE_ABSENT_ON_PERM_DISABLED = Intent.SIM_ABSENT_ON_PERM_DISABLED; /** * This is combination of IccCardStatus.CardState and IccCardApplicationStatus.AppState Loading Loading
api/system-current.txt +16 −0 Original line number Diff line number Diff line Loading @@ -1594,9 +1594,25 @@ package android.content { field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK"; field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED"; field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME"; field @Deprecated public static final String EXTRA_SIM_LOCKED_REASON = "reason"; field @Deprecated public static final String EXTRA_SIM_STATE = "ss"; field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP"; field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE"; field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION"; field @Deprecated public static final String SIM_ABSENT_ON_PERM_DISABLED = "PERM_DISABLED"; field @Deprecated public static final String SIM_LOCKED_NETWORK = "NETWORK"; field @Deprecated public static final String SIM_LOCKED_ON_PIN = "PIN"; field @Deprecated public static final String SIM_LOCKED_ON_PUK = "PUK"; field @Deprecated public static final String SIM_STATE_ABSENT = "ABSENT"; field @Deprecated public static final String SIM_STATE_CARD_IO_ERROR = "CARD_IO_ERROR"; field @Deprecated public static final String SIM_STATE_CARD_RESTRICTED = "CARD_RESTRICTED"; field @Deprecated public static final String SIM_STATE_IMSI = "IMSI"; field @Deprecated public static final String SIM_STATE_LOADED = "LOADED"; field @Deprecated public static final String SIM_STATE_LOCKED = "LOCKED"; field @Deprecated public static final String SIM_STATE_NOT_READY = "NOT_READY"; field @Deprecated public static final String SIM_STATE_PRESENT = "PRESENT"; field @Deprecated public static final String SIM_STATE_READY = "READY"; field @Deprecated public static final String SIM_STATE_UNKNOWN = "UNKNOWN"; } public class IntentFilter implements android.os.Parcelable { Loading
core/java/android/content/Intent.java +171 −1 Original line number Diff line number Diff line Loading @@ -3995,15 +3995,185 @@ public class Intent implements Parcelable, Cloneable { * Broadcast Action: The sim card state has changed. * For more details see TelephonyIntents.ACTION_SIM_STATE_CHANGED. This is here * because TelephonyIntents is an internal class. * @hide * The intent will have following extras.</p> * <p> * @see #EXTRA_SIM_STATE * @see #EXTRA_SIM_LOCKED_REASON * * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} or * {@link #ACTION_SIM_APPLICATION_STATE_CHANGED} * * @hide */ @Deprecated @SystemApi @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED"; /** * The extra used with {@link #ACTION_SIM_STATE_CHANGED} for broadcasting SIM STATE. * This will have one of the following intent values. * @see #SIM_STATE_UNKNOWN * @see #SIM_STATE_NOT_READY * @see #SIM_STATE_ABSENT * @see #SIM_STATE_PRESENT * @see #SIM_STATE_CARD_IO_ERROR * @see #SIM_STATE_CARD_RESTRICTED * @see #SIM_STATE_LOCKED * @see #SIM_STATE_READY * @see #SIM_STATE_IMSI * @see #SIM_STATE_LOADED * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String EXTRA_SIM_STATE = "ss"; /** * The intent value UNKNOWN represents the SIM state unknown * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_UNKNOWN = "UNKNOWN"; /** * The intent value NOT_READY means that the SIM is not ready eg. radio is off or powering on * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_NOT_READY = "NOT_READY"; /** * The intent value ABSENT means the SIM card is missing * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_ABSENT = "ABSENT"; /** * The intent value PRESENT means the device has a SIM card inserted * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_PRESENT = "PRESENT"; /** * The intent value CARD_IO_ERROR means for three consecutive times there was SIM IO error * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi static public final String SIM_STATE_CARD_IO_ERROR = "CARD_IO_ERROR"; /** * The intent value CARD_RESTRICTED means card is present but not usable due to carrier * restrictions * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi static public final String SIM_STATE_CARD_RESTRICTED = "CARD_RESTRICTED"; /** * The intent value LOCKED means the SIM is locked by PIN or by network * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_LOCKED = "LOCKED"; /** * The intent value READY means the SIM is ready to be accessed * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_READY = "READY"; /** * The intent value IMSI means the SIM IMSI is ready in property * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_IMSI = "IMSI"; /** * The intent value LOADED means all SIM records, including IMSI, are loaded * @hide * @deprecated Use {@link #ACTION_SIM_CARD_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_STATE_LOADED = "LOADED"; /** * The extra used with {@link #ACTION_SIM_STATE_CHANGED} for broadcasting SIM STATE. * This extra will have one of the following intent values. * <p> * @see #SIM_LOCKED_ON_PIN * @see #SIM_LOCKED_ON_PUK * @see #SIM_LOCKED_NETWORK * @see #SIM_ABSENT_ON_PERM_DISABLED * * @hide * @deprecated Use {@link #ACTION_SIM_APPLICATION_STATE_CHANGED} */ @Deprecated @SystemApi public static final String EXTRA_SIM_LOCKED_REASON = "reason"; /** * The intent value PIN means the SIM is locked on PIN1 * @hide * @deprecated Use {@link #ACTION_SIM_APPLICATION_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_LOCKED_ON_PIN = "PIN"; /** * The intent value PUK means the SIM is locked on PUK1 * @hide * @deprecated Use {@link #ACTION_SIM_APPLICATION_STATE_CHANGED} */ /* PUK means ICC is locked on PUK1 */ @Deprecated @SystemApi public static final String SIM_LOCKED_ON_PUK = "PUK"; /** * The intent value NETWORK means the SIM is locked on NETWORK PERSONALIZATION * @hide * @deprecated Use {@link #ACTION_SIM_APPLICATION_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_LOCKED_NETWORK = "NETWORK"; /** * The intent value PERM_DISABLED means SIM is permanently disabled due to puk fails * @hide * @deprecated Use {@link #ACTION_SIM_APPLICATION_STATE_CHANGED} */ @Deprecated @SystemApi public static final String SIM_ABSENT_ON_PERM_DISABLED = "PERM_DISABLED"; /** * Broadcast Action: indicate that the phone service state has changed. * The intent will have the following extra values:</p> Loading
services/core/java/com/android/server/connectivity/DataConnectionStats.java +18 −20 Original line number Diff line number Diff line Loading @@ -31,8 +31,6 @@ import android.telephony.TelephonyManager; import android.util.Log; import com.android.internal.app.IBatteryStats; import com.android.internal.telephony.IccCardConstants; import com.android.internal.telephony.TelephonyIntents; import com.android.server.am.BatteryStatsService; public class DataConnectionStats extends BroadcastReceiver { Loading @@ -44,7 +42,7 @@ public class DataConnectionStats extends BroadcastReceiver { private final Handler mListenerHandler; private final PhoneStateListener mPhoneStateListener; private IccCardConstants.State mSimState = IccCardConstants.State.READY; private int mSimState = TelephonyManager.SIM_STATE_READY; private SignalStrength mSignalStrength; private ServiceState mServiceState; private int mDataState = TelephonyManager.DATA_DISCONNECTED; Loading @@ -66,7 +64,7 @@ public class DataConnectionStats extends BroadcastReceiver { | PhoneStateListener.LISTEN_DATA_ACTIVITY); IntentFilter filter = new IntentFilter(); filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED); filter.addAction(Intent.ACTION_SIM_STATE_CHANGED); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); filter.addAction(ConnectivityManager.INET_CONDITION_ACTION); mContext.registerReceiver(this, filter, null /* broadcastPermission */, mListenerHandler); Loading @@ -75,7 +73,7 @@ public class DataConnectionStats extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if (action.equals(TelephonyIntents.ACTION_SIM_STATE_CHANGED)) { if (action.equals(Intent.ACTION_SIM_STATE_CHANGED)) { updateSimState(intent); notePhoneDataConnectionState(); } else if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION) || Loading @@ -88,8 +86,8 @@ public class DataConnectionStats extends BroadcastReceiver { if (mServiceState == null) { return; } boolean simReadyOrUnknown = mSimState == IccCardConstants.State.READY || mSimState == IccCardConstants.State.UNKNOWN; boolean simReadyOrUnknown = mSimState == TelephonyManager.SIM_STATE_READY || mSimState == TelephonyManager.SIM_STATE_UNKNOWN; boolean visible = (simReadyOrUnknown || isCdma()) // we only check the sim state for GSM && hasService() && mDataState == TelephonyManager.DATA_CONNECTED; Loading @@ -105,23 +103,23 @@ public class DataConnectionStats extends BroadcastReceiver { } private final void updateSimState(Intent intent) { String stateExtra = intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE); if (IccCardConstants.INTENT_VALUE_ICC_ABSENT.equals(stateExtra)) { mSimState = IccCardConstants.State.ABSENT; } else if (IccCardConstants.INTENT_VALUE_ICC_READY.equals(stateExtra)) { mSimState = IccCardConstants.State.READY; } else if (IccCardConstants.INTENT_VALUE_ICC_LOCKED.equals(stateExtra)) { String stateExtra = intent.getStringExtra(Intent.EXTRA_SIM_STATE); if (Intent.SIM_STATE_ABSENT.equals(stateExtra)) { mSimState = TelephonyManager.SIM_STATE_ABSENT; } else if (Intent.SIM_STATE_READY.equals(stateExtra)) { mSimState = TelephonyManager.SIM_STATE_READY; } else if (Intent.SIM_STATE_LOCKED.equals(stateExtra)) { final String lockedReason = intent.getStringExtra(IccCardConstants.INTENT_KEY_LOCKED_REASON); if (IccCardConstants.INTENT_VALUE_LOCKED_ON_PIN.equals(lockedReason)) { mSimState = IccCardConstants.State.PIN_REQUIRED; } else if (IccCardConstants.INTENT_VALUE_LOCKED_ON_PUK.equals(lockedReason)) { mSimState = IccCardConstants.State.PUK_REQUIRED; intent.getStringExtra(Intent.EXTRA_SIM_LOCKED_REASON); if (Intent.SIM_LOCKED_ON_PIN.equals(lockedReason)) { mSimState = TelephonyManager.SIM_STATE_PIN_REQUIRED; } else if (Intent.SIM_LOCKED_ON_PUK.equals(lockedReason)) { mSimState = TelephonyManager.SIM_STATE_PUK_REQUIRED; } else { mSimState = IccCardConstants.State.NETWORK_LOCKED; mSimState = TelephonyManager.SIM_STATE_NETWORK_LOCKED; } } else { mSimState = IccCardConstants.State.UNKNOWN; mSimState = TelephonyManager.SIM_STATE_UNKNOWN; } } Loading
telephony/java/com/android/internal/telephony/IccCardConstants.java +18 −16 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ package com.android.internal.telephony; import android.content.Intent; import android.telephony.TelephonyManager; import dalvik.annotation.compat.UnsupportedAppUsage; Loading @@ -25,37 +26,38 @@ import dalvik.annotation.compat.UnsupportedAppUsage; public class IccCardConstants { /* The extra data for broadcasting intent INTENT_ICC_STATE_CHANGE */ public static final String INTENT_KEY_ICC_STATE = "ss"; public static final String INTENT_KEY_ICC_STATE = Intent.EXTRA_SIM_STATE; /* UNKNOWN means the ICC state is unknown */ public static final String INTENT_VALUE_ICC_UNKNOWN = "UNKNOWN"; public static final String INTENT_VALUE_ICC_UNKNOWN = Intent.SIM_STATE_UNKNOWN; /* NOT_READY means the ICC interface is not ready (eg, radio is off or powering on) */ public static final String INTENT_VALUE_ICC_NOT_READY = "NOT_READY"; public static final String INTENT_VALUE_ICC_NOT_READY = Intent.SIM_STATE_NOT_READY; /* ABSENT means ICC is missing */ public static final String INTENT_VALUE_ICC_ABSENT = "ABSENT"; public static final String INTENT_VALUE_ICC_ABSENT = Intent.SIM_STATE_ABSENT; /* PRESENT means ICC is present */ public static final String INTENT_VALUE_ICC_PRESENT = "PRESENT"; public static final String INTENT_VALUE_ICC_PRESENT = Intent.SIM_STATE_PRESENT; /* 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"; static public final String INTENT_VALUE_ICC_CARD_IO_ERROR = Intent.SIM_STATE_CARD_IO_ERROR; /* CARD_RESTRICTED means card is present but not usable due to carrier restrictions */ static public final String INTENT_VALUE_ICC_CARD_RESTRICTED = "CARD_RESTRICTED"; static public final String INTENT_VALUE_ICC_CARD_RESTRICTED = Intent.SIM_STATE_CARD_RESTRICTED; /* 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 = Intent.SIM_STATE_LOCKED; /* READY means ICC is ready to access */ public static final String INTENT_VALUE_ICC_READY = "READY"; public static final String INTENT_VALUE_ICC_READY = Intent.SIM_STATE_READY; /* IMSI means ICC IMSI is ready in property */ public static final String INTENT_VALUE_ICC_IMSI = "IMSI"; public static final String INTENT_VALUE_ICC_IMSI = Intent.SIM_STATE_IMSI; /* LOADED means all ICC records, including IMSI, are loaded */ public static final String INTENT_VALUE_ICC_LOADED = "LOADED"; public static final String INTENT_VALUE_ICC_LOADED = Intent.SIM_STATE_LOADED; /* The extra data for broadcasting intent INTENT_ICC_STATE_CHANGE */ public static final String INTENT_KEY_LOCKED_REASON = "reason"; public static final String INTENT_KEY_LOCKED_REASON = Intent.EXTRA_SIM_LOCKED_REASON; /* PIN means ICC is locked on PIN1 */ public static final String INTENT_VALUE_LOCKED_ON_PIN = "PIN"; public static final String INTENT_VALUE_LOCKED_ON_PIN = Intent.SIM_LOCKED_ON_PIN; /* PUK means ICC is locked on PUK1 */ public static final String INTENT_VALUE_LOCKED_ON_PUK = "PUK"; public static final String INTENT_VALUE_LOCKED_ON_PUK = Intent.SIM_LOCKED_ON_PUK; /* NETWORK means ICC is locked on NETWORK PERSONALIZATION */ public static final String INTENT_VALUE_LOCKED_NETWORK = "NETWORK"; public static final String INTENT_VALUE_LOCKED_NETWORK = Intent.SIM_LOCKED_NETWORK; /* PERM_DISABLED means ICC is permanently disabled due to puk fails */ public static final String INTENT_VALUE_ABSENT_ON_PERM_DISABLED = "PERM_DISABLED"; public static final String INTENT_VALUE_ABSENT_ON_PERM_DISABLED = Intent.SIM_ABSENT_ON_PERM_DISABLED; /** * This is combination of IccCardStatus.CardState and IccCardApplicationStatus.AppState Loading