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
deleted file mode 100644
index f3a394c..0000000
--- a/overlay/common/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 4c99919..0000000
--- a/overlay/common/frameworks/base/core/res/res/values-mcc310-mnc120/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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
deleted file mode 100644
index dcbba33..0000000
--- a/overlay/common/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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-mcc311-mnc220/config.xml b/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc220/config.xml
deleted file mode 100644
index 68f24ce..0000000
--- a/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc220/config.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<!-- These resources are around just to allow their values to be customized
-     for different hardware and product builds. -->
-<resources>
-
-    <!-- The mms content disposition field is supported correctly. if it is true
-         If false, some fields of content disposition do not follow wap-230-wsp-20010705-a.rdf -->
-    <bool name="config_mms_content_disposition_support">false</bool>
-</resources>
diff --git a/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc225/config.xml b/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc225/config.xml
deleted file mode 100644
index 68f24ce..0000000
--- a/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc225/config.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<!-- These resources are around just to allow their values to be customized
-     for different hardware and product builds. -->
-<resources>
-
-    <!-- The mms content disposition field is supported correctly. if it is true
-         If false, some fields of content disposition do not follow wap-230-wsp-20010705-a.rdf -->
-    <bool name="config_mms_content_disposition_support">false</bool>
-</resources>
diff --git a/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc490/integers.xml b/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc490/integers.xml
deleted file mode 100644
index 05f45b3..0000000
--- a/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc490/integers.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <integer name="config_mobile_mtu">1422</integer>
-</resources>
diff --git a/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc580/config.xml b/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc580/config.xml
deleted file mode 100644
index 68f24ce..0000000
--- a/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc580/config.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<!-- These resources are around just to allow their values to be customized
-     for different hardware and product builds. -->
-<resources>
-
-    <!-- The mms content disposition field is supported correctly. if it is true
-         If false, some fields of content disposition do not follow wap-230-wsp-20010705-a.rdf -->
-    <bool name="config_mms_content_disposition_support">false</bool>
-</resources>
diff --git a/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc870/integers.xml b/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc870/integers.xml
deleted file mode 100644
index 05f45b3..0000000
--- a/overlay/common/frameworks/base/core/res/res/values-mcc311-mnc870/integers.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <integer name="config_mobile_mtu">1422</integer>
-</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
deleted file mode 100644
index 51f1e65..0000000
--- a/overlay/common/frameworks/base/core/res/res/values-mcc440-mnc07/config.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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-mnc120/eri.xml b/overlay/common/frameworks/base/core/res/res/xml-mcc310-mnc120/eri.xml
deleted file mode 100644
index 62acd91..0000000
--- a/overlay/common/frameworks/base/core/res/res/xml-mcc310-mnc120/eri.xml
+++ /dev/null
@@ -1,1287 +0,0 @@
-<?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="1358"
-         NumberOfEriEntries="179"
-         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="Digital Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="1"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="Sprint"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="2"
-                  IconIndex="2"
-                  IconMode="0"
-                  EriText="Digital Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="64"
-                  IconIndex="64"
-                  IconMode="0"
-                  EriText="Preferred System"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="65"
-                  IconIndex="65"
-                  IconMode="0"
-                  EriText="Available System"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="66"
-                  IconIndex="66"
-                  IconMode="0"
-                  EriText="Alliance Partner"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="67"
-                  IconIndex="67"
-                  IconMode="0"
-                  EriText="Premium Partner"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="68"
-                  IconIndex="68"
-                  IconMode="0"
-                  EriText="Full Service Functionality"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="69"
-                  IconIndex="69"
-                  IconMode="0"
-                  EriText="Partial Service Functionality"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="70"
-                  IconIndex="70"
-                  IconMode="0"
-                  EriText="Analog A"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="71"
-                  IconIndex="71"
-                  IconMode="0"
-                  EriText="Analog B"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="72"
-                  IconIndex="72"
-                  IconMode="0"
-                  EriText="CDMA 800 A"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="73"
-                  IconIndex="73"
-                  IconMode="0"
-                  EriText="CDMA 800 B"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="74"
-                  IconIndex="74"
-                  IconMode="0"
-                  EriText="International Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="75"
-                  IconIndex="75"
-                  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="78"
-                  IconMode="0"
-                  EriText="Regional"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="79"
-                  IconIndex="79"
-                  IconMode="0"
-                  EriText="Community"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="80"
-                  IconIndex="80"
-                  IconMode="0"
-                  EriText="Business"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="81"
-                  IconIndex="81"
-                  IconMode="0"
-                  EriText="Zone 1"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="82"
-                  IconIndex="82"
-                  IconMode="0"
-                  EriText="Zone 2"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="83"
-                  IconIndex="83"
-                  IconMode="0"
-                  EriText="National"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="84"
-                  IconIndex="84"
-                  IconMode="0"
-                  EriText="Local"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="85"
-                  IconIndex="85"
-                  IconMode="0"
-                  EriText="City"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="86"
-                  IconIndex="86"
-                  IconMode="0"
-                  EriText="Government"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="87"
-                  IconIndex="87"
-                  IconMode="0"
-                  EriText="USA"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="88"
-                  IconIndex="88"
-                  IconMode="0"
-                  EriText="State"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="89"
-                  IconIndex="89"
-                  IconMode="0"
-                  EriText="Resort"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="90"
-                  IconIndex="90"
-                  IconMode="0"
-                  EriText="Headquarters"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="91"
-                  IconIndex="91"
-                  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="93"
-                  IconMode="0"
-                  EriText="Residential"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="94"
-                  IconIndex="94"
-                  IconMode="0"
-                  EriText="University"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="95"
-                  IconIndex="95"
-                  IconMode="0"
-                  EriText="College"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="96"
-                  IconIndex="96"
-                  IconMode="0"
-                  EriText="Hotel Guest"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="97"
-                  IconIndex="97"
-                  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="102"
-                  IconMode="0"
-                  EriText="Regional"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="103"
-                  IconIndex="103"
-                  IconMode="0"
-                  EriText="Community"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="104"
-                  IconIndex="104"
-                  IconMode="0"
-                  EriText="Business"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="105"
-                  IconIndex="105"
-                  IconMode="0"
-                  EriText="Zone 1"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="106"
-                  IconIndex="106"
-                  IconMode="0"
-                  EriText="Zone 2"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="107"
-                  IconIndex="107"
-                  IconMode="0"
-                  EriText="National"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="108"
-                  IconIndex="108"
-                  IconMode="0"
-                  EriText="Local"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="109"
-                  IconIndex="109"
-                  IconMode="0"
-                  EriText="City"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="110"
-                  IconIndex="110"
-                  IconMode="0"
-                  EriText="Government"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="111"
-                  IconIndex="111"
-                  IconMode="0"
-                  EriText="USA"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="112"
-                  IconIndex="112"
-                  IconMode="0"
-                  EriText="State"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="113"
-                  IconIndex="113"
-                  IconMode="0"
-                  EriText="Resort"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="114"
-                  IconIndex="114"
-                  IconMode="0"
-                  EriText="Headquarters"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="115"
-                  IconIndex="115"
-                  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="117"
-                  IconMode="0"
-                  EriText="Residential"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="118"
-                  IconIndex="118"
-                  IconMode="0"
-                  EriText="University"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="119"
-                  IconIndex="119"
-                  IconMode="0"
-                  EriText="College"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="120"
-                  IconIndex="120"
-                  IconMode="0"
-                  EriText="Hotel Guest"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="121"
-                  IconIndex="121"
-                  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="124"
-                  IconMode="0"
-                  EriText="International"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="125"
-                  IconIndex="125"
-                  IconMode="0"
-                  EriText="International"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="126"
-                  IconIndex="126"
-                  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="137"
-                  IconMode="0"
-                  EriText="Premium Service "
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="138"
-                  IconIndex="138"
-                  IconMode="0"
-                  EriText="Enhanced Service"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="139"
-                  IconIndex="139"
-                  IconMode="0"
-                  EriText="Enhanced Digital"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="140"
-                  IconIndex="140"
-                  IconMode="0"
-                  EriText="Enhanced Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="141"
-                  IconIndex="141"
-                  IconMode="0"
-                  EriText="Alliance Service"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="142"
-                  IconIndex="142"
-                  IconMode="0"
-                  EriText="Alliance Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="143"
-                  IconIndex="143"
-                  IconMode="0"
-                  EriText="Vision Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="144"
-                  IconIndex="144"
-                  IconMode="0"
-                  EriText="Extended Service"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="145"
-                  IconIndex="145"
-                  IconMode="0"
-                  EriText="Expanded Services"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="146"
-                  IconIndex="146"
-                  IconMode="0"
-                  EriText="Expanded Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="147"
-                  IconIndex="147"
-                  IconMode="1"
-                  EriText="Premium Service"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="148"
-                  IconIndex="148"
-                  IconMode="1"
-                  EriText="Enhanced Service"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="149"
-                  IconIndex="149"
-                  IconMode="1"
-                  EriText="Enhanced Digital"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="150"
-                  IconIndex="150"
-                  IconMode="1"
-                  EriText="Enhanced Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="151"
-                  IconIndex="151"
-                  IconMode="1"
-                  EriText="Alliance Service"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="152"
-                  IconIndex="152"
-                  IconMode="1"
-                  EriText="Alliance Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="153"
-                  IconIndex="153"
-                  IconMode="1"
-                  EriText="Vision Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="154"
-                  IconIndex="154"
-                  IconMode="1"
-                  EriText="Extended Service"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="155"
-                  IconIndex="155"
-                  IconMode="1"
-                  EriText="Expanded Services"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="156"
-                  IconIndex="156"
-                  IconMode="1"
-                  EriText="Expanded Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="157"
-                  IconIndex="157"
-                  IconMode="0"
-                  EriText="Premium International"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="158"
-                  IconIndex="158"
-                  IconMode="0"
-                  EriText="Premium International"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="159"
-                  IconIndex="159"
-                  IconMode="0"
-                  EriText="Premium International"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="160"
-                  IconIndex="160"
-                  IconMode="0"
-                  EriText=""
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="161"
-                  IconIndex="161"
-                  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="166"
-                  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="169"
-                  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="172"
-                  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="175"
-                  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="178"
-                  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="180"
-                  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="183"
-                  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="186"
-                  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="189"
-                  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="192"
-                  IconMode="0"
-                  EriText="Extended Voice/Data"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="193"
-                  IconIndex="193"
-                  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="198"
-                  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="200"
-                  IconMode="0"
-                  EriText="Ext Voice/Data Ntwk"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="201"
-                  IconIndex="201"
-                  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="203"
-                  IconMode="0"
-                  EriText="Extended Broadband"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="204"
-                  IconIndex="204"
-                  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="206"
-                  IconMode="0"
-                  EriText="Extended Data"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="207"
-                  IconIndex="207"
-                  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="209"
-                  IconMode="0"
-                  EriText="Extended Data Ntwk"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="210"
-                  IconIndex="210"
-                  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="212"
-                  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="214"
-                  IconMode="0"
-                  EriText="Extended Service"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="215"
-                  IconIndex="215"
-                  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="217"
-                  IconMode="0"
-                  EriText="Extended Voice"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="218"
-                  IconIndex="218"
-                  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="220"
-                  IconMode="0"
-                  EriText="Extended Voice &amp; Data"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="221"
-                  IconIndex="221"
-                  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="223"
-                  IconMode="0"
-                  EriText="Extended Voice Ntwk"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="224"
-                  IconIndex="224"
-                  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="226"
-                  IconMode="0"
-                  EriText="Extended Voice/Data"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="227"
-                  IconIndex="227"
-                  IconMode="0"
-                  EriText="Extended Voice/Data"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="228"
-                  IconIndex="228"
-                  IconMode="0"
-                  EriText="International"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="229"
-                  IconIndex="229"
-                  IconMode="0"
-                  EriText="International"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="230"
-                  IconIndex="230"
-                  IconMode="0"
-                  EriText="International Services"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="231"
-                  IconIndex="231"
-                  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="233"
-                  IconMode="0"
-                  EriText="Int'l Voice/Data"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="234"
-                  IconIndex="234"
-                  IconMode="0"
-                  EriText="Int'l Voice/Data"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="235"
-                  IconIndex="235"
-                  IconMode="0"
-                  EriText="Premium International"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="236"
-                  IconIndex="236"
-                  IconMode="0"
-                  EriText=""
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="237"
-                  IconIndex="237"
-                  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/core/res/res/xml-mcc311-mnc220/eri.xml b/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc220/eri.xml
deleted file mode 100644
index d79b62b..0000000
--- a/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc220/eri.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<!-- Note that IconMode can be only 0, ON or 1, FLASHING
-     The icon is turned OFF if then IconIndex = 1 -->
-
-<EriFile VersionNumber="1357"
-         NumberOfEriEntries="19"
-         EriFileType="1">
-
-         <CallPromptId Id="0"
-                       CallPromptText="CallPromptId0"/>
-
-         <CallPromptId Id="1"
-                       CallPromptText="CallPromptId1"/>
-
-         <CallPromptId Id="2"
-                       CallPromptText="CallPromptId2"/>
-
-         <EriInfo RoamingIndicator="0"
-                  IconIndex="0"
-                  IconMode="0"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="1"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="2"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="64"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="65"
-                  IconIndex="65"
-                  IconMode="0"
-                  EriText="Network Extender"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="66"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="67"
-                  IconIndex="67"
-                  IconMode="0"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="68"
-                  IconIndex="68"
-                  IconMode="0"
-                  EriText="Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="69"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="70"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="71"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="72"
-                  IconIndex="72"
-                  IconMode="0"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="73"
-                  IconIndex="73"
-                  IconMode="0"
-                  EriText="Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="74"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="75"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="76"
-                  IconIndex="76"
-                  IconMode="0"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="77"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="78"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="Network Extender"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="79"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Network Extender"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-</EriFile>
diff --git a/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc225/eri.xml b/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc225/eri.xml
deleted file mode 100644
index d79b62b..0000000
--- a/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc225/eri.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<!-- Note that IconMode can be only 0, ON or 1, FLASHING
-     The icon is turned OFF if then IconIndex = 1 -->
-
-<EriFile VersionNumber="1357"
-         NumberOfEriEntries="19"
-         EriFileType="1">
-
-         <CallPromptId Id="0"
-                       CallPromptText="CallPromptId0"/>
-
-         <CallPromptId Id="1"
-                       CallPromptText="CallPromptId1"/>
-
-         <CallPromptId Id="2"
-                       CallPromptText="CallPromptId2"/>
-
-         <EriInfo RoamingIndicator="0"
-                  IconIndex="0"
-                  IconMode="0"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="1"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="2"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="64"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="65"
-                  IconIndex="65"
-                  IconMode="0"
-                  EriText="Network Extender"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="66"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="67"
-                  IconIndex="67"
-                  IconMode="0"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="68"
-                  IconIndex="68"
-                  IconMode="0"
-                  EriText="Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="69"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="70"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="71"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="72"
-                  IconIndex="72"
-                  IconMode="0"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="73"
-                  IconIndex="73"
-                  IconMode="0"
-                  EriText="Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="74"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="75"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="76"
-                  IconIndex="76"
-                  IconMode="0"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="77"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="78"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="Network Extender"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="79"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Network Extender"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-</EriFile>
diff --git a/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc490/eri.xml b/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc490/eri.xml
deleted file mode 100644
index 060c2b5..0000000
--- a/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc490/eri.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<EriFile VersionNumber="6" NumberOfEriEntries="19" EriFileType="2">
-    <CallPromptId Id="0" CallPromptText="CallPromptId0" />
-    <CallPromptId Id="1" CallPromptText="CallPromptId1" />
-    <CallPromptId Id="2" CallPromptText="CallPromptId2" />
-    <EriInfo RoamingIndicator="0" IconIndex="0" IconMode="0" EriText="Domestic Roaming" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="1" IconIndex="1" IconMode="0" EriText="Virgin Mobile" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="2" IconIndex="2" IconMode="1" EriText="International Roaming" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="64" IconIndex="1" IconMode="0" EriText="Virgin Mobile" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="65" IconIndex="3" IconMode="0" EriText="Network Extender" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="66" IconIndex="1" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="4" DataServiceSupport="0" />
-    <EriInfo RoamingIndicator="67" IconIndex="0" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="4" DataServiceSupport="0" />
-    <EriInfo RoamingIndicator="68" IconIndex="0" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="5" DataServiceSupport="0" />
-    <EriInfo RoamingIndicator="69" IconIndex="2" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="4" DataServiceSupport="0" />
-    <EriInfo RoamingIndicator="70" IconIndex="2" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="5" DataServiceSupport="0" />
-    <EriInfo RoamingIndicator="71" IconIndex="1" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="4" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="72" IconIndex="0" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="4" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="73" IconIndex="0" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="5" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="74" IconIndex="2" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="4" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="75" IconIndex="2" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="5" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="76" IconIndex="0" IconMode="0" EriText="Virgin Mobile" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="77" IconIndex="2" IconMode="0" EriText="Virgin Mobile" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="78" IconIndex="1" IconMode="0" EriText="Network Extender" CallPromptId="0" AlertId="1" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="79" IconIndex="3" IconMode="1" EriText="Network Extender" CallPromptId="0" AlertId="1" DataServiceSupport="1" />
-</EriFile>
diff --git a/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc580/eri.xml b/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc580/eri.xml
deleted file mode 100644
index d79b62b..0000000
--- a/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc580/eri.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<!-- Note that IconMode can be only 0, ON or 1, FLASHING
-     The icon is turned OFF if then IconIndex = 1 -->
-
-<EriFile VersionNumber="1357"
-         NumberOfEriEntries="19"
-         EriFileType="1">
-
-         <CallPromptId Id="0"
-                       CallPromptText="CallPromptId0"/>
-
-         <CallPromptId Id="1"
-                       CallPromptText="CallPromptId1"/>
-
-         <CallPromptId Id="2"
-                       CallPromptText="CallPromptId2"/>
-
-         <EriInfo RoamingIndicator="0"
-                  IconIndex="0"
-                  IconMode="0"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="1"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="2"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="64"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="65"
-                  IconIndex="65"
-                  IconMode="0"
-                  EriText="Network Extender"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="66"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="67"
-                  IconIndex="67"
-                  IconMode="0"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="68"
-                  IconIndex="68"
-                  IconMode="0"
-                  EriText="Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="69"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="70"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="71"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="72"
-                  IconIndex="72"
-                  IconMode="0"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="73"
-                  IconIndex="73"
-                  IconMode="0"
-                  EriText="Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="74"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Extended Network"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="75"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Roaming"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="76"
-                  IconIndex="76"
-                  IconMode="0"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="77"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="U.S. Cellular"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="78"
-                  IconIndex="1"
-                  IconMode="0"
-                  EriText="Network Extender"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-         <EriInfo RoamingIndicator="79"
-                  IconIndex="2"
-                  IconMode="1"
-                  EriText="Network Extender"
-                  CallPromptId="0"
-                  AlertId="0"/>
-
-</EriFile>
diff --git a/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc870/eri.xml b/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc870/eri.xml
deleted file mode 100644
index e504b3a..0000000
--- a/overlay/common/frameworks/base/core/res/res/xml-mcc311-mnc870/eri.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<EriFile VersionNumber="6" NumberOfEriEntries="19" EriFileType="2">
-    <CallPromptId Id="0" CallPromptText="CallPromptId0" />
-    <CallPromptId Id="1" CallPromptText="CallPromptId1" />
-    <CallPromptId Id="2" CallPromptText="CallPromptId2" />
-    <EriInfo RoamingIndicator="0" IconIndex="0" IconMode="0" EriText="Domestic Roaming" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="1" IconIndex="1" IconMode="0" EriText="Boost Mobile" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="2" IconIndex="2" IconMode="1" EriText="International Roaming" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="64" IconIndex="1" IconMode="0" EriText="Boost Mobile" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="65" IconIndex="3" IconMode="0" EriText="Network Extender" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="66" IconIndex="1" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="4" DataServiceSupport="0" />
-    <EriInfo RoamingIndicator="67" IconIndex="0" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="4" DataServiceSupport="0" />
-    <EriInfo RoamingIndicator="68" IconIndex="0" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="5" DataServiceSupport="0" />
-    <EriInfo RoamingIndicator="69" IconIndex="2" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="4" DataServiceSupport="0" />
-    <EriInfo RoamingIndicator="70" IconIndex="2" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="5" DataServiceSupport="0" />
-    <EriInfo RoamingIndicator="71" IconIndex="1" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="4" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="72" IconIndex="0" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="4" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="73" IconIndex="0" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="5" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="74" IconIndex="2" IconMode="0" EriText="Extended Network" CallPromptId="0" AlertId="4" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="75" IconIndex="2" IconMode="0" EriText="Roaming" CallPromptId="0" AlertId="5" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="76" IconIndex="0" IconMode="0" EriText="Boost Mobile" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="77" IconIndex="2" IconMode="0" EriText="Boost Mobile" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="78" IconIndex="1" IconMode="0" EriText="Network Extender" CallPromptId="0" AlertId="1" DataServiceSupport="1" />
-    <EriInfo RoamingIndicator="79" IconIndex="3" IconMode="1" EriText="Network Extender" CallPromptId="0" AlertId="1" DataServiceSupport="1" />
-</EriFile>
diff --git a/overlay/common/frameworks/base/core/res/res/xml-mcc440-mnc50/eri.xml b/overlay/common/frameworks/base/core/res/res/xml-mcc440-mnc50/eri.xml
deleted file mode 100644
index 5369db8..0000000
--- a/overlay/common/frameworks/base/core/res/res/xml-mcc440-mnc50/eri.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<EriFile VersionNumber="1357" NumberOfEriEntries="12" EriFileType="1">
-    <CallPromptId Id="0" CallPromptText="CallPromptId0" />
-    <CallPromptId Id="1" CallPromptText="CallPromptId1" />
-    <CallPromptId Id="2" CallPromptText="CallPromptId2" />
-    <EriInfo RoamingIndicator="64" IconIndex="1" IconMode="0" EriText="T-CDMA 64" CallPromptId="0" AlertId="0" />
-    <EriInfo RoamingIndicator="65" IconIndex="65" IconMode="0" EriText="T-CDMA 65" CallPromptId="0" AlertId="0" />
-    <EriInfo RoamingIndicator="66" IconIndex="1" IconMode="0" EriText="T-CDMA Ext 66" CallPromptId="0" AlertId="0" />
-    <EriInfo RoamingIndicator="67" IconIndex="67" IconMode="0" EriText="T-CDMA Ext 67" CallPromptId="0" AlertId="0" />
-    <EriInfo RoamingIndicator="68" IconIndex="68" IconMode="0" EriText="T-CDMA Roam 68" CallPromptId="0" AlertId="0" />
-    <EriInfo RoamingIndicator="69" IconIndex="69" IconMode="1" EriText="T-CDMA Ext 69" CallPromptId="0" AlertId="0" />
-    <EriInfo RoamingIndicator="70" IconIndex="70" IconMode="1" EriText="T-CDMA Roam 70" CallPromptId="0" AlertId="0" />
-    <EriInfo RoamingIndicator="71" IconIndex="1" IconMode="0" EriText="T-CDMA Ext 71" CallPromptId="0" AlertId="0" />
-    <EriInfo RoamingIndicator="72" IconIndex="72" IconMode="0" EriText="T-CDMA Ext 72" CallPromptId="0" AlertId="0" />
-    <EriInfo RoamingIndicator="73" IconIndex="73" IconMode="0" EriText="T-CDMA Roam 73" CallPromptId="0" AlertId="0" />
-    <EriInfo RoamingIndicator="74" IconIndex="74" IconMode="1" EriText="T-CDMA Ext 74" CallPromptId="0" AlertId="0" />
-    <EriInfo RoamingIndicator="75" IconIndex="75" IconMode="1" EriText="T-CDMA Roam 75" 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
deleted file mode 100644
index cd32349..0000000
--- a/overlay/common/frameworks/base/core/res/res/xml/eri.xml
+++ /dev/null
@@ -1,1265 +0,0 @@
-<?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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc202/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc204/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc206/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc208/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc214/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc216-mnc01/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc216-mnc70/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc222/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc226/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc228/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc230-mnc02/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc230-mnc03/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc231-mnc01/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc231-mnc02/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc231-mnc06/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc01/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc05/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc07/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc10/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc232-mnc11/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc234/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc238/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc240/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc242/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc244/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc260-mnc02/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc260-mnc03/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc262-mnc02/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc262-mnc03/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc262-mnc07/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc268-mnc01/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc268-mnc03/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc268-mnc06/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc293-mnc40/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc293-mnc41/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc293-mnc70/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 24d5dda..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc310-mnc010/config.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 24d5dda..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc310-mnc120/config.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 24d5dda..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc311-mnc490/config.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 24d5dda..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc311-mnc870/config.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc334-mnc020/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc505/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc530/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc537-mnc03/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc02/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc03/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc04/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc05/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc06/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc10/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc11/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc16/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc23/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 2c8b820..0000000
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values-mcc724-mnc31/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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 4a1c756..f51e7b6 100644
--- a/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml
+++ b/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -22,8 +22,5 @@
 <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
deleted file mode 100644
index 4ddc192..0000000
--- a/overlay/common/packages/apps/Contacts/res/values-mcc310-mnc010/donottranslate_config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 4ddc192..0000000
--- a/overlay/common/packages/apps/Contacts/res/values-mcc310-mnc120/donottranslate_config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 4ddc192..0000000
--- a/overlay/common/packages/apps/Contacts/res/values-mcc311-mnc490/donottranslate_config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 4ddc192..0000000
--- a/overlay/common/packages/apps/Contacts/res/values-mcc311-mnc870/donottranslate_config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc204-mnc04/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc01/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc01/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc10/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc10/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc10/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc15/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc15/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc15/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc20/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc20/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc20/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc26/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc26/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc208-mnc26/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc214-mnc03/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc214-mnc03/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc214-mnc03/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc214-mnc07/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc214-mnc07/mms_config.xml
deleted file mode 100644
index 3fd21d0..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc214-mnc07/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">512000</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc218-mnc05/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc218-mnc05/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc218-mnc05/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc222-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc222-mnc01/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc222-mnc01/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc222-mnc08/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc222-mnc08/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc222-mnc08/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc238-mnc02/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc238-mnc02/mms_config.xml
deleted file mode 100644
index 207c42b..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc238-mnc02/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">2097152</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc01/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc01/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc04/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc04/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc04/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc08/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc08/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc08/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc24/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc24/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc240-mnc24/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc242-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc242-mnc01/mms_config.xml
deleted file mode 100644
index 207c42b..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc242-mnc01/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">2097152</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc242-mnc02/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc242-mnc02/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc242-mnc02/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc262-mnc07/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc262-mnc07/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc262-mnc07/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc274-mnc02/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc274-mnc02/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc274-mnc02/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc274-mnc03/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc274-mnc03/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc274-mnc03/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc286-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc286-mnc01/mms_config.xml
deleted file mode 100644
index 3fd21d0..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc286-mnc01/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">512000</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc286-mnc03/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc286-mnc03/mms_config.xml
deleted file mode 100644
index 3fd21d0..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc286-mnc03/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">512000</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc01/mms_config.xml
deleted file mode 100644
index 4903fe3..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc01/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">102400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc02/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc02/mms_config.xml
deleted file mode 100644
index 0004735..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc02/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">131072</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc03/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc03/mms_config.xml
deleted file mode 100644
index 3a1f27c..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc294-mnc03/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">256000</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc220/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc220/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc220/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc221/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc221/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc221/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc270/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc270/mms_config.xml
deleted file mode 100644
index fd739a6..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc270/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">819200</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc290/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc290/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc290/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc370/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc370/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc370/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc490/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc490/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc490/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc500/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc500/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc500/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc510/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc510/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc510/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc610/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc610/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc610/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc660/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc660/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc660/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc720/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc720/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc720/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc780/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc780/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc302-mnc780/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc010/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc010/mms_config.xml
deleted file mode 100644
index 3603841..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc010/mms_config.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- If true, The text message over 160 characters will be sent in multi part.
-         If false, The text message over 160 characters will be sent
-         via multi media message. -->
-    <bool name="enableMultipartSMS">false</bool>
-
-    <!-- If true, The mms support slide duration.
-         If false, The mms does not support slide duration and we have to
-         set duration value. -->
-    <bool name="enableSlideDuration">false</bool>
-
-    <!-- Maximum length for message text. Use a value of -1
-         to indicate default value -->
-    <int name="maxMessageTextSize">160</int>
-
-    <bool name="enableMMSReadReports">false</bool>
-
-    <bool name="enableSMSDeliveryReports">false</bool>
-
-    <bool name="enableMMSDeliveryReports">false</bool>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
-
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc026/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc026/mms_config.xml
deleted file mode 100644
index 1ac6e11..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc026/mms_config.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- T-Mobile U.S. mcc=310, mnc=026 -->
-
-<mms_config version="3">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc090/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc090/mms_config.xml
deleted file mode 100644
index 7e1e21f..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc090/mms_config.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- AT&T U.S. mcc=310, mnc=090 -->
-
-<mms_config version="3">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc120/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc120/mms_config.xml
deleted file mode 100644
index 3603841..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc120/mms_config.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- If true, The text message over 160 characters will be sent in multi part.
-         If false, The text message over 160 characters will be sent
-         via multi media message. -->
-    <bool name="enableMultipartSMS">false</bool>
-
-    <!-- If true, The mms support slide duration.
-         If false, The mms does not support slide duration and we have to
-         set duration value. -->
-    <bool name="enableSlideDuration">false</bool>
-
-    <!-- Maximum length for message text. Use a value of -1
-         to indicate default value -->
-    <int name="maxMessageTextSize">160</int>
-
-    <bool name="enableMMSReadReports">false</bool>
-
-    <bool name="enableSMSDeliveryReports">false</bool>
-
-    <bool name="enableMMSDeliveryReports">false</bool>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
-
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc150/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc150/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc150/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc170/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc170/mms_config.xml
deleted file mode 100644
index 53985fc..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc170/mms_config.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- T-Mobile U.S. mcc=310, mnc=170 -->
-
-<mms_config version="3">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc260/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc260/mms_config.xml
deleted file mode 100644
index 88ac189..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc260/mms_config.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- T-Mobile U.S. mcc=310, mnc=260 -->
-
-<mms_config version="3">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc380/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc380/mms_config.xml
deleted file mode 100644
index 9b7a06e..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc380/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
--->
-<!-- AT&T U.S. mcc=310, mnc=380 -->
-
-<mms_config version="3">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc410/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc410/mms_config.xml
deleted file mode 100644
index a021a77..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc410/mms_config.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- AT&T U.S. mcc=310, mnc=410 -->
-
-<mms_config version="3">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc420/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc420/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc420/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc450/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc450/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc450/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc490/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc490/mms_config.xml
deleted file mode 100644
index 928299b..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc490/mms_config.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- T-Mobile U.S. mcc=310, mnc=490 -->
-
-<mms_config version="3">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc560/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc560/mms_config.xml
deleted file mode 100644
index 89f70ae..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc560/mms_config.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- AT&T U.S. mcc=310, mnc=560 -->
-
-<mms_config version="3">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc680/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc680/mms_config.xml
deleted file mode 100644
index 766d936..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc680/mms_config.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- AT&T U.S. mcc=310, mnc=680 -->
-
-<mms_config version="3">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc770/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc770/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc770/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc980/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc980/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc310-mnc980/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc180/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc180/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc180/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc370/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc370/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc370/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc490/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc490/mms_config.xml
deleted file mode 100644
index 3603841..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc490/mms_config.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- If true, The text message over 160 characters will be sent in multi part.
-         If false, The text message over 160 characters will be sent
-         via multi media message. -->
-    <bool name="enableMultipartSMS">false</bool>
-
-    <!-- If true, The mms support slide duration.
-         If false, The mms does not support slide duration and we have to
-         set duration value. -->
-    <bool name="enableSlideDuration">false</bool>
-
-    <!-- Maximum length for message text. Use a value of -1
-         to indicate default value -->
-    <int name="maxMessageTextSize">160</int>
-
-    <bool name="enableMMSReadReports">false</bool>
-
-    <bool name="enableSMSDeliveryReports">false</bool>
-
-    <bool name="enableMMSDeliveryReports">false</bool>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
-
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc870/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc870/mms_config.xml
deleted file mode 100644
index 3603841..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc311-mnc870/mms_config.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- If true, The text message over 160 characters will be sent in multi part.
-         If false, The text message over 160 characters will be sent
-         via multi media message. -->
-    <bool name="enableMultipartSMS">false</bool>
-
-    <!-- If true, The mms support slide duration.
-         If false, The mms does not support slide duration and we have to
-         set duration value. -->
-    <bool name="enableSlideDuration">false</bool>
-
-    <!-- Maximum length for message text. Use a value of -1
-         to indicate default value -->
-    <int name="maxMessageTextSize">160</int>
-
-    <bool name="enableMMSReadReports">false</bool>
-
-    <bool name="enableSMSDeliveryReports">false</bool>
-
-    <bool name="enableMMSDeliveryReports">false</bool>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
-
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc334-mnc020/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc334-mnc020/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc334-mnc020/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc05/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc05/mms_config.xml
deleted file mode 100644
index 4903fe3..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc05/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">102400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc20/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc20/mms_config.xml
deleted file mode 100644
index 9efee3f..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc20/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">153600</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc30/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc30/mms_config.xml
deleted file mode 100644
index 9efee3f..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc418-mnc30/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">153600</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc420-mnc04/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc420-mnc04/mms_config.xml
deleted file mode 100644
index e9ae327..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc420-mnc04/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">409600</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc440-mnc10/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc440-mnc10/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc440-mnc10/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc00/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc00/mms_config.xml
deleted file mode 100644
index 36dac94..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc00/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc02/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc02/mms_config.xml
deleted file mode 100644
index 6187464..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc02/mms_config.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <bool name="enableMMSReadReports">false</bool>
-
-    <bool name="enableSMSDeliveryReports">false</bool>
-
-    <bool name="enableMMSDeliveryReports">false</bool>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc05/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc05/mms_config.xml
deleted file mode 100644
index 6187464..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc05/mms_config.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <bool name="enableMMSReadReports">false</bool>
-
-    <bool name="enableSMSDeliveryReports">false</bool>
-
-    <bool name="enableMMSDeliveryReports">false</bool>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc06/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc06/mms_config.xml
deleted file mode 100644
index 6187464..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc06/mms_config.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <bool name="enableMMSReadReports">false</bool>
-
-    <bool name="enableSMSDeliveryReports">false</bool>
-
-    <bool name="enableMMSDeliveryReports">false</bool>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc08/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc08/mms_config.xml
deleted file mode 100644
index 6187464..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc450-mnc08/mms_config.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">1048576</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <bool name="enableMMSReadReports">false</bool>
-
-    <bool name="enableSMSDeliveryReports">false</bool>
-
-    <bool name="enableMMSDeliveryReports">false</bool>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc505-mnc01/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc505-mnc01/mms_config.xml
deleted file mode 100644
index 207c42b..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc505-mnc01/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">2097152</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc530-mnc05/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc530-mnc05/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc530-mnc05/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc604-mnc00/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc604-mnc00/mms_config.xml
deleted file mode 100644
index 4903fe3..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc604-mnc00/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">102400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc604-mnc02/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc604-mnc02/mms_config.xml
deleted file mode 100644
index 4903fe3..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc604-mnc02/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">102400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml-mcc647-mnc10/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml-mcc647-mnc10/mms_config.xml
deleted file mode 100644
index fcebefa..0000000
--- a/overlay/common/packages/apps/Mms/res/xml-mcc647-mnc10/mms_config.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">614400</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Mms/res/xml/mms_config.xml b/overlay/common/packages/apps/Mms/res/xml/mms_config.xml
deleted file mode 100644
index 04f4736..0000000
--- a/overlay/common/packages/apps/Mms/res/xml/mms_config.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Version History
-        version 1 - initial version.
-        version 2 - added recipientLimit.
-        version 3 - added min/max recycler values.
-        version 4 - added sms to mms text threshold.
--->
-
-<mms_config version="4">
-    <!-- Flag indicating whether MMS should be enabled -->
-    <bool name="enabledMMS">true</bool>
-
-    <!-- Maximum message size in bytes for a MMS message -->
-    <int name="maxMessageSize">307200</int>
-
-    <!-- Maximum height for an attached image -->
-    <int name="maxImageHeight">1944</int>
-
-    <!-- Maximum width for an attached image -->
-    <int name="maxImageWidth">2592</int>
-
-    <!-- Maximum number of SMS message to save per thread before auto-delete kicks in.
-         This is the default value. -->
-    <int name="defaultSMSMessagesPerThread">10000</int>
-
-    <!-- Maximum number of MMS message to save per thread before auto-delete kicks in.
-         This is the default value. -->
-    <int name="defaultMMSMessagesPerThread">1000</int>
-
-    <!-- Minimum value for the number of messages kept per conversation. The user can never
-         set the limit below this value. -->
-    <int name="minMessageCountPerThread">10</int>
-
-    <!-- Maximum value for the number of messages kept per conversation. The user can never
-         set the limit above this value. -->
-    <int name="maxMessageCountPerThread">5000</int>
-
-    <!-- UAProf URL -->
-    <string name="uaProfUrl">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
-
-    <!-- Maximum number of recipients allowed per message. Use a value of -1
-         to indicate no limit. -->
-    <int name="recipientLimit">-1</int>
-
-    <!-- If true, The text message over 160 characters will be sent in multi part.
-         If false, The text message over 160 characters will be sent
-         via multi media message. -->
-    <bool name="enableMultipartSMS">true</bool>
-
-    <!-- If true, the text message will be split every 160 characters.
-        If false, the text will never be split before being sent. -->
-    <bool name="enableSplitSMS">false</bool>
-
-    <!-- If enableMultipartSMS is true and smsToMmsTextThreshold > 1, then multi-part SMS messages
-         will be converted into a single mms message. For example, if the mms_config.xml file
-         specifies <int name="smsToMmsTextThreshold">7</int>, then on the 8th sms segment, the
-         message will be converted to an mms. -->
-    <int name="smsToMmsTextThreshold">-1</int>
-
-    <!-- If true, The mms support slide duration.
-         If false, The mms does not support slide duration and we have to
-         set duration value. -->
-    <bool name="enableSlideDuration">true</bool>
-
-    <!-- Maximum length for message text. Use a value of -1
-         to indicate default value -->
-    <int name="maxMessageTextSize">-1</int>
-
-</mms_config>
diff --git a/overlay/common/packages/apps/Phone b/overlay/common/packages/apps/Phone
deleted file mode 120000
index 92808b9..0000000
--- a/overlay/common/packages/apps/Phone
+++ /dev/null
@@ -1 +0,0 @@
-../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
deleted file mode 100644
index 94fa1fd..0000000
--- a/overlay/common/packages/services/Telephony/res/values-mcc310-mnc120/config.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?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>
diff --git a/prebuilt/common/etc/apns-conf.xml b/prebuilt/common/etc/apns-conf.xml
index d0f72f7..08efe74 100644
--- a/prebuilt/common/etc/apns-conf.xml
+++ b/prebuilt/common/etc/apns-conf.xml
@@ -684,12 +684,9 @@
   <apn carrier="EHRPD - Verizon CBS" mcc="311" mnc="480" apn="VZWAPP" type="cbs,mms" mmsc="http://mms.vtext.com/servlets/mms" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="13" />
   <apn carrier="EHRPD - Verizon SUPL" mcc="311" mnc="480" apn="VZW800" type="supl" protocol="IPV4V6" bearer="13" />
   <apn carrier="Virgin Mobile US" mcc="311" mnc="490" apn="0" mmsproxy="205.239.233.136" mmsport="81" mmsc="http://mmsc.vmobl.com:8088/mms?" port="" type="mms" />
-  <apn carrier="Virgin Mobile CdmaNai" mcc="311" mnc="490" apn="CdmaNai" mmsproxy="68.28.31.2" mmsport="80" mmsc="http://mmsc.vmobl.com:8088" type="mms" carrier_enabled="false" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="6" />
   <apn carrier="LTE - USCC INTERNET" mcc="311" mnc="580" apn="usccinternet" type="default,dun,mms,fota" mmsc="http://mmsc1.uscc.net/mmsc/MMS" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="14" />
   <apn carrier="MetroPCS DEFAULT" mcc="311" mnc="660" apn="internet.metropcs" user="" password="" type="default,hipri,admin,mms" authtype="0" mmsc="http://mms.metropcs.net:3128/mmsc" protocol="IP" roaming_protocol="IP" bearer="14" inactivity_timer="7080" />
   <apn carrier="MetroPCS IMS"  mcc="311" mnc="660" apn="ims.metropcs" user="" password="" type="ims" authtype="0" mmsc="http://mms.metropcs.net:3128/mmsc" protocol="IP" roaming_protocol="IP" bearer="14" inactivity_timer="7080" />
-  <apn carrier="Boost Mobile CdmaNai" mcc="311" mnc="870" apn="CdmaNai" mmsproxy="68.28.31.7" mmsport="80" mmsc="http://mm.myboostmobile.com" type="mms" carrier_enabled="false" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="6" />
-  <apn carrier="Sprint CdmaNai" mcc="312" mnc="530" apn="CdmaNai" mmsproxy="68.28.31.7" mmsport="80" mmsc="http://mms.sprintpcs.com" type="mms" carrier_enabled="false" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="6" />
   <apn carrier="Claro PR" mcc="330" mnc="110" apn="internet.claropr.com" port="8080" type="default,supl" />
   <apn carrier="Claro PR MMS" mcc="330" mnc="110" apn="mms.claropr.com" mmsc="http://mmsg.claropr.com:1021/mmsc" mmsproxy="10.50.38.3" mmsport="8799" type="mms" />
   <apn carrier="LTE CLARO" mcc="330" mnc="110" apn="lte.claropr.com" authtype="1" type="default,supl" />
@@ -1129,33 +1126,18 @@
   <apn carrier="Vodafone QA" mcc="427" mnc="02" apn="web.vodafone.com.qa" type="default,supl" />
   <apn carrier="Beeline UZ" mcc="434" mnc="04" apn="internet.beeline.uz" user="beeline" password="beeline" type="default,supl" />
   <apn carrier="Beeline UZ MMS" mcc="434" mnc="04" apn="mms.beeline.uz" user="beeline" password="beeline" mmsc="http://mms" mmsproxy="172.30.30.166" mmsport="8080" type="mms" />
-  <apn carrier="mopera U" mcc="440" mnc="10" apn="mopera.net" type="default,supl,mms" />
-  <apn carrier="mopera U Bizho" mcc="440" mnc="10" apn="mpr2.bizho.net" type="default,supl,mms" />
-  <apn carrier="mopera U FF" mcc="440" mnc="10" apn="open.mopera.net" type="default,supl,mms" />
-  <apn carrier="mopera U Flat" mcc="440" mnc="10" apn="mopera.flat.foma.ne.jp" type="default,supl,mms" />
   <apn carrier="spモード" mcc="440" mnc="10" apn="spmode.ne.jp" type="default,supl" />
-  <apn carrier="b-mobile 1GB/Fair" mcc="440" mnc="10" apn="bmobile.ne.jp" user="bmobile@fr" password="bmobile" authtype="3" />
-  <apn carrier="b-mobile 6ヶ月/スマートSIM" mcc="440" mnc="10" apn="bmobile.ne.jp" user="bmobile@4g" password="bmobile" authtype="3" />
-  <apn carrier="b-mobile U300" mcc="440" mnc="10" apn="bmobile.ne.jp" user="bmobile@u300" password="bmobile" authtype="3" />
-  <apn carrier="b-mobile X SIM" mcc="440" mnc="10" apn="bmobile.ne.jp" user="bmobile@xsim" password="bmobile" authtype="3" />
-  <apn carrier="b-mobile アマゾン" mcc="440" mnc="10" apn="bmobile.ne.jp" user="bmobile@am" password="bmobile" authtype="3" />
-  <apn carrier="b-mobile イオン" mcc="440" mnc="10" apn="bmobile.ne.jp" user="bmobile@aeon" password="bmobile" authtype="3" />
+  <apn carrier="mopera U" mcc="440" mnc="10" apn="mopera.net" type="default,supl,mms" />
+  <apn carrier="mopera U FF" mcc="440" mnc="10" apn="open.mopera.net" type="default,supl,mms" />
+  <apn carrier="mopera U Bizho" mcc="440" mnc="10" apn="mpr2.bizho.net" type="default,supl,mms" />
+  <apn carrier="mopera U Flat" mcc="440" mnc="10" apn="mopera.flat.foma.ne.jp" type="default,supl,mms" />
+  <apn carrier="mopera U 128K" mcc="440" mnc="10" apn="mpr.ex-pkt.net" type="default,supl,mms" />
   <apn carrier="b-mobile スマホ電話" mcc="440" mnc="10" apn="bmobile.ne.jp" user="bmobile@spd" password="bmobile" type="default,supl,mms" />
-  <apn carrier="b-mobile ヨドバシ" mcc="440" mnc="10" apn="bmobile.ne.jp" user="bmobile@zsim" password="bmobile" authtype="3" />
-  <apn carrier="EMOBILE 4G-S" mcc="440" mnc="20" apn="plus.acs.jp" user="plusw6q9tattkmpk" password="msfbbam83bsdetxb" mmsc="http://mms-s" mmsproxy="andmms.plusacs.ne.jp" mmsport="8080" authtype="2" type="default,supl,mms" />
-  <apn carrier="SoftBank Andglobal" mcc="440" mnc="20" apn="andglobal.softbank.ne.jp" user="andg001softbank" password="pumbbghkpgyysxa" mmsc="http://mms/" mmsproxy="andmms.softbank.ne.jp" mmsport="8080" type="default,mms" />
-  <apn carrier="SoftBank Andoworld" mcc="440" mnc="20" apn="andoworld.softbank.ne.jp" authtype="2" type="default,mms,supl,hipri" />
-  <apn carrier="SoftBank JPspir" mcc="440" mnc="20" apn="jpspir" user="sirobit" password="amstkoi" mmsc="http://mms/" mmsproxy="smilemms.softbank.ne.jp" mmsport="8080" type="default,supl,mms" />
-  <apn carrier="SoftBank Open" mcc="440" mnc="20" apn="open.softbank.ne.jp" user="opensoftbank" password="ebMNuX1FIHg9d3DA" mmsc="http://mms/" mmsproxy="mmsopen.softbank.ne.jp" mmsport="8080" type="default,supl,mms" />
-  <apn carrier="SoftBank Open Desire" mcc="440" mnc="20" apn="open.softbank.ne.jp" user="softbankX06HT" password="KfNSDrQQs2AtFQ9M" mmsc="http://mms/" mmsproxy="andmms.softbank.ne.jp" mmsport="8080" type="default,supl,mms" />
-  <apn carrier="SoftBank Pay for Use" mcc="440" mnc="20" apn="softbank" user="ai@softbank" password="softbank" type="default,supl" />
-  <apn carrier="SoftBank Plus" mcc="440" mnc="20" apn="plus.softbank" user="plus" password="softbank" mmsc="http://mms/" mmsproxy="andmms.softbank.ne.jp" mmsport="8080" authtype="3" type="default,supl,mms" />
-  <apn carrier="SoftBank SBM" mcc="440" mnc="20" apn="sbm" user="data" password="softbank" />
-  <apn carrier="SoftBank SBM4GLTE" mcc="440" mnc="20" apn="sbm4glte" user="data" password="softbank" />
-  <apn carrier="SoftBank Smile World" mcc="440" mnc="20" apn="smile.world" user="dna1trop" password="so2t3k3m2a" mmsc="http://mms/" mmsproxy="smilemms.softbank.ne.jp" mmsport="8080" authtype="1" type="default,supl,mms" />
-  <apn carrier="SoftBank プリモバイル" mcc="440" mnc="20" apn="mailwebservice.softbank.ne.jp" user="softbank" password="qceffknarlurqgbl" server="http://mms/" proxy="sbwapproxy.softbank.ne.jp" port="8080" mmsc="http://mms/" mmsproxy="sbmmsproxy.softbank.ne.jp" mmsport="8080" authtype="3" />
-  <apn carrier="au LTE NET" mcc="440" mnc="50" apn="uno.au-net.ne.jp" user="685840734641020@uno.au-net.ne.jp" password="KpyrR6BP" authtype="2" type="default,mms,supl,hipri" state="readonly" protocol="IPV4V6" roaming_protocol="IP" />
-  <apn carrier="au LTE NET for DATA" mcc="440" mnc="50" apn="au.au-net.ne.jp" user="user@au.au-net.ne.jp" password="au" authtype="2" type="default,mms,supl,hipri" state="readonly" protocol="IPV4V6" roaming_protocol="IP" />
+  <apn carrier="SoftBank 3G Open" mcc="440" mnc="20" apn="open.softbank.ne.jp" user="opensoftbank" password="ebMNuX1FIHg9d3DA" mmsc="http://mms/" mmsproxy="mmsopen.softbank.ne.jp" mmsport="8080" type="default,supl,mms" />
+  <apn carrier="SoftBank 3G Desire" mcc="440" mnc="20" apn="open.softbank.ne.jp" user="softbankX06HT" password="KfNSDrQQs2AtFQ9M" mmsc="http://mms/" mmsproxy="andmms.softbank.ne.jp" mmsport="8080" type="default,supl,mms" />
+  <apn carrier="SoftBank 3G Smile World" mcc="440" mnc="20" apn="smile.world" user="dna1trop" password="so2t3k3m2a" mmsc="http://mms/" mmsproxy="smilemms.softbank.ne.jp" mmsport="8080" type="default,supl,mms" />
+  <apn carrier="SoftBank 3G Andglobal" mcc="440" mnc="20" apn="andglobal.softbank.ne.jp" user="andg001softbank" password="pumbbghkpgyysxa" mmsc="http://mms/" mmsproxy="andmms.softbank.ne.jp" mmsport="8080" type="default,mms" />
+  <apn carrier="SoftBank 3G Pay for Use" mcc="440" mnc="20" apn="softbank" user="ai@softbank" password="softbank" type="default,supl" />
   <apn carrier="SKT3G" mcc="450" mnc="05" apn="web.sktelecom.com" mmsc="http://omms.nate.com:9082/oma_mms" mmsproxy="smart.nate.com" mmsport="9093" type="default,supl,mms" />
   <apn carrier="SK Telecom (Roaming)" mcc="450" mnc="05" apn="roaming.sktelecom.com" server="*" mmsc="vmms.nate.com" mmsport="8082" type="default,supl,mms" />
   <apn carrier="SKT LTE" mcc="450" mnc="05" apn="lte.sktelecom.com" mmsc="http//omms.nate.com:9082/oma_mms" mmsproxy="smart.nate.com" mmsport="9093" type="defaul,supl,mms" />
