OSDN Git Service

Fix SimStatus crash in Settings.
authorSanket Padawe <sanketpadawe@google.com>
Wed, 6 May 2015 02:00:39 +0000 (19:00 -0700)
committerSanket Padawe <sanketpadawe@google.com>
Wed, 6 May 2015 02:00:39 +0000 (19:00 -0700)
Bug: 20862873
Change-Id: I1ae60ceb64a8af8b3f875e50dd62dfe9796192ca

src/com/android/settings/deviceinfo/SimStatus.java

index 4fa5673..ea4c3e1 100644 (file)
@@ -143,24 +143,28 @@ public class SimStatus extends InstrumentedPreferenceActivity {
         // Note - missing in zaku build, be careful later...
         mSignalStrength = findPreference(KEY_SIGNAL_STRENGTH);
 
-        mSir = mSelectableSubInfos.size() > 0 ? mSelectableSubInfos.get(0) : null;
-        if (mSelectableSubInfos.size() > 1) {
-            setContentView(R.layout.sim_information);
+        if (mSelectableSubInfos == null) {
+            mSir = null;
+        } else {
+            mSir = mSelectableSubInfos.size() > 0 ? mSelectableSubInfos.get(0) : null;
+
+            if (mSelectableSubInfos.size() > 1) {
+                setContentView(R.layout.sim_information);
 
-            mTabHost = (TabHost) findViewById(android.R.id.tabhost);
-            mTabWidget = (TabWidget) findViewById(android.R.id.tabs);
-            mListView = (ListView) findViewById(android.R.id.list);
+                mTabHost = (TabHost) findViewById(android.R.id.tabhost);
+                mTabWidget = (TabWidget) findViewById(android.R.id.tabs);
+                mListView = (ListView) findViewById(android.R.id.list);
 
-            mTabHost.setup();
-            mTabHost.setOnTabChangedListener(mTabListener);
-            mTabHost.clearAllTabs();
+                mTabHost.setup();
+                mTabHost.setOnTabChangedListener(mTabListener);
+                mTabHost.clearAllTabs();
 
-            for (int i = 0; i < mSelectableSubInfos.size(); i++) {
-                mTabHost.addTab(buildTabSpec(String.valueOf(i),
-                        String.valueOf(mSelectableSubInfos.get(i).getDisplayName())));
+                for (int i = 0; i < mSelectableSubInfos.size(); i++) {
+                    mTabHost.addTab(buildTabSpec(String.valueOf(i),
+                            String.valueOf(mSelectableSubInfos.get(i).getDisplayName())));
+                }
             }
         }
-
         updatePhoneInfos();
     }