diff options
Diffstat (limited to 'src/com/android/settings/IccLockSettings.java')
-rw-r--r-- | src/com/android/settings/IccLockSettings.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java index ff7c2bd..f4daceb 100644 --- a/src/com/android/settings/IccLockSettings.java +++ b/src/com/android/settings/IccLockSettings.java @@ -40,6 +40,7 @@ import android.widget.ListView; import android.widget.Toast; import com.android.internal.logging.MetricsLogger; +import com.android.internal.telephony.IccCardConstants.State; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneFactory; import com.android.internal.telephony.TelephonyIntents; @@ -222,11 +223,20 @@ public class IccLockSettings extends InstrumentedPreferenceActivity private void updatePreferences() { - mPinDialog.setEnabled(mPhone != null); - mPinToggle.setEnabled(mPhone != null); - if (mPhone != null) { + if (mPhone.getIccCard().getState() != State.READY) { + // if SIM State is NOT READY, it is not possible to interact with UICC app + // for enabling/disabling PIN so disable PIN options. + mPinToggle.setEnabled(false); + mPinDialog.setEnabled(false); + } else { + mPinToggle.setEnabled(true); + mPinDialog.setEnabled(true); + } mPinToggle.setChecked(mPhone.getIccCard().getIccLockEnabled()); + } else { + mPinDialog.setEnabled(false); + mPinToggle.setEnabled(false); } } |