Merge "Fix bug #12893337 Crash while set up SIM card lock"
diff --git a/res/xml/security_settings_misc.xml b/res/xml/security_settings_misc.xml
index dbbeb1d..faab1ea 100644
--- a/res/xml/security_settings_misc.xml
+++ b/res/xml/security_settings_misc.xml
@@ -21,10 +21,8 @@
android:persistent="false">
<Preference android:title="@string/sim_lock_settings_category"
- android:persistent="false">
- <intent android:action="android.intent.action.MAIN"
- android:targetPackage="com.android.settings"
- android:targetClass="com.android.settings.IccLockSettings"/>
+ android:persistent="false"
+ android:fragment="com.android.settings.IccLockSettings">
</Preference>
</PreferenceCategory>
diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java
index cb39020..4edaee4 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -127,11 +127,11 @@
};
// For top-level settings screen to query
- static boolean isIccLockEnabled() {
- return PhoneFactory.getDefaultPhone().getIccCard().getIccLockEnabled();
+ boolean isIccLockEnabled() {
+ return mPhone.getIccCard().getIccLockEnabled();
}
- static String getSummary(Context context) {
+ String getSummary(Context context) {
Resources res = context.getResources();
String summary = isIccLockEnabled()
? res.getString(R.string.sim_lock_on)
@@ -181,7 +181,9 @@
// Don't need any changes to be remembered
getPreferenceScreen().setPersistent(false);
+ PhoneFactory.makeDefaultPhone(getActivity());
mPhone = PhoneFactory.getDefaultPhone();
+
mRes = getResources();
updatePreferences();
}