Fix bug #12893337 Crash while set up SIM card lock

- remove Intent declaration in favor of a Fragment
- make PhoneFactory.getDefaultPhone() call work again

Change-Id: Ie1cb6894b0c00361c451af1f8542c905213a3c97
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();
     }