Merge "Fixed a Settings crash when entering SIM status" into lmp-mr1-dev
diff --git a/res/xml/sim_settings.xml b/res/xml/sim_settings.xml
index 45d8225..63e4ba4 100644
--- a/res/xml/sim_settings.xml
+++ b/res/xml/sim_settings.xml
@@ -15,13 +15,10 @@
 -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    android:key="sim_cards"
     android:title="@string/sim_settings_title">
 
     <PreferenceCategory
-            android:key="sim_cards"
-            android:title="@string/sim_settings_title" />
-
-    <PreferenceCategory
             android:key="sim_activities"
             android:title="@string/sim_pref_divider" >
 
diff --git a/src/com/android/settings/sim/SimSettings.java b/src/com/android/settings/sim/SimSettings.java
index 6c3ddb5..7c50a83 100644
--- a/src/com/android/settings/sim/SimSettings.java
+++ b/src/com/android/settings/sim/SimSettings.java
@@ -30,7 +30,6 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.preference.Preference;
-import android.preference.PreferenceCategory;
 import android.preference.PreferenceScreen;
 import android.provider.SearchIndexableResource;
 import android.provider.Telephony;
@@ -118,7 +117,7 @@
     private SubscriptionInfo mCalls = null;
     private SubscriptionInfo mSMS = null;
 
-    private PreferenceCategory mSimCards = null;
+    private PreferenceScreen mSimCards = null;
 
     private SubscriptionManager mSubscriptionManager;
     private Utils mUtils;
@@ -151,14 +150,16 @@
 
         addPreferencesFromResource(R.xml.sim_settings);
 
-        mSimCards = (PreferenceCategory)findPreference(SIM_CARD_CATEGORY);
+        mSimCards = (PreferenceScreen)findPreference(SIM_CARD_CATEGORY);
 
         final int numSlots = tm.getSimCount();
         mAvailableSubInfos = new ArrayList<SubscriptionInfo>(numSlots);
         mSelectableSubInfos = new ArrayList<SubscriptionInfo>();
         for (int i = 0; i < numSlots; ++i) {
             final SubscriptionInfo sir = Utils.findRecordBySlotId(getActivity(), i);
-            mSimCards.addPreference(new SimPreference(getActivity(), sir, i));
+            SimPreference simPreference = new SimPreference(getActivity(), sir, i);
+            simPreference.setOrder(i-numSlots);
+            mSimCards.addPreference(simPreference);
             mAvailableSubInfos.add(sir);
             if (sir != null) {
                 mSelectableSubInfos.add(sir);