diff --git a/overlay/frameworks/base/core/res/res/values-mcc204-mnc08/config.xml b/overlay/frameworks/base/core/res/res/values-mcc204-mnc08/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc204-mnc08/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc206-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc206-mnc01/config.xml
index 2cdfb61..732ac3c 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc206-mnc01/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc206-mnc01/config.xml
@@ -34,25 +34,4 @@
         <item>INTERMEDIATE_POS=0</item>
         <item>SUPL_ES=0</item>
     </string-array>
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
 </resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc206-mnc05/config.xml b/overlay/frameworks/base/core/res/res/values-mcc206-mnc05/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc206-mnc05/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc222-mnc99/config.xml b/overlay/frameworks/base/core/res/res/values-mcc222-mnc99/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc222-mnc99/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc228-mnc02/config.xml b/overlay/frameworks/base/core/res/res/values-mcc228-mnc02/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc228-mnc02/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc232-mnc05/config.xml b/overlay/frameworks/base/core/res/res/values-mcc232-mnc05/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc232-mnc05/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc232-mnc10/config.xml b/overlay/frameworks/base/core/res/res/values-mcc232-mnc10/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc232-mnc10/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc238-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc238-mnc01/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc238-mnc01/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc238-mnc06/config.xml b/overlay/frameworks/base/core/res/res/values-mcc238-mnc06/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc238-mnc06/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc238-mnc20/config.xml b/overlay/frameworks/base/core/res/res/values-mcc238-mnc20/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc238-mnc20/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc240-mnc02/config.xml b/overlay/frameworks/base/core/res/res/values-mcc240-mnc02/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc240-mnc02/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc240-mnc07/config.xml b/overlay/frameworks/base/core/res/res/values-mcc240-mnc07/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc240-mnc07/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc242-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc242-mnc01/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc242-mnc01/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc262-mnc07/config.xml b/overlay/frameworks/base/core/res/res/values-mcc262-mnc07/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc262-mnc07/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc272-mnc01/config.xml b/overlay/frameworks/base/core/res/res/values-mcc272-mnc01/config.xml
index 2cdfb61..732ac3c 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc272-mnc01/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc272-mnc01/config.xml
@@ -34,25 +34,4 @@
         <item>INTERMEDIATE_POS=0</item>
         <item>SUPL_ES=0</item>
     </string-array>
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
 </resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc440-mnc10/config.xml b/overlay/frameworks/base/core/res/res/values-mcc440-mnc10/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc440-mnc10/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc440-mnc20/config.xml b/overlay/frameworks/base/core/res/res/values-mcc440-mnc20/config.xml
index d86253d..65f8453 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc440-mnc20/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc440-mnc20/config.xml
@@ -29,26 +29,6 @@
     <string translatable= "false" name= "config_mobile_hotspot_provision_response">com.huawei.entitlement.SILENT_ENTITLEMENT_CHECK_RESULT</string >
     <!-- Config SoftAP 2G channel list -->
     <string  translatable="false" name="config_wifi_framework_sap_2G_channel_list">1,6</string>
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
     <!-- Values for GPS configuration for SBM-->
     <string-array translatable="false" name="config_gpsParameters">
         <item>SUPL_HOST=supl.google.com</item>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc505-mnc02/config.xml b/overlay/frameworks/base/core/res/res/values-mcc505-mnc02/config.xml
deleted file mode 100755
index 663093b..0000000
--- a/overlay/frameworks/base/core/res/res/values-mcc505-mnc02/config.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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">
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
-</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc505-mnc03/config.xml b/overlay/frameworks/base/core/res/res/values-mcc505-mnc03/config.xml
index 8f6f83a..9858dff 100755
--- a/overlay/frameworks/base/core/res/res/values-mcc505-mnc03/config.xml
+++ b/overlay/frameworks/base/core/res/res/values-mcc505-mnc03/config.xml
@@ -34,27 +34,6 @@
         <item>INTERMEDIATE_POS=0</item>
         <item>SUPL_ES=0</item>
     </string-array>
-    <!-- The list of ril radio technologies (see ServiceState.java) which only support
-         a single data connection at one time.  This may change by carrier via
-         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
-         tech types support unlimited types (practically only 2-4 used). -->
-    <integer-array name="config_onlySingleDcAllowed">
-        <item>1</item>  <!-- GPRS -->
-        <item>2</item>  <!-- EDGE -->
-        <item>3</item>  <!-- UMTS -->
-        <item>4</item>  <!-- IS95A -->
-        <item>5</item>  <!-- IS95B -->
-        <item>6</item>  <!-- 1xRTT -->
-        <item>7</item>  <!-- EVDO_0 -->
-        <item>8</item>  <!-- EVDO_A -->
-        <item>9</item>  <!-- HSDPA -->
-        <item>10</item> <!-- HSUPA -->
-        <item>11</item> <!-- HSPA -->
-        <item>12</item> <!-- EVDO_B -->
-        <item>13</item> <!-- EHRPD -->
-        <item>14</item> <!-- LTE -->
-        <item>15</item> <!-- HSPAP -->
-    </integer-array>
     <!-- Don't use roaming icon for considered operators -->
     <string-array translatable="false" name="config_operatorConsideredNonRoaming">
         <item>505</item>
diff --git a/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml
index a37538a..7e93c7c 100755
--- a/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml
+++ b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml
@@ -27,14 +27,80 @@
 
     <carrier_config mcc="204" mnc="08">
         <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="204" mnc="16">
         <int name="smsToMmsTextThreshold" value="3" />
     </carrier_config>
 
+    <carrier_config mcc="206" mnc="01">
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
+    </carrier_config>
+
     <carrier_config mcc="206" mnc="05">
         <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="208" mnc="01">
@@ -62,12 +128,57 @@
         <boolean name="carrier_volte_available_bool" value="false" />
     </carrier_config>
 
+    <carrier_config mcc="222" mnc="99">
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
+    </carrier_config>
+
     <carrier_config mcc="228" mnc="01">
         <int name="smsToMmsTextThreshold" value="11" />
     </carrier_config>
 
     <carrier_config mcc="228" mnc="02">
         <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="230" mnc="01">
@@ -85,10 +196,52 @@
 
     <carrier_config mcc="232" mnc="05">
         <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="232" mnc="10">
         <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="234" mnc="15">
@@ -144,12 +297,79 @@
         <int name="smsToMmsTextThreshold" value="11" />
     </carrier_config>
 
+    <carrier_config mcc="238" mnc="01">
+        <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
+    </carrier_config>
+
     <carrier_config mcc="238" mnc="06">
         <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="238" mnc="20">
         <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="240" mnc="01">
@@ -159,15 +379,78 @@
 
     <carrier_config mcc="240" mnc="02">
         <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="240" mnc="07">
         <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="242" mnc="01">
         <int name="maxMessageSize" value="307200" />
         <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="244" mnc="05">
@@ -266,6 +549,27 @@
 
     <carrier_config mcc="262" mnc="07">
         <int name="smsToMmsTextThreshold" value="4" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="268" mnc="01">
@@ -285,6 +589,27 @@
 
     <carrier_config mcc="272" mnc="01">
         <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="272" mnc="02">
@@ -508,11 +833,53 @@
 
     <carrier_config mcc="440" mnc="10">
         <boolean name="carrier_volte_available_bool" value="false" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="440" mnc="20">
         <int name="ims_dtmf_tone_delay_int" value="300" />
         <int name="gsm_dtmf_tone_delay_int" value="300" />
+        <int name="smsToMmsTextThreshold" value="5" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="14">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="450" mnc="05">
@@ -523,8 +890,53 @@
         <int name="maxMessageSize" value="614400" />
     </carrier_config>
 
+    <carrier_config mcc="505" mnc="02">
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
+    </carrier_config>
+
     <carrier_config mcc="505" mnc="03">
         <int name="smsToMmsTextThreshold" value="3" />
+        <!-- The list of ril radio technologies (see ServiceState.java) which only support
+             a single data connection at one time.  This may change by carrier via
+             overlays (some don't support multiple pdp on UMTS).  All unlisted radio
+             tech types support unlimited types (practically only 2-4 used). -->
+        <int-array name="only_single_dc_allowed_int_array" num="15">
+            <item value="1" />  <!-- GPRS -->
+            <item value="2" />  <!-- EDGE -->
+            <item value="3" />  <!-- UMTS -->
+            <item value="4" />  <!-- IS95A -->
+            <item value="5" />  <!-- IS95B -->
+            <item value="6" />  <!-- 1xRTT -->
+            <item value="7" />  <!-- EVDO_0 -->
+            <item value="8" />  <!-- EVDO_A -->
+            <item value="9" />  <!-- HSDPA -->
+            <item value="10" /> <!-- HSUPA -->
+            <item value="11" /> <!-- HSPA -->
+            <item value="12" /> <!-- EVDO_B -->
+            <item value="13" /> <!-- EHRPD -->
+            <item value="14" /> <!-- LTE -->
+            <item value="15" /> <!-- HSPAP -->
+        </int-array>
     </carrier_config>
 
     <carrier_config mcc="655" mnc="01">
