Merge "Add CS fallback for SMS over IMS in IMS test app"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index c9281d1..b14ce89 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -93,6 +93,7 @@
          So, declare this permission here for backwards compatibility so the phone process can send
          the broadcasts to those same receivers. -->
     <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE" />
+    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
     <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
     <uses-permission android:name="android.permission.READ_CONTACTS" />
@@ -266,10 +267,7 @@
             android:theme="@style/NetworkOperatorsSettingsTheme"
             android:configChanges="orientation|screenSize">
             <intent-filter>
-                <action android:name="android.intent.action.VIEW" />
                 <action android:name="android.intent.action.MAIN" />
-                <action android:name="android.settings.NETWORK_OPERATOR_SETTINGS" />
-                <action android:name="android.settings.DATA_ROAMING_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index 86f0aa4..dab2177 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -390,7 +390,7 @@
                                     PersistableBundle config =
                                             resultData.getParcelable(KEY_CONFIG_BUNDLE);
                                     saveConfigToXml(
-                                            mPlatformCarrierConfigPackage, iccid, config);
+                                            getCarrierPackageForPhoneId(phoneId), iccid, config);
                                     mConfigFromCarrierApp[phoneId] = config;
                                     sendMessage(
                                             obtainMessage(
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java
index 78e647a..1f406ea 100644
--- a/src/com/android/phone/MobileNetworkSettings.java
+++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -942,8 +942,7 @@
                 // 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 (carrierConfig.getBoolean(
-                    CarrierConfigManager.KEY_WORLD_PHONE_BOOL) == true) {
+            } else if (isWorldMode()) {
                 prefSet.removePreference(mButtonEnabledNetworks);
                 // set the listener for the mButtonPreferredNetworkMode list preference so we can issue
                 // change Preferred Network Mode.
@@ -1824,6 +1823,7 @@
             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);