diff --git a/overlay/common/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml b/overlay/common/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml
new file mode 100644
index 0000000..f3a394c
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/core/res/res/values-mcc310-mnc120/strings.xml b/overlay/common/frameworks/base/core/res/res/values-mcc310-mnc120/strings.xml
new file mode 100644
index 0000000..4c99919
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml b/overlay/common/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml
new file mode 100644
index 0000000..dcbba33
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/core/res/res/values-mcc440-mnc07/config.xml b/overlay/common/frameworks/base/core/res/res/values-mcc440-mnc07/config.xml
new file mode 100644
index 0000000..51f1e65
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/core/res/res/xml-mcc310-mnc004/eri.xml b/overlay/common/frameworks/base/core/res/res/xml-mcc310-mnc004/eri.xml
new file mode 100644
index 0000000..1be46c8
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/core/res/res/xml-mcc310-mnc006/eri.xml b/overlay/common/frameworks/base/core/res/res/xml-mcc310-mnc006/eri.xml
new file mode 100644
index 0000000..1be46c8
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/core/res/res/xml-mcc311-mnc480/eri.xml b/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc480/eri.xml
new file mode 100644
index 0000000..1be46c8
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/core/res/res/xml/eri.xml b/overlay/common/frameworks/base/core/res/res/xml/eri.xml
new file mode 100644
index 0000000..cd32349
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc202/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc202/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc204/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc204/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc206/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc206/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc208/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc208/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc214/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc214/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc216-mnc01/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc216-mnc01/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc216-mnc70/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc216-mnc70/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc222/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc222/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc226/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc226/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc228/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc228/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc230-mnc02/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc230-mnc02/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc230-mnc03/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc230-mnc03/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc231-mnc01/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc231-mnc01/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc231-mnc02/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc231-mnc02/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc231-mnc06/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc231-mnc06/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc01/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc01/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc05/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc05/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc07/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc07/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc10/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc10/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc11/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc11/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc234/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc234/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc238/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc238/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc240/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc240/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc242/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc242/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc244/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc244/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc260-mnc02/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc260-mnc02/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc260-mnc03/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc260-mnc03/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc262-mnc02/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc262-mnc02/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc262-mnc03/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc262-mnc03/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc262-mnc07/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc262-mnc07/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc268-mnc01/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc268-mnc01/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc268-mnc03/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc268-mnc03/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc268-mnc06/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc268-mnc06/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc293-mnc40/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc293-mnc40/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc293-mnc41/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc293-mnc41/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc293-mnc70/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc293-mnc70/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc310-mnc010/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc310-mnc010/config.xml
new file mode 100644
index 0000000..24d5dda
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc310-mnc120/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc310-mnc120/config.xml
new file mode 100644
index 0000000..24d5dda
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc311-mnc490/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc311-mnc490/config.xml
new file mode 100644
index 0000000..24d5dda
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc311-mnc870/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc311-mnc870/config.xml
new file mode 100644
index 0000000..24d5dda
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc334-mnc020/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc334-mnc020/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc505/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc505/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc530/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc530/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc537-mnc03/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc537-mnc03/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc02/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc02/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc03/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc03/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc04/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc04/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc05/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc05/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc06/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc06/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc10/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc10/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc11/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc11/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc16/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc16/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc23/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc23/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc31/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc31/config.xml
new file mode 100644
index 0000000..2c8b820
--- /dev/null
+++ b/overlay/common/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/common/frameworks/base/packages/SystemUI/res/values/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml
index f51e7b6..4a1c756 100644
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml
+++ b/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -22,5 +22,8 @@
 <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/common/packages/apps/Contacts/res/values-mcc310-mnc010/donottranslate_config.xml b/overlay/common/packages/apps/Contacts/res/values-mcc310-mnc010/donottranslate_config.xml
new file mode 100644
index 0000000..4ddc192
--- /dev/null
+++ b/overlay/common/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/common/packages/apps/Contacts/res/values-mcc310-mnc120/donottranslate_config.xml b/overlay/common/packages/apps/Contacts/res/values-mcc310-mnc120/donottranslate_config.xml
new file mode 100644
index 0000000..4ddc192
--- /dev/null
+++ b/overlay/common/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/common/packages/apps/Contacts/res/values-mcc311-mnc490/donottranslate_config.xml b/overlay/common/packages/apps/Contacts/res/values-mcc311-mnc490/donottranslate_config.xml
new file mode 100644
index 0000000..4ddc192
--- /dev/null
+++ b/overlay/common/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/common/packages/apps/Contacts/res/values-mcc311-mnc870/donottranslate_config.xml b/overlay/common/packages/apps/Contacts/res/values-mcc311-mnc870/donottranslate_config.xml
new file mode 100644
index 0000000..4ddc192
--- /dev/null
+++ b/overlay/common/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/common/packages/apps/Mms/res/xml-mcc204-mnc04/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc204-mnc04/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc204-mnc04/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc01/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc01/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc10/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc10/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc10/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc15/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc15/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc15/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc20/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc20/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc20/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc26/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc26/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc26/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc214-mnc03/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc214-mnc03/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc214-mnc03/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc214-mnc07/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc214-mnc07/mms_config.xml
new file mode 100644
index 0000000..9a59e7d
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc214-mnc07/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc218-mnc05/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc218-mnc05/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc218-mnc05/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc222-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc222-mnc01/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc222-mnc01/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc222-mnc08/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc222-mnc08/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc222-mnc08/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc238-mnc02/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc238-mnc02/mms_config.xml
new file mode 100644
index 0000000..af751e7
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc238-mnc02/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc01/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc01/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc04/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc04/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc04/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc08/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc08/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc08/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc24/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc24/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc24/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc242-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc242-mnc01/mms_config.xml
new file mode 100644
index 0000000..af751e7
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc242-mnc01/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc242-mnc02/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc242-mnc02/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc242-mnc02/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc262-mnc07/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc262-mnc07/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc262-mnc07/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc274-mnc02/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc274-mnc02/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc274-mnc02/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc274-mnc03/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc274-mnc03/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc274-mnc03/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc286-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc286-mnc01/mms_config.xml
new file mode 100644
index 0000000..9a59e7d
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc286-mnc01/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc286-mnc03/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc286-mnc03/mms_config.xml
new file mode 100644
index 0000000..9a59e7d
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc286-mnc03/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc01/mms_config.xml
new file mode 100644
index 0000000..0d0b286
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc01/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc02/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc02/mms_config.xml
new file mode 100644
index 0000000..3b984c8
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc02/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc03/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc03/mms_config.xml
new file mode 100644
index 0000000..b3f9460
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc03/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc220/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc220/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc220/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc221/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc221/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc221/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc270/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc270/mms_config.xml
new file mode 100644
index 0000000..fce5a86
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc270/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc290/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc290/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc290/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc370/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc370/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc370/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc490/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc490/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc490/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc500/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc500/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc500/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc510/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc510/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc510/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc610/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc610/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc610/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc660/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc660/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc660/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc720/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc720/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc720/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc780/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc780/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc780/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc010/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc010/mms_config.xml
new file mode 100644
index 0000000..25e61f4
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc010/mms_config.xml
@@ -0,0 +1,48 @@
+<?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>
+
+</mms_config>
+
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc026/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc026/mms_config.xml
new file mode 100644
index 0000000..4f96c47
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc026/mms_config.xml
@@ -0,0 +1,29 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc090/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc090/mms_config.xml
new file mode 100644
index 0000000..f83f3fa
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc090/mms_config.xml
@@ -0,0 +1,29 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc120/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc120/mms_config.xml
new file mode 100644
index 0000000..25e61f4
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc120/mms_config.xml
@@ -0,0 +1,48 @@
+<?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>
+
+</mms_config>
+
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc150/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc150/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc150/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc170/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc170/mms_config.xml
new file mode 100644
index 0000000..52f09a1
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc170/mms_config.xml
@@ -0,0 +1,29 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc260/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc260/mms_config.xml
new file mode 100644
index 0000000..253260d
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc260/mms_config.xml
@@ -0,0 +1,29 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc380/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc380/mms_config.xml
new file mode 100644
index 0000000..0bcd367
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc380/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc410/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc410/mms_config.xml
new file mode 100644
index 0000000..48410be
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc410/mms_config.xml
@@ -0,0 +1,29 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc420/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc420/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc420/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc450/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc450/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc450/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc490/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc490/mms_config.xml
new file mode 100644
index 0000000..0bede9e
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc490/mms_config.xml
@@ -0,0 +1,29 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc560/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc560/mms_config.xml
new file mode 100644
index 0000000..91ad689
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc560/mms_config.xml
@@ -0,0 +1,29 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc680/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc680/mms_config.xml
new file mode 100644
index 0000000..c2cea3f
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc680/mms_config.xml
@@ -0,0 +1,29 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc770/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc770/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc770/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc980/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc980/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc980/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc180/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc180/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc180/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc370/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc370/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc370/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc490/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc490/mms_config.xml
new file mode 100644
index 0000000..25e61f4
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc490/mms_config.xml
@@ -0,0 +1,48 @@
+<?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>
+
+</mms_config>
+
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc870/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc870/mms_config.xml
new file mode 100644
index 0000000..25e61f4
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc870/mms_config.xml
@@ -0,0 +1,48 @@
+<?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>
+
+</mms_config>
+
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc334-mnc020/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc334-mnc020/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc334-mnc020/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc05/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc05/mms_config.xml
new file mode 100644
index 0000000..0d0b286
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc05/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc20/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc20/mms_config.xml
new file mode 100644
index 0000000..200c7e3
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc20/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc30/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc30/mms_config.xml
new file mode 100644
index 0000000..200c7e3
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc30/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc420-mnc04/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc420-mnc04/mms_config.xml
new file mode 100644
index 0000000..ce50946
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc420-mnc04/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc440-mnc10/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc440-mnc10/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc440-mnc10/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc00/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc00/mms_config.xml
new file mode 100644
index 0000000..0b6a65a
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc00/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc02/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc02/mms_config.xml
new file mode 100644
index 0000000..f28051d
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc02/mms_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.
+-->
+
+<!-- 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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc05/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc05/mms_config.xml
new file mode 100644
index 0000000..f28051d
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc05/mms_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.
+-->
+
+<!-- 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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc06/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc06/mms_config.xml
new file mode 100644
index 0000000..f28051d
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc06/mms_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.
+-->
+
+<!-- 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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc08/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc08/mms_config.xml
new file mode 100644
index 0000000..f28051d
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc08/mms_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.
+-->
+
+<!-- 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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc505-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc505-mnc01/mms_config.xml
new file mode 100644
index 0000000..af751e7
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc505-mnc01/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc530-mnc05/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc530-mnc05/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc530-mnc05/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc604-mnc00/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc604-mnc00/mms_config.xml
new file mode 100644
index 0000000..0d0b286
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc604-mnc00/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc604-mnc02/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc604-mnc02/mms_config.xml
new file mode 100644
index 0000000..0d0b286
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc604-mnc02/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc647-mnc10/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc647-mnc10/mms_config.xml
new file mode 100644
index 0000000..768b921
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml-mcc647-mnc10/mms_config.xml
@@ -0,0 +1,34 @@
+<?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>
+
+</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml/mms_config.xml
new file mode 100644
index 0000000..962c3be
--- /dev/null
+++ b/overlay/common/packages/apps/Mms/res/xml/mms_config.xml
@@ -0,0 +1,66 @@
+<?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>
+
+    <!-- Maximum number of recipients allowed per message. Use a value of -1
+         to indicate no limit. -->
+    <int name="recipientLimit">-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/common/packages/apps/Phone b/overlay/common/packages/apps/Phone
new file mode 120000
index 0000000..92808b9
--- /dev/null
+++ b/overlay/common/packages/apps/Phone
@@ -0,0 +1 @@
+../services/Telephony
\ No newline at end of file
diff --git a/overlay/common/packages/services/Telephony/res/values-mcc310-mnc120/config.xml b/overlay/common/packages/services/Telephony/res/values-mcc310-mnc120/config.xml
new file mode 100644
index 0000000..94fa1fd
--- /dev/null
+++ b/overlay/common/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>
