diff --git a/config/common_multicarrier.mk b/config/common_multicarrier.mk
new file mode 100644
index 0000000..57aa6c7
--- /dev/null
+++ b/config/common_multicarrier.mk
@@ -0,0 +1 @@
+PRODUCT_PACKAGE_OVERLAYS += vendor/slim/overlay/multicarrier
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml
new file mode 100644
index 0000000..f3a394c
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+
+    <!-- XXXXX NOTE THE FOLLOWING RESOURCES USE THE WRONG NAMING CONVENTION.
+         Please don't copy them, copy anything else. -->
+
+    <!-- Array of ConnectivityManager.TYPE_xxxx values allowable for tethering -->
+    <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+         [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH or
+         [1,4,7,9] for TYPE_WIFI, TYPE_MOBILE_DUN, TYPE_BLUETOOTH and TYPE_ETHERNET-->
+    <integer-array translatable="false" name="config_tether_upstream_types">
+        <item>1</item>
+        <item>4</item>
+        <item>7</item>
+        <item>9</item>
+    </integer-array>
+
+    <!-- The VoiceMail default value is displayed to my own number if it is true -->
+    <bool name="config_telephony_use_own_number_for_voicemail">true</bool>
+
+    <!-- sms encoded as octet is decoded by utf8 decoder. if it is true -->
+    <bool name="config_sms_utf8_support">true</bool>
+
+    <!-- The mms content disposition field is supported correctly. if it is true
+         If false, some fields of content disposition do not follow wap-230-wsp-20010705-a.rdf -->
+    <bool name="config_mms_content_disposition_support">false</bool>
+
+    <!-- If this value is true, duplicate Source/Destination port fields
+         in WDP header of some carriers OMADM wap push are supported.
+         ex: MSGTYPE-TotalSegments-CurrentSegment
+             -SourcePortDestPort-SourcePortDestPort-OMADM PDU
+         If false, not supported. -->
+    <bool name="config_duplicate_port_omadm_wappush">true</bool>
+
+    <!-- If Voice Radio Technology is RIL_RADIO_TECHNOLOGY_LTE:14 this is the value
+         that should be used instead. A value of RIL_RADIO_TECHNOLOGY_UNKNOWN:0 means
+         there is no replacement value and VoLTE is assumed to be supported
+
+         For sprint we will use RIL_RADIO_TECHNOLOGY_1xRTT:6 -->
+    <integer name="config_volte_replacement_rat">6</integer>
+
+    <!-- Sometimes, PDU has garbages. So, need to use valid index -->
+    <integer name="config_valid_wappush_index">4</integer>
+
+    <!-- Default network policy warning threshold, in megabytes. -->
+    <integer name="config_networkPolicyDefaultWarning">51200</integer>
+</resources>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/values-mcc310-mnc120/strings.xml b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc310-mnc120/strings.xml
new file mode 100644
index 0000000..4c99919
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc310-mnc120/strings.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/strings.xml
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+    <!-- CDMA Roaming Indicator Strings (non ERI)--> <skip />
+    <!-- Default roaming indicator text -->
+    <string name="roamingText0">Digital Roaming</string>
+    <string name="roamingText1">Sprint</string>
+    <string name="roamingText2">Digital Roaming</string>
+</resources>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml
new file mode 100644
index 0000000..dcbba33
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+
+    <!-- Array of ConnectivityManager.TYPE_xxxx values allowable for tethering -->
+    <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+    <!== [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
+    <integer-array translatable="false" name="config_tether_upstream_types">
+      <item>1</item>
+      <item>4</item>
+      <item>7</item>
+      <item>9</item>
+    </integer-array>
+
+    <!-- String containing the apn value for tethering.  May be overriden by secure settings
+         TETHER_DUN_APN.  Value is a comma separated series of strings:
+         "name,apn,proxy,port,username,password,server,mmsc,mmsproxy,mmsport,mcc,mnc,auth,type"
+         note that empty fields can be ommitted: "name,apn,,,,,,,,,310,260,,DUN" -->
+    <string translatable="false" name="config_tether_apndata">T-Mobile Tethering,pcweb.tmobile.com,,,,,,,,,310,260,,DUN</string>
+
+</resources>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/values-mcc311-mnc220/config.xml b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc311-mnc220/config.xml
new file mode 100644
index 0000000..68f24ce
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc311-mnc220/config.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+
+    <!-- The mms content disposition field is supported correctly. if it is true
+         If false, some fields of content disposition do not follow wap-230-wsp-20010705-a.rdf -->
+    <bool name="config_mms_content_disposition_support">false</bool>
+</resources>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/values-mcc311-mnc225/config.xml b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc311-mnc225/config.xml
new file mode 100644
index 0000000..68f24ce
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc311-mnc225/config.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+
+    <!-- The mms content disposition field is supported correctly. if it is true
+         If false, some fields of content disposition do not follow wap-230-wsp-20010705-a.rdf -->
+    <bool name="config_mms_content_disposition_support">false</bool>
+</resources>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/values-mcc311-mnc580/config.xml b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc311-mnc580/config.xml
new file mode 100644
index 0000000..68f24ce
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc311-mnc580/config.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+
+    <!-- The mms content disposition field is supported correctly. if it is true
+         If false, some fields of content disposition do not follow wap-230-wsp-20010705-a.rdf -->
+    <bool name="config_mms_content_disposition_support">false</bool>
+</resources>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/values-mcc440-mnc07/config.xml b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc440-mnc07/config.xml
new file mode 100644
index 0000000..51f1e65
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/values-mcc440-mnc07/config.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Sometimes, PDU has garbages. So, need to use valid index -->
+    <integer name="config_valid_wappush_index">7</integer>
+</resources>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc310-mnc004/eri.xml b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc310-mnc004/eri.xml
new file mode 100644
index 0000000..1be46c8
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc310-mnc004/eri.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- Note that IconMode can be only 0, ON or 1, FLASHING
+     The icon is turned OFF if then IconIndex = 1 -->
+
+<EriFile VersionNumber="1357" NumberOfEriEntries="19" EriFileType="1">
+    <CallPromptId Id="0" CallPromptText="CallPromptId0" />
+    <CallPromptId Id="1" CallPromptText="CallPromptId1" />
+    <CallPromptId Id="2" CallPromptText="CallPromptId2" />
+    <EriInfo RoamingIndicator="0" IconIndex="0" IconMode="0" EriText="" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="1" IconIndex="1" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="2" IconIndex="2" IconMode="1" EriText="" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="64" IconIndex="1" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="65" IconIndex="65" IconMode="0" EriText="Network Extender" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="66" IconIndex="1" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="67" IconIndex="67" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="68" IconIndex="68" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="69" IconIndex="2" IconMode="1" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="70" IconIndex="2" IconMode="1" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="71" IconIndex="1" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="72" IconIndex="72" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="73" IconIndex="73" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="74" IconIndex="2" IconMode="1" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="75" IconIndex="2" IconMode="1" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="76" IconIndex="76" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="77" IconIndex="2" IconMode="1" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="78" IconIndex="1" IconMode="0" EriText="Network Extender" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="79" IconIndex="2" IconMode="1" EriText="Network Extender" CallPromptId="0" AlertId="0" />
+</EriFile>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc310-mnc006/eri.xml b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc310-mnc006/eri.xml
new file mode 100644
index 0000000..1be46c8
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc310-mnc006/eri.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- Note that IconMode can be only 0, ON or 1, FLASHING
+     The icon is turned OFF if then IconIndex = 1 -->
+
+<EriFile VersionNumber="1357" NumberOfEriEntries="19" EriFileType="1">
+    <CallPromptId Id="0" CallPromptText="CallPromptId0" />
+    <CallPromptId Id="1" CallPromptText="CallPromptId1" />
+    <CallPromptId Id="2" CallPromptText="CallPromptId2" />
+    <EriInfo RoamingIndicator="0" IconIndex="0" IconMode="0" EriText="" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="1" IconIndex="1" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="2" IconIndex="2" IconMode="1" EriText="" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="64" IconIndex="1" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="65" IconIndex="65" IconMode="0" EriText="Network Extender" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="66" IconIndex="1" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="67" IconIndex="67" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="68" IconIndex="68" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="69" IconIndex="2" IconMode="1" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="70" IconIndex="2" IconMode="1" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="71" IconIndex="1" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="72" IconIndex="72" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="73" IconIndex="73" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="74" IconIndex="2" IconMode="1" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="75" IconIndex="2" IconMode="1" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="76" IconIndex="76" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="77" IconIndex="2" IconMode="1" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="78" IconIndex="1" IconMode="0" EriText="Network Extender" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="79" IconIndex="2" IconMode="1" EriText="Network Extender" CallPromptId="0" AlertId="0" />
+</EriFile>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc310-mnc99/eri.xml b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc310-mnc99/eri.xml
new file mode 100644
index 0000000..1be46c8
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc310-mnc99/eri.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- Note that IconMode can be only 0, ON or 1, FLASHING
+     The icon is turned OFF if then IconIndex = 1 -->
+
+<EriFile VersionNumber="1357" NumberOfEriEntries="19" EriFileType="1">
+    <CallPromptId Id="0" CallPromptText="CallPromptId0" />
+    <CallPromptId Id="1" CallPromptText="CallPromptId1" />
+    <CallPromptId Id="2" CallPromptText="CallPromptId2" />
+    <EriInfo RoamingIndicator="0" IconIndex="0" IconMode="0" EriText="" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="1" IconIndex="1" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="2" IconIndex="2" IconMode="1" EriText="" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="64" IconIndex="1" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="65" IconIndex="65" IconMode="0" EriText="Network Extender" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="66" IconIndex="1" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="67" IconIndex="67" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="68" IconIndex="68" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="69" IconIndex="2" IconMode="1" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="70" IconIndex="2" IconMode="1" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="71" IconIndex="1" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="72" IconIndex="72" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="73" IconIndex="73" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="74" IconIndex="2" IconMode="1" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="75" IconIndex="2" IconMode="1" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="76" IconIndex="76" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="77" IconIndex="2" IconMode="1" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="78" IconIndex="1" IconMode="0" EriText="Network Extender" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="79" IconIndex="2" IconMode="1" EriText="Network Extender" CallPromptId="0" AlertId="0" />
+</EriFile>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc311-mnc220/eri.xml b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc311-mnc220/eri.xml
new file mode 100644
index 0000000..d79b62b
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc311-mnc220/eri.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- Note that IconMode can be only 0, ON or 1, FLASHING
+     The icon is turned OFF if then IconIndex = 1 -->
+
+<EriFile VersionNumber="1357"
+         NumberOfEriEntries="19"
+         EriFileType="1">
+
+         <CallPromptId Id="0"
+                       CallPromptText="CallPromptId0"/>
+
+         <CallPromptId Id="1"
+                       CallPromptText="CallPromptId1"/>
+
+         <CallPromptId Id="2"
+                       CallPromptText="CallPromptId2"/>
+
+         <EriInfo RoamingIndicator="0"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="1"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="2"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="64"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="65"
+                  IconIndex="65"
+                  IconMode="0"
+                  EriText="Network Extender"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="66"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="67"
+                  IconIndex="67"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="68"
+                  IconIndex="68"
+                  IconMode="0"
+                  EriText="Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="69"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="70"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="71"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="72"
+                  IconIndex="72"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="73"
+                  IconIndex="73"
+                  IconMode="0"
+                  EriText="Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="74"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="75"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="76"
+                  IconIndex="76"
+                  IconMode="0"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="77"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="78"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Network Extender"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="79"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Network Extender"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+</EriFile>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc311-mnc225/eri.xml b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc311-mnc225/eri.xml
new file mode 100644
index 0000000..d79b62b
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc311-mnc225/eri.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- Note that IconMode can be only 0, ON or 1, FLASHING
+     The icon is turned OFF if then IconIndex = 1 -->
+
+<EriFile VersionNumber="1357"
+         NumberOfEriEntries="19"
+         EriFileType="1">
+
+         <CallPromptId Id="0"
+                       CallPromptText="CallPromptId0"/>
+
+         <CallPromptId Id="1"
+                       CallPromptText="CallPromptId1"/>
+
+         <CallPromptId Id="2"
+                       CallPromptText="CallPromptId2"/>
+
+         <EriInfo RoamingIndicator="0"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="1"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="2"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="64"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="65"
+                  IconIndex="65"
+                  IconMode="0"
+                  EriText="Network Extender"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="66"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="67"
+                  IconIndex="67"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="68"
+                  IconIndex="68"
+                  IconMode="0"
+                  EriText="Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="69"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="70"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="71"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="72"
+                  IconIndex="72"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="73"
+                  IconIndex="73"
+                  IconMode="0"
+                  EriText="Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="74"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="75"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="76"
+                  IconIndex="76"
+                  IconMode="0"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="77"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="78"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Network Extender"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="79"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Network Extender"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+</EriFile>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc311-mnc480/eri.xml b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc311-mnc480/eri.xml
new file mode 100644
index 0000000..1be46c8
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc311-mnc480/eri.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- Note that IconMode can be only 0, ON or 1, FLASHING
+     The icon is turned OFF if then IconIndex = 1 -->
+
+<EriFile VersionNumber="1357" NumberOfEriEntries="19" EriFileType="1">
+    <CallPromptId Id="0" CallPromptText="CallPromptId0" />
+    <CallPromptId Id="1" CallPromptText="CallPromptId1" />
+    <CallPromptId Id="2" CallPromptText="CallPromptId2" />
+    <EriInfo RoamingIndicator="0" IconIndex="0" IconMode="0" EriText="" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="1" IconIndex="1" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="2" IconIndex="2" IconMode="1" EriText="" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="64" IconIndex="1" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="65" IconIndex="65" IconMode="0" EriText="Network Extender" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="66" IconIndex="1" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="67" IconIndex="67" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="68" IconIndex="68" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="69" IconIndex="2" IconMode="1" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="70" IconIndex="2" IconMode="1" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="71" IconIndex="1" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="72" IconIndex="72" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="73" IconIndex="73" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="74" IconIndex="2" IconMode="1" EriText="Extended Network" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="75" IconIndex="2" IconMode="1" EriText="Roaming" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="76" IconIndex="76" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="77" IconIndex="2" IconMode="1" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="78" IconIndex="1" IconMode="0" EriText="Network Extender" CallPromptId="0" AlertId="0" />
+    <EriInfo RoamingIndicator="79" IconIndex="2" IconMode="1" EriText="Network Extender" CallPromptId="0" AlertId="0" />
+</EriFile>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc311-mnc580/eri.xml b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc311-mnc580/eri.xml
new file mode 100644
index 0000000..d79b62b
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/xml-mcc311-mnc580/eri.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- Note that IconMode can be only 0, ON or 1, FLASHING
+     The icon is turned OFF if then IconIndex = 1 -->
+
+<EriFile VersionNumber="1357"
+         NumberOfEriEntries="19"
+         EriFileType="1">
+
+         <CallPromptId Id="0"
+                       CallPromptText="CallPromptId0"/>
+
+         <CallPromptId Id="1"
+                       CallPromptText="CallPromptId1"/>
+
+         <CallPromptId Id="2"
+                       CallPromptText="CallPromptId2"/>
+
+         <EriInfo RoamingIndicator="0"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="1"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="2"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="64"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="65"
+                  IconIndex="65"
+                  IconMode="0"
+                  EriText="Network Extender"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="66"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="67"
+                  IconIndex="67"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="68"
+                  IconIndex="68"
+                  IconMode="0"
+                  EriText="Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="69"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="70"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="71"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="72"
+                  IconIndex="72"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="73"
+                  IconIndex="73"
+                  IconMode="0"
+                  EriText="Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="74"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="75"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="76"
+                  IconIndex="76"
+                  IconMode="0"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="77"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="U.S. Cellular"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="78"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Network Extender"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="79"
+                  IconIndex="2"
+                  IconMode="1"
+                  EriText="Network Extender"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+</EriFile>
diff --git a/overlay/multicarrier/frameworks/base/core/res/res/xml/eri.xml b/overlay/multicarrier/frameworks/base/core/res/res/xml/eri.xml
new file mode 100644
index 0000000..cd32349
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/core/res/res/xml/eri.xml
@@ -0,0 +1,1265 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- Note that IconMode can be only 0, ON or 1, FLASHING
+     The icon is turned OFF if then IconIndex = 1 -->
+
+<EriFile VersionNumber="1357"
+         NumberOfEriEntries="176"
+         EriFileType="1">
+
+         <CallPromptId Id="0"
+                       CallPromptText="CallPromptId0"/>
+
+         <CallPromptId Id="1"
+                       CallPromptText="CallPromptId1"/>
+
+         <CallPromptId Id="2"
+                       CallPromptText="CallPromptId2"/>
+
+         <EriInfo RoamingIndicator="64"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Preferred System"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="65"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Available System"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="66"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Alliance Partner"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="67"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Premium Partner"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="68"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Full Service Functionality"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="69"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Partial Service Functionality"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="70"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Analog A"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="71"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Analog B"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="72"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="CDMA 800 A"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="73"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="CDMA 800 B"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="74"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="International Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="75"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="76"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Campus"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="77"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="In Building"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="78"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Regional"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="79"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Community"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="80"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Business"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="81"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Zone 1"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="82"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Zone 2"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="83"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="National"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="84"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Local"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="85"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="City"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="86"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Government"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="87"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="USA"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="88"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="State"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="89"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Resort"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="90"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Headquarters"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="91"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Personal"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="92"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Home"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="93"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Residential"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="94"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="University"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="95"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="College"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="96"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Hotel Guest"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="97"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Rental"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="98"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Corporate"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="99"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Sprint"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="100"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Campus"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="101"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="In Building"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="102"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Regional"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="103"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Community"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="104"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Business"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="105"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Zone 1"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="106"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Zone 2"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="107"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="National"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="108"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Local"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="109"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="City"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="110"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Government"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="111"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="USA"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="112"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="State"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="113"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Resort"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="114"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Headquarters"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="115"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Personal"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="116"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Home"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="117"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Residential"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="118"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="University"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="119"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="College"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="120"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Hotel Guest"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="121"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Rental"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="122"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Corporate"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="123"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Sprint"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="124"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="International"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="125"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="International"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="126"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="International"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="127"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Premium Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="128"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Enhanced Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="129"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Enhanced Digital"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="130"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Enhanced Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="131"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Alliance Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="132"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Alliance Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="133"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Vision Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="134"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="135"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Expanded Services"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="136"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Expanded Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="137"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Premium Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="138"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Enhanced Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="139"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Enhanced Digital"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="140"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Enhanced Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="141"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Alliance Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="142"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Alliance Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="143"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Vision Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="144"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="145"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Expanded Services"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="146"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Expanded Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="147"
+                  IconIndex="0"
+                  IconMode="1"
+                  EriText="Premium Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="148"
+                  IconIndex="0"
+                  IconMode="1"
+                  EriText="Enhanced Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="149"
+                  IconIndex="0"
+                  IconMode="1"
+                  EriText="Enhanced Digital"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="150"
+                  IconIndex="0"
+                  IconMode="1"
+                  EriText="Enhanced Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="151"
+                  IconIndex="0"
+                  IconMode="1"
+                  EriText="Alliance Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="152"
+                  IconIndex="0"
+                  IconMode="1"
+                  EriText="Alliance Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="153"
+                  IconIndex="0"
+                  IconMode="1"
+                  EriText="Vision Roaming"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="154"
+                  IconIndex="0"
+                  IconMode="1"
+                  EriText="Extended Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="155"
+                  IconIndex="0"
+                  IconMode="1"
+                  EriText="Expanded Services"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="156"
+                  IconIndex="0"
+                  IconMode="1"
+                  EriText="Expanded Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="157"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Premium International"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="158"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Premium International"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="159"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Premium International"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="160"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText=" "
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="161"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText=" "
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="162"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText=" "
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="163"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText=" "
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="164"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Ext Voice/Data Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="165"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Ext Voice/Data Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="166"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Ext Voice/Data Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="167"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Broadband"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="168"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Broadband"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="169"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Broadband"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="170"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="171"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="172"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="173"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Data Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="174"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Data Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="175"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Data Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="176"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="177"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="178"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="179"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="180"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="181"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Voice"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="182"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Voice"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="183"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Voice"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="184"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Voice &amp; Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="185"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Voice &amp; Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="186"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Voice &amp; Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="187"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Voice Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="188"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Voice Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="189"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Voice Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="190"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Voice/Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="191"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Voice/Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="192"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Voice/Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="193"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="International"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="194"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="International Services"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="195"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="International Voice"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="196"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Int'l Voice/Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="197"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Int'l Voice/Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="198"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Int'l Voice/Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="199"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Ext Voice/Data Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="200"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Ext Voice/Data Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="201"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Ext Voice/Data Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="202"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Broadband"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="203"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Broadband"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="204"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Broadband"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="205"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="206"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="207"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="208"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Data Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="209"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Data Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="210"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Data Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="211"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="212"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Network"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="213"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="214"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="215"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Service"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="216"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Voice"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="217"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Voice"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="218"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Voice"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="219"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Voice &amp; Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="220"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Voice &amp; Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="221"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Voice &amp; Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="222"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Voice Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="223"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Voice Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="224"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Voice Ntwk"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="225"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Extended Voice/Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="226"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Voice/Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="227"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Extended Voice/Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="228"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="International"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="229"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="International"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="230"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="International Services"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="231"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="International Voice"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="232"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText="Int'l Voice/Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="233"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Int'l Voice/Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="234"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Int'l Voice/Data"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="235"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText="Premium International"
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="236"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText=" "
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="237"
+                  IconIndex="0"
+                  IconMode="0"
+                  EriText=" "
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="238"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText=" "
+                  CallPromptId="0"
+                  AlertId="0"/>
+
+         <EriInfo RoamingIndicator="239"
+                  IconIndex="1"
+                  IconMode="0"
+                  EriText=" "
+                  CallPromptId="0"
+                  AlertId="0"/>
+</EriFile>
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc202/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc202/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc202/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc204/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc204/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc204/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc206/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc206/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc206/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc208/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc208/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc208/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc214/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc214/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc214/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc216-mnc01/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc216-mnc01/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc216-mnc01/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc216-mnc70/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc216-mnc70/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc216-mnc70/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc222/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc222/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc222/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc226/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc226/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc226/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc228/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc228/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc228/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc230-mnc02/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc230-mnc02/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc230-mnc02/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc230-mnc03/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc230-mnc03/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc230-mnc03/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc231-mnc01/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc231-mnc01/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc231-mnc01/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc231-mnc02/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc231-mnc02/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc231-mnc02/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc231-mnc06/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc231-mnc06/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc231-mnc06/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc01/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc01/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc01/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc05/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc05/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc05/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc07/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc07/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc07/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc10/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc10/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc10/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc11/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc11/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc232-mnc11/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc234/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc234/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc234/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc238/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc238/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc238/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc240/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc240/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc240/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc242/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc242/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc242/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc244/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc244/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc244/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc260-mnc02/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc260-mnc02/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc260-mnc02/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc260-mnc03/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc260-mnc03/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc260-mnc03/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc262-mnc02/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc262-mnc02/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc262-mnc02/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc262-mnc03/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc262-mnc03/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc262-mnc03/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc262-mnc07/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc262-mnc07/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc262-mnc07/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc268-mnc01/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc268-mnc01/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc268-mnc01/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc268-mnc03/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc268-mnc03/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc268-mnc03/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc268-mnc06/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc268-mnc06/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc268-mnc06/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc293-mnc40/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc293-mnc40/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc293-mnc40/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc293-mnc41/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc293-mnc41/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc293-mnc41/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc293-mnc70/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc293-mnc70/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc293-mnc70/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc310-mnc010/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc310-mnc010/config.xml
new file mode 100644
index 0000000..24d5dda
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc310-mnc010/config.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- When true, show 1/2G networks as 3G. -->
+    <bool name="config_showMin3G">true</bool>
+</resources>
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc310-mnc120/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc310-mnc120/config.xml
new file mode 100644
index 0000000..24d5dda
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc310-mnc120/config.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- When true, show 1/2G networks as 3G. -->
+    <bool name="config_showMin3G">true</bool>
+</resources>
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc311-mnc490/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc311-mnc490/config.xml
new file mode 100644
index 0000000..24d5dda
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc311-mnc490/config.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- When true, show 1/2G networks as 3G. -->
+    <bool name="config_showMin3G">true</bool>
+</resources>
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc311-mnc870/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc311-mnc870/config.xml
new file mode 100644
index 0000000..24d5dda
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc311-mnc870/config.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- When true, show 1/2G networks as 3G. -->
+    <bool name="config_showMin3G">true</bool>
+</resources>
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc334-mnc020/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc334-mnc020/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc334-mnc020/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc505/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc505/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc505/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc530/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc530/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc530/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc537-mnc03/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc537-mnc03/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc537-mnc03/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc02/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc02/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc02/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc03/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc03/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc03/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc04/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc04/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc04/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc05/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc05/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc05/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc06/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc06/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc06/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc10/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc10/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc10/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc11/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc11/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc11/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc16/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc16/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc16/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc23/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc23/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc23/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc31/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc31/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values-mcc724-mnc31/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">true</bool>
+</resources>
+
diff --git a/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values/config.xml b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values/config.xml
new file mode 100644
index 0000000..445ea71
--- /dev/null
+++ b/overlay/multicarrier/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Control whether status bar should distinguish HSPA data icon form UMTS data icon on devices -->
+    <bool name="config_hspa_data_distinguishable">true</bool>
+
+    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
+    <bool name="config_show4GForLTE">false</bool>
+</resources>
+
diff --git a/overlay/multicarrier/packages/apps/Contacts/res/values-mcc310-mnc010/donottranslate_config.xml b/overlay/multicarrier/packages/apps/Contacts/res/values-mcc310-mnc010/donottranslate_config.xml
new file mode 100644
index 0000000..4ddc192
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Contacts/res/values-mcc310-mnc010/donottranslate_config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources>
+    <!-- If true, enable the "import contacts from SIM" feature if the device
+         has an appropriate SIM or ICC card.
+         Setting this flag to false in a resource overlay allows you to
+         entirely disable SIM import on a per-product basis. -->
+    <bool name="config_allow_sim_import">false</bool>
+</resources>
diff --git a/overlay/multicarrier/packages/apps/Contacts/res/values-mcc310-mnc120/donottranslate_config.xml b/overlay/multicarrier/packages/apps/Contacts/res/values-mcc310-mnc120/donottranslate_config.xml
new file mode 100644
index 0000000..4ddc192
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Contacts/res/values-mcc310-mnc120/donottranslate_config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources>
+    <!-- If true, enable the "import contacts from SIM" feature if the device
+         has an appropriate SIM or ICC card.
+         Setting this flag to false in a resource overlay allows you to
+         entirely disable SIM import on a per-product basis. -->
+    <bool name="config_allow_sim_import">false</bool>
+</resources>
diff --git a/overlay/multicarrier/packages/apps/Contacts/res/values-mcc311-mnc490/donottranslate_config.xml b/overlay/multicarrier/packages/apps/Contacts/res/values-mcc311-mnc490/donottranslate_config.xml
new file mode 100644
index 0000000..4ddc192
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Contacts/res/values-mcc311-mnc490/donottranslate_config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources>
+    <!-- If true, enable the "import contacts from SIM" feature if the device
+         has an appropriate SIM or ICC card.
+         Setting this flag to false in a resource overlay allows you to
+         entirely disable SIM import on a per-product basis. -->
+    <bool name="config_allow_sim_import">false</bool>
+</resources>
diff --git a/overlay/multicarrier/packages/apps/Contacts/res/values-mcc311-mnc870/donottranslate_config.xml b/overlay/multicarrier/packages/apps/Contacts/res/values-mcc311-mnc870/donottranslate_config.xml
new file mode 100644
index 0000000..4ddc192
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Contacts/res/values-mcc311-mnc870/donottranslate_config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources>
+    <!-- If true, enable the "import contacts from SIM" feature if the device
+         has an appropriate SIM or ICC card.
+         Setting this flag to false in a resource overlay allows you to
+         entirely disable SIM import on a per-product basis. -->
+    <bool name="config_allow_sim_import">false</bool>
+</resources>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc204-mnc04/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc204-mnc04/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc204-mnc04/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc01/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc01/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc01/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc10/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc10/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc10/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc15/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc15/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc15/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc20/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc20/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc20/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc26/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc26/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc208-mnc26/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc214-mnc03/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc214-mnc03/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc214-mnc03/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc214-mnc07/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc214-mnc07/mms_config.xml
new file mode 100644
index 0000000..3fd21d0
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc214-mnc07/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">512000</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc218-mnc05/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc218-mnc05/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc218-mnc05/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc222-mnc01/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc222-mnc01/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc222-mnc01/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc222-mnc08/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc222-mnc08/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc222-mnc08/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc238-mnc02/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc238-mnc02/mms_config.xml
new file mode 100644
index 0000000..207c42b
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc238-mnc02/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">2097152</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc240-mnc01/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc240-mnc01/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc240-mnc01/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc240-mnc04/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc240-mnc04/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc240-mnc04/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc240-mnc08/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc240-mnc08/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc240-mnc08/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc240-mnc24/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc240-mnc24/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc240-mnc24/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc242-mnc01/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc242-mnc01/mms_config.xml
new file mode 100644
index 0000000..207c42b
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc242-mnc01/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">2097152</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc242-mnc02/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc242-mnc02/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc242-mnc02/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc262-mnc07/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc262-mnc07/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc262-mnc07/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc274-mnc02/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc274-mnc02/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc274-mnc02/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc274-mnc03/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc274-mnc03/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc274-mnc03/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc286-mnc01/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc286-mnc01/mms_config.xml
new file mode 100644
index 0000000..3fd21d0
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc286-mnc01/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">512000</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc286-mnc03/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc286-mnc03/mms_config.xml
new file mode 100644
index 0000000..3fd21d0
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc286-mnc03/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">512000</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc294-mnc01/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc294-mnc01/mms_config.xml
new file mode 100644
index 0000000..4903fe3
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc294-mnc01/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">102400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc294-mnc02/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc294-mnc02/mms_config.xml
new file mode 100644
index 0000000..0004735
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc294-mnc02/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">131072</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc294-mnc03/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc294-mnc03/mms_config.xml
new file mode 100644
index 0000000..3a1f27c
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc294-mnc03/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">256000</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc220/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc220/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc220/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc221/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc221/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc221/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc270/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc270/mms_config.xml
new file mode 100644
index 0000000..fd739a6
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc270/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">819200</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc290/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc290/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc290/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc370/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc370/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc370/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc490/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc490/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc490/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc500/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc500/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc500/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc510/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc510/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc510/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc610/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc610/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc610/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc660/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc660/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc660/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc720/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc720/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc720/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc780/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc780/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc302-mnc780/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc010/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc010/mms_config.xml
new file mode 100644
index 0000000..3603841
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc010/mms_config.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- If true, The text message over 160 characters will be sent in multi part.
+         If false, The text message over 160 characters will be sent
+         via multi media message. -->
+    <bool name="enableMultipartSMS">false</bool>
+
+    <!-- If true, The mms support slide duration.
+         If false, The mms does not support slide duration and we have to
+         set duration value. -->
+    <bool name="enableSlideDuration">false</bool>
+
+    <!-- Maximum length for message text. Use a value of -1
+         to indicate default value -->
+    <int name="maxMessageTextSize">160</int>
+
+    <bool name="enableMMSReadReports">false</bool>
+
+    <bool name="enableSMSDeliveryReports">false</bool>
+
+    <bool name="enableMMSDeliveryReports">false</bool>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
+
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc026/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc026/mms_config.xml
new file mode 100644
index 0000000..1ac6e11
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc026/mms_config.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- T-Mobile U.S. mcc=310, mnc=026 -->
+
+<mms_config version="3">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc090/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc090/mms_config.xml
new file mode 100644
index 0000000..7e1e21f
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc090/mms_config.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- AT&T U.S. mcc=310, mnc=090 -->
+
+<mms_config version="3">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc120/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc120/mms_config.xml
new file mode 100644
index 0000000..3603841
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc120/mms_config.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- If true, The text message over 160 characters will be sent in multi part.
+         If false, The text message over 160 characters will be sent
+         via multi media message. -->
+    <bool name="enableMultipartSMS">false</bool>
+
+    <!-- If true, The mms support slide duration.
+         If false, The mms does not support slide duration and we have to
+         set duration value. -->
+    <bool name="enableSlideDuration">false</bool>
+
+    <!-- Maximum length for message text. Use a value of -1
+         to indicate default value -->
+    <int name="maxMessageTextSize">160</int>
+
+    <bool name="enableMMSReadReports">false</bool>
+
+    <bool name="enableSMSDeliveryReports">false</bool>
+
+    <bool name="enableMMSDeliveryReports">false</bool>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
+
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc150/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc150/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc150/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc170/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc170/mms_config.xml
new file mode 100644
index 0000000..53985fc
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc170/mms_config.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- T-Mobile U.S. mcc=310, mnc=170 -->
+
+<mms_config version="3">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc260/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc260/mms_config.xml
new file mode 100644
index 0000000..88ac189
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc260/mms_config.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- T-Mobile U.S. mcc=310, mnc=260 -->
+
+<mms_config version="3">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc380/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc380/mms_config.xml
new file mode 100644
index 0000000..9b7a06e
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc380/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+-->
+<!-- AT&T U.S. mcc=310, mnc=380 -->
+
+<mms_config version="3">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc410/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc410/mms_config.xml
new file mode 100644
index 0000000..a021a77
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc410/mms_config.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- AT&T U.S. mcc=310, mnc=410 -->
+
+<mms_config version="3">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc420/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc420/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc420/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc450/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc450/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc450/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc490/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc490/mms_config.xml
new file mode 100644
index 0000000..928299b
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc490/mms_config.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- T-Mobile U.S. mcc=310, mnc=490 -->
+
+<mms_config version="3">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc560/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc560/mms_config.xml
new file mode 100644
index 0000000..89f70ae
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc560/mms_config.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- AT&T U.S. mcc=310, mnc=560 -->
+
+<mms_config version="3">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc680/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc680/mms_config.xml
new file mode 100644
index 0000000..766d936
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc680/mms_config.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- AT&T U.S. mcc=310, mnc=680 -->
+
+<mms_config version="3">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc770/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc770/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc770/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc980/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc980/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc310-mnc980/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc311-mnc180/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc311-mnc180/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc311-mnc180/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc311-mnc370/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc311-mnc370/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc311-mnc370/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc311-mnc490/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc311-mnc490/mms_config.xml
new file mode 100644
index 0000000..3603841
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc311-mnc490/mms_config.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- If true, The text message over 160 characters will be sent in multi part.
+         If false, The text message over 160 characters will be sent
+         via multi media message. -->
+    <bool name="enableMultipartSMS">false</bool>
+
+    <!-- If true, The mms support slide duration.
+         If false, The mms does not support slide duration and we have to
+         set duration value. -->
+    <bool name="enableSlideDuration">false</bool>
+
+    <!-- Maximum length for message text. Use a value of -1
+         to indicate default value -->
+    <int name="maxMessageTextSize">160</int>
+
+    <bool name="enableMMSReadReports">false</bool>
+
+    <bool name="enableSMSDeliveryReports">false</bool>
+
+    <bool name="enableMMSDeliveryReports">false</bool>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
+
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc311-mnc870/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc311-mnc870/mms_config.xml
new file mode 100644
index 0000000..3603841
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc311-mnc870/mms_config.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- If true, The text message over 160 characters will be sent in multi part.
+         If false, The text message over 160 characters will be sent
+         via multi media message. -->
+    <bool name="enableMultipartSMS">false</bool>
+
+    <!-- If true, The mms support slide duration.
+         If false, The mms does not support slide duration and we have to
+         set duration value. -->
+    <bool name="enableSlideDuration">false</bool>
+
+    <!-- Maximum length for message text. Use a value of -1
+         to indicate default value -->
+    <int name="maxMessageTextSize">160</int>
+
+    <bool name="enableMMSReadReports">false</bool>
+
+    <bool name="enableSMSDeliveryReports">false</bool>
+
+    <bool name="enableMMSDeliveryReports">false</bool>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
+
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc334-mnc020/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc334-mnc020/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc334-mnc020/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc418-mnc05/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc418-mnc05/mms_config.xml
new file mode 100644
index 0000000..4903fe3
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc418-mnc05/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">102400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc418-mnc20/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc418-mnc20/mms_config.xml
new file mode 100644
index 0000000..9efee3f
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc418-mnc20/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">153600</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc418-mnc30/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc418-mnc30/mms_config.xml
new file mode 100644
index 0000000..9efee3f
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc418-mnc30/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">153600</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc420-mnc04/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc420-mnc04/mms_config.xml
new file mode 100644
index 0000000..e9ae327
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc420-mnc04/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">409600</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc440-mnc10/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc440-mnc10/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc440-mnc10/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc00/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc00/mms_config.xml
new file mode 100644
index 0000000..36dac94
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc00/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc02/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc02/mms_config.xml
new file mode 100644
index 0000000..6187464
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc02/mms_config.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <bool name="enableMMSReadReports">false</bool>
+
+    <bool name="enableSMSDeliveryReports">false</bool>
+
+    <bool name="enableMMSDeliveryReports">false</bool>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc05/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc05/mms_config.xml
new file mode 100644
index 0000000..6187464
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc05/mms_config.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <bool name="enableMMSReadReports">false</bool>
+
+    <bool name="enableSMSDeliveryReports">false</bool>
+
+    <bool name="enableMMSDeliveryReports">false</bool>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc06/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc06/mms_config.xml
new file mode 100644
index 0000000..6187464
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc06/mms_config.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <bool name="enableMMSReadReports">false</bool>
+
+    <bool name="enableSMSDeliveryReports">false</bool>
+
+    <bool name="enableMMSDeliveryReports">false</bool>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc08/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc08/mms_config.xml
new file mode 100644
index 0000000..6187464
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc450-mnc08/mms_config.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">1048576</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <bool name="enableMMSReadReports">false</bool>
+
+    <bool name="enableSMSDeliveryReports">false</bool>
+
+    <bool name="enableMMSDeliveryReports">false</bool>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc505-mnc01/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc505-mnc01/mms_config.xml
new file mode 100644
index 0000000..207c42b
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc505-mnc01/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">2097152</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc530-mnc05/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc530-mnc05/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc530-mnc05/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc604-mnc00/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc604-mnc00/mms_config.xml
new file mode 100644
index 0000000..4903fe3
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc604-mnc00/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">102400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc604-mnc02/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc604-mnc02/mms_config.xml
new file mode 100644
index 0000000..4903fe3
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc604-mnc02/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">102400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml-mcc647-mnc10/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc647-mnc10/mms_config.xml
new file mode 100644
index 0000000..fcebefa
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml-mcc647-mnc10/mms_config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">614400</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Mms/res/xml/mms_config.xml b/overlay/multicarrier/packages/apps/Mms/res/xml/mms_config.xml
new file mode 100644
index 0000000..04f4736
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Mms/res/xml/mms_config.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Version History
+        version 1 - initial version.
+        version 2 - added recipientLimit.
+        version 3 - added min/max recycler values.
+        version 4 - added sms to mms text threshold.
+-->
+
+<mms_config version="4">
+    <!-- Flag indicating whether MMS should be enabled -->
+    <bool name="enabledMMS">true</bool>
+
+    <!-- Maximum message size in bytes for a MMS message -->
+    <int name="maxMessageSize">307200</int>
+
+    <!-- Maximum height for an attached image -->
+    <int name="maxImageHeight">1944</int>
+
+    <!-- Maximum width for an attached image -->
+    <int name="maxImageWidth">2592</int>
+
+    <!-- Maximum number of SMS message to save per thread before auto-delete kicks in.
+         This is the default value. -->
+    <int name="defaultSMSMessagesPerThread">10000</int>
+
+    <!-- Maximum number of MMS message to save per thread before auto-delete kicks in.
+         This is the default value. -->
+    <int name="defaultMMSMessagesPerThread">1000</int>
+
+    <!-- Minimum value for the number of messages kept per conversation. The user can never
+         set the limit below this value. -->
+    <int name="minMessageCountPerThread">10</int>
+
+    <!-- Maximum value for the number of messages kept per conversation. The user can never
+         set the limit above this value. -->
+    <int name="maxMessageCountPerThread">5000</int>
+
+    <!-- UAProf URL -->
+    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
+
+    <!-- Maximum number of recipients allowed per message. Use a value of -1
+         to indicate no limit. -->
+    <int name="recipientLimit">-1</int>
+
+    <!-- If true, The text message over 160 characters will be sent in multi part.
+         If false, The text message over 160 characters will be sent
+         via multi media message. -->
+    <bool name="enableMultipartSMS">true</bool>
+
+    <!-- If true, the text message will be split every 160 characters.
+        If false, the text will never be split before being sent. -->
+    <bool name="enableSplitSMS">false</bool>
+
+    <!-- If enableMultipartSMS is true and smsToMmsTextThreshold > 1, then multi-part SMS messages
+         will be converted into a single mms message. For example, if the mms_config.xml file
+         specifies <int name="smsToMmsTextThreshold">7</int>, then on the 8th sms segment, the
+         message will be converted to an mms. -->
+    <int name="smsToMmsTextThreshold">-1</int>
+
+    <!-- If true, The mms support slide duration.
+         If false, The mms does not support slide duration and we have to
+         set duration value. -->
+    <bool name="enableSlideDuration">true</bool>
+
+    <!-- Maximum length for message text. Use a value of -1
+         to indicate default value -->
+    <int name="maxMessageTextSize">-1</int>
+
+</mms_config>
diff --git a/overlay/multicarrier/packages/apps/Phone b/overlay/multicarrier/packages/apps/Phone
new file mode 120000
index 0000000..92808b9
--- /dev/null
+++ b/overlay/multicarrier/packages/apps/Phone
@@ -0,0 +1 @@
+../services/Telephony
\ No newline at end of file
diff --git a/overlay/multicarrier/packages/services/Telephony/res/values-mcc310-mnc120/config.xml b/overlay/multicarrier/packages/services/Telephony/res/values-mcc310-mnc120/config.xml
new file mode 100644
index 0000000..94fa1fd
--- /dev/null
+++ b/overlay/multicarrier/packages/services/Telephony/res/values-mcc310-mnc120/config.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Phone app resources that may need to be customized
+     for different hardware or product builds. -->
+<resources>
+    <!-- Determine whether calls to mute the microphone in PhoneUtils
+         are routed through the android.media.AudioManager class (true) or through
+         the com.android.internal.telephony.Phone interface (false). -->
+    <bool name="send_mic_mute_to_AudioManager">true</bool>
+    <!-- Flag indicating if the tty is enabled -->
+    <bool name="tty_enabled">true</bool>
+    <!-- Configure certain GsmUmtsOptions to be available or not. The
+         default values are in Phone/res/values/config.xml and maybe overridden
+         in operator specific resource directories or device specific overlays. -->
+    <bool name="config_apn_expand" translatable="false">false</bool>
+    <!-- Show enabled lte option for lte device -->
+    <bool name="config_enabled_lte" translatable="false">true</bool>
+    <!-- Show cdma auto network mode in (glabal) roaming -->
+    <bool name="config_show_cdma" translatable="false">true</bool>
+    <!-- CDMA activation goes through HFA [DO NOT TRANSLATE] -->
+    <bool name="config_use_hfa_for_provisioning" translatable="false">true</bool>
+    <!-- Sprint Message Wait Indicator Quirk
+         If true, message wait indicators are hidden by default on this device
+         unless the user enables it in Call Settings. This quirk is necessary
+         for the "Phantom Voicemail" issue where notifications that are
+         impossible to dismiss on the Sprint network. -->
+    <bool name="sprint_mwi_quirk">true</bool>
+</resources>
