diff --git a/res/layout/sim_ndp.xml b/res/layout/sim_ndp.xml
index 5e98cff..5e3c472 100644
--- a/res/layout/sim_ndp.xml
+++ b/res/layout/sim_ndp.xml
@@ -51,7 +51,7 @@
                 android:paddingEnd="20dip" />
 
         <!-- Dismiss button.  (Not present in some products; see
-             sim_network_unlock_allow_dismiss in config.xml.) -->
+             CarrierConfigManager#KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL) -->
         <Button android:id="@+id/ndp_dismiss"
                 android:layout_gravity="center_horizontal"
                 android:text="@string/sim_ndp_dismiss_text"
diff --git a/res/values-mcc001-mnc01/config.xml b/res/values-mcc001-mnc01/config.xml
deleted file mode 100644
index 3e6a69b..0000000
--- a/res/values-mcc001-mnc01/config.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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>
-    <!-- Show APN Settings for some CDMA carriers -->
-    <bool name="config_show_apn_setting_cdma">true</bool>
-</resources>
diff --git a/res/values-mcc001-mnc010/config.xml b/res/values-mcc001-mnc010/config.xml
deleted file mode 100644
index 3e6a69b..0000000
--- a/res/values-mcc001-mnc010/config.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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>
-    <!-- Show APN Settings for some CDMA carriers -->
-    <bool name="config_show_apn_setting_cdma">true</bool>
-</resources>
diff --git a/res/values-mcc234-mnc02/config.xml b/res/values-mcc234-mnc02/config.xml
deleted file mode 100644
index 7eccfdc..0000000
--- a/res/values-mcc234-mnc02/config.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Telephony service 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 services/Telephony/res/values/config.xml
-         and maybe overridden in operator specific resource directories
-         or device specific overlays. -->
-    <bool name="config_prefer_2g" translatable="false">false</bool>
-</resources>
diff --git a/res/values-mcc234-mnc10/config.xml b/res/values-mcc234-mnc10/config.xml
deleted file mode 100644
index 7eccfdc..0000000
--- a/res/values-mcc234-mnc10/config.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Telephony service 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 services/Telephony/res/values/config.xml
-         and maybe overridden in operator specific resource directories
-         or device specific overlays. -->
-    <bool name="config_prefer_2g" translatable="false">false</bool>
-</resources>
diff --git a/res/values-mcc234-mnc11/config.xml b/res/values-mcc234-mnc11/config.xml
deleted file mode 100644
index 7eccfdc..0000000
--- a/res/values-mcc234-mnc11/config.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Telephony service 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 services/Telephony/res/values/config.xml
-         and maybe overridden in operator specific resource directories
-         or device specific overlays. -->
-    <bool name="config_prefer_2g" translatable="false">false</bool>
-</resources>
diff --git a/res/values-mcc246-mnc081/config.xml b/res/values-mcc246-mnc081/config.xml
deleted file mode 100644
index 3e6a69b..0000000
--- a/res/values-mcc246-mnc081/config.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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>
-    <!-- Show APN Settings for some CDMA carriers -->
-    <bool name="config_show_apn_setting_cdma">true</bool>
-</resources>
diff --git a/res/values-mcc310-mnc004/config.xml b/res/values-mcc310-mnc004/config.xml
deleted file mode 100755
index 198e65f..0000000
--- a/res/values-mcc310-mnc004/config.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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>
-    <!-- Flag indicating if dtmf tone type is enabled -->
-    <bool name="support_swap_after_merge" translatable="false">false</bool>
-    <!-- Determine whether the voicemail notification is persistent in the notification bar.
-         If true, the voicemail notifications cannot be dismissed from the notification bar. -->
-    <bool name="voicemail_notification_persistent">true</bool>
-</resources>
diff --git a/res/values-mcc310-mnc028/config.xml b/res/values-mcc310-mnc028/config.xml
deleted file mode 100644
index 3e6a69b..0000000
--- a/res/values-mcc310-mnc028/config.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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>
-    <!-- Show APN Settings for some CDMA carriers -->
-    <bool name="config_show_apn_setting_cdma">true</bool>
-</resources>
diff --git a/res/values-mcc310-mnc120/config.xml b/res/values-mcc310-mnc120/config.xml
deleted file mode 100644
index 93a8079..0000000
--- a/res/values-mcc310-mnc120/config.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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>
-    <!-- Flag indicating if dtmf tone type is enabled -->
-    <bool name="dtmf_type_enabled">true</bool>
-    <!-- Determine whether the voicemail notification is persistent in the notification bar.
-         If true, the voicemail notifications cannot be dismissed from the notification bar. -->
-    <bool name="voicemail_notification_persistent">true</bool>
-</resources>
diff --git a/res/values-mcc310-mnc410/config.xml b/res/values-mcc310-mnc410/config.xml
deleted file mode 100644
index 7dd16b1..0000000
--- a/res/values-mcc310-mnc410/config.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 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>
-</resources>
diff --git a/res/values-mcc311-mnc220/config.xml b/res/values-mcc311-mnc220/config.xml
deleted file mode 100644
index 22701f0..0000000
--- a/res/values-mcc311-mnc220/config.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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>
-    <!-- Flag indicating if dtmf tone type is enabled -->
-    <bool name="dtmf_type_enabled">true</bool>
-    <!-- CDMA activation goes through OTASP. -->
-    <bool name="config_use_otasp_for_provisioning">true</bool>
-</resources>
diff --git a/res/values-mcc311-mnc390/config.xml b/res/values-mcc311-mnc390/config.xml
deleted file mode 100644
index 4656904..0000000
--- a/res/values-mcc311-mnc390/config.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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>
-    <!-- Show APN Settings for some CDMA carriers -->
-    <bool name="config_show_apn_setting_cdma">true</bool>
-    <!-- Flag indicating if dtmf tone type is enabled -->
-    <bool name="dtmf_type_enabled">true</bool>
-</resources>
diff --git a/res/values-mcc311-mnc480/config.xml b/res/values-mcc311-mnc480/config.xml
deleted file mode 100755
index 5cae0bc..0000000
--- a/res/values-mcc311-mnc480/config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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>
-    <!-- Flag indicating if dtmf tone type is enabled -->
-    <bool name="dtmf_type_enabled">true</bool>
-    <bool name="support_swap_after_merge" translatable="false">false</bool>
-    <!-- Determine whether the voicemail notification is persistent in the notification bar.
-         If true, the voicemail notifications cannot be dismissed from the notification bar. -->
-    <bool name="voicemail_notification_persistent">true</bool>
-</resources>
diff --git a/res/values-mcc311-mnc490/config.xml b/res/values-mcc311-mnc490/config.xml
deleted file mode 100644
index 93a8079..0000000
--- a/res/values-mcc311-mnc490/config.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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>
-    <!-- Flag indicating if dtmf tone type is enabled -->
-    <bool name="dtmf_type_enabled">true</bool>
-    <!-- Determine whether the voicemail notification is persistent in the notification bar.
-         If true, the voicemail notifications cannot be dismissed from the notification bar. -->
-    <bool name="voicemail_notification_persistent">true</bool>
-</resources>
diff --git a/res/values-mcc311-mnc580/config.xml b/res/values-mcc311-mnc580/config.xml
deleted file mode 100644
index 22701f0..0000000
--- a/res/values-mcc311-mnc580/config.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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>
-    <!-- Flag indicating if dtmf tone type is enabled -->
-    <bool name="dtmf_type_enabled">true</bool>
-    <!-- CDMA activation goes through OTASP. -->
-    <bool name="config_use_otasp_for_provisioning">true</bool>
-</resources>
diff --git a/res/values/config.xml b/res/values/config.xml
index 3df92f8..c0e808d 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -14,6 +14,11 @@
      limitations under the License.
 -->
 
+<!-- NOTE: Many variables that used to be in this file have been migrated to
+     CarrierConfigManager.java. Please consider whether new variables belong
+     there before adding to this file. Variables here should be more closely
+     related to devices than to networks. -->
+
 <!-- Phone app resources that may need to be customized
      for different hardware or product builds. -->
 <resources>
@@ -21,6 +26,7 @@
          EVENT_SIM_NETWORK_LOCKED events from the Sim.  If true, this will
          prevent the IccNetworkDepersonalizationPanel from being shown,
          and effectively disable the "Sim network lock" feature. -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_IGNORE_SIM_NETWORK_LOCKED_EVENTS_BOOL -->
     <bool name="ignore_sim_network_locked_events">false</bool>
 
     <!-- Flag indicating whether the Phone app should provide
@@ -31,6 +37,7 @@
          (One important consequence: there will be no way to make an
          Emergency Call if your SIM is network-locked and you don't know
          the PIN.) -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL -->
     <bool name="sim_network_unlock_allow_dismiss">true</bool>
 
     <!-- OTA configuration values, used when provisioning CDMA devices.
@@ -51,6 +58,7 @@
     <integer name="OtaPlaySuccessFailureTone">0</integer>
 
     <!-- Flag indicating if the phone is a world phone -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_WORLD_PHONE_BOOL -->
     <bool name="world_phone">false</bool>
 
     <!-- If true, enable vibration (haptic feedback) for key presses
@@ -59,25 +67,30 @@
          consistent with the regular Dialer, this value should agree
          with the corresponding values from config.xml under
          apps/Contacts. -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL -->
     <bool name="config_enable_dialer_key_vibration">true</bool>
 
     <!-- Flag indicating if hac is enabled -->
     <bool name="hac_enabled">false</bool>
 
     <!-- Flag indicating if dtmf tone type is enabled -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_DTMF_TYPE_ENABLED_BOOL -->
     <bool name="dtmf_type_enabled">false</bool>
 
     <!-- Flag indicating if auto retry is enabled -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_AUTO_RETRY_ENABLED_BOOL -->
     <bool name="auto_retry_enabled">false</bool>
 
     <!-- Determine whether we want to play local DTMF tones in a call, or
          just let the radio/BP handle playing of the tones. -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_ALLOW_LOCAL_DTMF_TONES_BOOL -->
     <bool name="allow_local_dtmf_tones">true</bool>
 
     <!-- If true, show an onscreen "Dial" button in the dialer.
          In practice this is used on all platforms, even the ones with hard SEND/END
          keys, but for maximum flexibility it's controlled by a flag here
          (which can be overridden on a per-product basis.) -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL -->
     <bool name="config_show_onscreen_dial_button">true</bool>
 
     <!-- Determine whether calls to mute the microphone in PhoneUtils
@@ -86,6 +99,7 @@
     <bool name="send_mic_mute_to_AudioManager">false</bool>
 
     <!-- Determines if device implements a noise suppression device for in call audio-->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL -->
     <bool name="has_in_call_noise_suppression">false</bool>
 
     <!-- Determines if the current device should allow emergency numbers
@@ -99,26 +113,33 @@
          up the exact date/time of an emergency call.  So perhaps we
          *should* log those calls, but instead fix the call log to disable
          the "call" button for emergency numbers. -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL -->
     <bool name="allow_emergency_numbers_in_call_log">false</bool>
 
     <!-- If this is true, the SIM card (through Customer Service Profile EF file) will be
          able to prevent manual operator selection. If false, this SIM setting will be
          ignored and manual operator selection will always be available. See
          CPHS4_2.WW6, CPHS B.4.7.1 for more information -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_CSP_ENABLED_BOOL -->
     <bool name="csp_enabled">false</bool>
 
     <!-- If true, removes the Voice Privacy option from Call Settings -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_VOICE_PRIVACY_DISABLE_UI_BOOL -->
     <bool name="config_voice_privacy_disable">false</bool>
 
     <!-- Configure certain GsmUmtsOptions to be available or not. The
          default values are in Phone/res/values/config.xml and maybe overridden
          in operator specific resource directories or device specific overlays. -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_APN_EXPAND_BOOL -->
     <bool name="config_apn_expand" translatable="false">true</bool>
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_OPERATOR_SELECTION_EXPAND_BOOL -->
     <bool name="config_operator_selection_expand" translatable="false">true</bool>
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_PREFER_2G_BOOL -->
     <bool name="config_prefer_2g" translatable="false">true</bool>
     <!-- Show enabled lte option for lte device -->
     <bool name="config_enabled_lte" translatable="false">false</bool>
     <!-- Show cdma auto network mode in (glabal) roaming -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_SHOW_CDMA_CHOICES_BOOL -->
     <bool name="config_show_cdma" translatable="false">false</bool>
 
     <!-- Package name for the default in-call UI and dialer [DO NOT TRANSLATE] -->
@@ -128,23 +149,28 @@
     <string name="dialer_default_class" translatable="false">com.android.dialer.DialtactsActivity</string>
 
     <!-- CDMA activation goes through HFA -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_USE_HFA_FOR_PROVISIONING_BOOL -->
     <bool name="config_use_hfa_for_provisioning">false</bool>
 
     <!-- CDMA activation goes through OTASP.
         TODO: This should be combined with config_use_hfa_for_provisioning and implemented
         as an enum (NONE, HFA, OTASP). -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_USE_OTASP_FOR_PROVISIONING_BOOL -->
     <bool name="config_use_otasp_for_provisioning">false</bool>
 
     <!-- Display carrier settings menu if true -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_CARRIER_SETTINGS_ENABLE_BOOL -->
     <bool name="config_carrier_settings_enable">false</bool>
     <!-- carrier settings menu -->
     <string name="carrier_settings" translatable="false"></string>
     <string name="carrier_settings_menu" translatable="false"></string>
 
     <!-- Does not display additional call seting for IMS phone based on GSM Phone -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_ADDITIONAL_CALL_SETTING_BOOL -->
     <bool name="config_additional_call_setting">true</bool>
 
     <!-- Show APN Settings for some CDMA carriers -->
+    <!-- DEPRECATED: Use CarrierConfigManager#KEY_SHOW_APN_SETTING_CDMA_BOOL -->
     <bool name="config_show_apn_setting_cdma">false</bool>
 
     <!-- Allows the telephony HFA logic to run even if we're not in setup wizard. -->
diff --git a/src/com/android/phone/IccNetworkDepersonalizationPanel.java b/src/com/android/phone/IccNetworkDepersonalizationPanel.java
index 34153c8..4831423 100644
--- a/src/com/android/phone/IccNetworkDepersonalizationPanel.java
+++ b/src/com/android/phone/IccNetworkDepersonalizationPanel.java
@@ -135,7 +135,7 @@
         mUnlockButton.setOnClickListener(mUnlockListener);
 
         // The "Dismiss" button is present in some (but not all) products,
-        // based on the "sim_network_unlock_allow_dismiss" resource.
+        // based on the "KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL" variable.
         mDismissButton = (Button) findViewById(R.id.ndp_dismiss);
         PersistableBundle carrierConfig = PhoneGlobals.getInstance().getCarrierConfig();
         if (carrierConfig.getBoolean(
