summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/IccLockSettings.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/IccLockSettings.java')
-rw-r--r--src/com/android/settings/IccLockSettings.java16
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);
}
}