diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc005/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc005/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc005/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc012/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc012/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc012/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc030/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc030/config.xml
new file mode 100644
index 0000000..4ace0e9
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc030/config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- AT&T -->
+    <string-array translatable="false" name="config_tether_usb_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_wifi_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_bluetooth_regexs">
+    </string-array>
+
+    <integer-array translatable="false" name="config_tether_upstream_types">
+    </integer-array>
+
+    <!-- Set to true if we need to not prefer an APN.
+         This is being added to enable a simple scenario of pre-paid
+         provisioning on some carriers, working around a bug (7305641)
+         where if the preferred is used we don't try the others. -->
+    <bool name="config_dontPreferApn">true</bool>
+
+    <string name="mobile_provisioning_apn">lwaactivate</string>
+
+    <string name="mobile_provisioning_url">
+        https://buyasession.att.com/sbd/unauth/InitiateSBD.action?ICCID=%1$s&amp;IMEI=%2$s&amp;version=3.0
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc070/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc070/config.xml
new file mode 100644
index 0000000..4ace0e9
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc070/config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- AT&T -->
+    <string-array translatable="false" name="config_tether_usb_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_wifi_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_bluetooth_regexs">
+    </string-array>
+
+    <integer-array translatable="false" name="config_tether_upstream_types">
+    </integer-array>
+
+    <!-- Set to true if we need to not prefer an APN.
+         This is being added to enable a simple scenario of pre-paid
+         provisioning on some carriers, working around a bug (7305641)
+         where if the preferred is used we don't try the others. -->
+    <bool name="config_dontPreferApn">true</bool>
+
+    <string name="mobile_provisioning_apn">lwaactivate</string>
+
+    <string name="mobile_provisioning_url">
+        https://buyasession.att.com/sbd/unauth/InitiateSBD.action?ICCID=%1$s&amp;IMEI=%2$s&amp;version=3.0
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc150/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc150/config.xml
new file mode 100644
index 0000000..4ace0e9
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc150/config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- AT&T -->
+    <string-array translatable="false" name="config_tether_usb_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_wifi_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_bluetooth_regexs">
+    </string-array>
+
+    <integer-array translatable="false" name="config_tether_upstream_types">
+    </integer-array>
+
+    <!-- Set to true if we need to not prefer an APN.
+         This is being added to enable a simple scenario of pre-paid
+         provisioning on some carriers, working around a bug (7305641)
+         where if the preferred is used we don't try the others. -->
+    <bool name="config_dontPreferApn">true</bool>
+
+    <string name="mobile_provisioning_apn">lwaactivate</string>
+
+    <string name="mobile_provisioning_url">
+        https://buyasession.att.com/sbd/unauth/InitiateSBD.action?ICCID=%1$s&amp;IMEI=%2$s&amp;version=3.0
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc170/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc170/config.xml
new file mode 100644
index 0000000..4ace0e9
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc170/config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- AT&T -->
+    <string-array translatable="false" name="config_tether_usb_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_wifi_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_bluetooth_regexs">
+    </string-array>
+
+    <integer-array translatable="false" name="config_tether_upstream_types">
+    </integer-array>
+
+    <!-- Set to true if we need to not prefer an APN.
+         This is being added to enable a simple scenario of pre-paid
+         provisioning on some carriers, working around a bug (7305641)
+         where if the preferred is used we don't try the others. -->
+    <bool name="config_dontPreferApn">true</bool>
+
+    <string name="mobile_provisioning_apn">lwaactivate</string>
+
+    <string name="mobile_provisioning_url">
+        https://buyasession.att.com/sbd/unauth/InitiateSBD.action?ICCID=%1$s&amp;IMEI=%2$s&amp;version=3.0
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc280/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc280/config.xml
new file mode 100644
index 0000000..4ace0e9
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc280/config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- AT&T -->
+    <string-array translatable="false" name="config_tether_usb_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_wifi_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_bluetooth_regexs">
+    </string-array>
+
+    <integer-array translatable="false" name="config_tether_upstream_types">
+    </integer-array>
+
+    <!-- Set to true if we need to not prefer an APN.
+         This is being added to enable a simple scenario of pre-paid
+         provisioning on some carriers, working around a bug (7305641)
+         where if the preferred is used we don't try the others. -->
+    <bool name="config_dontPreferApn">true</bool>
+
+    <string name="mobile_provisioning_apn">lwaactivate</string>
+
+    <string name="mobile_provisioning_url">
+        https://buyasession.att.com/sbd/unauth/InitiateSBD.action?ICCID=%1$s&amp;IMEI=%2$s&amp;version=3.0
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc380/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc380/config.xml
new file mode 100644
index 0000000..4ace0e9
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc380/config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- AT&T -->
+    <string-array translatable="false" name="config_tether_usb_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_wifi_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_bluetooth_regexs">
+    </string-array>
+
+    <integer-array translatable="false" name="config_tether_upstream_types">
+    </integer-array>
+
+    <!-- Set to true if we need to not prefer an APN.
+         This is being added to enable a simple scenario of pre-paid
+         provisioning on some carriers, working around a bug (7305641)
+         where if the preferred is used we don't try the others. -->
+    <bool name="config_dontPreferApn">true</bool>
+
+    <string name="mobile_provisioning_apn">lwaactivate</string>
+
+    <string name="mobile_provisioning_url">
+        https://buyasession.att.com/sbd/unauth/InitiateSBD.action?ICCID=%1$s&amp;IMEI=%2$s&amp;version=3.0
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml
new file mode 100644
index 0000000..4ace0e9
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- AT&T -->
+    <string-array translatable="false" name="config_tether_usb_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_wifi_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_bluetooth_regexs">
+    </string-array>
+
+    <integer-array translatable="false" name="config_tether_upstream_types">
+    </integer-array>
+
+    <!-- Set to true if we need to not prefer an APN.
+         This is being added to enable a simple scenario of pre-paid
+         provisioning on some carriers, working around a bug (7305641)
+         where if the preferred is used we don't try the others. -->
+    <bool name="config_dontPreferApn">true</bool>
+
+    <string name="mobile_provisioning_apn">lwaactivate</string>
+
+    <string name="mobile_provisioning_url">
+        https://buyasession.att.com/sbd/unauth/InitiateSBD.action?ICCID=%1$s&amp;IMEI=%2$s&amp;version=3.0
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc560/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc560/config.xml
new file mode 100644
index 0000000..4ace0e9
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc560/config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- AT&T -->
+    <string-array translatable="false" name="config_tether_usb_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_wifi_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_bluetooth_regexs">
+    </string-array>
+
+    <integer-array translatable="false" name="config_tether_upstream_types">
+    </integer-array>
+
+    <!-- Set to true if we need to not prefer an APN.
+         This is being added to enable a simple scenario of pre-paid
+         provisioning on some carriers, working around a bug (7305641)
+         where if the preferred is used we don't try the others. -->
+    <bool name="config_dontPreferApn">true</bool>
+
+    <string name="mobile_provisioning_apn">lwaactivate</string>
+
+    <string name="mobile_provisioning_url">
+        https://buyasession.att.com/sbd/unauth/InitiateSBD.action?ICCID=%1$s&amp;IMEI=%2$s&amp;version=3.0
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc680/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc680/config.xml
new file mode 100644
index 0000000..4ace0e9
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc680/config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- AT&T -->
+    <string-array translatable="false" name="config_tether_usb_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_wifi_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_bluetooth_regexs">
+    </string-array>
+
+    <integer-array translatable="false" name="config_tether_upstream_types">
+    </integer-array>
+
+    <!-- Set to true if we need to not prefer an APN.
+         This is being added to enable a simple scenario of pre-paid
+         provisioning on some carriers, working around a bug (7305641)
+         where if the preferred is used we don't try the others. -->
+    <bool name="config_dontPreferApn">true</bool>
+
+    <string name="mobile_provisioning_apn">lwaactivate</string>
+
+    <string name="mobile_provisioning_url">
+        https://buyasession.att.com/sbd/unauth/InitiateSBD.action?ICCID=%1$s&amp;IMEI=%2$s&amp;version=3.0
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc980/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc980/config.xml
new file mode 100644
index 0000000..4ace0e9
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc980/config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- AT&T -->
+    <string-array translatable="false" name="config_tether_usb_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_wifi_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_bluetooth_regexs">
+    </string-array>
+
+    <integer-array translatable="false" name="config_tether_upstream_types">
+    </integer-array>
+
+    <!-- Set to true if we need to not prefer an APN.
+         This is being added to enable a simple scenario of pre-paid
+         provisioning on some carriers, working around a bug (7305641)
+         where if the preferred is used we don't try the others. -->
+    <bool name="config_dontPreferApn">true</bool>
+
+    <string name="mobile_provisioning_apn">lwaactivate</string>
+
+    <string name="mobile_provisioning_url">
+        https://buyasession.att.com/sbd/unauth/InitiateSBD.action?ICCID=%1$s&amp;IMEI=%2$s&amp;version=3.0
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc990/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc990/config.xml
new file mode 100644
index 0000000..4ace0e9
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc990/config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- AT&T -->
+    <string-array translatable="false" name="config_tether_usb_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_wifi_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_bluetooth_regexs">
+    </string-array>
+
+    <integer-array translatable="false" name="config_tether_upstream_types">
+    </integer-array>
+
+    <!-- Set to true if we need to not prefer an APN.
+         This is being added to enable a simple scenario of pre-paid
+         provisioning on some carriers, working around a bug (7305641)
+         where if the preferred is used we don't try the others. -->
+    <bool name="config_dontPreferApn">true</bool>
+
+    <string name="mobile_provisioning_apn">lwaactivate</string>
+
+    <string name="mobile_provisioning_url">
+        https://buyasession.att.com/sbd/unauth/InitiateSBD.action?ICCID=%1$s&amp;IMEI=%2$s&amp;version=3.0
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc180/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc180/config.xml
new file mode 100644
index 0000000..4ace0e9
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc180/config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- AT&T -->
+    <string-array translatable="false" name="config_tether_usb_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_wifi_regexs">
+    </string-array>
+
+    <string-array translatable="false" name="config_tether_bluetooth_regexs">
+    </string-array>
+
+    <integer-array translatable="false" name="config_tether_upstream_types">
+    </integer-array>
+
+    <!-- Set to true if we need to not prefer an APN.
+         This is being added to enable a simple scenario of pre-paid
+         provisioning on some carriers, working around a bug (7305641)
+         where if the preferred is used we don't try the others. -->
+    <bool name="config_dontPreferApn">true</bool>
+
+    <string name="mobile_provisioning_apn">lwaactivate</string>
+
+    <string name="mobile_provisioning_url">
+        https://buyasession.att.com/sbd/unauth/InitiateSBD.action?ICCID=%1$s&amp;IMEI=%2$s&amp;version=3.0
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc481/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc481/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc481/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc482/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc482/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc482/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc483/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc483/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc483/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc484/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc484/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc484/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc485/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc485/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc485/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc486/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc486/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc486/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc487/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc487/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc487/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc488/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc488/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc488/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values-mcc311-mnc489/config.xml b/overlay/frameworks/base/core/res/res/values-mcc311-mnc489/config.xml
new file mode 100644
index 0000000..145fc53
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values-mcc311-mnc489/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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>
+    <!-- Verizon -->
+
+    <string name="mobile_provisioning_url">
+     http://quickaccess.verizonwireless.com/bbportal/oem/start.do?mdn=%3$s&amp;oem=NEXT&amp;iccid=%1$s&amp;imei=%2$s
+    </string>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc310-mnc004/config.xml b/overlay/packages/apps/Phone/res/values-mcc310-mnc004/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc310-mnc004/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc310-mnc005/config.xml b/overlay/packages/apps/Phone/res/values-mcc310-mnc005/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc310-mnc005/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc310-mnc012/config.xml b/overlay/packages/apps/Phone/res/values-mcc310-mnc012/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc310-mnc012/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc311-mnc480/config.xml b/overlay/packages/apps/Phone/res/values-mcc311-mnc480/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc311-mnc480/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc311-mnc481/config.xml b/overlay/packages/apps/Phone/res/values-mcc311-mnc481/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc311-mnc481/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc311-mnc482/config.xml b/overlay/packages/apps/Phone/res/values-mcc311-mnc482/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc311-mnc482/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc311-mnc483/config.xml b/overlay/packages/apps/Phone/res/values-mcc311-mnc483/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc311-mnc483/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc311-mnc484/config.xml b/overlay/packages/apps/Phone/res/values-mcc311-mnc484/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc311-mnc484/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc311-mnc485/config.xml b/overlay/packages/apps/Phone/res/values-mcc311-mnc485/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc311-mnc485/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc311-mnc486/config.xml b/overlay/packages/apps/Phone/res/values-mcc311-mnc486/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc311-mnc486/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc311-mnc487/config.xml b/overlay/packages/apps/Phone/res/values-mcc311-mnc487/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc311-mnc487/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc311-mnc488/config.xml b/overlay/packages/apps/Phone/res/values-mcc311-mnc488/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc311-mnc488/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
diff --git a/overlay/packages/apps/Phone/res/values-mcc311-mnc489/config.xml b/overlay/packages/apps/Phone/res/values-mcc311-mnc489/config.xml
new file mode 100644
index 0000000..0804545
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values-mcc311-mnc489/config.xml
@@ -0,0 +1,26 @@
+<?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>
+    <!-- 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>
+    <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <bool name="config_prefer_2g" translatable="false">false</bool>
+</resources>
