am 4a9c10ca: am 9ae4c3d3: am f4f12292: Don\'t update call card when new info is worse

* commit '4a9c10ca8b90cbd0d2a2c65bdf8056dddbe6d172':
  Don't update call card when new info is worse
diff --git a/Android.mk b/Android.mk
index e36adad..5ec0e54 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,22 +1,11 @@
 LOCAL_PATH:= $(call my-dir)
 
-# Static library with some common classes for the phone apps.
-# To use it add this line in your Android.mk
-#  LOCAL_STATIC_JAVA_LIBRARIES := com.android.phone.common
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
-	src/com/android/phone/CallLogAsync.java \
-	src/com/android/phone/HapticFeedback.java
-
-LOCAL_MODULE := com.android.phone.common
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
 # Build the Phone app which includes the emergency dialer. See Contacts
 # for the 'other' dialer.
 include $(CLEAR_VARS)
 
 LOCAL_JAVA_LIBRARIES := telephony-common
+LOCAL_STATIC_JAVA_LIBRARIES := com.android.phone.shared
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 LOCAL_SRC_FILES += \
         src/com/android/phone/EventLogTags.logtags \
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index b2d9733..36eed9c 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -407,15 +407,6 @@
             </intent-filter>
         </activity>
 
-        <!-- Data usage and throttling setting for ThrottleService in framework. -->
-        <activity android:name="DataUsage"
-                android:label="@string/throttle_data_usage"
-                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-            </intent-filter>
-        </activity>
-
         <!-- data roaming setting -->
         <activity android:name="RoamingSetting"
                 android:label="@string/roaming"
diff --git a/res/drawable-nodpi/background_dial_holo_dark.png b/res/drawable-nodpi/background_dial_holo_dark.png
deleted file mode 100644
index 3dba50c..0000000
--- a/res/drawable-nodpi/background_dial_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/background_dial_holo_dark.xml b/res/drawable/background_dial_holo_dark.xml
new file mode 100644
index 0000000..e06507f
--- /dev/null
+++ b/res/drawable/background_dial_holo_dark.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <gradient
+            android:startColor="#ff020709"
+            android:endColor="#ff0a242d"
+            android:angle="270" />
+</shape>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 5f5e09d..f5e9014 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -589,7 +589,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Ek bel jou nou-nou terug."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Ek bel jou later."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Kan nie nou praat nie. Bel my later?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Gepasmaakte boodskap"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Skryf jou eie..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Vinnige antwoorde"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Redigeer vinnige antwoorde"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 67420d6..e3604a5 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"ወዲያው መልሼ እደውላለሁ።"</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"ኋላ እደውላለሁ።"</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"አሁን ማውራት አልችልም። ትንሽ ቆይተው ይደውሉ?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"ብጁ መልዕክት"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"የእራስዎን ይጻፉ..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"ፈጣን ምላሾች"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"ፈጣን ምላሾች አርትዕ"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index a60869c..7acb7ad 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"سأعاود الاتصال بك."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"سأتصل بك لاحقًا."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"لا يمكنني التحدث الآن. اتصل بي لاحقًا."</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"رسالة مخصصة"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"اكتب ردك..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"الردود السريعة"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"تعديل الردود السريعة"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 26a8fb1..bf7049e 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Я ператэлефаную."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Я патэлефаную пазней."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Не магу размаўляць. Набяры пазней."</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Карыстальніцкае паведамленне"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Напiшыце сваё..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Хуткія адказы"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Рэдагаваць хуткія адказы"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index ccb0823..b094cef 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Ще ви се обадя веднага обратно."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Ще ви се обадя по-късно."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Сега не мога да говоря. По-късно?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Персонализирано съобщение"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Напишете свой собствен..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Бързи отговори"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Редактиране на бързи отговори"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 3efad33..a81cd5a 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Et truco de seguida."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Et truco més tard."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Ara no puc parlar. Truques després?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Personalitza el missatge"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Escriu la teva…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Respostes ràpides"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Edita les respostes ràpides"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 5a611a5..58e1c57 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Zavolám zpátky."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Zavolám později."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Nemůžu telefonovat, volejte jindy."</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Vlastní zpráva"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Napsat vlastní odpověď..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Rychlé odpovědi"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Upravit rychlé odpovědi"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index e5ad41d..95e4f88 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -591,7 +591,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Jeg ringer tilbage lige om lidt."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Jeg ringer til dig senere."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Kan ikke tale nu. Ringer du senere?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Tilpasset besked"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Skriv dit eget..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Hurtige svar"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Rediger hurtige svar"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 7f14f70..512e63f 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -589,7 +589,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Ich rufe gleich zurück."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Ich rufe später zurück."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Kann jetzt nicht sprechen. Später?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Benutzerdefinierte SMS"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Eigene Antwort schreiben..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Kurzantworten"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Kurzantworten bearbeiten"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 14cf537..ab78b9b 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Θα σου τηλεφωνήσω αμέσως."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Θα σου τηλεφωνήσω αργότερα."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Δεν μπορώ τώρα. Πάρε με αργότερα."</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Προσαρμοσμένο μήνυμα"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Συντάξτε τη δική σας…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Γρήγορες απαντήσεις"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Επεξεργασία γρήγορων απαντήσεων"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index f3e9256..ce5590c 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"I\'ll call you right back."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"I\'ll call you later."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Can\'t talk now. Call me later?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Customised message"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Write your own..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Quick responses"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Edit quick responses"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
@@ -622,6 +622,5 @@
     <string name="ringtone_title" msgid="6374978286202084684">"Phone ringtone"</string>
     <string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrate when ringing"</string>
     <string name="dtmf_tone_enable_title" msgid="827601042915852989">"Dial pad touch tones"</string>
-    <!-- no translation found for preference_category_ringtone (5197960752529332721) -->
-    <skip />
+    <string name="preference_category_ringtone" msgid="5197960752529332721">"Ringtone &amp; Vibrate"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 2e3827b..2ce20d8 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -352,7 +352,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Leyendo la tarjeta SIM..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"No hay contactos en tu tarjeta SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Seleccionar contactos para importar"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Para importar contactos de la tarjeta SIM, desactiva primero el modo de avión."</string>
+    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Para importar contactos de la tarjeta SIM, desactiva primero el modo avión."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Activar/desactivar PIN de tarjeta SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Cambiar PIN de tarjeta SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN de tarjeta SIM:"</string>
@@ -412,7 +412,7 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Colgar"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Devolver llamada"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensaje"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Para realizar una llamada, primero debes desactivar el modo de avión."</string>
+    <string name="incall_error_power_off" msgid="6550191216405193368">"Para realizar una llamada, primero debes desactivar el modo avión."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"No registrado en la red."</string>
     <string name="incall_error_out_of_service" msgid="8587993036435080418">"La red móvil no está disponible."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="4197432103471807739">"Llamada no enviada. No se ingresó un número válido."</string>
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Te llamo enseguida."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Te llamo más tarde."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"No puedo hablar ahora. ¿Me llamas más tarde?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Mensaje personalizado"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Escribe tu propia respuesta..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Respuestas rápidas"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Editar respuestas rápidas"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index be30b4d..79b07ce 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -589,7 +589,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Te llamo en cuanto pueda."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Te llamo más tarde."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"No puedo hablar. Llámame luego."</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Mensaje personalizado"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Escribe tu propia respuesta..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Respuestas rápidas"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Editar respuestas rápidas"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index eed3155..1eee464 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Helistan kohe tagasi."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Helistan sulle hiljem."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Ei saa rääkida. Helistad hiljem?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Kohandatud sõnum"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Kirjutage ise …"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Kiirvastused"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Kiirvastuste muutmine"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 23ed04b..bf1eaec 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"به زودی با شما تماس می‌گیرم."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"بعداً با شما تماس می‌گیرم."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"اکنون نمی‌توانم صحبت کنم. بعداً به من زنگ می‌زنید؟"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"پیام سفارشی"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"نوشتن پاسخ خود…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"پاسخ‌های سریع"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"ویرایش پاسخ‌های سریع"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 91a18a6..1057e17 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -589,7 +589,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Soitan sinulle heti takaisin."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Soitan sinulle myöhemmin."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"En voi puhua nyt. Soita myöhemmin?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Oma viesti"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Kirjoita oma…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Pikavastaukset"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Muokkaa pikavastausta"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 9ca44e4..95e35b5 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Je te rappelle tout de suite."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Je t\'appellerai plus tard."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Peux pas parler. On se rappelle ?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Message personnalisé"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Réponse personnalisée..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Réponses rapides"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Modifier les réponses rapides"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 21bd837..11b92ff 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"मैं आपको वापस कॉल करूंगा/करूंगी."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"मैं आपको बाद में कॉल करूंगा/करूंगी."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"अभी बात नहीं हो सकती. बाद में कॉल करें?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"कस्टम संदेश..."</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"अपना स्वयं का लिखें..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"त्वरित प्रतिसाद"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"त्वरित प्रतिसाद संपादित करें"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index e6d9ef1..3da756c 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Nazvat ću vas odmah."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Zvat ću vas kasnije."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Sada ne mogu razgovarati. Nazovite me kasnije?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Prilagođena poruka"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Napišite odgovor..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Brzi odgovori"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Uređivanje brzih odgovora"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index f94a7e5..d0e94ad 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Hamarosan visszahívom."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Később visszahívom."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Most nem alkalmas. Hívna később?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Egyéni üzenet"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Saját válasz írása..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Gyors válaszok"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Gyors válaszok szerkesztése"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index afe30f5..58e1612 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Saya segera telepon balik."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Nanti saya telepon balik."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Tak bisa bicara skrg. Tlp lg nanti?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Pesan khusus"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Tulis respons Anda sendiri…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Tanggapan cepat"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Edit tanggapan cepat"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9f464a4..07f0c12 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -589,7 +589,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Ti richiamo subito."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Ti chiamo dopo."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Non posso parlare ora. Mi chiami dopo?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Messaggio personalizzato"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Scrivi risposta personale..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Risposte rapide"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Modifica risposte rapide"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 0e430bb..22a38a4 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"אני מיד חוזר אליך."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"אני אתקשר אליך יותר מאוחר."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"אני לא יכול לדבר עכשיו. תתקשר אלי מאוחר יותר?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"הודעה מותאמת אישית"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"כתוב אחת משלך..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"תגובות מהירות"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"ערוך תגובות מהירות"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 657fc4f..14401be 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"すぐにかけ直します。"</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"後でかけ直します。"</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"今話せません。かけ直してください。"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"カスタムメッセージ"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"カスタム返信を作成..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"クイック返信"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"クイック返信の編集"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index dc0c7bc..3a21548 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"바로 다시 전화드리겠습니다."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"나중에 전화드리겠습니다."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"통화 불가. 나중에 전화주세요."</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"맞춤 메시지"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"나만의 응답 작성…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"빠른 응답"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"빠른 응답 수정"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 79978f0..c3dc9e2 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Netrukus perskambinsiu."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Paskambinsiu vėliau."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Dabar negaliu kalb. Pask. vėliau."</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Priskirtas pranešimas"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Sukurkite patys..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Greiti atsakai"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Redaguoti greitus atsakus"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 8a44063..3f1cb7e 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -587,7 +587,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Tūlīt atzvanīšu."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Piezvanīšu vēlāk."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Nevaru runāt. Vai piezvanīsi vēlāk?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Pielāgots ziņojums"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Rakstīt savu…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Ātrās atbildes"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Ātro atbilžu rediģēšana"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 1f6646b..976334e 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Saya akn segera hubungi awak nanti."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Saya akan hubungi awak kemudian."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Tdk blh berckp skg. Tel saya nanti?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Mesej peribadi"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Tulis sendiri…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Respons pantas"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Edit respons pantas"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index e574e75..f04a5f5 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -591,7 +591,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Jeg ringer deg straks tilbake."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Jeg ringer deg senere."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Ikke nå. Ringer du meg senere?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Egendefinert melding"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Skriv ditt eget"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Hurtigsvar"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Rediger hurtigsvar"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 71ebc81..353ba2e 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Ik bel je zo terug."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Ik bel je later."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Kan nu niet opnemen. Bel me later."</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Aangepast bericht"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Eigen reactie opstellen..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Snelle reacties"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Snelle reacties bewerken"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index c545412..23a65cd 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Za chwilę do Ciebie oddzwonię."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Zadzwonię do Ciebie później."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Nie mogę rozmawiać. Zadzwonisz później?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Wiadomość niestandardowa"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Napisz własną..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Szybkie odpowiedzi"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Edytuj szybkie odpowiedzi"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 1c24bf8..40a17f7 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Telefono-lhe já a seguir."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Telefono-lhe mais tarde."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Pode telefonar-me mais tarde?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Mensagem personalizada"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Escrever a sua própria..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Respostas rápidas"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Editar respostas rápidas"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 7614949..b7a9f43 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Já te ligo de volta."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Eu te ligo mais tarde."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Não posso falar agora. Me liga depois, por favor?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Personalizar mensagem"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Escreva sua resposta..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Respostas rápidas"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Editar respostas rápidas"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 56c78d1..c9ed997 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Te sun imediat înapoi."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Te sun mai târziu."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Nu pot acum. Vorbim mai târziu?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Mesaj personalizat"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Scrieți propriul răspuns…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Răspunsuri rapide"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Editaţi răspunsurile rapide"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index efd2ed7..ebc6c74 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -412,8 +412,8 @@
     <string name="notification_network_selection_title" msgid="4224455487793492772">"Сеть не найдена"</string>
     <string name="notification_network_selection_text" msgid="2607085729661923269">"Выбранная сеть (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) недоступна."</string>
     <string name="notification_action_end_call" msgid="6069460915123531620">"Завершить разговор"</string>
-    <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Перезвонить"</string>
-    <string name="notification_missedCall_message" msgid="3049928912736917988">"Сообщение"</string>
+    <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Позвонить"</string>
+    <string name="notification_missedCall_message" msgid="3049928912736917988">"Написать"</string>
     <string name="incall_error_power_off" msgid="6550191216405193368">"Перед тем как звонить, отключите режим полета."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Нет регистрации в сети."</string>
     <string name="incall_error_out_of_service" msgid="8587993036435080418">"Мобильная сеть недоступна."</string>
@@ -587,7 +587,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Я сейчас вам перезвоню."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Я перезвоню вам позже."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Не могу говорить. Позвоните позже."</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Добавить сообщение"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Ваш ответ…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Быстрые ответы"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Быстрые ответы"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 8f4863b..960492e 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Zavolám späť."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Zavolám neskôr."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Teraz nemôžem, zavolajte inokedy."</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Vlastná správa"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Napísať vlastnú..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Rýchle odpovede"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Upraviť rýchle odpovede"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 9d80328..3086927 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Takoj bom poklical."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Poklical bom pozneje."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Zdaj ne morem govoriti. Pozneje?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Sporočilo po meri"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Napišite svoje besedilo …"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Hitri odgovori"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Urejanje hitrih odgovorov"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 5e82a3f..ab376fc 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Позваћу те ускоро."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Позваћу те касније."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"У гужви сам. Да се чујемо касније?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Прилагођена порука"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Напишите сами…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Брзи одговори"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Измена брзих одговора"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 5fe1f39..fd52087 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -591,7 +591,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Jag ringer tillbaka alldeles strax."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Jag ringer dig senare."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Kan inte prata nu. Ring senare!"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Anpassat meddelande"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Skriv ett eget svar ..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Snabbsvar"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Redigera snabbsvar"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 88d01ca..9f20d42 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Nitakupigia mara moja."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Nitakupigia baadaye."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Siwezi kuongea sasa. Nipigie baadaye?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Ujumbe maalum"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Andika yako binafsi..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Majibu ya haraka"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Hariri majibu ya haraka"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 44534ee..81219ce 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"เดี๋ยวจะโทรกลับทันที"</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"เดี๋ยวจะโทรหาทีหลัง"</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"ตอนนี้คุยไม่ได้ โทรมาใหม่ได้ไหม"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"ข้อความที่กำหนดเอง"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"เขียนคำตอบของคุณเอง..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"คำตอบด่วน"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"แก้ไขคำตอบด่วน"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index adcf741..1cfd196 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Tawagan kita ulit."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Tawagan kita mamaya."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Di masagot ngayon. Tawag ka mamaya?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Custom na mensahe"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Sumulat ng sarili mong tugon…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Mga mabilisang tugon"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"I-edit ang mga mabilisang tugon"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 1dd4a89..f2461c4 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Seni hemen geri arayacağım."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Seni daha sonra ararım."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Şimdi konuşamam. Daha sonra arar mısın?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Özel mesaj"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Kendi yanıtınızı oluşturun…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Hızlı yanıtlar"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Hızlı yanıtları düzenle"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index aedf4fd..f64ea8e 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Я зараз передзвоню."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Я передзвоню пізніше."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Не можу говорити. Передзвоніть."</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Спеціальне повідомлення"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Напишіть власну відповідь..."</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Швидкі відповіді"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Редагувати швидкі відповіді"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 1ba7904..f2c5498 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Tôi sẽ gọi lại ngay."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Tôi sẽ gọi lại sau."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Giờ tôi ko thể nói chuyện. Gọi sau nhé?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Thông báo tùy chỉnh"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Viết trả lời của riêng bạn…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Trả lời nhanh"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Chỉnh sửa trả lời nhanh"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 5823d22..acb3509 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -585,7 +585,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"我马上会打给你。"</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"我稍后会再打给你。"</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"现在无法接听。能稍后再打给我吗?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"自定义短信"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"自行撰写回复…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"快速回复"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"修改快速回复"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 5b51e47..be58b41 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -591,7 +591,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"我待會就回電。"</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"我晚點回電。"</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"我現在不方便通話,晚點再打來好嗎?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"自訂訊息"</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"自行撰寫回應…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"快速回應"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"編輯快速回應"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index c090be3..1235e37 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -589,7 +589,7 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">" Ngizophinde ngikushayele ucingo."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Ngizokushayela ucingo emva kwesikhathi"</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Angikwazi ukukhuluma okwamanje. Ngicela uphinde ungishayele ucingo kamuva?"</string>
-    <string name="respond_via_sms_custom_message" msgid="6648174777301028017">"Umlayezo ngokwezifiso..."</string>
+    <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Bhala okwakho…"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Izimpendulo ezisheshayo"</string>
     <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Hlela izimpendulo ezisheshayo"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6a9de65..b03caba 100755
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1293,7 +1293,7 @@
     <!-- Canned response for the "Respond via SMS" feature for incoming calls. [CHAR LIMIT=35] -->
     <string name="respond_via_sms_canned_response_4">Can\'t talk now. Call me later?</string>
     <!-- "Respond via SMS" option that lets you compose a custom response. [CHAR LIMIT=30] -->
-    <string name="respond_via_sms_custom_message">Custom message</string>
+    <string name="respond_via_sms_custom_message">Write your own...</string>
 
     <!-- Title of settings screen for managing the "Respond via SMS" feature. [CHAR LIMIT=30] -->
     <string name="respond_via_sms_setting_title">Quick responses</string>
diff --git a/res/xml/network_setting.xml b/res/xml/network_setting.xml
index b24b82c..7fd00fc 100644
--- a/res/xml/network_setting.xml
+++ b/res/xml/network_setting.xml
@@ -35,16 +35,6 @@
         android:summaryOn="@string/roaming_enable"
         android:summaryOff="@string/roaming_disable"/>
 
-    <PreferenceScreen
-        android:key="button_data_usage_key"
-        android:title="@string/throttle_data_usage"
-        android:persistent="false">
-
-        <intent android:action="android.intent.action.MAIN"
-            android:targetPackage="com.android.phone"
-            android:targetClass="com.android.phone.DataUsage" />
-    </PreferenceScreen>
-
     <ListPreference
         android:key="preferred_network_mode_key"
         android:title="@string/preferred_network_mode_title"
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index ffed7b3..e301ea3 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -120,9 +120,9 @@
     // choose another VM provider
     public static final String SIGNOUT_EXTRA = "com.android.phone.Signout";
     //Information about logical "up" Activity
-    private static final String UP_ACTIVITY_PACKAGE = "com.android.contacts";
+    private static final String UP_ACTIVITY_PACKAGE = "com.android.dialer";
     private static final String UP_ACTIVITY_CLASS =
-            "com.android.contacts.activities.DialtactsActivity";
+            "com.android.dialer.DialtactsActivity";
 
     // Used to tell the saving logic to leave forwarding number as is
     public static final CallForwardInfo[] FWD_SETTINGS_DONT_TOUCH = null;
@@ -204,10 +204,6 @@
     // Phone.TTY_MODE_xxx
     static final int preferredTtyMode = Phone.TTY_MODE_OFF;
 
-    // Dtmf tone types
-    static final int DTMF_TONE_TYPE_NORMAL = 0;
-    static final int DTMF_TONE_TYPE_LONG   = 1;
-
     public static final String HAC_KEY = "HACSetting";
     public static final String HAC_VAL_ON = "ON";
     public static final String HAC_VAL_OFF = "OFF";
@@ -1765,7 +1761,7 @@
 
         if (mButtonDTMF != null) {
             int dtmf = Settings.System.getInt(getContentResolver(),
-                    Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, DTMF_TONE_TYPE_NORMAL);
+                    Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, Constants.DTMF_TONE_TYPE_NORMAL);
             mButtonDTMF.setValueIndex(dtmf);
         }
 
diff --git a/src/com/android/phone/CallLogAsync.java b/src/com/android/phone/CallLogAsync.java
deleted file mode 100644
index 5a64a80..0000000
--- a/src/com/android/phone/CallLogAsync.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.phone;
-import android.content.Context;
-import android.net.Uri;
-import android.os.AsyncTask;
-import android.os.Looper;
-import android.provider.CallLog.Calls;
-import android.util.Log;
-import com.android.internal.telephony.CallerInfo;
-
-/**
- * Class to access the call logs database asynchronously since
- * database ops can take a long time depending on the system's load.
- * It uses AsyncTask which has its own thread pool.
- *
- * <pre class="prettyprint">
- * Typical usage:
- * ==============
- *
- *  // From an activity...
- *  String mLastNumber = "";
- *
- *  CallLogAsync log = new CallLogAsync();
- *
- *  CallLogAsync.AddCallArgs addCallArgs = new CallLogAsync.AddCallArgs(
- *      this, ci, number, presentation, type, timestamp, duration);
- *
- *  log.addCall(addCallArgs);
- *
- *  CallLogAsync.GetLastOutgoingCallArgs lastCallArgs = new CallLogAsync.GetLastOutgoingCallArgs(
- *      this, new CallLogAsync.OnLastOutgoingCallComplete() {
- *               public void lastOutgoingCall(String number) { mLastNumber = number; }
- *            });
- *  log.getLastOutgoingCall(lastCallArgs);
- * </pre>
- *
- */
-
-public class CallLogAsync {
-    private static final String TAG = "CallLogAsync";
-
-    /**
-     * Parameter object to hold the args to add a call in the call log DB.
-     */
-    public static class AddCallArgs {
-        /**
-         * @param ci               CallerInfo.
-         * @param number           To be logged.
-         * @param presentation     Of the number.
-         * @param callType         The type of call (e.g INCOMING_TYPE). @see
-         *                         android.provider.CallLog for the list of values.
-         * @param timestamp        Of the call (millisecond since epoch).
-         * @param durationInMillis Of the call (millisecond).
-         */
-        public AddCallArgs(Context context,
-                           CallerInfo ci,
-                           String number,
-                           int presentation,
-                           int callType,
-                           long timestamp,
-                           long durationInMillis) {
-            // Note that the context is passed each time. We could
-            // have stored it in a member but we've run into a bunch
-            // of memory leaks in the past that resulted from storing
-            // references to contexts in places that were long lived
-            // when the contexts were expected to be short lived. For
-            // example, if you initialize this class with an Activity
-            // instead of an Application the Activity can't be GCed
-            // until this class can, and Activities tend to hold
-            // references to large amounts of RAM for things like the
-            // bitmaps in their views.
-            //
-            // Having hit more than a few of those bugs in the past
-            // we've grown cautious of storing references to Contexts
-            // when it's not very clear that the thing holding the
-            // references is tightly tied to the Context, for example
-            // Views the Activity is displaying.
-
-            this.context = context;
-            this.ci = ci;
-            this.number = number;
-            this.presentation = presentation;
-            this.callType = callType;
-            this.timestamp = timestamp;
-            this.durationInSec = (int)(durationInMillis / 1000);
-        }
-        // Since the members are accessed directly, we don't use the
-        // mXxxx notation.
-        public final Context context;
-        public final CallerInfo ci;
-        public final String number;
-        public final int presentation;
-        public final int callType;
-        public final long timestamp;
-        public final int durationInSec;
-    }
-
-    /**
-     * Parameter object to hold the args to get the last outgoing call
-     * from the call log DB.
-     */
-    public static class GetLastOutgoingCallArgs {
-        public GetLastOutgoingCallArgs(Context context,
-                                       OnLastOutgoingCallComplete callback) {
-            this.context = context;
-            this.callback = callback;
-        }
-        public final Context context;
-        public final OnLastOutgoingCallComplete callback;
-    }
-
-    /**
-     * Non blocking version of CallLog.addCall(...)
-     */
-    public AsyncTask addCall(AddCallArgs args) {
-        assertUiThread();
-        return new AddCallTask().execute(args);
-    }
-
-    /** Interface to retrieve the last dialed number asynchronously. */
-    public interface OnLastOutgoingCallComplete {
-        /** @param number The last dialed number or an empty string if
-         *                none exists yet. */
-        void lastOutgoingCall(String number);
-    }
-
-    /**
-     * CallLog.getLastOutgoingCall(...)
-     */
-    public AsyncTask getLastOutgoingCall(GetLastOutgoingCallArgs args) {
-        assertUiThread();
-        return new GetLastOutgoingCallTask(args.callback).execute(args);
-    }
-
-    /**
-     * AsyncTask to save calls in the DB.
-     */
-    private class AddCallTask extends AsyncTask<AddCallArgs, Void, Uri[]> {
-        @Override
-        protected Uri[] doInBackground(AddCallArgs... callList) {
-            int count = callList.length;
-            Uri[] result = new Uri[count];
-            for (int i = 0; i < count; i++) {
-                AddCallArgs c = callList[i];
-
-                try {
-                    // May block.
-                    result[i] = Calls.addCall(
-                            c.ci, c.context, c.number, c.presentation,
-                            c.callType, c.timestamp, c.durationInSec);
-                } catch (Exception e) {
-                    // This must be very rare but may happen in legitimate cases.
-                    // e.g. If the phone is encrypted and thus write request fails, it may
-                    // cause some kind of Exception (right now it is IllegalArgumentException, but
-                    // might change).
-                    //
-                    // We don't want to crash the whole process just because of that.
-                    // Let's just ignore it and leave logs instead.
-                    Log.e(TAG, "Exception raised during adding CallLog entry: " + e);
-                    result[i] = null;
-                }
-            }
-            return result;
-        }
-
-        // Perform a simple sanity check to make sure the call was
-        // written in the database. Typically there is only one result
-        // per call so it is easy to identify which one failed.
-        @Override
-        protected void onPostExecute(Uri[] result) {
-            for (Uri uri : result) {
-                if (uri == null) {
-                    Log.e(TAG, "Failed to write call to the log.");
-                }
-            }
-        }
-    }
-
-    /**
-     * AsyncTask to get the last outgoing call from the DB.
-     */
-    private class GetLastOutgoingCallTask extends AsyncTask<GetLastOutgoingCallArgs, Void, String> {
-        private final OnLastOutgoingCallComplete mCallback;
-        private String mNumber;
-        public GetLastOutgoingCallTask(OnLastOutgoingCallComplete callback) {
-            mCallback = callback;
-        }
-
-        // Happens on a background thread. We cannot run the callback
-        // here because only the UI thread can modify the view
-        // hierarchy (e.g enable/disable the dial button). The
-        // callback is ran rom the post execute method.
-        @Override
-        protected String doInBackground(GetLastOutgoingCallArgs... list) {
-            int count = list.length;
-            String number = "";
-            for (GetLastOutgoingCallArgs args : list) {
-                // May block. Select only the last one.
-                number = Calls.getLastOutgoingCall(args.context);
-            }
-            return number;  // passed to the onPostExecute method.
-        }
-
-        // Happens on the UI thread, it is safe to run the callback
-        // that may do some work on the views.
-        @Override
-        protected void onPostExecute(String number) {
-            assertUiThread();
-            mCallback.lastOutgoingCall(number);
-        }
-    }
-
-    private void assertUiThread() {
-        if (!Looper.getMainLooper().equals(Looper.myLooper())) {
-            throw new RuntimeException("Not on the UI thread!");
-        }
-    }
-}
diff --git a/src/com/android/phone/CallNotifier.java b/src/com/android/phone/CallNotifier.java
index 99636df..a356db7 100755
--- a/src/com/android/phone/CallNotifier.java
+++ b/src/com/android/phone/CallNotifier.java
@@ -29,6 +29,7 @@
 import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaDisplayInfoRec;
 import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaSignalInfoRec;
 import com.android.internal.telephony.cdma.SignalToneUtil;
+import com.android.phone.common.CallLogAsync;
 
 import android.app.ActivityManagerNative;
 import android.bluetooth.BluetoothAdapter;
diff --git a/src/com/android/phone/Constants.java b/src/com/android/phone/Constants.java
index 344e0c6..3e10c3a 100644
--- a/src/com/android/phone/Constants.java
+++ b/src/com/android/phone/Constants.java
@@ -139,4 +139,8 @@
     // (Currently they're all over the place: InCallScreen,
     // OutgoingCallBroadcaster, OtaUtils, etc.)
     //
+
+    // Dtmf tone type setting value for CDMA phone
+    public static final int DTMF_TONE_TYPE_NORMAL = 0;
+    public static final int DTMF_TONE_TYPE_LONG   = 1;
 }
diff --git a/src/com/android/phone/DTMFTwelveKeyDialer.java b/src/com/android/phone/DTMFTwelveKeyDialer.java
index 826d66c..4afac55 100644
--- a/src/com/android/phone/DTMFTwelveKeyDialer.java
+++ b/src/com/android/phone/DTMFTwelveKeyDialer.java
@@ -39,6 +39,7 @@
 
 import com.android.internal.telephony.CallManager;
 import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.TelephonyCapabilities;
 
 import java.util.HashMap;
@@ -952,7 +953,7 @@
 
         // Read the settings as it may be changed by the user during the call
         Phone phone = mCM.getFgPhone();
-        mShortTone = PhoneUtils.useShortDtmfTones(phone, phone.getContext());
+        mShortTone = useShortDtmfTones(phone, phone.getContext());
 
         // Before we go ahead and start a tone, we need to make sure that any pending
         // stop-tone message is processed.
@@ -1089,4 +1090,30 @@
             sendShortDtmfToNetwork(dtmfChar);
         }
     }
+
+    /**
+     * On GSM devices, we never use short tones.
+     * On CDMA devices, it depends upon the settings.
+     */
+    private static boolean useShortDtmfTones(Phone phone, Context context) {
+        int phoneType = phone.getPhoneType();
+        if (phoneType == PhoneConstants.PHONE_TYPE_GSM) {
+            return false;
+        } else if (phoneType == PhoneConstants.PHONE_TYPE_CDMA) {
+            int toneType = android.provider.Settings.System.getInt(
+                    context.getContentResolver(),
+                    Settings.System.DTMF_TONE_TYPE_WHEN_DIALING,
+                    Constants.DTMF_TONE_TYPE_NORMAL);
+            if (toneType == Constants.DTMF_TONE_TYPE_NORMAL) {
+                return true;
+            } else {
+                return false;
+            }
+        } else if (phoneType == PhoneConstants.PHONE_TYPE_SIP) {
+            return false;
+        } else {
+            throw new IllegalStateException("Unexpected phone type: " + phoneType);
+        }
+    }
+
 }
diff --git a/src/com/android/phone/DataUsage.java b/src/com/android/phone/DataUsage.java
deleted file mode 100644
index 5ee8d52..0000000
--- a/src/com/android/phone/DataUsage.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.phone;
-
-import com.android.phone.R;
-
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.Bundle;
-import android.preference.Preference;
-import android.preference.PreferenceActivity;
-import android.preference.PreferenceScreen;
-import android.net.Uri;
-import android.net.ThrottleManager;
-import android.util.Log;
-
-
-/**
- * Lists the data usage and throttle settings
- */
-public class DataUsage extends PreferenceActivity {
-
-    private Preference mCurrentUsagePref;
-    private Preference mTimeFramePref;
-    private Preference mThrottleRatePref;
-    private Preference mHelpPref;
-    private String mHelpUri;
-
-    private DataUsageListener mDataUsageListener;
-    private ThrottleManager mThrottleManager;
-
-    @Override
-    protected void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        mThrottleManager = (ThrottleManager) getSystemService(Context.THROTTLE_SERVICE);
-
-        addPreferencesFromResource(R.xml.data_usage_settings);
-
-        mCurrentUsagePref = findPreference("throttle_current_usage");
-        mTimeFramePref = findPreference("throttle_time_frame");
-        mThrottleRatePref = findPreference("throttle_rate");
-        mHelpPref = findPreference("throttle_help");
-
-        mHelpUri = mThrottleManager.getHelpUri();
-        if (mHelpUri == null ) {
-            getPreferenceScreen().removePreference(mHelpPref);
-        } else {
-            mHelpPref.setSummary(getString(R.string.throttle_help_subtext));
-        }
-
-        mDataUsageListener = new DataUsageListener(this, mCurrentUsagePref,
-                mTimeFramePref, mThrottleRatePref);
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        mDataUsageListener.resume();
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-        mDataUsageListener.pause();
-    }
-
-
-    @Override
-    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
-
-        if (preference == mHelpPref) {
-            try {
-                Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(mHelpUri));
-                startActivity(myIntent);
-            } catch (Exception e) {
-                ;
-            }
-        }
-
-        return true;
-    }
-}
diff --git a/src/com/android/phone/DataUsageListener.java b/src/com/android/phone/DataUsageListener.java
deleted file mode 100644
index a72c088..0000000
--- a/src/com/android/phone/DataUsageListener.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.phone;
-
-import com.android.phone.R;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.Bundle;
-import android.preference.Preference;
-import android.preference.PreferenceActivity;
-import android.preference.PreferenceScreen;
-import android.net.Uri;
-import android.net.ThrottleManager;
-import android.util.Log;
-
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.text.DateFormat;
-
-/**
- * Listener for broadcasts from ThrottleManager
- */
-public class DataUsageListener {
-
-    private ThrottleManager mThrottleManager;
-    private Preference mCurrentUsagePref = null;
-    private Preference mTimeFramePref = null;
-    private Preference mThrottleRatePref = null;
-    private Preference mSummaryPref = null;
-    private PreferenceScreen mPrefScreen = null;
-    private boolean mSummaryPrefEnabled = false;
-
-    private final Context mContext;
-    private IntentFilter mFilter;
-    private BroadcastReceiver mReceiver;
-
-    private int mPolicyThrottleValue;  //in kbps
-    private long mPolicyThreshold;
-    private int mCurrentThrottleRate;
-    private long mDataUsed;
-    private Calendar mStart;
-    private Calendar mEnd;
-
-    public DataUsageListener(Context context, Preference summary, PreferenceScreen prefScreen) {
-        mContext = context;
-        mSummaryPref = summary;
-        mPrefScreen = prefScreen;
-        mSummaryPrefEnabled = true;
-        initialize();
-    }
-
-    public DataUsageListener(Context context, Preference currentUsage,
-            Preference timeFrame, Preference throttleRate) {
-        mContext = context;
-        mCurrentUsagePref = currentUsage;
-        mTimeFramePref = timeFrame;
-        mThrottleRatePref = throttleRate;
-        initialize();
-    }
-
-    private void initialize() {
-
-        mThrottleManager = (ThrottleManager) mContext.getSystemService(Context.THROTTLE_SERVICE);
-
-        mStart = GregorianCalendar.getInstance();
-        mEnd = GregorianCalendar.getInstance();
-
-        mFilter = new IntentFilter();
-        mFilter.addAction(ThrottleManager.THROTTLE_POLL_ACTION);
-        mFilter.addAction(ThrottleManager.THROTTLE_ACTION);
-        mFilter.addAction(ThrottleManager.POLICY_CHANGED_ACTION);
-
-        mReceiver = new BroadcastReceiver() {
-            @Override
-            public void onReceive(Context context, Intent intent) {
-                String action = intent.getAction();
-                if (ThrottleManager.THROTTLE_POLL_ACTION.equals(action)) {
-                    updateUsageStats(intent.getLongExtra(ThrottleManager.EXTRA_CYCLE_READ, 0),
-                        intent.getLongExtra(ThrottleManager.EXTRA_CYCLE_WRITE, 0),
-                        intent.getLongExtra(ThrottleManager.EXTRA_CYCLE_START, 0),
-                        intent.getLongExtra(ThrottleManager.EXTRA_CYCLE_END, 0));
-                } else if (ThrottleManager.POLICY_CHANGED_ACTION.equals(action)) {
-                    updatePolicy();
-                } else if (ThrottleManager.THROTTLE_ACTION.equals(action)) {
-                    updateThrottleRate(intent.getIntExtra(ThrottleManager.EXTRA_THROTTLE_LEVEL, -1));
-                }
-            }
-        };
-    }
-
-    void resume() {
-        mContext.registerReceiver(mReceiver, mFilter);
-        updatePolicy();
-    }
-
-    void pause() {
-        mContext.unregisterReceiver(mReceiver);
-    }
-
-    private void updatePolicy() {
-        /* Fetch values for default interface */
-        mPolicyThrottleValue = mThrottleManager.getCliffLevel(null, 1);
-        mPolicyThreshold = mThrottleManager.getCliffThreshold(null, 1);
-
-        if (mSummaryPref != null) { /* Settings preference */
-            /**
-             * Remove data usage preference in settings
-             * if policy change disables throttling
-             */
-            if (mPolicyThreshold == 0) {
-                if (mSummaryPrefEnabled) {
-                    mPrefScreen.removePreference(mSummaryPref);
-                    mSummaryPrefEnabled = false;
-                }
-            } else {
-                if (!mSummaryPrefEnabled) {
-                    mSummaryPrefEnabled = true;
-                    mPrefScreen.addPreference(mSummaryPref);
-                }
-            }
-        }
-        updateUI();
-    }
-
-    private void updateThrottleRate(int throttleRate) {
-        mCurrentThrottleRate = throttleRate;
-        updateUI();
-    }
-
-    private void updateUsageStats(long readByteCount, long writeByteCount,
-            long startTime, long endTime) {
-        mDataUsed = readByteCount + writeByteCount;
-        mStart.setTimeInMillis(startTime);
-        mEnd.setTimeInMillis(endTime);
-        updateUI();
-    }
-
-    private void updateUI() {
-        if (mPolicyThreshold == 0)
-            return;
-        int dataUsedPercent = (int) ((mDataUsed * 100) / mPolicyThreshold);
-
-        long cycleTime = mEnd.getTimeInMillis() - mStart.getTimeInMillis();
-        long currentTime = GregorianCalendar.getInstance().getTimeInMillis()
-                            - mStart.getTimeInMillis();
-
-        int cycleThroughPercent = (cycleTime == 0) ? 0 : (int) ((currentTime * 100) / cycleTime);
-
-        Calendar cal = Calendar.getInstance();
-        cal.setTimeInMillis(cycleTime - currentTime);
-        int daysLeft = cal.get(Calendar.DAY_OF_YEAR);
-        //cal.get() returns 365 for less than a day
-        if (daysLeft >= 365) daysLeft = 0;
-
-        if (mCurrentUsagePref != null) {
-            /* Update the UI based on whether we are in a throttled state */
-            if (mCurrentThrottleRate > 0) {
-                mCurrentUsagePref.setSummary(mContext.getString(
-                        R.string.throttle_data_rate_reduced_subtext,
-                        toReadable(mPolicyThreshold),
-                        mCurrentThrottleRate));
-            } else {
-                mCurrentUsagePref.setSummary(mContext.getString(
-                        R.string.throttle_data_usage_subtext,
-                        toReadable(mDataUsed), dataUsedPercent, toReadable(mPolicyThreshold)));
-            }
-        }
-        if (mTimeFramePref != null) {
-            mTimeFramePref.setSummary(mContext.getString(R.string.throttle_time_frame_subtext,
-                        cycleThroughPercent, daysLeft,
-                        DateFormat.getDateInstance(DateFormat.SHORT).format(mEnd.getTime())));
-        }
-        if (mThrottleRatePref != null) {
-            mThrottleRatePref.setSummary(mContext.getString(R.string.throttle_rate_subtext,
-                    mPolicyThrottleValue));
-        }
-        if (mSummaryPref != null && mSummaryPrefEnabled) {
-
-            /* Update the UI based on whether we are in a throttled state */
-            if (mCurrentThrottleRate > 0) {
-                mSummaryPref.setSummary(mContext.getString(
-                        R.string.throttle_data_rate_reduced_subtext,
-                        toReadable(mPolicyThreshold),
-                        mCurrentThrottleRate));
-            } else {
-                mSummaryPref.setSummary(mContext.getString(R.string.throttle_status_subtext,
-                            toReadable(mDataUsed),
-                            dataUsedPercent,
-                            toReadable(mPolicyThreshold),
-                            daysLeft,
-                            DateFormat.getDateInstance(DateFormat.SHORT).format(mEnd.getTime())));
-            }
-        }
-    }
-
-    private String toReadable (long data) {
-        long KB = 1024;
-        long MB = 1024 * KB;
-        long GB = 1024 * MB;
-        long TB = 1024 * GB;
-        String ret;
-
-        if (data < KB) {
-            ret = data + " bytes";
-        } else if (data < MB) {
-            ret = (data / KB) + " KB";
-        } else if (data < GB) {
-            ret = (data / MB) + " MB";
-        } else if (data < TB) {
-            ret = (data / GB) + " GB";
-        } else {
-            ret = (data / TB) + " TB";
-        }
-        return ret;
-    }
-}
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index f3d9a14..6900183 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -43,6 +43,8 @@
 import android.view.accessibility.AccessibilityManager;
 import android.widget.EditText;
 
+import com.android.phone.common.HapticFeedback;
+
 
 /**
  * EmergencyDialer is a special dialer that is used ONLY for dialing emergency calls.
diff --git a/src/com/android/phone/HapticFeedback.java b/src/com/android/phone/HapticFeedback.java
deleted file mode 100644
index 7001ee0..0000000
--- a/src/com/android/phone/HapticFeedback.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.phone;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.res.Resources;
-import android.os.SystemVibrator;
-import android.os.Vibrator;
-import android.provider.Settings;
-import android.provider.Settings.System;
-import android.util.Log;
-
-/**
- * Handles the haptic feedback: a light buzz happening when the user
- * presses a soft key (UI button or capacitive key).  The haptic
- * feedback is controlled by:
- * - a system resource for the pattern
- *   The pattern used is tuned per device and stored in an internal
- *   resource (config_virtualKeyVibePattern.)
- * - a system setting HAPTIC_FEEDBACK_ENABLED.
- *   HAPTIC_FEEDBACK_ENABLED can be changed by the user using the
- *   system Settings activity. It must be rechecked each time the
- *   activity comes in the foreground (onResume).
- *
- * This class is not thread safe. It assumes it'll be called from the
- * UI thead.
- *
- * Typical usage:
- * --------------
- *   static private final boolean HAPTIC_ENABLED = true;
- *   private HapticFeedback mHaptic = new HapticFeedback();
- *
- *   protected void onCreate(Bundle icicle) {
- *     mHaptic.init((Context)this, HAPTIC_ENABLED);
- *   }
- *
- *   protected void onResume() {
- *     // Refresh the system setting.
- *     mHaptic.checkSystemSetting();
- *   }
- *
- *   public void foo() {
- *     mHaptic.vibrate();
- *   }
- *
- */
-
-public class HapticFeedback {
-    private static final int VIBRATION_PATTERN_ID =
-            com.android.internal.R.array.config_virtualKeyVibePattern;
-    /** If no pattern was found, vibrate for a small amount of time. */
-    private static final long DURATION = 10;  // millisec.
-    /** Play the haptic pattern only once. */
-    private static final int NO_REPEAT = -1;
-
-    private static final String TAG = "HapticFeedback";
-    private Context mContext;
-    private long[] mHapticPattern;
-    private Vibrator mVibrator;
-
-    private boolean mEnabled;
-    private Settings.System mSystemSettings;
-    private ContentResolver mContentResolver;
-    private boolean mSettingEnabled;
-
-    /**
-     * Initialize this instance using the app and system
-     * configs. Since these don't change, init is typically called
-     * once in 'onCreate'.
-     * checkSettings is not called during init.
-     * @param context To look up the resources and system settings.
-     * @param enabled If false, vibrate will be a no-op regardless of
-     * the system settings.
-     */
-    public void init(Context context, boolean enabled) {
-        mEnabled = enabled;
-        if (enabled) {
-            // We don't rely on getSystemService(Context.VIBRATOR_SERVICE) to make sure this
-            // vibrator object will be isolated from others.
-            mVibrator = new SystemVibrator();
-            if (!loadHapticSystemPattern(context.getResources())) {
-                mHapticPattern = new long[] {0, DURATION, 2 * DURATION, 3 * DURATION};
-            }
-            mSystemSettings = new Settings.System();
-            mContentResolver = context.getContentResolver();
-        }
-    }
-
-
-    /**
-     * Reload the system settings to check if the user enabled the
-     * haptic feedback.
-     */
-    public void checkSystemSetting() {
-        if (!mEnabled) {
-            return;
-        }
-        try {
-            int val = mSystemSettings.getInt(mContentResolver, System.HAPTIC_FEEDBACK_ENABLED, 0);
-            mSettingEnabled = val != 0;
-        } catch (Resources.NotFoundException nfe) {
-            Log.e(TAG, "Could not retrieve system setting.", nfe);
-            mSettingEnabled = false;
-        }
-
-    }
-
-
-    /**
-     * Generate the haptic feedback vibration. Only one thread can
-     * request it. If the phone is already in a middle of an haptic
-     * feedback sequence, the request is ignored.
-     */
-    public void vibrate() {
-        if (!mEnabled || !mSettingEnabled) {
-            return;
-        }
-        // System-wide configuration may return different styles of haptic feedback pattern.
-        // - an array with one value implies "one-shot vibration"
-        // - an array with multiple values implies "pattern vibration"
-        // We need to switch methods to call depending on the difference.
-        // See also PhoneWindowManager#performHapticFeedbackLw() for another example.
-        if (mHapticPattern != null && mHapticPattern.length == 1) {
-            mVibrator.vibrate(mHapticPattern[0]);
-        } else {
-            mVibrator.vibrate(mHapticPattern, NO_REPEAT);
-        }
-    }
-
-    /**
-     * @return true If the system haptic pattern was found.
-     */
-    private boolean loadHapticSystemPattern(Resources r) {
-        int[] pattern;
-
-        mHapticPattern = null;
-        try {
-            pattern = r.getIntArray(VIBRATION_PATTERN_ID);
-        } catch (Resources.NotFoundException nfe) {
-            Log.e(TAG, "Vibrate pattern missing.", nfe);
-            return false;
-        }
-
-        if (null == pattern || pattern.length == 0) {
-            Log.e(TAG, "Haptic pattern is null or empty.");
-            return false;
-        }
-
-        // int[] to long[] conversion.
-        mHapticPattern = new long[pattern.length];
-        for (int i = 0; i < pattern.length; i++) {
-            mHapticPattern[i] = pattern[i];
-        }
-        return true;
-    }
-}
diff --git a/src/com/android/phone/InCallScreen.java b/src/com/android/phone/InCallScreen.java
index f8ba9c7..c49539b 100755
--- a/src/com/android/phone/InCallScreen.java
+++ b/src/com/android/phone/InCallScreen.java
@@ -3523,17 +3523,6 @@
     }
 
     /**
-     * Answer the ringing call *and* hang up the ongoing call.
-     */
-    private void internalAnswerAndEnd() {
-        if (DBG) log("internalAnswerAndEnd()...");
-        if (VDBG) PhoneUtils.dumpCallManager();
-        // In the rare case when multiple calls are ringing, the UI policy
-        // it to always act on the first ringing call.
-        PhoneUtils.answerAndEndActive(mCM, mCM.getFirstActiveRingingCall());
-    }
-
-    /**
      * Hang up the ringing call (aka "Don't answer").
      */
     /* package */ void hangupRingingCall() {
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java
index d11ca0e..e4b4de6 100644
--- a/src/com/android/phone/MobileNetworkSettings.java
+++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -27,7 +27,6 @@
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.net.ConnectivityManager;
-import android.net.ThrottleManager;
 import android.net.Uri;
 import android.os.AsyncResult;
 import android.os.Bundle;
@@ -66,7 +65,6 @@
 
     //String keys for preference lookup
     private static final String BUTTON_DATA_ENABLED_KEY = "button_data_enabled_key";
-    private static final String BUTTON_DATA_USAGE_KEY = "button_data_usage_key";
     private static final String BUTTON_PREFERED_NETWORK_MODE = "preferred_network_mode_key";
     private static final String BUTTON_ROAMING_KEY = "button_roaming_key";
     private static final String BUTTON_CDMA_LTE_DATA_SERVICE_KEY = "cdma_lte_data_service_key";
@@ -84,8 +82,6 @@
     private CheckBoxPreference mButtonDataEnabled;
     private Preference mLteDataServicePref;
 
-    private Preference mButtonDataUsage;
-    private DataUsageListener mDataUsageListener;
     private static final String iface = "rmnet0"; //TODO: this will go away
 
     private Phone mPhone;
@@ -219,7 +215,6 @@
         mButtonDataRoam = (CheckBoxPreference) prefSet.findPreference(BUTTON_ROAMING_KEY);
         mButtonPreferredNetworkMode = (ListPreference) prefSet.findPreference(
                 BUTTON_PREFERED_NETWORK_MODE);
-        mButtonDataUsage = prefSet.findPreference(BUTTON_DATA_USAGE_KEY);
         mLteDataServicePref = prefSet.findPreference(BUTTON_CDMA_LTE_DATA_SERVICE_KEY);
 
         boolean isLteOnCdma = mPhone.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE;
@@ -268,9 +263,6 @@
             android.util.Log.d(LOG_TAG, "keep ltePref");
         }
 
-        ThrottleManager tm = (ThrottleManager) getSystemService(Context.THROTTLE_SERVICE);
-        mDataUsageListener = new DataUsageListener(this, mButtonDataUsage, prefSet);
-
         ActionBar actionBar = getActionBar();
         if (actionBar != null) {
             // android.R.id.home will be triggered in onOptionsItemSelected()
@@ -299,13 +291,11 @@
             mPhone.getPreferredNetworkType(mHandler.obtainMessage(
                     MyHandler.MESSAGE_GET_PREFERRED_NETWORK_TYPE));
         }
-        mDataUsageListener.resume();
     }
 
     @Override
     protected void onPause() {
         super.onPause();
-        mDataUsageListener.pause();
     }
 
     /**
diff --git a/src/com/android/phone/OutgoingCallBroadcaster.java b/src/com/android/phone/OutgoingCallBroadcaster.java
index dabffa2..ea8ae38 100644
--- a/src/com/android/phone/OutgoingCallBroadcaster.java
+++ b/src/com/android/phone/OutgoingCallBroadcaster.java
@@ -479,8 +479,8 @@
                 // use the java resolver to find the dialer class (as
                 // opposed to a Context which look up known android
                 // packages only)
-                invokeFrameworkDialer.setClassName("com.android.contacts",
-                                                   "com.android.contacts.DialtactsActivity");
+                invokeFrameworkDialer.setClassName("com.android.dialer",
+                                                   "com.android.dialer.DialtactsActivity");
                 invokeFrameworkDialer.setAction(Intent.ACTION_DIAL);
                 invokeFrameworkDialer.setData(intent.getData());
 
diff --git a/src/com/android/phone/PhoneGlobals.java b/src/com/android/phone/PhoneGlobals.java
index acfdd7e..63ef38d 100644
--- a/src/com/android/phone/PhoneGlobals.java
+++ b/src/com/android/phone/PhoneGlobals.java
@@ -68,6 +68,7 @@
 import com.android.internal.telephony.TelephonyCapabilities;
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.cdma.TtyIntent;
+import com.android.phone.common.CallLogAsync;
 import com.android.phone.OtaUtils.CdmaOtaScreenState;
 import com.android.server.sip.SipService;
 
@@ -1757,9 +1758,9 @@
      * while we are now assuming it is "com.android.contacts"
      */
     public static final String EXTRA_CALL_ORIGIN = "com.android.phone.CALL_ORIGIN";
-    private static final String DEFAULT_CALL_ORIGIN_PACKAGE = "com.android.contacts";
+    private static final String DEFAULT_CALL_ORIGIN_PACKAGE = "com.android.dialer";
     private static final String ALLOWED_EXTRA_CALL_ORIGIN =
-            "com.android.contacts.activities.DialtactsActivity";
+            "com.android.dialer.DialtactsActivity";
     /**
      * Used to determine if the preserved call origin is fresh enough.
      */
@@ -1819,7 +1820,7 @@
                     + inCallUiState.latestActiveCallOrigin + ") was found. "
                     + "Go back to the previous screen.");
             // Right now we just launch the Activity which launched in-call UI. Note that we're
-            // assuming the origin is from "com.android.contacts", which may be incorrect in the
+            // assuming the origin is from "com.android.dialer", which may be incorrect in the
             // future.
             final Intent intent = new Intent();
             intent.setClassName(DEFAULT_CALL_ORIGIN_PACKAGE, inCallUiState.latestActiveCallOrigin);
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 441270a..80d7c25 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -532,7 +532,7 @@
     }
 
     public boolean isRadioOn() {
-        return mPhone.getServiceState().getState() != ServiceState.STATE_POWER_OFF;
+        return mPhone.getServiceState().getVoiceRegState() != ServiceState.STATE_POWER_OFF;
     }
 
     public void toggleRadioOnOff() {
@@ -541,7 +541,7 @@
     }
     public boolean setRadio(boolean turnOn) {
         enforceModifyPermission();
-        if ((mPhone.getServiceState().getState() != ServiceState.STATE_POWER_OFF) != turnOn) {
+        if ((mPhone.getServiceState().getVoiceRegState() != ServiceState.STATE_POWER_OFF) != turnOn) {
             toggleRadioOnOff();
         }
         return true;
@@ -817,10 +817,29 @@
     }
 
     /**
-     * Returns the network type
+     * Returns the data network type
+     *
+     * @Deprecated to be removed Q3 2013 use {@link #getDataNetworkType}.
      */
+    @Override
     public int getNetworkType() {
-        return mPhone.getServiceState().getNetworkType();
+        return mPhone.getServiceState().getDataNetworkType();
+    }
+
+    /**
+     * Returns the data network type
+     */
+    @Override
+    public int getDataNetworkType() {
+        return mPhone.getServiceState().getDataNetworkType();
+    }
+
+    /**
+     * Returns the data network type
+     */
+    @Override
+    public int getVoiceNetworkType() {
+        return mPhone.getServiceState().getVoiceNetworkType();
     }
 
     /**
diff --git a/src/com/android/phone/PhoneUtils.java b/src/com/android/phone/PhoneUtils.java
index 58a5ba9..274751f 100644
--- a/src/com/android/phone/PhoneUtils.java
+++ b/src/com/android/phone/PhoneUtils.java
@@ -2531,31 +2531,6 @@
         return sVoipSupported;
     }
 
-    /**
-     * On GSM devices, we never use short tones.
-     * On CDMA devices, it depends upon the settings.
-     */
-    public static boolean useShortDtmfTones(Phone phone, Context context) {
-        int phoneType = phone.getPhoneType();
-        if (phoneType == PhoneConstants.PHONE_TYPE_GSM) {
-            return false;
-        } else if (phoneType == PhoneConstants.PHONE_TYPE_CDMA) {
-            int toneType = android.provider.Settings.System.getInt(
-                    context.getContentResolver(),
-                    Settings.System.DTMF_TONE_TYPE_WHEN_DIALING,
-                    CallFeaturesSetting.DTMF_TONE_TYPE_NORMAL);
-            if (toneType == CallFeaturesSetting.DTMF_TONE_TYPE_NORMAL) {
-                return true;
-            } else {
-                return false;
-            }
-        } else if (phoneType == PhoneConstants.PHONE_TYPE_SIP) {
-            return false;
-        } else {
-            throw new IllegalStateException("Unexpected phone type: " + phoneType);
-        }
-    }
-
     public static String getPresentationString(Context context, int presentation) {
         String name = context.getString(R.string.unknown);
         if (presentation == PhoneConstants.PRESENTATION_RESTRICTED) {
diff --git a/src/com/android/phone/RespondViaSmsManager.java b/src/com/android/phone/RespondViaSmsManager.java
index 003c56f..be8d23b 100644
--- a/src/com/android/phone/RespondViaSmsManager.java
+++ b/src/com/android/phone/RespondViaSmsManager.java
@@ -132,7 +132,7 @@
         mCannedResponses = loadCannedResponses();
 
         // Build the list: start with the canned responses, but manually add
-        // "Custom message..." as the last choice.
+        // the write-your-own option as the last choice.
         int numPopupItems = mCannedResponses.length + 1;
         String[] popupItems = Arrays.copyOf(mCannedResponses, numPopupItems);
         popupItems[numPopupItems - 1] = mInCallScreen.getResources()