Snap for 4826885 from 068670def068be918b64f6a6ea7df797c3959208 to pi-release

Change-Id: I7ebaafdcc6cde4a33b3ef5b7dc9766573513bfb8
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java
index 66c5650..691d9ff 100644
--- a/src/com/android/phone/MobileNetworkSettings.java
+++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -1011,7 +1011,8 @@
                 // in case it is currently something else. That is possible if user
                 // changed the setting while roaming and is now back to home network.
                 settingsNetworkMode = preferredNetworkMode;
-            } else if (isWorldMode()) {
+            } else if (carrierConfig.getBoolean(
+                    CarrierConfigManager.KEY_WORLD_PHONE_BOOL) == true) {
                 prefSet.removePreference(mButtonEnabledNetworks);
                 // set the listener for the mButtonPreferredNetworkMode list preference so we can issue
                 // change Preferred Network Mode.
@@ -1897,7 +1898,6 @@
             return super.onOptionsItemSelected(item);
         }
 
-        // TODO: b/80541766 this should use the carrier config, not the resource overlay
         private boolean isWorldMode() {
             boolean worldModeOn = false;
             final String configString = getResources().getString(R.string.config_world_mode);
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 613d160..ae3ec4e 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -4211,6 +4211,9 @@
         UiccSlotInfo[] infos = new UiccSlotInfo[slots.length];
         for (int i = 0; i < slots.length; i++) {
             UiccSlot slot = slots[i];
+            if (slot == null) {
+                continue;
+            }
 
             String cardId;
             UiccCard card = slot.getUiccCard();