diff --git a/Android.mk b/Android.mk
index e0f5310..899d589 100644
--- a/Android.mk
+++ b/Android.mk
@@ -4,20 +4,23 @@
 LOCAL_MODULE_TAGS := optional
 
 contacts_common_dir := ../ContactsCommon
+incallui_dir := ../InCallUI
 
-src_dirs := src $(contacts_common_dir)/src
-res_dirs := res $(contacts_common_dir)/res
+src_dirs := src $(contacts_common_dir)/src $(incallui_dir)/src
+res_dirs := res $(contacts_common_dir)/res $(incallui_dir)/res
 
 LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
 LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
 
 LOCAL_AAPT_FLAGS := \
     --auto-add-overlay \
-    --extra-packages com.android.contacts.common
+    --extra-packages com.android.contacts.common \
+    --extra-packages com.android.incallui
 
 LOCAL_JAVA_LIBRARIES := telephony-common
 LOCAL_STATIC_JAVA_LIBRARIES := \
     com.android.phone.shared \
+    com.android.services.telephony.common \
     com.android.vcard \
     android-common \
     guava \
@@ -31,7 +34,7 @@
 LOCAL_CERTIFICATE := shared
 LOCAL_PRIVILEGED_MODULE := true
 
-LOCAL_PROGUARD_FLAG_FILES := proguard.flags
+LOCAL_PROGUARD_FLAG_FILES := proguard.flags $(incallui_dir)/proguard.flags
 
 include $(BUILD_PACKAGE)
 
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 91e228e..0f3285e 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -22,11 +22,13 @@
     <uses-permission android:name="android.permission.WRITE_CONTACTS" />
     <uses-permission android:name="android.permission.READ_CALL_LOG" />
     <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
+    <uses-permission android:name="android.permission.READ_PROFILE" />
     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
     <uses-permission android:name="android.permission.NFC" />
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
@@ -44,8 +46,13 @@
     <!-- allow broadcasting secret code intents that reboot the phone -->
     <uses-permission android:name="android.permission.REBOOT" />
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+    <!-- This tells the activity manager to not delay any of our activity
+     start requests, even if they happen immediately after the user
+     presses home. -->
+    <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
 
     <application
+        android:name="DialerApplication"
         android:label="@string/applicationLabel"
         android:icon="@mipmap/ic_launcher_phone"
         android:hardwareAccelerated="true"
@@ -60,12 +67,11 @@
              dialpad screen. -->
         <activity android:name=".DialtactsActivity"
             android:label="@string/launcherDialer"
-            android:theme="@style/NewDialtactsTheme"
-            android:uiOptions="splitActionBarWhenNarrow"
+            android:theme="@style/DialtactsTheme"
             android:launchMode="singleTask"
             android:clearTaskOnLaunch="true"
             android:icon="@mipmap/ic_launcher_phone"
-            android:screenOrientation="nosensor"
+            android:screenOrientation="portrait"
             android:enabled="@*android:bool/config_voice_capable"
             android:windowSoftInputMode="stateAlwaysHidden|adjustNothing">
             <intent-filter>
@@ -119,7 +125,7 @@
 
         <activity android:name="com.android.dialer.calllog.CallLogActivity"
             android:label="@string/call_log_activity_title"
-            android:theme="@style/NewDialtactsTheme"
+            android:theme="@style/DialtactsThemeWithActionBarOverlay"
             android:screenOrientation="portrait"
             android:icon="@mipmap/ic_launcher_phone">
             <intent-filter>
@@ -130,11 +136,18 @@
             </intent-filter>
         </activity>
 
+        <activity android:name="com.android.dialer.list.AllContactsActivity"
+            android:label="@string/show_all_contacts_title"
+            android:theme="@style/DialtactsThemeWithActionBarOverlay"
+            android:screenOrientation="portrait">
+        </activity>
+
         <activity android:name="com.android.dialer.CallDetailActivity"
                   android:label="@string/callDetailTitle"
                   android:theme="@style/CallDetailActivityTheme"
                   android:screenOrientation="portrait"
                   android:icon="@mipmap/ic_launcher_phone"
+                  android:parentActivityName="com.android.dialer.calllog.CallLogActivity"
             >
             <intent-filter>
                 <action android:name="android.intent.action.VIEW"/>
@@ -232,6 +245,12 @@
             </intent-filter>
         </receiver>
 
+        <receiver android:name=".interactions.UndemoteOutgoingCallReceiver">
+            <intent-filter>
+                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
+            </intent-filter>
+        </receiver>
+
         <service
             android:name=".calllog.CallLogNotificationsService"
             android:exported="false"
@@ -241,5 +260,38 @@
         <service
             android:name=".contact.ContactUpdateService"
             android:exported="false" />
+
+        <!-- Main in-call UI activity.  This is never launched directly
+             from outside the phone app; instead, it's either launched by
+             the OutgoingCallBroadcaster (for outgoing calls), or as the
+             fullScreenIntent of a notification (for incoming calls.) -->
+        <activity android:name="com.android.incallui.InCallActivity"
+                  android:theme="@style/Theme.InCallScreen"
+                  android:label="@string/phoneAppLabel"
+                  android:excludeFromRecents="true"
+                  android:launchMode="singleInstance"
+                  android:screenOrientation="nosensor"
+                  android:configChanges="keyboardHidden"
+                  android:exported="false"
+                  android:process="com.android.incallui">
+        </activity>
+
+        <service android:name="com.android.incallui.CallHandlerService"
+                 android:process="com.android.incallui"
+                 android:permission="android.permission.BIND_CALL_SERVICE">
+            <intent-filter>
+                <action android:name="com.android.services.telephony.common.ICallHandlerService" />
+            </intent-filter>
+        </service>
+
+        <!-- BroadcastReceiver for receiving Intents from Notification mechanism. -->
+        <receiver android:name="com.android.incallui.InCallApp$NotificationBroadcastReceiver"
+                  android:exported="false"
+                  android:process="com.android.incallui">
+            <intent-filter>
+                <action android:name="com.android.incallui.ACTION_HANG_UP_ONGOING_CALL" />
+            </intent-filter>
+        </receiver>
+
     </application>
 </manifest>
diff --git a/res/drawable-hdpi/btn_call_pressed.png b/res/drawable-hdpi/btn_call_pressed.png
deleted file mode 100644
index 6b497a2..0000000
--- a/res/drawable-hdpi/btn_call_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dialer_recent_card_bg.9.png b/res/drawable-hdpi/dialer_recent_card_bg.9.png
index e581943..2bfdbcb 100644
--- a/res/drawable-hdpi/dialer_recent_card_bg.9.png
+++ b/res/drawable-hdpi/dialer_recent_card_bg.9.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_ab_search.png b/res/drawable-hdpi/ic_ab_search.png
new file mode 100644
index 0000000..3702846
--- /dev/null
+++ b/res/drawable-hdpi/ic_ab_search.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_add_person_dk.png b/res/drawable-hdpi/ic_add_person_dk.png
new file mode 100644
index 0000000..7096ed2
--- /dev/null
+++ b/res/drawable-hdpi/ic_add_person_dk.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_arrow_am.png b/res/drawable-hdpi/ic_arrow_am.png
new file mode 100644
index 0000000..6fecb93
--- /dev/null
+++ b/res/drawable-hdpi/ic_arrow_am.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_call_log_blue.png b/res/drawable-hdpi/ic_call_log_blue.png
new file mode 100644
index 0000000..92af15f
--- /dev/null
+++ b/res/drawable-hdpi/ic_call_log_blue.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_cancel_holo_light.png b/res/drawable-hdpi/ic_cancel_holo_light.png
new file mode 100644
index 0000000..d8cacb4
--- /dev/null
+++ b/res/drawable-hdpi/ic_cancel_holo_light.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_dial_action_vm.png b/res/drawable-hdpi/ic_dial_action_vm.png
index 68ee3d6..f424304 100644
--- a/res/drawable-hdpi/ic_dial_action_vm.png
+++ b/res/drawable-hdpi/ic_dial_action_vm.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_dialer_fork_add_call.png b/res/drawable-hdpi/ic_dialer_fork_add_call.png
index e046996..4e0d564 100755
--- a/res/drawable-hdpi/ic_dialer_fork_add_call.png
+++ b/res/drawable-hdpi/ic_dialer_fork_add_call.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_dialer_fork_current_call.png b/res/drawable-hdpi/ic_dialer_fork_current_call.png
index 6e1a395..2cf41d5 100755
--- a/res/drawable-hdpi/ic_dialer_fork_current_call.png
+++ b/res/drawable-hdpi/ic_dialer_fork_current_call.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_dialer_fork_tt_keypad.png b/res/drawable-hdpi/ic_dialer_fork_tt_keypad.png
index 6b50da1..043685f 100755
--- a/res/drawable-hdpi/ic_dialer_fork_tt_keypad.png
+++ b/res/drawable-hdpi/ic_dialer_fork_tt_keypad.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_fav_undo_dk.png b/res/drawable-hdpi/ic_fav_undo_dk.png
index 1279114..8c1b451 100644
--- a/res/drawable-hdpi/ic_fav_undo_dk.png
+++ b/res/drawable-hdpi/ic_fav_undo_dk.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_dialpad_dk.png b/res/drawable-hdpi/ic_menu_dialpad_dk.png
index 4da8f28..55f5477 100644
--- a/res/drawable-hdpi/ic_menu_dialpad_dk.png
+++ b/res/drawable-hdpi/ic_menu_dialpad_dk.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_history_dk.png b/res/drawable-hdpi/ic_menu_history_dk.png
index b8d1944..b64122f 100644
--- a/res/drawable-hdpi/ic_menu_history_dk.png
+++ b/res/drawable-hdpi/ic_menu_history_dk.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_overflow.png b/res/drawable-hdpi/ic_menu_overflow.png
deleted file mode 100644
index a12aedf..0000000
--- a/res/drawable-hdpi/ic_menu_overflow.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_overflow_dk.png b/res/drawable-hdpi/ic_menu_overflow_dk.png
index 69741cb..e9b0523 100644
--- a/res/drawable-hdpi/ic_menu_overflow_dk.png
+++ b/res/drawable-hdpi/ic_menu_overflow_dk.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_phone_dk.png b/res/drawable-hdpi/ic_phone_dk.png
new file mode 100644
index 0000000..984d6fa
--- /dev/null
+++ b/res/drawable-hdpi/ic_phone_dk.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_star_marked_as_fav.png b/res/drawable-hdpi/ic_star_marked_as_fav.png
new file mode 100644
index 0000000..8a138c4
--- /dev/null
+++ b/res/drawable-hdpi/ic_star_marked_as_fav.png
Binary files differ
diff --git a/res/drawable-hdpi/list_item_avatar_bg.png b/res/drawable-hdpi/list_item_avatar_bg.png
new file mode 100644
index 0000000..66e5f3e
--- /dev/null
+++ b/res/drawable-hdpi/list_item_avatar_bg.png
Binary files differ
diff --git a/res/drawable-hdpi/no_favorites_banner.png b/res/drawable-hdpi/no_favorites_banner.png
new file mode 100644
index 0000000..a4b09c0
--- /dev/null
+++ b/res/drawable-hdpi/no_favorites_banner.png
Binary files differ
diff --git a/res/drawable-hdpi/shadow_contact_photo.png b/res/drawable-hdpi/shadow_contact_photo.png
index 49cbb97..44b06f2 100644
--- a/res/drawable-hdpi/shadow_contact_photo.png
+++ b/res/drawable-hdpi/shadow_contact_photo.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_ab_dialer_holo_light.png b/res/drawable-ldrtl-mdpi/ic_ab_dialer_holo_light.png
deleted file mode 100644
index 1bc02cc..0000000
--- a/res/drawable-ldrtl-mdpi/ic_ab_dialer_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_ab_dialer_holo_light.png b/res/drawable-ldrtl-xhdpi/ic_ab_dialer_holo_light.png
deleted file mode 100644
index 8a25e70..0000000
--- a/res/drawable-ldrtl-xhdpi/ic_ab_dialer_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_call_pressed.png b/res/drawable-mdpi/btn_call_pressed.png
deleted file mode 100644
index 637b06a..0000000
--- a/res/drawable-mdpi/btn_call_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dialer_recent_card_bg.9.png b/res/drawable-mdpi/dialer_recent_card_bg.9.png
index cb1d26f..dff6a0b 100644
--- a/res/drawable-mdpi/dialer_recent_card_bg.9.png
+++ b/res/drawable-mdpi/dialer_recent_card_bg.9.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_ab_search.png b/res/drawable-mdpi/ic_ab_search.png
new file mode 100644
index 0000000..cc9f911
--- /dev/null
+++ b/res/drawable-mdpi/ic_ab_search.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_add_person_dk.png b/res/drawable-mdpi/ic_add_person_dk.png
new file mode 100644
index 0000000..0e0aed0
--- /dev/null
+++ b/res/drawable-mdpi/ic_add_person_dk.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_arrow_am.png b/res/drawable-mdpi/ic_arrow_am.png
new file mode 100644
index 0000000..11bf05b
--- /dev/null
+++ b/res/drawable-mdpi/ic_arrow_am.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_call_log_blue.png b/res/drawable-mdpi/ic_call_log_blue.png
new file mode 100644
index 0000000..b9209ad
--- /dev/null
+++ b/res/drawable-mdpi/ic_call_log_blue.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_cancel_holo_light.png b/res/drawable-mdpi/ic_cancel_holo_light.png
new file mode 100644
index 0000000..56705c3
--- /dev/null
+++ b/res/drawable-mdpi/ic_cancel_holo_light.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_dial_action_vm.png b/res/drawable-mdpi/ic_dial_action_vm.png
index 5b91b42..fbcf378 100644
--- a/res/drawable-mdpi/ic_dial_action_vm.png
+++ b/res/drawable-mdpi/ic_dial_action_vm.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_dialer_fork_add_call.png b/res/drawable-mdpi/ic_dialer_fork_add_call.png
index 5a1555b..56ac2a3 100644
--- a/res/drawable-mdpi/ic_dialer_fork_add_call.png
+++ b/res/drawable-mdpi/ic_dialer_fork_add_call.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_dialer_fork_current_call.png b/res/drawable-mdpi/ic_dialer_fork_current_call.png
index 1be783e..16a44a0 100644
--- a/res/drawable-mdpi/ic_dialer_fork_current_call.png
+++ b/res/drawable-mdpi/ic_dialer_fork_current_call.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_dialer_fork_tt_keypad.png b/res/drawable-mdpi/ic_dialer_fork_tt_keypad.png
index 4e3dd82..66df69e 100644
--- a/res/drawable-mdpi/ic_dialer_fork_tt_keypad.png
+++ b/res/drawable-mdpi/ic_dialer_fork_tt_keypad.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_fav_undo_dk.png b/res/drawable-mdpi/ic_fav_undo_dk.png
index 78a3437..9655590 100644
--- a/res/drawable-mdpi/ic_fav_undo_dk.png
+++ b/res/drawable-mdpi/ic_fav_undo_dk.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_dialpad_dk.png b/res/drawable-mdpi/ic_menu_dialpad_dk.png
index 5a3ac0c..a7dcd24 100644
--- a/res/drawable-mdpi/ic_menu_dialpad_dk.png
+++ b/res/drawable-mdpi/ic_menu_dialpad_dk.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_history_dk.png b/res/drawable-mdpi/ic_menu_history_dk.png
index d9306ba..2203f3a 100644
--- a/res/drawable-mdpi/ic_menu_history_dk.png
+++ b/res/drawable-mdpi/ic_menu_history_dk.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_overflow.png b/res/drawable-mdpi/ic_menu_overflow.png
deleted file mode 100644
index 4a3bde3..0000000
--- a/res/drawable-mdpi/ic_menu_overflow.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_overflow_dk.png b/res/drawable-mdpi/ic_menu_overflow_dk.png
index 2a477c8..67f281d 100644
--- a/res/drawable-mdpi/ic_menu_overflow_dk.png
+++ b/res/drawable-mdpi/ic_menu_overflow_dk.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_phone_dk.png b/res/drawable-mdpi/ic_phone_dk.png
new file mode 100644
index 0000000..c55571a
--- /dev/null
+++ b/res/drawable-mdpi/ic_phone_dk.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_star_marked_as_fav.png b/res/drawable-mdpi/ic_star_marked_as_fav.png
new file mode 100644
index 0000000..ee1b5ec
--- /dev/null
+++ b/res/drawable-mdpi/ic_star_marked_as_fav.png
Binary files differ
diff --git a/res/drawable-mdpi/list_item_avatar_bg.png b/res/drawable-mdpi/list_item_avatar_bg.png
new file mode 100644
index 0000000..640eb3e
--- /dev/null
+++ b/res/drawable-mdpi/list_item_avatar_bg.png
Binary files differ
diff --git a/res/drawable-mdpi/no_favorites_banner.png b/res/drawable-mdpi/no_favorites_banner.png
new file mode 100644
index 0000000..ac080b9
--- /dev/null
+++ b/res/drawable-mdpi/no_favorites_banner.png
Binary files differ
diff --git a/res/drawable-mdpi/shadow_contact_photo.png b/res/drawable-mdpi/shadow_contact_photo.png
index 4734bbd..8665d83 100644
--- a/res/drawable-mdpi/shadow_contact_photo.png
+++ b/res/drawable-mdpi/shadow_contact_photo.png
Binary files differ
diff --git a/res/drawable-xhdpi/btn_call_pressed.png b/res/drawable-xhdpi/btn_call_pressed.png
deleted file mode 100644
index cdf52f8..0000000
--- a/res/drawable-xhdpi/btn_call_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/dialer_recent_card_bg.9.png b/res/drawable-xhdpi/dialer_recent_card_bg.9.png
index e1a4b67..05d254d 100644
--- a/res/drawable-xhdpi/dialer_recent_card_bg.9.png
+++ b/res/drawable-xhdpi/dialer_recent_card_bg.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_ab_search.png b/res/drawable-xhdpi/ic_ab_search.png
new file mode 100644
index 0000000..718ff49
--- /dev/null
+++ b/res/drawable-xhdpi/ic_ab_search.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_add_person_dk.png b/res/drawable-xhdpi/ic_add_person_dk.png
new file mode 100644
index 0000000..5211f5c
--- /dev/null
+++ b/res/drawable-xhdpi/ic_add_person_dk.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_arrow_am.png b/res/drawable-xhdpi/ic_arrow_am.png
new file mode 100644
index 0000000..ffbd399
--- /dev/null
+++ b/res/drawable-xhdpi/ic_arrow_am.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_call_log_blue.png b/res/drawable-xhdpi/ic_call_log_blue.png
new file mode 100644
index 0000000..9d92573
--- /dev/null
+++ b/res/drawable-xhdpi/ic_call_log_blue.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_cancel_holo_light.png b/res/drawable-xhdpi/ic_cancel_holo_light.png
new file mode 100644
index 0000000..630f3fd
--- /dev/null
+++ b/res/drawable-xhdpi/ic_cancel_holo_light.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dial_action_vm.png b/res/drawable-xhdpi/ic_dial_action_vm.png
index 269fd1a..2919bbd 100644
--- a/res/drawable-xhdpi/ic_dial_action_vm.png
+++ b/res/drawable-xhdpi/ic_dial_action_vm.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dialer_fork_add_call.png b/res/drawable-xhdpi/ic_dialer_fork_add_call.png
index 2c1f817..aff140f 100644
--- a/res/drawable-xhdpi/ic_dialer_fork_add_call.png
+++ b/res/drawable-xhdpi/ic_dialer_fork_add_call.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dialer_fork_current_call.png b/res/drawable-xhdpi/ic_dialer_fork_current_call.png
index b1c4008..8975727 100644
--- a/res/drawable-xhdpi/ic_dialer_fork_current_call.png
+++ b/res/drawable-xhdpi/ic_dialer_fork_current_call.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_dialer_fork_tt_keypad.png b/res/drawable-xhdpi/ic_dialer_fork_tt_keypad.png
index ccd8f8a..4d48ea9 100644
--- a/res/drawable-xhdpi/ic_dialer_fork_tt_keypad.png
+++ b/res/drawable-xhdpi/ic_dialer_fork_tt_keypad.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_fav_undo_dk.png b/res/drawable-xhdpi/ic_fav_undo_dk.png
index ef0b84e..4e1b651 100644
--- a/res/drawable-xhdpi/ic_fav_undo_dk.png
+++ b/res/drawable-xhdpi/ic_fav_undo_dk.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_dialpad_dk.png b/res/drawable-xhdpi/ic_menu_dialpad_dk.png
index 317bf66..bd80859 100644
--- a/res/drawable-xhdpi/ic_menu_dialpad_dk.png
+++ b/res/drawable-xhdpi/ic_menu_dialpad_dk.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_history_dk.png b/res/drawable-xhdpi/ic_menu_history_dk.png
index 63ad62b..25b28e5 100644
--- a/res/drawable-xhdpi/ic_menu_history_dk.png
+++ b/res/drawable-xhdpi/ic_menu_history_dk.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_overflow.png b/res/drawable-xhdpi/ic_menu_overflow.png
deleted file mode 100644
index 715cff8..0000000
--- a/res/drawable-xhdpi/ic_menu_overflow.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_overflow_dk.png b/res/drawable-xhdpi/ic_menu_overflow_dk.png
index 8cbd508..ec50c22 100644
--- a/res/drawable-xhdpi/ic_menu_overflow_dk.png
+++ b/res/drawable-xhdpi/ic_menu_overflow_dk.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_people_info.png b/res/drawable-xhdpi/ic_people_info.png
deleted file mode 100644
index b933bbc..0000000
--- a/res/drawable-xhdpi/ic_people_info.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_phone_dk.png b/res/drawable-xhdpi/ic_phone_dk.png
new file mode 100644
index 0000000..74a7032
--- /dev/null
+++ b/res/drawable-xhdpi/ic_phone_dk.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_star_marked_as_fav.png b/res/drawable-xhdpi/ic_star_marked_as_fav.png
new file mode 100644
index 0000000..372747a
--- /dev/null
+++ b/res/drawable-xhdpi/ic_star_marked_as_fav.png
Binary files differ
diff --git a/res/drawable-xhdpi/list_item_avatar_bg.png b/res/drawable-xhdpi/list_item_avatar_bg.png
new file mode 100644
index 0000000..cac7fbd
--- /dev/null
+++ b/res/drawable-xhdpi/list_item_avatar_bg.png
Binary files differ
diff --git a/res/drawable-xhdpi/no_favorites_banner.png b/res/drawable-xhdpi/no_favorites_banner.png
new file mode 100644
index 0000000..bae4e99
--- /dev/null
+++ b/res/drawable-xhdpi/no_favorites_banner.png
Binary files differ
diff --git a/res/drawable-xhdpi/shadow_contact_photo.png b/res/drawable-xhdpi/shadow_contact_photo.png
index 1077ec1..8359a50 100644
--- a/res/drawable-xhdpi/shadow_contact_photo.png
+++ b/res/drawable-xhdpi/shadow_contact_photo.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ab_stacked_opaque_dark_holo.9.png b/res/drawable-xxhdpi/ab_stacked_opaque_dark_holo.9.png
new file mode 100644
index 0000000..59e1bae
--- /dev/null
+++ b/res/drawable-xxhdpi/ab_stacked_opaque_dark_holo.9.png
Binary files differ
diff --git a/res/drawable-xxhdpi/dialer_recent_card_bg.9.png b/res/drawable-xxhdpi/dialer_recent_card_bg.9.png
new file mode 100644
index 0000000..87d95f0
--- /dev/null
+++ b/res/drawable-xxhdpi/dialer_recent_card_bg.9.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_ab_search.png b/res/drawable-xxhdpi/ic_ab_search.png
new file mode 100644
index 0000000..4bb5165
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_ab_search.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_add_person_dk.png b/res/drawable-xxhdpi/ic_add_person_dk.png
new file mode 100644
index 0000000..54ca1f0
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_add_person_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_arrow_am.png b/res/drawable-xxhdpi/ic_arrow_am.png
new file mode 100644
index 0000000..4938de2
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_arrow_am.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_call_incoming_holo_dark.png b/res/drawable-xxhdpi/ic_call_incoming_holo_dark.png
new file mode 100644
index 0000000..1276917
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_call_incoming_holo_dark.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_call_log_blue.png b/res/drawable-xxhdpi/ic_call_log_blue.png
new file mode 100644
index 0000000..0a55a75
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_call_log_blue.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_call_missed_holo_dark.png b/res/drawable-xxhdpi/ic_call_missed_holo_dark.png
new file mode 100644
index 0000000..8919fd3
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_call_missed_holo_dark.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_call_outgoing_holo_dark.png b/res/drawable-xxhdpi/ic_call_outgoing_holo_dark.png
new file mode 100644
index 0000000..192bbf6
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_call_outgoing_holo_dark.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_call_voicemail_holo_dark.png b/res/drawable-xxhdpi/ic_call_voicemail_holo_dark.png
new file mode 100644
index 0000000..ac5b83b
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_call_voicemail_holo_dark.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_cancel_holo_light.png b/res/drawable-xxhdpi/ic_cancel_holo_light.png
new file mode 100644
index 0000000..c2f5b5e
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_cancel_holo_light.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_close_dk.png b/res/drawable-xxhdpi/ic_close_dk.png
new file mode 100644
index 0000000..2472da8
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_close_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_contact_info.png b/res/drawable-xxhdpi/ic_contact_info.png
new file mode 100644
index 0000000..e5d2939
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_contact_info.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_dial_action_call.png b/res/drawable-xxhdpi/ic_dial_action_call.png
new file mode 100644
index 0000000..12a5c07
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_dial_action_call.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_dial_action_delete.png b/res/drawable-xxhdpi/ic_dial_action_delete.png
new file mode 100644
index 0000000..a7ff1b1
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_dial_action_delete.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_dial_action_vm.png b/res/drawable-xxhdpi/ic_dial_action_vm.png
new file mode 100644
index 0000000..acac8d8
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_dial_action_vm.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_dialer_fork_add_call.png b/res/drawable-xxhdpi/ic_dialer_fork_add_call.png
new file mode 100644
index 0000000..1657da4
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_dialer_fork_add_call.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_dialer_fork_current_call.png b/res/drawable-xxhdpi/ic_dialer_fork_current_call.png
new file mode 100644
index 0000000..f25cce6
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_dialer_fork_current_call.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_dialer_fork_tt_keypad.png b/res/drawable-xxhdpi/ic_dialer_fork_tt_keypad.png
new file mode 100644
index 0000000..7ac4d8b
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_dialer_fork_tt_keypad.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_fav_undo_dk.png b/res/drawable-xxhdpi/ic_fav_undo_dk.png
new file mode 100644
index 0000000..4b7dfc4
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_fav_undo_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_menu_all_contacts_dk.png b/res/drawable-xxhdpi/ic_menu_all_contacts_dk.png
new file mode 100644
index 0000000..ae4037e
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_menu_all_contacts_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_menu_delete_dk.png b/res/drawable-xxhdpi/ic_menu_delete_dk.png
new file mode 100644
index 0000000..88445fc
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_menu_delete_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_menu_dialpad_dk.png b/res/drawable-xxhdpi/ic_menu_dialpad_dk.png
new file mode 100644
index 0000000..09cc2f8
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_menu_dialpad_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_menu_history_dk.png b/res/drawable-xxhdpi/ic_menu_history_dk.png
new file mode 100644
index 0000000..3664705
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_menu_history_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_menu_history_lt.png b/res/drawable-xxhdpi/ic_menu_history_lt.png
new file mode 100644
index 0000000..779bc06
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_menu_history_lt.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_menu_overflow_dk.png b/res/drawable-xxhdpi/ic_menu_overflow_dk.png
new file mode 100644
index 0000000..004f26b
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_menu_overflow_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_menu_overflow_lt.png b/res/drawable-xxhdpi/ic_menu_overflow_lt.png
new file mode 100644
index 0000000..b9f0c3d
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_menu_overflow_lt.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_phone_dk.png b/res/drawable-xxhdpi/ic_phone_dk.png
new file mode 100644
index 0000000..de9387d
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_phone_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_play_active_holo_dark.png b/res/drawable-xxhdpi/ic_play_active_holo_dark.png
new file mode 100644
index 0000000..fc34243
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_play_active_holo_dark.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_play_holo_dark.png b/res/drawable-xxhdpi/ic_play_holo_dark.png
new file mode 100644
index 0000000..3037027
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_play_holo_dark.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_play_holo_light.png b/res/drawable-xxhdpi/ic_play_holo_light.png
new file mode 100644
index 0000000..b7b425c
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_play_holo_light.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_star_marked_as_fav.png b/res/drawable-xxhdpi/ic_star_marked_as_fav.png
new file mode 100644
index 0000000..3eeff4c
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_star_marked_as_fav.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_bt_dk.png b/res/drawable-xxhdpi/ic_vm_bt_dk.png
new file mode 100644
index 0000000..0cb69bd
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_bt_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_minus_dis.png b/res/drawable-xxhdpi/ic_vm_minus_dis.png
new file mode 100644
index 0000000..578d409
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_minus_dis.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_minus_dk.png b/res/drawable-xxhdpi/ic_vm_minus_dk.png
new file mode 100644
index 0000000..80bc75a
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_minus_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_pause_dis.png b/res/drawable-xxhdpi/ic_vm_pause_dis.png
new file mode 100644
index 0000000..44adfde
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_pause_dis.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_pause_dk.png b/res/drawable-xxhdpi/ic_vm_pause_dk.png
new file mode 100644
index 0000000..47fb136
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_pause_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_phone_broadcast_dk.png b/res/drawable-xxhdpi/ic_vm_phone_broadcast_dk.png
new file mode 100644
index 0000000..ee12670
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_phone_broadcast_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_play_dis.png b/res/drawable-xxhdpi/ic_vm_play_dis.png
new file mode 100644
index 0000000..9ad3d68
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_play_dis.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_play_dk.png b/res/drawable-xxhdpi/ic_vm_play_dk.png
new file mode 100644
index 0000000..c47b7e0
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_play_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_plus_dis.png b/res/drawable-xxhdpi/ic_vm_plus_dis.png
new file mode 100644
index 0000000..aad67ca
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_plus_dis.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_plus_dk.png b/res/drawable-xxhdpi/ic_vm_plus_dk.png
new file mode 100644
index 0000000..b23dfab
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_plus_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_sound_off_dis.png b/res/drawable-xxhdpi/ic_vm_sound_off_dis.png
new file mode 100644
index 0000000..bab4a43
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_sound_off_dis.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_sound_off_dk.png b/res/drawable-xxhdpi/ic_vm_sound_off_dk.png
new file mode 100644
index 0000000..1c13101
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_sound_off_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_sound_on_dis.png b/res/drawable-xxhdpi/ic_vm_sound_on_dis.png
new file mode 100644
index 0000000..ed3a173
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_sound_on_dis.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_vm_sound_on_dk.png b/res/drawable-xxhdpi/ic_vm_sound_on_dk.png
new file mode 100644
index 0000000..c04b8d1
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_vm_sound_on_dk.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_voice_search.png b/res/drawable-xxhdpi/ic_voice_search.png
new file mode 100644
index 0000000..4c17d2b
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_voice_search.png
Binary files differ
diff --git a/res/drawable-xxhdpi/list_item_avatar_bg.png b/res/drawable-xxhdpi/list_item_avatar_bg.png
new file mode 100644
index 0000000..fcfe2da
--- /dev/null
+++ b/res/drawable-xxhdpi/list_item_avatar_bg.png
Binary files differ
diff --git a/res/drawable-xxhdpi/list_selector_disabled_holo_dark.9.png b/res/drawable-xxhdpi/list_selector_disabled_holo_dark.9.png
new file mode 100644
index 0000000..26234b1
--- /dev/null
+++ b/res/drawable-xxhdpi/list_selector_disabled_holo_dark.9.png
Binary files differ
diff --git a/res/drawable-xxhdpi/no_favorites_banner.png b/res/drawable-xxhdpi/no_favorites_banner.png
new file mode 100644
index 0000000..0e2a4fa
--- /dev/null
+++ b/res/drawable-xxhdpi/no_favorites_banner.png
Binary files differ
diff --git a/res/drawable-xxhdpi/shadow_contact_photo.png b/res/drawable-xxhdpi/shadow_contact_photo.png
new file mode 100644
index 0000000..bfeb0ff
--- /dev/null
+++ b/res/drawable-xxhdpi/shadow_contact_photo.png
Binary files differ
diff --git a/res/drawable/bottom_border_background_pressed.xml b/res/drawable/bottom_border_background_pressed.xml
new file mode 100644
index 0000000..fc5a5b8
--- /dev/null
+++ b/res/drawable/bottom_border_background_pressed.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:drawable="@drawable/bottom_border_background" />
+    <item android:drawable="@drawable/list_selector_background_transition_holo_light" />
+</layer-list>
\ No newline at end of file
diff --git a/res/drawable/btn_call.xml b/res/drawable/btn_call.xml
index abce983..ae2f6c0 100644
--- a/res/drawable/btn_call.xml
+++ b/res/drawable/btn_call.xml
@@ -24,9 +24,6 @@
     <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
     <item android:state_focused="true"  android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_disabled_holo_dark" />
     <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/list_selector_disabled_holo_dark" />
-    <item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/btn_call_pressed" />
-    <item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/btn_call_pressed" />
     <item android:state_focused="true"                                                             android:drawable="@drawable/list_focused_holo" />
     <item                                                                                          android:drawable="@android:color/transparent" />
 </selector>
-
diff --git a/res/drawable/contact_list_item_background.xml b/res/drawable/contact_list_item_background.xml
new file mode 100644
index 0000000..5637f4d
--- /dev/null
+++ b/res/drawable/contact_list_item_background.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true" android:drawable="@drawable/bottom_border_background_pressed"  />
+    <item android:drawable="@drawable/bottom_border_background" />
+</selector>
diff --git a/res/drawable/ic_arrow.xml b/res/drawable/ic_arrow.xml
new file mode 100644
index 0000000..f97623b
--- /dev/null
+++ b/res/drawable/ic_arrow.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2013 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+        android:src="@drawable/ic_arrow_am"
+        android:autoMirrored="true">
+</bitmap>
\ No newline at end of file
diff --git a/res/drawable/ic_minus.xml b/res/drawable/ic_minus.xml
index f36bf8d..2bd0699 100644
--- a/res/drawable/ic_minus.xml
+++ b/res/drawable/ic_minus.xml
@@ -15,6 +15,6 @@
 -->
 
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_enabled="false" android:drawable="@drawable/ic_vm_minus_dk" />
+    <item android:state_enabled="false" android:drawable="@drawable/ic_vm_minus_dis" />
     <item android:drawable="@drawable/ic_vm_minus_dk" />
 </selector>
diff --git a/res/layout/all_contacts_activity.xml b/res/layout/all_contacts_activity.xml
new file mode 100644
index 0000000..a913027
--- /dev/null
+++ b/res/layout/all_contacts_activity.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_marginTop="?android:attr/actionBarSize"
+    android:id="@+id/all_contacts_frame">
+    <fragment android:name="com.android.dialer.list.AllContactsFragment"
+              android:id="@+id/all_contacts_fragment"
+              android:layout_width="match_parent"
+              android:layout_height="match_parent" />
+</FrameLayout>
diff --git a/res/layout/call_detail.xml b/res/layout/call_detail.xml
index c9cc7d9..53f6b8d 100644
--- a/res/layout/call_detail.xml
+++ b/res/layout/call_detail.xml
@@ -73,10 +73,10 @@
         </view>
 
         <LinearLayout
-            android:id="@+id/blue_separator"
+            android:id="@+id/separator"
             android:layout_width="match_parent"
             android:layout_height="1dip"
-            android:background="@android:color/holo_blue_light"
+            android:background="@color/background_dialer_light"
             android:layout_below="@+id/contact_background_sizer"
         />
         <View
@@ -126,7 +126,7 @@
             android:id="@+id/voicemail_container"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_below="@id/blue_separator"
+            android:layout_below="@id/separator"
             android:paddingBottom="@dimen/call_detail_button_spacing">
             <!-- The voicemail fragment will be put here. -->
         </LinearLayout>
diff --git a/res/layout/call_log_list_item.xml b/res/layout/call_log_list_item.xml
index 5a6c446..1d368f6 100644
--- a/res/layout/call_log_list_item.xml
+++ b/res/layout/call_log_list_item.xml
@@ -19,6 +19,7 @@
     class="com.android.dialer.calllog.CallLogListItemView"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:id="@+id/call_log_list_item"
     android:orientation="vertical"
     android:background="@drawable/bottom_border_background"
 >
@@ -38,8 +39,7 @@
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_centerVertical="true"
-            android:layout_marginStart="@dimen/call_log_outer_margin"
-            android:layout_marginEnd="@dimen/call_log_outer_margin"
+            android:padding="@dimen/call_log_outer_margin"
             android:orientation="horizontal"
             android:gravity="center_vertical"
             android:background="?android:attr/selectableItemBackground"
@@ -59,8 +59,6 @@
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
-                android:paddingTop="@dimen/call_log_inner_margin"
-                android:paddingBottom="@dimen/call_log_inner_margin"
                 android:orientation="vertical"
                 android:gravity="center_vertical"
                 android:layout_marginStart="@dimen/call_log_inner_margin"
@@ -71,7 +69,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginEnd="@dimen/call_log_icon_margin"
                     android:textColor="?attr/call_log_primary_text_color"
-                    android:textSize="18sp"
+                    android:textSize="16sp"
                     android:singleLine="true"
                 />
                 <LinearLayout
@@ -85,8 +83,7 @@
                         android:layout_height="wrap_content"
                         android:layout_marginEnd="@dimen/call_log_icon_margin"
                         android:textColor="?attr/call_log_secondary_text_color"
-                        android:textStyle="bold"
-                        android:textSize="14sp"
+                        android:textSize="12sp"
                         android:singleLine="true"
                         android:ellipsize="marquee"
                         />
@@ -112,7 +109,7 @@
                         android:layout_marginEnd="@dimen/call_log_icon_margin"
                         android:layout_gravity="center_vertical"
                         android:textColor="?attr/call_log_secondary_text_color"
-                        android:textSize="14sp"
+                        android:textSize="12sp"
                         android:singleLine="true"
                     />
                 </LinearLayout>
@@ -139,12 +136,10 @@
         android:paddingTop="@dimen/call_log_inner_margin"
         android:paddingBottom="@dimen/call_log_inner_margin" />
 
-    <View
-        android:id="@+id/call_log_divider"
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:layout_marginStart="@dimen/call_log_outer_margin"
-        android:layout_marginEnd="@dimen/call_log_outer_margin"
-        android:background="#55ffffff"
-    />
+    <!-- Displays the extra link section -->
+    <ViewStub android:id="@+id/link_stub"
+              android:layout="@layout/call_log_list_item_extra"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"/>
+
 </view>
diff --git a/res/layout/call_log_list_item_extra.xml b/res/layout/call_log_list_item_extra.xml
new file mode 100644
index 0000000..fbf71f6
--- /dev/null
+++ b/res/layout/call_log_list_item_extra.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  ~ Copyright (C) 2013 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+
+<!-- Can't use merge here because this is referenced via a ViewStub -->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+             android:layout_width="match_parent"
+             android:layout_height="wrap_content"
+             android:id="@+id/badge_container">
+
+    <View android:layout_width="match_parent"
+          android:layout_height="1px"
+          android:layout_marginStart="@dimen/call_log_outer_margin"
+          android:layout_marginEnd="@dimen/call_log_outer_margin"
+          android:background="@color/favorite_contacts_separator_color"/>
+
+    <LinearLayout android:id="@+id/badge_link_container"
+                  android:layout_width="match_parent"
+                  android:layout_height="wrap_content"
+                  android:paddingStart="@dimen/call_log_outer_margin"
+                  android:paddingEnd="@dimen/call_log_outer_margin"
+                  android:paddingTop="0dip"
+                  android:paddingBottom="0dip"
+                  android:background="?android:attr/selectableItemBackground"
+                  android:clickable="true">
+        <ImageView android:layout_width="wrap_content"
+                   android:layout_height="wrap_content"
+                   android:id="@+id/badge_image"
+                   android:padding="@dimen/call_log_outer_margin"/>
+        <TextView android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:id="@+id/badge_text"
+                  android:textColor="@color/dialpad_primary_text_color"
+                  android:layout_gravity="center_vertical"
+                  android:layout_weight="1"/>
+        <ImageView android:id="@+id/dismiss_button"
+                   android:layout_width="wrap_content"
+                   android:layout_height="wrap_content"
+                   android:paddingTop="8dip"
+                   android:src="@drawable/ic_close_dk"
+                   android:background="?android:attr/selectableItemBackground"
+                   android:visibility="gone"
+                   android:contentDescription="@string/description_dismiss"/>
+    </LinearLayout>
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/dialpad.xml b/res/layout/dialpad.xml
index 60240bc..4fc3e83 100644
--- a/res/layout/dialpad.xml
+++ b/res/layout/dialpad.xml
@@ -36,24 +36,28 @@
             xmlns:android="http://schemas.android.com/apk/res/android"
             android:id="@+id/one"
             style="@style/DialtactsDialpadButtonStyle"
-            android:clickable="true" >
-            <TextView
-                android:id="@+id/dialpad_key_number"
+            android:clickable="true"
+            android:focusable="true" >
+            <LinearLayout
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:textColor="@color/dialpad_primary_text_color"
-                android:textSize="@dimen/dialpad_key_numbers_size"
-                android:fontFamily="sans-serif-light"
-                android:layout_centerInParent="true" />
-            <ImageView
-                android:id="@+id/dialpad_key_voicemail"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:src="@drawable/ic_dial_action_vm"
-                android:paddingRight="11dp"
-                android:layout_alignBaseline="@id/dialpad_key_number"
-                android:baselineAlignBottom="true"
-                android:layout_alignParentRight="true" />
+                android:layout_gravity="center" >
+                <TextView
+                    android:id="@+id/dialpad_key_number"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:textColor="@color/dialpad_primary_text_color"
+                    android:textSize="@dimen/dialpad_key_numbers_size"
+                    android:fontFamily="sans-serif-light"/>
+                <ImageView
+                    android:id="@+id/dialpad_key_voicemail"
+                    android:layout_width="@dimen/dialpad_key_letters_width"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/ic_dial_action_vm"
+                    android:paddingLeft="11dp"
+                    android:scaleType="fitStart"
+                    android:baselineAlignBottom="true" />
+            </LinearLayout>
         </com.android.dialer.dialpad.DialpadKeyButton>
         <include layout="@layout/dialpad_key" android:id="@+id/two"/>
         <include layout="@layout/dialpad_key" android:id="@+id/three"/>
@@ -82,7 +86,8 @@
             xmlns:android="http://schemas.android.com/apk/res/android"
             android:id="@+id/star"
             style="@style/DialtactsDialpadButtonStyle"
-            android:clickable="true" >
+            android:clickable="true"
+            android:focusable="true" >
             <TextView
                 android:id="@id/dialpad_key_number"
                 android:layout_width="wrap_content"
@@ -90,14 +95,16 @@
                 android:textColor="@color/dialpad_secondary_text_color"
                 android:textSize="@dimen/dialpad_key_special_characters_size"
                 android:fontFamily="sans-serif-light"
-                android:layout_centerInParent="true" />
+                android:paddingRight="@dimen/dialpad_key_letters_width"
+                android:layout_gravity="center" />
         </com.android.dialer.dialpad.DialpadKeyButton>
         <include layout="@layout/dialpad_key" android:id="@+id/zero"/>
         <com.android.dialer.dialpad.DialpadKeyButton
             xmlns:android="http://schemas.android.com/apk/res/android"
             android:id="@+id/pound"
             style="@style/DialtactsDialpadButtonStyle"
-            android:clickable="true" >
+            android:clickable="true"
+            android:focusable="true" >
             <TextView
                 android:id="@id/dialpad_key_number"
                 android:layout_width="wrap_content"
@@ -105,7 +112,8 @@
                 android:textColor="@color/dialpad_secondary_text_color"
                 android:textSize="@dimen/dialpad_key_special_characters_size"
                 android:fontFamily="sans-serif-light"
-                android:layout_centerInParent="true" />
+                android:paddingRight="@dimen/dialpad_key_letters_width"
+                android:layout_gravity="center" />
         </com.android.dialer.dialpad.DialpadKeyButton>
     </TableRow>
 </TableLayout>
diff --git a/res/layout/dialpad_chooser_list_item.xml b/res/layout/dialpad_chooser_list_item.xml
index 853ca47..5ba88ca 100644
--- a/res/layout/dialpad_chooser_list_item.xml
+++ b/res/layout/dialpad_chooser_list_item.xml
@@ -4,9 +4,9 @@
      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.
@@ -27,6 +27,7 @@
 
     <TextView android:id="@+id/text"
         android:textAppearance="?android:attr/textAppearanceMedium"
+        android:textColor="@color/dialpad_text_color"
         android:layout_gravity="center_vertical"
         android:layout_width="0dip"
         android:layout_weight="1"
diff --git a/res/layout/dialpad_fragment.xml b/res/layout/dialpad_fragment.xml
index 178e33b..e673cea 100644
--- a/res/layout/dialpad_fragment.xml
+++ b/res/layout/dialpad_fragment.xml
@@ -19,11 +19,12 @@
     android:layout_height="match_parent"
     android:orientation="vertical" >
     <!-- spacer view -->
-    <Space
+    <View
+        android:id="@+id/spacer"
         android:layout_width="match_parent"
         android:layout_height="0dp"
         android:layout_weight="1" />
-    <LinearLayout
+    <view class="com.android.dialer.dialpad.DialpadFragment$HoverIgnoringLinearLayout"
         android:id="@+id/top"
         android:layout_width="match_parent"
         android:layout_height="0dp"
@@ -41,7 +42,7 @@
             android:id="@+id/digits_container"
             android:layout_width="match_parent"
             android:layout_height="0px"
-            android:layout_weight="@integer/dialpad_layout_weight_digits_new"
+            android:layout_weight="@integer/dialpad_layout_weight_digits"
             android:layout_marginTop="@dimen/dialpad_vertical_margin"
             android:gravity="center" >
 
@@ -50,9 +51,14 @@
                 android:layout_width="0dip"
                 android:layout_weight="1"
                 android:layout_height="match_parent"
+                android:paddingLeft="10dp"
                 android:gravity="center"
+                android:scrollHorizontally="true"
+                android:singleLine="true"
                 android:textAppearance="@style/DialtactsDigitsTextAppearance"
                 android:textColor="@color/dialpad_text_color"
+                android:textCursorDrawable="@null"
+                android:fontFamily="sans-serif-light"
                 android:nextFocusRight="@+id/overflow_menu"
                 android:background="@android:color/transparent" />
 
@@ -76,13 +82,13 @@
         <LinearLayout
             android:id="@+id/dialButtonContainer"
             android:layout_width="match_parent"
-            android:layout_height="0px"
-            android:layout_weight="@integer/dialpad_layout_weight_additional_buttons"
+            android:layout_height="@dimen/fake_action_bar_height"
             android:layout_gravity="center_horizontal"
-            android:background="@color/dialpad_primary_text_color">
+            android:background="@color/dialpad_primary_text_color"
+            android:layoutDirection="locale">
             <ImageButton
                 android:id="@+id/call_history_on_dialpad_button"
-                android:layout_height="@dimen/fake_action_bar_height"
+                android:layout_height="match_parent"
                 android:layout_width="@dimen/fake_menu_button_min_width"
                 android:layout_gravity="bottom|start"
                 android:background="@drawable/btn_call"
@@ -100,7 +106,7 @@
                 android:src="@drawable/ic_dial_action_call" />
             <ImageButton
                 android:id="@+id/overflow_menu_on_dialpad"
-                android:layout_height="@dimen/fake_action_bar_height"
+                android:layout_height="match_parent"
                 android:layout_width="@dimen/fake_menu_button_min_width"
                 android:layout_gravity="bottom|end"
                 android:background="@drawable/btn_call"
@@ -118,5 +124,5 @@
             android:layout_weight="1"
         />
 
-    </LinearLayout>
+    </view>
 </view>
diff --git a/res/layout/dialpad_key.xml b/res/layout/dialpad_key.xml
index b204c20..c104f8a 100644
--- a/res/layout/dialpad_key.xml
+++ b/res/layout/dialpad_key.xml
@@ -18,25 +18,28 @@
 <com.android.dialer.dialpad.DialpadKeyButton
     xmlns:android="http://schemas.android.com/apk/res/android"
     style="@style/DialtactsDialpadButtonStyle"
-    android:clickable="true" >
-    <TextView
-        android:id="@+id/dialpad_key_number"
+    android:clickable="true"
+    android:focusable="true" >
+    <LinearLayout
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:textColor="@color/dialpad_primary_text_color"
-        android:textSize="@dimen/dialpad_key_numbers_size"
-        android:fontFamily="sans-serif-light"
-        android:layout_centerInParent="true"
-        />
-    <TextView
-        android:id="@+id/dialpad_key_letters"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:textColor="@color/dialpad_secondary_text_color"
-        android:textSize="@dimen/dialpad_key_letters_size"
-        android:paddingRight="11dp"
-        android:layout_alignBaseline="@id/dialpad_key_number"
-        android:fontFamily="sans-serif-light"
-        android:layout_alignParentRight="true"
-        />
+        android:layout_gravity="center">
+      <TextView
+          android:id="@+id/dialpad_key_number"
+          android:layout_width="wrap_content"
+          android:layout_height="wrap_content"
+          android:textColor="@color/dialpad_primary_text_color"
+          android:textSize="@dimen/dialpad_key_numbers_size"
+          android:fontFamily="sans-serif-light"
+          />
+      <TextView
+          android:id="@+id/dialpad_key_letters"
+          android:layout_width="@dimen/dialpad_key_letters_width"
+          android:layout_height="wrap_content"
+          android:textColor="@color/dialpad_secondary_text_color"
+          android:textSize="@dimen/dialpad_key_letters_size"
+          android:paddingLeft="11dp"
+          android:fontFamily="sans-serif-light"
+          />
+    </LinearLayout>
 </com.android.dialer.dialpad.DialpadKeyButton>
\ No newline at end of file
diff --git a/res/layout/dialtacts_activity.xml b/res/layout/dialtacts_activity.xml
index 580e0bf..e2c3853 100644
--- a/res/layout/dialtacts_activity.xml
+++ b/res/layout/dialtacts_activity.xml
@@ -31,36 +31,48 @@
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:paddingLeft="16dp"
-            android:paddingRight="23dp"
             android:id="@+id/search_view_container"
-            android:background="@color/searchbox_background_color"
-            android:orientation="horizontal"
-            android:gravity="center_vertical">
-            <EditText
-                android:id="@+id/search_view"
-                android:layout_width="0dp"
-                android:layout_height="56dp"
-                android:layout_weight="1"
-                android:inputType="textFilter"/>
-            <ImageView
-                android:id="@+id/search_close_button"
-                android:layout_height="40dp"
-                android:layout_width="40dp"
-                android:padding="6dp"
-                android:src="@drawable/ic_close_dk"
-                android:clickable="true"
-                android:background="?android:attr/selectableItemBackground"
-                android:visibility="gone" />
-            <ImageView
-                android:id="@+id/voice_search_button"
-                android:layout_height="40dp"
-                android:layout_width="40dp"
-                android:padding="6dp"
-                android:src="@drawable/ic_voice_search"
-                android:clickable="true"
-                android:contentDescription="@string/description_start_voice_search"
-                android:background="?android:attr/selectableItemBackground" />
+            android:orientation="vertical"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="horizontal"
+                android:paddingLeft="16dp"
+                android:paddingRight="23dp"
+                android:background="@color/searchbox_background_color"
+                android:gravity="center_vertical">
+                <EditText
+                    android:id="@+id/search_view"
+                    android:layout_width="0dp"
+                    android:layout_height="56dp"
+                    android:layout_weight="1"
+                    android:textSize="@dimen/search_text_size"
+                    android:inputType="textFilter"/>
+                <ImageView
+                    android:id="@+id/search_close_button"
+                    android:layout_height="40dp"
+                    android:layout_width="40dp"
+                    android:padding="6dp"
+                    android:src="@drawable/ic_close_dk"
+                    android:clickable="true"
+                    android:background="?android:attr/selectableItemBackground"
+                    android:visibility="gone" />
+                <ImageView
+                    android:id="@+id/voice_search_button"
+                    android:layout_height="40dp"
+                    android:layout_width="40dp"
+                    android:padding="3dp"
+                    android:src="@drawable/ic_voice_search"
+                    android:clickable="true"
+                    android:contentDescription="@string/description_start_voice_search"
+                    android:background="?android:attr/selectableItemBackground" />
+            </LinearLayout>
+            <View
+                android:id="@+id/searchbox_divider"
+                android:layout_height="1dp"
+                android:layout_width="match_parent"
+                android:background="@color/background_dialer_light" />
         </LinearLayout>
         <FrameLayout
             android:layout_height="0dp"
@@ -70,6 +82,41 @@
             android:clipChildren="false">
         </FrameLayout>
         <View
+            android:layout_height="2dp"
+            android:layout_width="match_parent"
+            android:background="#33999999"
+        />
+        <FrameLayout
+            android:layout_height="@dimen/fake_action_bar_height"
+            android:layout_width="match_parent"
+            android:id="@+id/fake_action_bar"
+            android:background="@color/actionbar_background_color">
+            <ImageButton
+                android:id="@+id/call_history_button"
+                android:layout_width="@dimen/fake_menu_button_min_width"
+                android:layout_height="match_parent"
+                android:layout_gravity="bottom|start"
+                android:background="?android:attr/selectableItemBackground"
+                android:contentDescription="@string/action_menu_call_history_description"
+                android:src="@drawable/ic_menu_history_dk"/>
+            <ImageButton
+                android:id="@+id/dialpad_button"
+                android:layout_width="@dimen/fake_menu_button_min_width"
+                android:layout_height="match_parent"
+                android:layout_gravity="bottom|center"
+                android:background="?android:attr/selectableItemBackground"
+                android:contentDescription="@string/action_menu_dialpad_button"
+                android:src="@drawable/ic_menu_dialpad_dk"/>
+            <ImageButton
+                 android:id="@+id/overflow_menu"
+                 android:layout_width="@dimen/fake_menu_button_min_width"
+                 android:layout_height="match_parent"
+                 android:layout_gravity="bottom|end"
+                 android:src="@drawable/ic_menu_overflow_dk"
+                 android:contentDescription="@string/action_menu_overflow_description"
+                 android:background="?android:attr/selectableItemBackground"/>
+        </FrameLayout>
+        <View
             android:id="@+id/dialtacts_bottom_padding"
             android:layout_width="match_parent"
             android:layout_height="?android:attr/actionBarSize"
diff --git a/res/layout/phone_disambig_item.xml b/res/layout/phone_disambig_item.xml
index 02d596b..a097ce7 100755
--- a/res/layout/phone_disambig_item.xml
+++ b/res/layout/phone_disambig_item.xml
@@ -30,11 +30,13 @@
         android:textStyle="bold"
         android:textAppearance="?android:attr/textAppearanceMedium" />
 
+    <!-- Phone number should be displayed ltr -->
     <TextView
         android:id="@android:id/text2"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="-4dip"
-        android:textAppearance="?android:attr/textAppearanceSmall" />
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:textDirection="ltr" />
 
 </LinearLayout>
diff --git a/res/layout/phone_favorite_regular_row_view.xml b/res/layout/phone_favorite_regular_row_view.xml
index 137d3da..012c9be 100644
--- a/res/layout/phone_favorite_regular_row_view.xml
+++ b/res/layout/phone_favorite_regular_row_view.xml
@@ -17,15 +17,14 @@
 <!-- Layout parameters are set programmatically. -->
 <view
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/contact_tile_frequent_phone"
+    android:id="@+id/contact_tile"
     class="com.android.dialer.list.PhoneFavoriteRegularRowView">
 
     <RelativeLayout
         android:id="@+id/contact_favorite_card"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:focusable="true"
-        android:background="?android:attr/selectableItemBackground" >
+        android:focusable="true">
 
         <com.android.contacts.common.widget.LayoutSuppressingQuickContactBadge
             android:id="@+id/contact_tile_quick"
@@ -33,25 +32,51 @@
             android:layout_height="64dip"
             android:layout_alignParentLeft="true"
             android:layout_alignParentStart="true"
-            android:nextFocusRight="@id/contact_tile_frequent_phone"
+            android:nextFocusRight="@id/contact_tile"
             android:scaleType="centerCrop"
             android:focusable="true" />
 
-        <TextView
-            android:id="@id/contact_tile_name"
+        <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_marginLeft="8dip"
             android:layout_marginStart="8dip"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:layout_marginTop="8dip"
             android:layout_toRightOf="@id/contact_tile_quick"
             android:layout_toEndOf="@id/contact_tile_quick"
-            android:singleLine="true"
-            android:fadingEdge="horizontal"
-            android:fadingEdgeLength="3dip"
-            android:ellipsize="marquee"
-            android:textAlignment="viewStart" />
+            android:layout_centerVertical="true"
+            android:orientation="vertical">
+            <TextView
+                android:id="@id/contact_tile_name"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:textSize="16sp"
+                android:textColor="@color/dialtacts_primary_text_color"/>
+                android:singleLine="true"
+                android:fadingEdge="horizontal"
+                android:fadingEdgeLength="3dip"
+                android:ellipsize="marquee"
+                android:textAlignment="viewStart" />
+            <TextView
+                android:id="@+id/contact_tile_phone_type"
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                android:textSize="12sp"
+                android:ellipsize="marquee"
+                android:singleLine="true"
+                android:textColor="@color/dialtacts_secondary_text_color" />
+        </LinearLayout>
+        <ImageView
+            android:id="@+id/contact_favorite_star"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignRight="@id/contact_tile_quick"
+            android:layout_alignEnd="@id/contact_tile_quick"
+            android:layout_alignBottom="@id/contact_tile_quick"
+            android:layout_marginRight="7dip"
+            android:layout_marginEnd="7dip"
+            android:layout_marginBottom="7dip"
+            android:src="@drawable/ic_star_marked_as_fav"
+            android:visibility="gone" />
 
     </RelativeLayout>
 
@@ -71,16 +96,24 @@
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
             android:layout_weight="1"
+            android:paddingStart="@dimen/favorites_row_undo_text_side_padding"
+            android:paddingEnd="@dimen/favorites_row_undo_text_side_padding"
             android:text="@string/favorite_hidden"
             android:ellipsize="marquee"
             android:fontFamily="sans-serif"
-            android:textStyle="italic"
             android:textSize="14sp"
             android:textColor="@color/undo_dialogue_text_color"
             android:singleLine="true"
             android:gravity="center_vertical"
-            android:textDirection="ltr"
-            android:textAlignment="center" />
+            android:textDirection="ltr" />
+
+        <View
+            android:id="@+id/undo_separator"
+            android:layout_width="1dip"
+            android:layout_height="match_parent"
+            android:background="@color/undo_dialogue_text_color"
+            android:layout_marginTop="16dp"
+            android:layout_marginBottom="16dp" />
 
         <LinearLayout
             android:id="@+id/favorite_remove_undo_button"
@@ -88,7 +121,9 @@
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
             android:clickable="true"
-            android:layout_marginRight="30dp"
+            android:paddingStart="30dp"
+            android:paddingEnd="30dp"
+            android:background="?android:attr/selectableItemBackground"
             android:gravity="center_vertical">
 
             <ImageView
diff --git a/res/layout/phone_favorite_tile_view.xml b/res/layout/phone_favorite_tile_view.xml
index 6242b96..8806d39 100644
--- a/res/layout/phone_favorite_tile_view.xml
+++ b/res/layout/phone_favorite_tile_view.xml
@@ -18,11 +18,11 @@
     android:paddingBottom="1dip"
     android:paddingRight="1dip"
     android:paddingEnd="1dip"
-    android:background="@color/background_dialer_light"
+    android:id="@+id/contact_tile"
     class="com.android.dialer.list.PhoneFavoriteSquareTileView" >
 
     <RelativeLayout
-        android:id="@+id/contact_tile_favorite_card"
+        android:id="@+id/contact_favorite_card"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:focusable="true">
@@ -39,25 +39,44 @@
             android:layout_height="match_parent"
             android:background="@drawable/shadow_contact_photo"/>
 
-        <TextView
-            android:id="@+id/contact_tile_name"
+        <LinearLayout
             android:layout_width="match_parent"
-            android:layout_height="@dimen/contact_tile_info_button_height_and_width"
-            android:gravity="center_vertical"
-            android:textColor="@color/contact_tile_name_color"
-            android:fontFamily="sans-serif-light"
-            android:singleLine="true"
-            android:textSize="16sp"
-            android:fadingEdge="horizontal"
-            android:fadingEdgeLength="3dip"
-            android:ellipsize="marquee"
-            android:layout_alignParentBottom="true"
+            android:layout_height="wrap_content"
             android:paddingLeft="8dp"
             android:paddingRight="@dimen/contact_tile_info_button_height_and_width"
             android:paddingStart="8dp"
             android:paddingEnd="@dimen/contact_tile_info_button_height_and_width"
-            android:textAlignment="viewStart" />
-
+            android:paddingBottom="4dp"
+            android:layout_alignParentBottom="true"
+            android:orientation="vertical" >
+            <TextView
+                android:id="@+id/contact_tile_name"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center_vertical"
+                android:textColor="@color/contact_tile_name_color"
+                android:fontFamily="sans-serif"
+                android:singleLine="true"
+                android:textSize="16sp"
+                android:fadingEdge="horizontal"
+                android:fadingEdgeLength="3dip"
+                android:ellipsize="marquee"
+                android:textAlignment="viewStart" />
+            <TextView
+                android:id="@+id/contact_tile_phone_type"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center_vertical"
+                android:textColor="@color/contact_tile_name_color"
+                android:fontFamily="sans-serif"
+                android:singleLine="true"
+                android:textSize="12sp"
+                android:paddingBottom="2dp"
+                android:fadingEdge="horizontal"
+                android:fadingEdgeLength="3dip"
+                android:ellipsize="marquee"
+                android:textAlignment="viewStart" />
+        </LinearLayout>
         <View
             android:id="@+id/contact_tile_push_state"
             android:layout_width="match_parent"
@@ -66,6 +85,25 @@
             android:nextFocusRight="@+id/contact_tile_secondary_button"
             android:background="?android:attr/selectableItemBackground" />
 
+        <ImageView
+            android:id="@+id/contact_favorite_star"
+            android:background="?android:attr/selectableItemBackground"
+            android:layout_height="@dimen/contact_tile_info_button_height_and_width"
+            android:layout_width="@dimen/contact_tile_info_button_height_and_width"
+            android:paddingLeft="8dp"
+            android:paddingRight="8dp"
+            android:paddingStart="8dp"
+            android:paddingEnd="8dp"
+            android:paddingTop="8dp"
+            android:paddingBottom="8dp"
+            android:layout_alignParentBottom="true"
+            android:layout_alignParentRight="true"
+            android:layout_alignParentEnd="true"
+            android:src="@drawable/ic_star_marked_as_fav"
+            android:scaleType="center"
+            android:visibility="gone" />
+
+
         <ImageButton
             android:id="@id/contact_tile_secondary_button"
             android:src="@drawable/ic_contact_info"
@@ -86,24 +124,24 @@
     </RelativeLayout>
 
     <LinearLayout
-        android:id="@+id/favorite_tile_remove_dialogue"
+        android:id="@+id/favorite_remove_dialogue"
         android:orientation="vertical"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_alignParentLeft="true"
         android:layout_alignParentStart="true"
         android:gravity="center_horizontal"
+        android:background="@color/background_dialer_light"
         android:alpha="0.0"
         android:visibility="gone">
 
         <TextView
-            android:id="@+id/favorite_tile_remove_dialogue_text"
+            android:id="@+id/favorite_remove_dialogue_text"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:text="@string/favorite_hidden"
             android:ellipsize="marquee"
             android:fontFamily="sans-serif"
-            android:textStyle="italic"
             android:textSize="14sp"
             android:textColor="@color/undo_dialogue_text_color"
             android:lines="2"
@@ -112,11 +150,12 @@
             android:textAlignment="center" />
 
         <LinearLayout
-            android:id="@+id/favorite_tile_remove_undo_button"
+            android:id="@+id/favorite_remove_undo_button"
             android:orientation="vertical"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_alignParentLeft="true"
+            android:background="?android:attr/selectableItemBackground"
             android:clickable="true"
             android:layout_weight="1"
             android:layout_gravity="bottom">
@@ -129,7 +168,7 @@
             <TextView
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:fontFamily="sans-serif-light"
+                android:fontFamily="sans-serif"
                 android:textSize="13sp"
                 android:ellipsize="marquee"
                 android:singleLine="true"
diff --git a/res/layout/phone_favorites_fragment.xml b/res/layout/phone_favorites_fragment.xml
index 2b6bbe4..363565a 100644
--- a/res/layout/phone_favorites_fragment.xml
+++ b/res/layout/phone_favorites_fragment.xml
@@ -15,20 +15,24 @@
 -->
 
 <!-- Use LinearLayout + FrameLayout, just to rely on android:divider and android:showDividers -->
-<LinearLayout
+<RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical"
     android:divider="?android:attr/dividerHorizontal"
     android:showDividers="end"
     android:clipChildren="false"
     android:background="@color/background_dialer_light">
+
     <FrameLayout
+        android:id="@+id/contact_tile_frame"
         android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1">
-        <ListView
+        android:layout_height="match_parent"
+        android:layout_alignParentTop="true"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true">
+
+        <com.android.dialer.list.PhoneFavoriteListView
             android:id="@+id/contact_tile_list"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
@@ -37,43 +41,22 @@
             android:fadingEdge="none"
             android:divider="@null" />
 
-        <TextView
-            android:id="@+id/contact_tile_list_empty"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:gravity="center"
-            android:layout_marginTop="@dimen/empty_message_top_margin"
-            android:textColor="?android:attr/textColorSecondary"
-            android:textAppearance="?android:attr/textAppearanceLarge"/>
+        <ImageView
+            android:id="@+id/contact_tile_drag_shadow_overlay"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:visibility="gone"/>
     </FrameLayout>
-    <FrameLayout
-        android:layout_height="@dimen/fake_action_bar_height"
+
+    <include
+        android:id="@+id/phone_no_favorites_view"
         android:layout_width="match_parent"
-        android:id="@+id/fake_action_bar"
-        android:background="@color/actionbar_background_color">
-        <ImageButton
-            android:id="@+id/call_history_button"
-            android:layout_width="@dimen/fake_menu_button_min_width"
-            android:layout_height="match_parent"
-            android:layout_gravity="bottom|start"
-            android:background="?android:attr/selectableItemBackground"
-            android:contentDescription="@string/action_menu_call_history_description"
-            android:src="@drawable/ic_menu_history_dk"/>
-        <ImageButton
-            android:id="@+id/dialpad_button"
-            android:layout_width="@dimen/fake_menu_button_min_width"
-            android:layout_height="match_parent"
-            android:layout_gravity="bottom|center"
-            android:background="?android:attr/selectableItemBackground"
-            android:contentDescription="@string/description_search_button"
-            android:src="@drawable/ic_menu_dialpad_dk"/>
-        <ImageButton
-             android:id="@+id/overflow_menu"
-             android:layout_width="@dimen/fake_menu_button_min_width"
-             android:layout_height="match_parent"
-             android:layout_gravity="bottom|end"
-             android:src="@drawable/ic_menu_overflow_dk"
-             android:contentDescription="@string/action_menu_overflow_description"
-             android:background="?android:attr/selectableItemBackground"/>
-    </FrameLayout>
-</LinearLayout>
+        android:layout_height="match_parent"
+        android:layout_below="@id/contact_tile_frame"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true"
+        android:layout_alignParentBottom="true"
+        layout="@layout/phone_no_favorites"
+        android:visibility="gone"/>
+
+</RelativeLayout>
diff --git a/res/layout/phone_loading_contacts.xml b/res/layout/phone_loading_contacts.xml
deleted file mode 100644
index afc3322..0000000
--- a/res/layout/phone_loading_contacts.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?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.
--->
-
-<!-- "Loading" text with a spinner, which is used in PhoneFavorite screen -->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:minHeight="?android:attr/listPreferredItemHeight"
-    android:orientation="horizontal"
-    android:gravity="start|center_vertical">
-
-    <ProgressBar
-        android:indeterminate="true"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/progress_spinner"/>
-
-    <TextView
-        android:id="@+id/title"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/contact_list_loading"
-        android:textAppearance="?android:attr/textAppearanceMedium"
-        android:layout_marginStart="4dip" />
-
-</LinearLayout>
diff --git a/res/layout/phone_no_favorites.xml b/res/layout/phone_no_favorites.xml
new file mode 100644
index 0000000..1a0079f
--- /dev/null
+++ b/res/layout/phone_no_favorites.xml
@@ -0,0 +1,63 @@
+<?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.
+-->
+
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:minHeight="?android:attr/listPreferredItemHeight">
+
+    <include
+        android:id="@+id/show_all_contact_button_in_nofav"
+        layout="@layout/show_all_contact_button"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_alignParentBottom="true"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true"/>
+
+    <LinearLayout
+        android:id="@+id/nofavorite_frame"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:layout_gravity="center"
+        android:gravity="center"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true"
+        android:layout_alignParentTop="true"
+        android:layout_above="@id/show_all_contact_button_in_nofav">
+
+        <ImageView
+            android:id="@+id/nofavorite_image"
+            android:layout_height="wrap_content"
+            android:layout_width="match_parent"
+            android:gravity="center_horizontal"
+            android:src="@drawable/no_favorites_banner"
+            android:layout_marginBottom="14dp"/>
+
+        <TextView
+            android:id="@+id/title"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center_horizontal"
+            android:text="@string/no_favorites"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textColor="@color/nofavorite_text_color"/>
+    </LinearLayout>
+
+</RelativeLayout>
diff --git a/res/layout/show_all_contact_button.xml b/res/layout/show_all_contact_button.xml
index 824d10c..30060d7 100644
--- a/res/layout/show_all_contact_button.xml
+++ b/res/layout/show_all_contact_button.xml
@@ -14,7 +14,7 @@
      limitations under the License.
 -->
 
-<LinearLayout
+<com.android.contacts.common.list.ContactListItemView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/show_all_contact_button"
     android:orientation="horizontal"
@@ -23,23 +23,4 @@
     android:layout_height="match_parent"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:gravity="center"
-    android:background="?android:attr/selectableItemBackground"
-    android:focusable="true">
-
-    <ImageView
-        android:layout_height="match_parent"
-        android:layout_width="wrap_content"
-        android:layout_gravity="center"
-        android:src="@drawable/ic_menu_all_contacts_dk"
-        android:layout_marginEnd="10dp"/>
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="match_parent"
-        android:textSize="14sp"
-        android:ellipsize="marquee"
-        android:singleLine="true"
-        android:text="@string/show_all_contacts_button_text"
-        android:textAlignment="center"
-        android:gravity="center"/>
-</LinearLayout>
\ No newline at end of file
+    android:focusable="true" />
\ No newline at end of file
diff --git a/res/layout/show_all_contacts_fragment.xml b/res/layout/show_all_contacts_fragment.xml
index 0a95f27..ddc99e8 100644
--- a/res/layout/show_all_contacts_fragment.xml
+++ b/res/layout/show_all_contacts_fragment.xml
@@ -19,12 +19,11 @@
     android:id="@+id/pinned_header_list_layout"
     android:orientation="vertical"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:layout_marginTop="?android:attr/actionBarSize">
+    android:layout_height="match_parent">
 
     <!-- Shown only when an Account filter is set.
          - paddingTop should be here to show "shade" effect correctly. -->
-    <!-- TODO {klp} Remove the filter header. -->
+    <!-- TODO: Remove the filter header. -->
     <include
         android:id="@+id/account_filter_header_container"
         layout="@layout/account_filter_header" />
@@ -35,7 +34,7 @@
         android:layout_weight="1" >
         <view
             class="com.android.contacts.common.list.PinnedHeaderListView"
-            style="@style/NewDialtactsTheme"
+            style="@style/DialtactsTheme"
             android:id="@android:id/list"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
diff --git a/res/layout/tile_interactions_teaser_view.xml b/res/layout/tile_interactions_teaser_view.xml
new file mode 100644
index 0000000..4104446
--- /dev/null
+++ b/res/layout/tile_interactions_teaser_view.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2013 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+<com.android.dialer.list.TileInteractionTeaserView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/actionbar_background_color"
+    android:paddingBottom="@dimen/favorites_row_bottom_padding"
+    android:paddingTop="@dimen/favorites_row_top_padding">
+
+    <LinearLayout
+        android:id="@+id/swipeable_content"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="horizontal" >
+
+        <ImageView
+            android:id="@+id/arrow"
+            android:layout_width="48dp"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="16dp"
+            android:layout_marginRight="12dp"
+            android:duplicateParentState="true"
+            android:src="@drawable/ic_arrow"
+            android:visibility="invisible" />
+
+        <TextView
+            android:id="@+id/text"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:layout_marginBottom="12dp"
+            android:layout_marginTop="12dp"
+            android:layout_weight="1"
+            android:duplicateParentState="true"
+            android:fontFamily="sans-serif-light"
+            android:text="@string/contact_tooltip"
+            android:textColor="@color/undo_dialogue_text_color"
+            android:textSize="16sp" />
+
+        <View
+            android:id="@+id/dismiss_separator"
+            android:layout_width="1dip"
+            android:layout_height="match_parent"
+            android:background="@color/undo_dialogue_text_color"
+            android:layout_marginTop="16dp"
+            android:layout_marginBottom="16dp"
+            android:layout_marginStart="16dp"/>
+
+        <ImageButton
+            android:id="@+id/dismiss_button"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:background="?android:attr/selectableItemBackground"
+            android:clickable="true"
+            android:scaleType="center"
+            android:src="@drawable/ic_cancel_holo_light"
+            style="@style/DismissButtonStyle"
+            android:contentDescription="@string/description_dismiss"/>
+
+    </LinearLayout>
+
+</com.android.dialer.list.TileInteractionTeaserView>
diff --git a/res/menu/dialtacts_options.xml b/res/menu/dialtacts_options.xml
index b306979..7e84818 100644
--- a/res/menu/dialtacts_options.xml
+++ b/res/menu/dialtacts_options.xml
@@ -21,9 +21,12 @@
         android:id="@+id/menu_clear_frequents"
         android:title="@string/menu_clear_frequents" />
     <item
-        android:id="@+id/add_contact"
+        android:id="@+id/menu_add_contact"
         android:title="@string/menu_newContact"/>
     <item
+        android:id="@+id/menu_all_contacts"
+        android:title="@string/menu_allContacts"/>
+    <item
         android:id="@+id/menu_call_settings"
         android:title="@string/call_settings"
         android:orderInCategory="2" />
diff --git a/res/menu/phone_favorite_options.xml b/res/menu/phone_favorite_options.xml
deleted file mode 100644
index e37759c..0000000
--- a/res/menu/phone_favorite_options.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 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.
--->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
-    <item
-        android:id="@+id/menu_import_export"
-        android:title="@string/menu_import_export" />
-
-    <item
-        android:id="@+id/menu_clear_frequents"
-        android:title="@string/menu_clear_frequents" />
-
-    <item
-        android:id="@+id/menu_accounts"
-        android:title="@string/menu_accounts" />
-</menu>
diff --git a/res/mipmap-xxxhdpi/ic_launcher_phone.png b/res/mipmap-xxxhdpi/ic_launcher_phone.png
new file mode 100644
index 0000000..8c92ac1
--- /dev/null
+++ b/res/mipmap-xxxhdpi/ic_launcher_phone.png
Binary files differ
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 9c97713..e9e0676 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Buffering…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Haal stemboodskappe…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Kon nie stemboodskap haal nie."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nuut"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Ouer"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Slegs oproepe met stemboodskappe"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Slegs inkomende oproepe"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Slegs uitgaande oproepe"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"nommer om te skakel"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Oproepgeskiedenis"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Meer opsies"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"belblad"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopieer"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Wys slegs uitgaande"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Wys slegs inkomende"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Voeg wagtyd by"</string>
     <string name="call_settings" msgid="7666474782093693667">"Instellings"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Nuwe kontak"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Alle kontakte"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Oproepdetails"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Kon nie details vir die versoekte oproep lees nie."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Gebruik raak-nommerbord"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Bel <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Stuur teksboodskap aan <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Ongeluisterde stemboodskap"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Begin stemsoektog"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Bel <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Onbekend"</string>
     <string name="voicemail" msgid="3851469869202611441">"Stemboodskap"</string>
@@ -134,20 +133,32 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Laai tans van SIM-kaart af…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"SIM-kaartkontakte"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Heraktiveer die Mense-program om hierdie kenmerk te gebruik."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Tik \'n naam of foon"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Voer \'n naam of foonnommer in"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Alles"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Gemis"</string>
-    <string name="recentMissed_empty" msgid="5427113551557296665">"Geen onlangsgemiste oproepe nie."</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"Geen onlangs gemiste oproepe nie."</string>
     <string name="recentVoicemails_empty" msgid="5163114119598014048">"Geen onlangse stemposse nie."</string>
     <string name="show_all_contacts" msgid="1732256558071778056">"Wys alle kontakte"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Wys net gunstelinge"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Geskiedenis"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Alle kontakte"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Alle kontakte"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Verwyder uit gunstelinge"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Ontdoen"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Bel <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Voeg by kontakte"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nuwe gemiste oproepe"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Gunstelinge en kontakte \nwat jy gereeld bel, sal hier wys.\nSo, begin bel."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Tik prent om alle getalle te sien of druk en hou om te herorganiseer"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Maak toe"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 125af10..9b38a74 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"በማቋት ላይ…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"ድምፅ ደብዳቤ ፈልጎ በማግኘት ላይ…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"ድምፅ ደብዳቤን ፈልጎ ማግኘት አልተቻለም፡፡"</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"አዲስ"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"የድሮ"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"የድምጽ መልዕክት ያላቸው ጥሪዎች ብቻ"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"ገቢ ጥሪዎች ብቻ"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"ወጪ ጥሪዎች ብቻ"</string>
@@ -84,16 +82,18 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"ቁጥር ለመደወል"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"የስልክ ጥሪ ታሪክ"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"ተጨማሪ አማራጮች"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"የመደወያ ሰሌዳ"</string>
     <string name="menu_copy" msgid="6108677035381940698">"ቅዳ"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"ወጪዎቹን ብቻ አሳይ"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"ገቢዎቹን ብቻ አሳይ"</string>
     <string name="menu_show_missed_only" msgid="154473166059743996">"ያመለጡትን ብቻ አሳይ"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"የድምፅ መልዕክቶች ብቻ አሳይ"</string>
     <string name="menu_show_all_calls" msgid="7560347482073345885">"ሁሉንም ጥሪዎች አሳይ"</string>
-    <string name="add_2sec_pause" msgid="9214012315201040129">"2 ሰከንድ ፋታ አክል"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"2 ሴኮንድ ፋታ አክል"</string>
     <string name="add_wait" msgid="3360818652790319634">"ጠብቅአክል"</string>
     <string name="call_settings" msgid="7666474782093693667">"ቅንብሮች"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"አዲስ ዕውቅያ"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"ሁሉም ዕውቂያዎች"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"የጥሪ ዝርዝሮች"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"ለተጠየቀው ጥሪዝርዝሮችንማንበብ አልተቻለም።"</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"የድምፅ ቁልፍ ሰሌዳን ንካ"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"ጥሪ <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"የፅሁፍ መልዕክት ወደ <xliff:g id="NAME">%1$s</xliff:g> ላክ"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"ያልተሰማ የድምፅመልዕክት"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"በድምፅ ፍለጋ ይጀምሩ"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"ደውል<xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"ያልታወቀ"</string>
     <string name="voicemail" msgid="3851469869202611441">"የድምፅ መልዕክት"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"ከSIM ካርድ ላይ በመጫን ላይ..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"የSIM ካርድ ዕውቂያዎች"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"ይህንን ባህሪ ለመጠቀም የሰዎች መተግበሪያውን ዳግም ያንቁት።"</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"ስም ወይም ስልክ ይተይቡ"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"ስም ወይም ስልክ ቁጥር ይተይቡ"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"ሁሉም"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"ያመለጡ"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"ምንም በቅርብ ጊዜ ያመለጡ ጥሪዎች የሉም።"</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"ሁሉንም ዕውቂያዎች አሳይ"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"ተወዳጆችን ብቻ አሳይ"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"ታሪክ"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"ሁሉም እውቂያዎች"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"ሁሉም እውቂያዎች"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"ከተወዳጆች ውስጥ ተወግዷል።"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"ቀልብስ"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"ለ<xliff:g id="NUMBER">%s</xliff:g> ደውል"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"ወደ ዕውቂያዎች አክል"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> አዲስ ያልተመለሱ ጥሪዎች"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"ተወዳጆች እና አብዛኛውን ጊዜ\nየሚደውሉላቸው እውቂያዎች እዚህ ይታያሉ።\nስለዚህ መደወል ይጀምሩ።"</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"ሁሉንም ቁጥሮች ለማየት ምስሉን መታ ያድርጉ ወይም ቅደም ተከተላቸውን ለማስተካከል ተጭነው ይያዙ"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"አሰናብት"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 426fdcd..5b60eb9 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"جارٍ التخزين مؤقتًا..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"جارٍ جلب البريد الصوتي..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"تعذر جلب البريد الصوتي."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"جديد"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"أقدم"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"المكالمات التي تشتمل على بريد صوتي فقط"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"المكالمات الواردة فقط"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"المكالمات الصادرة فقط"</string>
@@ -84,16 +82,18 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"الرقم الذي سيتم طلبه"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"سجل المكالمات"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"مزيد من الخيارات"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"لوحة الطلب"</string>
     <string name="menu_copy" msgid="6108677035381940698">"نسخ"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"عرض الصادر فقط"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"عرض الوارد فقط"</string>
     <string name="menu_show_missed_only" msgid="154473166059743996">"عرض الفائت فقط"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"إظهار رسائل البريد الصوتي فقط"</string>
     <string name="menu_show_all_calls" msgid="7560347482073345885">"عرض جميع المكالمات"</string>
-    <string name="add_2sec_pause" msgid="9214012315201040129">"إضافة فترة إيقاف مؤقت مدتها ثانيتان"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"إضافة ثانيتين إيقاف مؤقت"</string>
     <string name="add_wait" msgid="3360818652790319634">"إضافة انتظار"</string>
     <string name="call_settings" msgid="7666474782093693667">"الإعدادات"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"جهة اتصال جديدة"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"جميع جهات الاتصال"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"تفاصيل المكالمة"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"تعذرت قراءة تفاصيل المكالمة المطلوبة."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"استخدام لوحة مفاتيح نغمات باللمس"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"الاتصال بـ <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"إرسال رسالة نصية إلى <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"البريد الصوتي غير المسموع"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"بدء البحث الصوتي"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"الاتصال بالرقم <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"غير معروف"</string>
     <string name="voicemail" msgid="3851469869202611441">"البريد الصوتي"</string>
@@ -126,15 +125,15 @@
     <string name="dialerDialpadHintText" msgid="5824490365898349041">"طلب لإضافة مكالمة"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"عدد الدقائق:<xliff:g id="MINUTES">%s</xliff:g>، عددالثواني: <xliff:g id="SECONDS">%s</xliff:g>"</string>
     <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"لم يتم إرسال المكالمة"</string>
-    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"لإعداد البريد الصوتي، انتقل إلى القائمة &gt; الإعدادات."</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"‏لإعداد البريد الصوتي، انتقل إلى القائمة &gt; الإعدادات."</string>
     <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"للاتصال بالبريد الصوتي، يجب أولاً إيقاف وضع الطائرة."</string>
     <string name="contact_list_loading" msgid="5488620820563977329">"جارٍ التحميل..."</string>
     <string name="imei" msgid="3045126336951684285">"IMEI"</string>
     <string name="meid" msgid="6210568493746275750">"MEID"</string>
-    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"جارٍ التحميل من بطاقة SIM…"</string>
-    <string name="simContacts_title" msgid="27341688347689769">"بطاقة SIM وجهات الاتصال"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"‏جارٍ التحميل من بطاقة SIM…"</string>
+    <string name="simContacts_title" msgid="27341688347689769">"‏بطاقة SIM وجهات الاتصال"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"أعد تمكين تطبيق الأشخاص لاستخدام هذه الميزة."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"اكتب اسمًا أو رقم هاتف"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"أدخل اسمًا أو رقم هاتف"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"الكل"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"فائتة"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"لا توجد مكالمات فائتة حديثة."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"عرض جميع جهات الاتصال"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"عرض المفضلة فقط"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"السجل"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"٠"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"١"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"٢"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"٣"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"٤"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"٥"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"٦"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"٧"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"٨"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"٩"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"جميع جهات الاتصال"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"جميع جهات الاتصال"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"تمت إزالة جهة الاتصال من المفضلة"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"تراجع"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"الاتصال بالرقم <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"إضافة إلى جهات الاتصال"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> من المكالمات الجديدة الفائتة"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"جهات الاتصال المفضلة وجهات الاتصال التي\nتتصل غالبًا بها ستظهر هنا.\nلذا عليك البدء في الاتصال."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"انقر على الصورة للاطلاع على كل الأرقام أو اضغط مع الاستمرار لإعادة الترتيب"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"تجاهل"</string>
 </resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
new file mode 100644
index 0000000..11b5bef
--- /dev/null
+++ b/res/values-az-rAZ/strings.xml
@@ -0,0 +1,162 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"Nömrə yığan"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"Telefon"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"Zəng jurnalı"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"Mətnli mesaj göndərin"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"Zəng <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Zəng etmədən öncə nömrəyə düzəliş edin"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Kontaktlara əlavə edin"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Zəng jurnalından silin"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Zəng jurnalını təmizləyin"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Səsli məktubu silin"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Səsli məktubu paylaşın"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"Zəng jurnalı boşdur."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Zəng jurnalı silinsin?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Bütün zəng qeydləriniz silinəcək."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Zəng jurnalı silinir..."</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"Səsli məktub"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Səsli məktub"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Oxudun"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> adlı şəxsdən yeni səsli məktub"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"Səsli məktub oxudula bilmədi."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"Buferlənir..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"Səsli məktub əldə edilir..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Səsli məktub əldə edilə bilmədi."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"Yalnız səsli məktublu zənglər"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"Yalnız daxil olan zənglər"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"Yalnız gedən zənglər"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"Yalnız buraxılmış zənglər"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Səsli poçt serverinə birləşmək olmur."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Səsli poçt serveri ilə bağlantı yaratmaq olmur. Yeni səsli poçtlar gözlənilir."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Səsli poçtunuzu quraşdırın."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Audio əlçatımlı deyil."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Quraşdırın"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Səsli poçta zəng edin"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Ən alçaq sürət"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"Zəif sürət"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"Normal sürət"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"Yüksək sürət"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Ən yüksək sürət"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"Nömrə seçin"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"Nömrə seçin"</string>
+    <string name="make_primary" msgid="5829291915305113983">"Bu seçimi yadda saxla"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"bir"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"iki"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"üç"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"dörd"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"beş"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"altı"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"yeddi"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"səkkiz"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"doqquz"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"ulduz"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"sıfır"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"funt"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"Səsli məktub"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"axtarış"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"nömrə yığın"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"yığmaq üçün nömrə"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"Çağrı Tarixçəsi"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"Daha çox seçim"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"nömrə yığımı paneli"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"Kopyalayın"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Yalnız gedəni göstərin"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"Yalnız gələni göstərin"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"Yalnız buraxılmışı göstərin"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Yalnız səsli mesajları göstərin"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"Bütün zəngləri göstərin"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"2 saniyəlik pauza əlavə edin"</string>
+    <string name="add_wait" msgid="3360818652790319634">"Gözləmə əlavə edin"</string>
+    <string name="call_settings" msgid="7666474782093693667">"Ayarlar"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"Yeni kontakt"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Bütün kontaktlar"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"Zəng detalları"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"Sorğu göndərilmiş zəng üçün detallar oxuna bilmədi."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Toxunma ton klaviaturasını istifadə edin"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Davam edən zəngə qayıdın"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Zəng əlavə edin"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"Gələn zəng"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"Gedən zəng"</string>
+    <string name="type_missed" msgid="2720502601640509542">"Buraxılmış zəng"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"Səsli poçt"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"Gələn zənglər"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Səsli məktubu oxudun"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Gələn zəng"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Gedən zəng"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Buraxılmış zəng"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Səsli məktub"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"Kontakt əlavə edin"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g> adlı kontakta baxın"</string>
+    <string name="description_call" msgid="3443678121983852666">"Zəng edin: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g> mesaj göndər"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Eşidilməmiş səsli mesaj"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Səs axtarışına başlayın"</string>
+    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> zəng edin"</string>
+    <string name="unknown" msgid="740067747858270469">"Naməlum"</string>
+    <string name="voicemail" msgid="3851469869202611441">"Səsli poçt"</string>
+    <string name="private_num" msgid="6374339738119166953">"Şəxsi nömrə"</string>
+    <string name="payphone" msgid="4864313342828942922">"Telefon ödənişi"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Nömrə yığmaq üçün klaviaturadan istifadə ediin"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"Zəng əlavə etmək üçün nömrə yığın"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> dəqiqə <xliff:g id="SECONDS">%s</xliff:g> saniyə"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Zəng edilmədi"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Səsli poçtu ayarlamaq üçün Menyu, sonra isə &gt; Ayarlara daxil olun."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Səsli poçta zəng etmək üçün Təyyarə rejimini söndürün."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"Yüklənir…"</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM kartdan yüklənir..."</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM kart kontaktları"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"Bu özəlliyi istifadə etmək üçün Adamlar tətbiqinə yenidən icazə verin."</string>
+    <!-- no translation found for dialer_hint_find_contact (8798845521253672403) -->
+    <skip />
+    <string name="call_log_all_title" msgid="3566738938889333307">"Bütün"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Buraxılmış"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"Buraxılmış zəng yoxdur"</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"Səsli məktub yoxdur."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"Bütün kontaktları göstər"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"Yalnız seçilmişləri göstər"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"Tarixçə"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Bütün kontaktlar"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Bütün kontaktlar"</string>
+    <!-- no translation found for favorite_hidden (5011234945140912047) -->
+    <skip />
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Geri qaytar"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g> nömrəsinə zəng edin"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Kontaktlara əlavə edin"</string>
+</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
new file mode 100644
index 0000000..59f922c
--- /dev/null
+++ b/res/values-az/strings.xml
@@ -0,0 +1,157 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"Nömrə yığan"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"Telefon"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"Zəng jurnalı"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"Mətnli mesaj göndərin"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"Zəng <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Zəng etmədən öncə nömrəyə düzəliş edin"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Kontaktlara əlavə edin"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Zəng jurnalından silin"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Zəng jurnalını təmizləyin"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Səsli məktubu silin"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Səsli məktubu paylaşın"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"Zəng jurnalı boşdur."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Zəng jurnalı silinsin?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Bütün zəng qeydləriniz silinəcək."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Zəng jurnalı silinir..."</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"Səsli məktub"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Səsli məktub"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Oxudun"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> adlı şəxsdən yeni səsli məktub"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"Səsli məktub oxudula bilmədi."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"Buferlənir..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"Səsli məktub əldə edilir..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Səsli məktub əldə edilə bilmədi."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"Yalnız səsli məktublu zənglər"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"Yalnız daxil olan zənglər"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"Yalnız gedən zənglər"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"Yalnız buraxılmış zənglər"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Səsli poçt serverinə birləşmək olmur."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Səsli poçt serveri ilə bağlantı yaratmaq olmur. Yeni səsli poçtlar gözlənilir."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Səsli poçtunuzu quraşdırın."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Audio əlçatımlı deyil."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Quraşdırın"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Səsli poçta zəng edin"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Ən alçaq sürət"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"Zəif sürət"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"Normal sürət"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"Yüksək sürət"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Ən yüksək sürət"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"Nömrə seçin"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"Nömrə seçin"</string>
+    <string name="make_primary" msgid="5829291915305113983">"Bu seçimi yadda saxla"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"bir"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"iki"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"üç"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"dörd"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"beş"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"altı"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"yeddi"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"səkkiz"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"doqquz"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"ulduz"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"sıfır"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"funt"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"Səsli məktub"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"axtarış"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"nömrə yığın"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"yığmaq üçün nömrə"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"Çağrı Tarixçəsi"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"Daha çox seçim"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"nömrə yığımı paneli"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"Kopyalayın"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Yalnız gedəni göstərin"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"Yalnız gələni göstərin"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"Yalnız buraxılmışı göstərin"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Yalnız səsli mesajları göstərin"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"Bütün zəngləri göstərin"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"2 saniyəlik pauza əlavə edin"</string>
+    <string name="add_wait" msgid="3360818652790319634">"Gözləmə əlavə edin"</string>
+    <string name="call_settings" msgid="7666474782093693667">"Ayarlar"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"Yeni kontakt"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"Zəng detalları"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"Sorğu göndərilmiş zəng üçün detallar oxuna bilmədi."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Toxunma ton klaviaturasını istifadə edin"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Davam edən zəngə qayıdın"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Zəng əlavə edin"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"Gələn zəng"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"Gedən zəng"</string>
+    <string name="type_missed" msgid="2720502601640509542">"Buraxılmış zəng"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"Səsli poçt"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"Gələn zənglər"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Səsli məktubu oxudun"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Gələn zəng"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Gedən zəng"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Buraxılmış zəng"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Səsli məktub"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"Kontakt əlavə edin"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g> adlı kontakta baxın"</string>
+    <string name="description_call" msgid="3443678121983852666">"Zəng edin: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g> mesaj göndər"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Eşidilməmiş səsli mesaj"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Səs axtarışına başlayın"</string>
+    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> zəng edin"</string>
+    <string name="unknown" msgid="740067747858270469">"Naməlum"</string>
+    <string name="voicemail" msgid="3851469869202611441">"Səsli poçt"</string>
+    <string name="private_num" msgid="6374339738119166953">"Şəxsi nömrə"</string>
+    <string name="payphone" msgid="4864313342828942922">"Telefon ödənişi"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Nömrə yığmaq üçün klaviaturadan istifadə ediin"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"Zəng əlavə etmək üçün nömrə yığın"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> dəqiqə <xliff:g id="SECONDS">%s</xliff:g> saniyə"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Zəng edilmədi"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Səsli poçtu ayarlamaq üçün Menyu, sonra isə &gt; Ayarlara daxil olun."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Səsli poçta zəng etmək üçün Təyyarə rejimini söndürün."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"Yüklənir…"</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM kartdan yüklənir..."</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM kart kontaktları"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"Bu özəlliyi istifadə etmək üçün Adamlar tətbiqinə yenidən icazə verin."</string>
+    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Ad və ya telefon yazın"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"Bütün"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Buraxılmış"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"Buraxılmış zəng yoxdur"</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"Səsli məktub yoxdur."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"Bütün kontaktları göstər"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"Yalnız seçilmişləri göstər"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"Tarixçə"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Bütün kontaktlar"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Bütün kontaktlar"</string>
+    <string name="favorite_hidden" msgid="4837366417440391323">"Seçilmişlərdən gizlədilib"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Geri qaytar"</string>
+</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 3dfb6cd..d659839 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Запiс у буфер..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Атрыманне галасавой пошты..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Немагчыма атрымаць галасавую пошту."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Новы"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Старэй"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Толькi выклiкі з галасавой поштай"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Толькi ўваходныя выклiкi"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Толькi выходныя выклiкi"</string>
@@ -85,6 +83,8 @@
     <!-- no translation found for action_menu_call_history_description (9018442816219748968) -->
     <skip />
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Дадатковыя параметры"</string>
+    <!-- no translation found for action_menu_dialpad_button (1425910318049008136) -->
+    <skip />
     <string name="menu_copy" msgid="6108677035381940698">"Капіраваць"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Паказаць толькі выходныя"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Паказаць толькі ўваходныя"</string>
@@ -95,6 +95,8 @@
     <string name="add_wait" msgid="3360818652790319634">"Дадаецца, чакайце"</string>
     <string name="call_settings" msgid="7666474782093693667">"Налады"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Новы кантакт"</string>
+    <!-- no translation found for menu_allContacts (6948308384034051670) -->
+    <skip />
     <string name="callDetailTitle" msgid="5340227785196217938">"Падрабязнасці выкліку"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Не атрымалася прачытаць падрабязнасці запытанага выкліка."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Выкарыстанне тонавай клавіятуры"</string>
@@ -117,7 +119,8 @@
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непраслуханая галасавая пошта"</string>
     <!-- no translation found for description_start_voice_search (520539488194946012) -->
     <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <!-- no translation found for call_log_empty_gecode (2019639420045039861) -->
+    <skip />
     <string name="menu_callNumber" msgid="997146291983360266">"Выклікаць <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Невядомы"</string>
     <string name="voicemail" msgid="3851469869202611441">"Галасавая пошта"</string>
@@ -135,7 +138,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Загрузка з SIM-карты..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Кантакты SIM-карты"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Каб выкарыстоўваць гэту функцыю, паўторна ўключыце прыкладанне \"Кантакты\"."</string>
-    <!-- no translation found for dialer_hint_find_contact (9190419749917566623) -->
+    <!-- no translation found for dialer_hint_find_contact (8798845521253672403) -->
     <skip />
     <!-- no translation found for call_log_all_title (3566738938889333307) -->
     <skip />
@@ -151,12 +154,44 @@
     <skip />
     <!-- no translation found for call_log_activity_title (4612824396355272023) -->
     <skip />
+    <!-- no translation found for dialpad_0_number (8859392433961251108) -->
+    <skip />
+    <!-- no translation found for dialpad_1_number (6536740525419909212) -->
+    <skip />
+    <!-- no translation found for dialpad_2_number (4941546415280852148) -->
+    <skip />
+    <!-- no translation found for dialpad_3_number (6539414865185536881) -->
+    <skip />
+    <!-- no translation found for dialpad_4_number (979988372051042362) -->
+    <skip />
+    <!-- no translation found for dialpad_5_number (5492272478939926734) -->
+    <skip />
+    <!-- no translation found for dialpad_6_number (8044579516869379093) -->
+    <skip />
+    <!-- no translation found for dialpad_7_number (4175113016564167123) -->
+    <skip />
+    <!-- no translation found for dialpad_8_number (7949849563865941621) -->
+    <skip />
+    <!-- no translation found for dialpad_9_number (4377059952097526576) -->
+    <skip />
     <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
     <skip />
     <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
     <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
+    <!-- no translation found for favorite_hidden (5011234945140912047) -->
     <skip />
     <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
     <skip />
+    <!-- no translation found for search_shortcut_call_number (7277194656832895870) -->
+    <skip />
+    <!-- no translation found for search_shortcut_add_to_contacts (1853716708655789069) -->
+    <skip />
+    <!-- no translation found for num_missed_calls (8081736535604293886) -->
+    <skip />
+    <!-- no translation found for no_favorites (5212485868783382971) -->
+    <skip />
+    <!-- no translation found for contact_tooltip (7817483485692282287) -->
+    <skip />
+    <!-- no translation found for description_dismiss (2146276780562549643) -->
+    <skip />
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 3fec247..419a191 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Буферира се..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Гласовата поща се извлича..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Гл. поща не можа да бъде извлечена."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Нови"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"По-стари"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Само обаждания с гласова поща"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Само входящи обаждания"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Само изходящи обаждания"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"номер за набиране"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"История на обажданията"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Още опции"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"клавиатура за набиране"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Копиране"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Показване само на изходящите"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Показване само на входящите"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Добавяне на изчакване"</string>
     <string name="call_settings" msgid="7666474782093693667">"Настройки"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Нов контакт"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Всички контакти"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Подробности за обаждане"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Подробностите за заявения разговор не могат да бъдат прочетени."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Използване на тонова клавиатура"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Обаждане до <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Изпращане на SMS до <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непрослушана гласова поща"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"–"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Стартиране на гласово търсене"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Обаждане на <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Неизвестен"</string>
     <string name="voicemail" msgid="3851469869202611441">"Гласова поща"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Зарежда се от SIM карта..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Контакти от SIM карта"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Активирайте отново приложението Хора, за да използвате тази функция."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Въведете име или телефон"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Въведете име или тел. номер"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Всички"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Пропуснати"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Няма скорошни пропуснати обаждания."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Показване на всички контакти"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Показване само на любимите"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"История"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Всички контакти"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Всички контакти"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Премахнато от любимите"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Отмяна"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Обаждане на <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Добавяне в контактите"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> нови пропуснати обаждания"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Любимите и контактите, на\nкоито се обаждате често, ще се показват тук.\nЗапочнете да извършвате обаждания."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Докоснете изображението, за да видите всички номера, или натиснете и задръжте, за да пренаредите"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Отхвърляне"</string>
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index b2f059b..bb658ad 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -30,7 +30,7 @@
     <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Suprimeix missatge de veu"</string>
     <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Comparteix la bústia de veu"</string>
     <string name="recentCalls_empty" msgid="247053222448663107">"El registre de trucades és buit."</string>
-    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Esborrament registre"</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Esborrar el registre?"</string>
     <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Se suprimiran tots els registres de trucades."</string>
     <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Esborrant registre de trucades..."</string>
   <plurals name="notification_voicemail_title">
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"S\'està emmagatzemant a mem. intermèd.…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"S\'està obtenint el correu de veu…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"No s\'ha pogut obtenir el correu de veu."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nous"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Anteriors"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Només trucades amb bústia de veu"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Només trucades entrants"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Només trucades sortints"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"número que es marcarà"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Historial de trucades"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Més opcions"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"teclat"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Copia"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Mostra només trucades sortints"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Mostra només trucades entrants"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Afegeix espera"</string>
     <string name="call_settings" msgid="7666474782093693667">"Configuració"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Contacte nou"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Tots els contactes"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Detalls de la trucada"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"No s\'han pogut llegir els detalls de la trucada sol·licitada."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Utilitza el teclat de tons"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Truca a <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Envia un missatge de text a <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Missatge de veu no escoltat"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Inicia la cerca per veu"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Truca al <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Desconegut"</string>
     <string name="voicemail" msgid="3851469869202611441">"Correu de veu"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"S\'està carregant des de la targeta SIM..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Contactes de la targeta SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Torna a activar l\'aplicació Persones per utilitzar aquesta funció."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Escriu un nom o telèfon"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Escriu un nom o un número de telèfon"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Totes"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Perdudes"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"No hi ha cap trucada perduda recent."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Mostra tots els contactes"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Mostra només els preferits"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Historial"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Tots els contactes"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Tots els contactes"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Eliminat dels preferits"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Desfés"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Truca al <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Afegeix als contactes"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> trucades perdudes noves"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Aquí es mostraran els preferits i els contactes\nals quals truques sovint.\nJa pots començar a trucar."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Toca la imatge per veure tots els números o bé mantén-la premuda per reorganitzar"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Omet"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 70be35f..ee643da 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Ukládání do vyrovnávací paměti…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Načítání hlasové schránky…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Nepodařilo se načíst hlasovou zprávu."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nové"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Starší"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Jen hovory s hlasovou schránkou"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Jen příchozí hovory"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Jen odchozí hovory"</string>
@@ -84,16 +82,18 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"číslo, které chcete vytočit"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Historie volání"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Více možností"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"číselník"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopírovat"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Zobrazit pouze odchozí"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Zobrazit pouze příchozí"</string>
     <string name="menu_show_missed_only" msgid="154473166059743996">"Zobrazit pouze zmeškané"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Zobrazit pouze hlas. schránku"</string>
     <string name="menu_show_all_calls" msgid="7560347482073345885">"Zobrazit všechny hovory"</string>
-    <string name="add_2sec_pause" msgid="9214012315201040129">"Přidat 2s pauzu"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"Přidat pauzu 2 s"</string>
     <string name="add_wait" msgid="3360818652790319634">"Přidat čekání"</string>
     <string name="call_settings" msgid="7666474782093693667">"Nastavení"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Nový kontakt"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Všechny kontakty"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Podrobnosti hovoru"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Detaily požadovaného hovoru nelze načíst."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Použít dotykovou tónovou klávesnici"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Volat kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Odeslat textovou zprávu kontaktu <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nevyslechnutá hlasová zpráva"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"–"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Spustit hlasové vyhledávání"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Zavolat na číslo <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Neznámé"</string>
     <string name="voicemail" msgid="3851469869202611441">"Hlasová schránka"</string>
@@ -134,20 +133,32 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Načítání ze SIM karty..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Kontakty na SIM kartě"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Chcete-li použít tuto funkci, znovu povolte aplikaci Lidé."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Zadejte jméno / telefon"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Zadejte jméno nebo tel. číslo"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Všechny"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Zmeškané"</string>
-    <string name="recentMissed_empty" msgid="5427113551557296665">"Nemáte žádné nedávné zmeškané hovory."</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"Nemáte žádné nedávno zmeškané hovory."</string>
     <string name="recentVoicemails_empty" msgid="5163114119598014048">"Nemáte žádné nedávné hlasové zprávy."</string>
     <string name="show_all_contacts" msgid="1732256558071778056">"Zobrazit všechny kontakty"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Zobrazit pouze oblíbené"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Historie"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Všechny kontakty"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Všechny kontakty"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Odebráno z oblíbených"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Vrátit zpět"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Zavolat na číslo <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Přidat do kontaktů"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"Nové zmeškané hovory: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Zde se bude zobrazovat oblíbený obsah\na kontakty, kterým často voláte.\nStačí jen začít volat."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Klepnutím na fotku zobrazíte všechna čísla a přidržením je můžete seřadit"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Zavřít"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index d2e7cbd..343016a 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Gemmer i buffer..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Henter telefonsvarerbeskeden..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Telefonsvarerbeskeden kunne ikke hentes."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nye"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Ældre"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Kun opkald med telefonsvarer"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Kun indgående opkald"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Kun udgående opkald"</string>
@@ -77,13 +75,14 @@
     <string name="description_image_button_star" msgid="3365919907520767866">"stjernemarker"</string>
     <string name="description_image_button_zero" msgid="4133108949401820710">"nul"</string>
     <string name="description_image_button_pound" msgid="3039765597595889230">"pund"</string>
-    <string name="description_voicemail_button" msgid="3402506823655455591">"voicemail"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"telefonsvarer"</string>
     <string name="description_search_button" msgid="3660807558587384889">"søg"</string>
     <string name="description_dial_button" msgid="1274091017188142646">"ring op"</string>
     <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
     <string name="description_digits_edittext" msgid="8760207516497016437">"nummer at ringe op"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Opkaldshistorik"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Flere valgmuligheder"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"tastatur"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopiér"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Vis kun udgående"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Vis kun indgående"</string>
@@ -93,7 +92,8 @@
     <string name="add_2sec_pause" msgid="9214012315201040129">"Tilføj pause på 2 sek."</string>
     <string name="add_wait" msgid="3360818652790319634">"Tilføj Vent"</string>
     <string name="call_settings" msgid="7666474782093693667">"Indstillinger"</string>
-    <string name="menu_newContact" msgid="1209922412763274638">"Ny kontakt"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"Ny kontaktperson"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Alle kontaktpersoner"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Opkaldsdetaljer"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Detaljerne for det anmodede opkald kunne ikke læses."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Brug touch-tone-tastatur"</string>
@@ -114,12 +114,11 @@
     <string name="description_call" msgid="3443678121983852666">"Ring til <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Send sms til <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Uaflyttet besked på telefonsvareren"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Start stemmesøgning"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Ring til <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Ukendte"</string>
-    <string name="voicemail" msgid="3851469869202611441">"Voicemail"</string>
+    <string name="voicemail" msgid="3851469869202611441">"Telefonsvarer"</string>
     <string name="private_num" msgid="6374339738119166953">"Privat nummer"</string>
     <string name="payphone" msgid="4864313342828942922">"Betalingstelefon"</string>
     <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Brug tastatur til at ringe op"</string>
@@ -134,20 +133,32 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Indlæser fra SIM-kort ..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Kontakter på SIM-kort"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Genaktiver applikationen Personer for at bruge denne funktion."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Skriv navn eller tlf.nr."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Skriv navn eller telefonnummer"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Alle"</string>
-    <string name="call_log_missed_title" msgid="4541142293870638971">"Mistede"</string>
-    <string name="recentMissed_empty" msgid="5427113551557296665">"Ingen nye mistede opkald."</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Ubesvarede"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"Ingen ubesvarede opkald."</string>
     <string name="recentVoicemails_empty" msgid="5163114119598014048">"Ingen nye talebeskeder."</string>
     <string name="show_all_contacts" msgid="1732256558071778056">"Vis alle kontaktpersoner"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Vis kun foretrukne"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Historik"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Alle kontaktpersoner"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Alle kontaktpersoner"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Fjernet fra favoritter"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Fortryd"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Ring til <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Føj til kontaktpersoner"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nye ubesvarede opkald"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Dine foretrukne og de kontaktpersoner, du\noftest ringer til, vises her.\nSå gå du bare i gang med at ringe."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Tryk på billedet for at se alle telefonnumre, eller tryk på billedet, og hold det nede, for at omarrangere"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Annuller"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index af86ae5..a50055b 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Pufferung ..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Mailbox-Nachricht wird abgerufen ..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Abrufen der Nachricht nicht möglich"</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Neu"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Älter"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Nur Mailbox-Anrufe"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Nur eingehende Anrufe"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Nur ausgehende Anrufe"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"Zu wählende Nummer"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Anrufliste"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Mehr Optionen"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"Wähltasten"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopieren"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Nur ausgehende Anrufe anzeigen"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Nur eingehende Anrufe anzeigen"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Warten hinzufügen"</string>
     <string name="call_settings" msgid="7666474782093693667">"Einstellungen"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Neuer Kontakt"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Alle Kontakte"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Anrufdetails"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Details für den angeforderten Anruf konnten nicht gelesen werden."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Telefontastatur verwenden"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> anrufen"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"SMS an <xliff:g id="NAME">%1$s</xliff:g> senden"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nicht abgehörte Mailbox-Nachricht"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Sprachsuche starten"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> wählen"</string>
     <string name="unknown" msgid="740067747858270469">"Unbekannt"</string>
     <string name="voicemail" msgid="3851469869202611441">"Mailbox"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Ladevorgang von SIM-Karte läuft..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Kontakte auf SIM-Karte"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Kontakte-App zur Verwendung dieser Funktion wieder aktivieren"</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Name oder Telefonnummer"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Namen/Telefonnummer eingeben"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Alle"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Entgangen"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Keine entgangenen Anrufe"</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Alle Kontakte anzeigen"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Nur Favoriten anzeigen"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Verlauf"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Alle Kontakte"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Alle Kontakte"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Aus Favoriten entfernt"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Rückgängig machen"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g> wählen"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Zu Kontakten hinzufügen"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> neue verpasste Anrufe"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Sobald Sie Anrufe getätigt haben,\nwerden hier Favoriten und Kontakte angezeigt,\ndie Sie häufig anrufen."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Auf Bild tippen, um alle Nummern zu sehen, oder berühren und halten, um Anordnung zu ändern"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Ablehnen"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index a439bec..061612b 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Αποθ. στη πρ. μνήμη"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Ανάκτηση μην. αυτ. τηελφ."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Δεν ανακτήθηκαν τα μην. αυτ. τηλεφ."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Νέο"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Παλαιότερα"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Μόνο κλήσεις με ηχητικά μηνύματα"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Μόνο εισερχόμενες κλήσεις"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Μόνο εξερχόμενες κλήσεις"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"αριθμός για κλήση"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Ιστορικό κλήσεων"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Περισσότερες επιλογές"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"πληκτρολόγιο κλήσης"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Αντιγραφή"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Εμφάνιση μόνο εξερχόμενων"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Εμφάνιση μόνο εισερχόμενων"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Προσθήκη αναμονής"</string>
     <string name="call_settings" msgid="7666474782093693667">"Ρυθμίσεις"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Νέα επαφή"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Όλες οι επαφές"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Λεπτομέρειες κλήσης"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Δεν είναι δυνατή η ανάγνωση λεπτομερειών της κλήσης που ζητήθηκε."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Χρησιμοποιήστε το πληκτρολόγιο αφής ηχητικών τόνων"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Κλήση του χρήστη <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Αποστολή μηνύματος κειμένου στον χρήστη <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Μηνύματα αυτόματου τηλεφωνητή που δεν έχετε ακούσει"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Έναρξη φωνητικής αναζήτησης"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Κλήση του αριθμού <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Άγνωστος"</string>
     <string name="voicemail" msgid="3851469869202611441">"Αυτόματος τηλεφωνητής"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Φόρτωση από κάρτα SIM…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"Επαφές στην κάρτα SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Ενεργοποιήστε ξανά την εφαρμογή People για να χρησιμοποιήσετε αυτήν τη λειτουργία."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Πληκτρ. όνομα ή τηλέφωνο"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Εισαγάγετε όνομα ή τηλέφωνο"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Όλα"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Αναπάντητη"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Δεν υπάρχουν πρόσφατες αναπάντητες κλήσεις."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Εμφάνιση όλων των επαφών"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Εμφάνιση μόνο των αγαπημένων"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Ιστορικό"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Όλες οι επαφές"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Όλες οι επαφές"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Καταργήθηκε από τα αγαπημένα"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Αναίρεση"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Κλήση του αριθμού <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Προσθήκη στις επαφές"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> νέες αναπάντητες κλήσεις"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Οι αγαπημένες και οι επαφές που\nκαλείτε συχνά θα εμφανίζονται εδώ.\nΞεκινήστε τις κλήσεις."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Πατήστε την εικόνα για να δείτε όλους τους αριθμούς ή πατήστε παρατεταμένα για αναδιάταξη"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Παράβλεψη"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index e3a16f3..b8d7c81 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Buffering…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Fetching voicemail…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Couldn\'t fetch voicemail."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"New"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Older"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Calls with voicemail only"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Incoming calls only"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Outgoing calls only"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"number to dial"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Call History"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"More options"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"dial pad"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Copy"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Show outgoing only"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Show incoming only"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Add wait"</string>
     <string name="call_settings" msgid="7666474782093693667">"Settings"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"New contact"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"All contacts"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Call details"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Couldn\'t read details for the requested call."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Use touch tone keypad"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Call <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Send text message to <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Unheard voicemail"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Start voice search"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Call <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Unknown"</string>
     <string name="voicemail" msgid="3851469869202611441">"Voicemail"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Loading from SIM card…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"SIM card contacts"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Re-enable the People application to use this feature."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Type a name or phone"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Type a name or phone number"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"All"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Missed"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"No recent missed calls."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Show all  contacts"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Show favourites only"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"History"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"All contacts"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"All contacts"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Removed from favourites"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Undo"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Call <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Add to contacts"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> new missed calls"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Favourites &amp; contacts that you\ncall often will show here.\nSo, start calling."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Tap image to see all numbers or press and hold to reorder"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Dismiss"</string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..b8d7c81
--- /dev/null
+++ b/res/values-en-rIN/strings.xml
@@ -0,0 +1,164 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"Dialler"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"Phone"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"Phone"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"Call log"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"Send text message"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"Call <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Edit number before call"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Add to contacts"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Remove from call log"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Clear call log"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Delete voicemail"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Share voicemail"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"Call log is empty."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Clear call log?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"All your call records will be deleted."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Clearing call log…"</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"Voicemail"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Voicemails"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Play"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"New voicemail from <xliff:g id="CALLER">%1$s</xliff:g>"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"Couldn\'t play voicemail."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"Buffering…"</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"Fetching voicemail…"</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Couldn\'t fetch voicemail."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"Calls with voicemail only"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"Incoming calls only"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"Outgoing calls only"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"Missed calls only"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Cannot connect to voicemail server."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Can\'t connect to voicemail server. New voicemails are waiting."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Set up your voicemail."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Audio not available."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Set up"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Call voicemail"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Slowest speed"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"Slow speed"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"Normal speed"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"Fast speed"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Fastest speed"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"Choose number"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"Choose number"</string>
+    <string name="make_primary" msgid="5829291915305113983">"Remember this choice"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"one"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"two"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"three"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"four"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"five"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"six"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"seven"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"eight"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"nine"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"Star"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"zero"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"pound"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"voicemail"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"search"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"dial"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"number to dial"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"Call History"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"More options"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"dial pad"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"Copy"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Show outgoing only"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"Show incoming only"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"Show missed only"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Show voicemails only"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"Show all calls"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"Add 2-sec pause"</string>
+    <string name="add_wait" msgid="3360818652790319634">"Add wait"</string>
+    <string name="call_settings" msgid="7666474782093693667">"Settings"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"New contact"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"All contacts"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"Call details"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"Couldn\'t read details for the requested call."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Use touch tone keypad"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Return to call in progress"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Add call"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"Incoming call"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"Outgoing call"</string>
+    <string name="type_missed" msgid="2720502601640509542">"Missed call"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"Voicemail"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"Incoming calls"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Play voicemail"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Incoming call"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Outgoing call"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Missed call"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Voicemail"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"Add contact"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"View contact <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call" msgid="3443678121983852666">"Call <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"Send text message to <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Unheard voicemail"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Start voice search"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"Call <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="unknown" msgid="740067747858270469">"Unknown"</string>
+    <string name="voicemail" msgid="3851469869202611441">"Voicemail"</string>
+    <string name="private_num" msgid="6374339738119166953">"Private number"</string>
+    <string name="payphone" msgid="4864313342828942922">"Phonebox"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Use keyboard to dial"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"Dial to add a call"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> mins <xliff:g id="SECONDS">%s</xliff:g> secs"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Call not sent"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"To set up voicemail, go to Menu &gt; Settings."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"To call voicemail, first turn off Aeroplane mode."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"Loading…"</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Loading from SIM card…"</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM card contacts"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"Re-enable the People application to use this feature."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Type a name or phone number"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"All"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Missed"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"No recent missed calls."</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"No recent voicemails."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"Show all  contacts"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"Show favourites only"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"History"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"All contacts"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"All contacts"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Removed from favourites"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Undo"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Call <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Add to contacts"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> new missed calls"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Favourites &amp; contacts that you\ncall often will show here.\nSo, start calling."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Tap image to see all numbers or press and hold to reorder"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Dismiss"</string>
+</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index ab9a510..cc5620b 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Almacenando en el búfer"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Obteniendo el mensaje de voz"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"No se pudo obtener el mensaje de voz."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nuevo"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Más antigua"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Solo llamadas con buzón de voz"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Solo llamadas entrantes"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Solo llamadas salientes"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"número para marcar"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Historial de llamadas"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Más opciones"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"teclado"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Copiar"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Mostrar solo salientes"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Mostrar solo entrantes"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Agregar espera"</string>
     <string name="call_settings" msgid="7666474782093693667">"Configuración"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Nuevo contacto"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Todos los contactos"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Detalles de llamada"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"No se han podido leer los detalles de la llamada solicitada."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Usar teclado de tonos del teléfono"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Llamar a <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Enviar mensaje de texto a <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Buzón de voz no escuchado"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Iniciar búsqueda por voz"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Llamar al <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Desconocido"</string>
     <string name="voicemail" msgid="3851469869202611441">"Correo de voz"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Cargando desde tarjeta SIM..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Contactos de tarjeta SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Vuelve a activar la aplicación Contactos para usar esta función."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Escribe nombre o tel."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Ingresa un nombre o teléfono."</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Todo"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Perdidas"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"No hay llamadas perdidas recientes."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Mostrar todos los contactos"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Mostrar solo favoritos"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Historial"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Todos los contactos"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Todos los contactos"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Eliminado de favoritos"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Deshacer"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Llamar al <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Agregar a contactos"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> llamadas perdidas nuevas"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Aquí se mostrarán los favoritos y los contactos\na los que llamas con frecuencia.\nYa puedes empezar a llamar."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Presiona la imagen para ver todos los números o mantenla presionada para cambiar el orden."</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Descartar"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 939fef6..b2adb2f 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Almacenando en búfer..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Recuperando mensaje de voz..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"No se ha podido recuperar el mensaje."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nuevo"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Anteriores"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Solo llamadas con mensajes de voz"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Solo llamadas entrantes"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Solo llamadas salientes"</string>
@@ -84,16 +82,18 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"número que se va a marcar"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Historial de llamadas"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Más opciones"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"teclado"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Copiar"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Mostrar solo llamadas salientes"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Mostrar solo llamadas entrantes"</string>
     <string name="menu_show_missed_only" msgid="154473166059743996">"Mostrar solo llamadas perdidas"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Solo mensajes de voz"</string>
     <string name="menu_show_all_calls" msgid="7560347482073345885">"Mostrar todas las llamadas"</string>
-    <string name="add_2sec_pause" msgid="9214012315201040129">"Añadir pausa de dos segundos"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"Añadir pausa de 2 segundos"</string>
     <string name="add_wait" msgid="3360818652790319634">"Añadir espera"</string>
     <string name="call_settings" msgid="7666474782093693667">"Ajustes"</string>
-    <string name="menu_newContact" msgid="1209922412763274638">"Contacto nuevo"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"Nuevo contacto"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Todos los contactos"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Detalles de la llamada"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"No se han podido leer los detalles de la llamada solicitada."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Usar teclado táctil"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Llamar a <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Enviar mensaje de texto a <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mensaje de voz sin oír"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Iniciar búsqueda por voz"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Llamar a <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Desconocidos"</string>
     <string name="voicemail" msgid="3851469869202611441">"Buzón de voz"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Cargando desde tarjeta SIM…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"Contactos de tarjeta SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Vuelve a habilitar la aplicación Contactos para usar esta función."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Escribe nombre o teléfono"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Escribe un nombre o teléfono"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Todo"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Perdidas"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"No hay llamadas perdidas recientes."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Mostrar todos los contactos"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Mostrar solo favoritos"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Historial"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Todos los contactos"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Todos los contactos"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Eliminado de favoritos"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Deshacer"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Llamar a <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Añadir a contactos"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> llamadas perdidas nuevas"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Los favoritos y contactos a los que\nllamas con frecuencia se mostrarán aquí.\nYa puedes llamar."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Toca la imagen para ver todos los números o mantenla pulsada para cambiar el orden"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Ignorar"</string>
 </resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
new file mode 100644
index 0000000..8a37626
--- /dev/null
+++ b/res/values-et-rEE/strings.xml
@@ -0,0 +1,164 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"Dialer"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"Telefon"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"Kõnelogi"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"Tekstsõnumi saatmine"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"Helista kasutajale <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Muuda enne helistamist numbrit"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Lisa kontaktidesse"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Eemalda kõnelogist"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Kustuta kõnelogi"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Kustuta kõnepost"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Jaga kõneposti"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"Kõnelogi on tühi."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Kustutada kõnelogi?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Kõik teie kõnesalvestised kustutatakse."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Kõnelogi kustutamine ..."</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"Kõnepost"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> kõnepostisõnumit"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Esitamine"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Uus kõnepostisõnum kasutajalt <xliff:g id="CALLER">%1$s</xliff:g>"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"Kõnepostisõnumi esitamine ebaõnnestus."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"Puhverdamine ..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"Kõneposti toomine ..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Kõneposti toomine ebaõnnestus."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"Ainult kõnepostiga kõned"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"Ainult sissetulevad kõned"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"Ainult väljuvad kõned"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"Ainult vastamata kõned"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Kõnepostiserveriga ei saa ühendust."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Kõnepostiserveriga ei saa ühendust. Uued kõnepostisõnumid ootel."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Seadistage oma kõnepost."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Heli pole saadaval."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Seadistamine"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Helista kõneposti"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Aeglaseim kiirus"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"Aeglane kiirus"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"Tavaline kiirus"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"Kiire kiirus"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Kiireim kiirus"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"Valige number"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"Valige number"</string>
+    <string name="make_primary" msgid="5829291915305113983">"Pea see valik meeles"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"üks"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"kaks"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"kolm"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"neli"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"viis"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"kuus"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"seitse"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"kaheksa"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"üheksa"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"tärn"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"null"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"nael"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"kõnepost"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"otsing"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"Helista"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"tagasilüke"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"number valimiseks"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"Kõneajalugu"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"Rohkem valikuid"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"valimisklahvistik"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"Kopeeri"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Kuva ainult väljuvad"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"Kuva ainult sissetulevad"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"Kuva ainult vastamata"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Kuva ainult kõnepostisõnumeid"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"Kuva kõik kõned"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"Lisa 2-sekundiline paus"</string>
+    <string name="add_wait" msgid="3360818652790319634">"Lisa ootama"</string>
+    <string name="call_settings" msgid="7666474782093693667">"Seaded"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"Uus kontakt"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Kõik kontaktid"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"Kõne üksikasjad"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"Taotletud kõne üksikasju ei saa lugeda."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Kasuta puutetooniga klahvistikku"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Tagasi käimasolevale kõnele"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Lisa kõne"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"Sissetulev kõne"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"Väljuv kõne"</string>
+    <string name="type_missed" msgid="2720502601640509542">"Vastamata kõne"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"Kõnepost"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"Sissetulevad kõned"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Esita kõnepostisõnum"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Sissetulev kõne"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Väljuv kõne"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Vastamata kõne"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Kõnepost"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"Lisa kontakt"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"Kuva kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call" msgid="3443678121983852666">"Helista: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"Saada tekstsõnum kontaktile <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Kuulamata kõnepostisõnum"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Häälotsingu alustamine"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"Helistage: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="unknown" msgid="740067747858270469">"Tundmatu"</string>
+    <string name="voicemail" msgid="3851469869202611441">"Kõnepost"</string>
+    <string name="private_num" msgid="6374339738119166953">"Varjatud number"</string>
+    <string name="payphone" msgid="4864313342828942922">"Telefoniautomaat"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Kasutage valimiseks klaviatuuri"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"Valige kõne lisamiseks"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Kõnet ei tehtud"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Kõneposti seadistamiseks minge valikusse Menüü &gt; Seaded."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Kõneposti kuulamiseks lülitage lennurežiim välja."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"Laadimine ..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Laadimine SIM-kaardilt ..."</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM-kaardi kontaktid"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"Funktsiooni kasutamiseks lubage uuesti rakendus Inimesed."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Sisestage nimi/telefoninumber"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"Kõik"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Vastamata"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"Pole ühtegi hiljutist vastamata kõnet."</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"Pole ühtegi hiljutist kõnepostiteadet."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"Kuva kõik kontaktid"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"Kuva ainult lemmikud"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"Ajalugu"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Kõik kontaktid"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Kõik kontaktid"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Eemaldatud lemmikute hulgast"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Võta tagasi"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Helista <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Lisa kontaktidesse"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> uus/uut vastamata kõne(t)"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Siin kuvatakse lemmikud ja kontaktid,\nkellele sageli helistate.\nVõite hakata helistama."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Puudutage kujutist, et näha kõiki numbreid, või vajutage ja hoidke all ümberkorraldamiseks"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Loobu"</string>
+</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index ba1d728..60c967b 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Puhverdamine ..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Kõneposti toomine ..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Kõneposti toomine ebaõnnestus."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Uued"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Vanemad"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Ainult kõnepostiga kõned"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Ainult sissetulevad kõned"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Ainult väljuvad kõned"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"number valimiseks"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Kõneajalugu"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Rohkem valikuid"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"valimisklahvistik"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopeeri"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Kuva ainult väljuvad"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Kuva ainult sissetulevad"</string>
@@ -114,8 +113,7 @@
     <string name="description_call" msgid="3443678121983852666">"Helista: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Saada tekstsõnum kontaktile <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Kuulamata kõnepostisõnum"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
+    <string name="description_start_voice_search" msgid="520539488194946012">"Häälotsingu alustamine"</string>
     <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Helistage: <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Tundmatu"</string>
@@ -142,12 +140,18 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Kuva kõik kontaktid"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Kuva ainult lemmikud"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Ajalugu"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Kõik kontaktid"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Kõik kontaktid"</string>
+    <string name="favorite_hidden" msgid="4837366417440391323">"Lemmikute hulgast eemaldatud"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Võta tagasi"</string>
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 8c8832c..ab95711 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"در حال بافر کردن؟؟؟"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"در حال واکشی پست صوتی؟؟؟"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"واکشی پست صوتی ممکن نیست."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"جدید"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"قدیمی‌تر"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"فقط تماس‌های دارای پست صوتی"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"فقط تماس‌های دریافتی"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"فقط تماس‌های خروجی"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"شماره برای شماره گیری"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"سابقه تماس"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"گزینه‌های بیشتر"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"صفحه شماره‌گیری"</string>
     <string name="menu_copy" msgid="6108677035381940698">"کپی"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"فقط نمایش خروجی"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"فقط نمایش ورودی"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"افزودن انتظار"</string>
     <string name="call_settings" msgid="7666474782093693667">"تنظیمات"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"مخاطب جدید"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"همه مخاطبین"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"جزئیات تماس"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"جزئیات تماس درخواستی خوانده نشد."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"استفاده از صفحه‌کلید لمسی"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"تماس با <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"ارسال پیام متنی به <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"پست صوتی شنیده نشده"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"شروع جستجوی صوتی"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"تماس با <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"ناشناس"</string>
     <string name="voicemail" msgid="3851469869202611441">"پست صوتی"</string>
@@ -126,7 +125,7 @@
     <string name="dialerDialpadHintText" msgid="5824490365898349041">"شماره گیری برای افزودن یک تماس"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> دقیقه و <xliff:g id="SECONDS">%s</xliff:g> ثانیه"</string>
     <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"تماس ارسال نشد"</string>
-    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"برای راه‌اندازی پست صوتی به منو &gt; تنظیمات بروید."</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"‏برای راه‌اندازی پست صوتی به منو &gt; تنظیمات بروید."</string>
     <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"برای تماس با پست صوتی، ابتدا حالت هواپیما را غیرفعال کنید."</string>
     <string name="contact_list_loading" msgid="5488620820563977329">"در حال بارگیری..."</string>
     <string name="imei" msgid="3045126336951684285">"IMEI"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"در حال بارگیری سیم کارت..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"مخاطبین سیم کارت"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"برای استفاده از این ویژگی، برنامه «افراد» را دوباره فعال کنید."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"تایپ نام یا شماره تلفن"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"نام یا  شماره تلفن را تایپ کنید"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"همه موارد"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"بی‌پاسخ"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"اخیراً هیچ تماس بی‌پاسخی نداشته‌اید."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"نمایش همه مخاطبین"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"فقط نمایش موارد دلخواه"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"سابقه"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"۰"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"۱"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"۲"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"۳"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"۴"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"۵"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"۶"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"۷"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"۸"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"۹"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"همه مخاطبین"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"همه مخاطبین"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"از موارد دلخواه حذف شد"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"لغو"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"تماس با <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"افزودن به مخاطبین"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> تماس‌ بی‌پاسخ جدید"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"موارد دلخواه و مخاطبینی که اغلب با\nآنها تماس می‌گیرید اینجا نشان داده می‌شوند.\nبنابراین شروع به تماس گرفتن کنید."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"برای مشاهده همه شماره‌ها روی تصویر ضربه بزنید یا برای مرتب‌سازی مجدد فشار دهید و نگه‌دارید"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"رد کردن"</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 3353c3f..5454be6 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Puskuroidaan..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Haetaan vastaajaviestiä..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Vastaajaviestin nouto epäonnistui."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Uusi"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Vanhemmat"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Vain vastaajaan menneet puhelut"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Vain saapuvat puhelut"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Vain soitetut puhelut"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"numero johon soitetaan"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Soittohistoria"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Lisää vaihtoehtoja"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"näppäimistö"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopioi"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Näytä vain soitetut"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Näytä vain saapuneet"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Lisää tauko"</string>
     <string name="call_settings" msgid="7666474782093693667">"Asetukset"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Uusi yhteystieto"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Kaikki yhteystiedot"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Puhelun tiedot"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Valitun puhelun tietoja ei voi lukea."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Käytä näppäimistöä"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Soita: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Lähetä tekstiviesti: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Kuuntelematon vastaajaviesti"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Aloita puhehaku"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Soita <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Tuntematon"</string>
     <string name="voicemail" msgid="3851469869202611441">"Vastaaja"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Ladataan SIM-kortilta…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"SIM-kortin yhteystiedot"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Ota Ihmiset-sovellus uudelleen käyttöön käyttääksesi tätä ominaisuutta."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Kirjoita nimi tai numero"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Kirjoita nimi tai puh.numero"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Kaikki"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Vastaamattomat"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Ei uusia vastaamattomia puheluita."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Näytä kaikki yhteystiedot"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Näytä vain suosikit"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Historia"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Kaikki yhteystiedot"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Kaikki yhteystiedot"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Poistettu suosikeista"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Kumoa"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Soita <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Lisää yhteystietoihin"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> uutta vastaamatonta puhelua"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Suosikit ja yhteyshenkilöt, joille\nsoitat usein, näkyvät tässä.\nAla siis soitella."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Napauta kuvaa nähdäksesi kaikki numerot tai järjestä uudelleen painamalla pitkään"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Ohita"</string>
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..ae100e7
--- /dev/null
+++ b/res/values-fr-rCA/strings.xml
@@ -0,0 +1,164 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"Appeler"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"Téléphone"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"Téléphone"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"Journal d\'appels"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"Envoyer un SMS"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"Appeler <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Modifier le numéro avant de passer l\'appel"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Ajouter aux contacts"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Supprimer du journal d\'appels"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Effacer le journal d\'appels"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Supprimer le message vocal"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Partager le message vocal"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"Le journal d\'appels est vide."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Effacer le journal d\'appels?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Votre journal d\'appels sera entièrement supprimé."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Suppression du journal d\'appels…"</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"Messagerie vocale"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> messages vocaux"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Lire"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nouveau message vocal de <xliff:g id="CALLER">%1$s</xliff:g>"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"Impossible d\'écouter le message vocal."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"Mise mémoire tampon"</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"Récupération des messages vocaux…"</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Impossible de récupérer messages vocaux."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"Seulement les appels avec message vocal"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"Seulement les appels entrants"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"Seulement les appels sortants"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"Seulement les appels manqués"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Impossible de se connecter au serveur de messagerie vocale."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Connexion messagerie vocale impossible. Messages en attente."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Configurez votre messagerie vocale."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Contenu audio indisponible."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Configurer"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Appeler mess. vocale"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Vitesse minimale"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"Vitesse lente"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"Vitesse normale"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"Vitesse rapide"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Vitesse maximale"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"Sélectionner un numéro"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"Sélectionner un numéro"</string>
+    <string name="make_primary" msgid="5829291915305113983">"Mémoriser ce choix"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"un"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"deux"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"trois"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"quatre"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"cinq"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"six"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"sept"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"huit"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"neuf"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"étoile"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"zéro"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"dièse"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"message vocal"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"rechercher"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"composer"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"retour arrière"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"numéro à composer"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"Historique des appels"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"Plus d\'options"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"clavier numérique"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"Copier"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Afficher appels sortants uniq."</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"Afficher appels entrants uniq."</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"Afficher appels manqués uniq."</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Messages vocaux uniquement"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"Afficher tous les appels"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"Ajouter une pause de 2 s"</string>
+    <string name="add_wait" msgid="3360818652790319634">"Ajouter Attendre"</string>
+    <string name="call_settings" msgid="7666474782093693667">"Paramètres"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"Nouveau contact"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Tous les contacts"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"Détails sur l\'appel"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"Impossible de consulter les détails de l\'appel demandé."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Utiliser le clavier DTMF"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Reprendre l\'appel en cours"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Autre appel"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"Appel entrant"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"Appel sortant"</string>
+    <string name="type_missed" msgid="2720502601640509542">"Appel manqué"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"Messagerie vocale"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"Appels entrants"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Écouter le message vocal"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Appel entrant"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Appel sortant"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Appel manqué"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Messagerie vocale"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"Ajouter un contact"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"Afficher le contact <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call" msgid="3443678121983852666">"Appeler <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"Envoyer un SMS à <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nouveau message vocal"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Démarrer la recherche vocale"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"Appeler le <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="unknown" msgid="740067747858270469">"Inconnu"</string>
+    <string name="voicemail" msgid="3851469869202611441">"Messagerie vocale"</string>
+    <string name="private_num" msgid="6374339738119166953">"Numéro privé"</string>
+    <string name="payphone" msgid="4864313342828942922">"Cabine téléphonique"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Utilisez le clavier pour composer un numéro."</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"Composer le numéro pour ajouter un appel"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Appel non effectué"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Pour configurer la messagerie vocale, accédez à Menu &gt; Paramètres."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Veuillez désactiver le mode Avion avant d\'appeler la messagerie vocale."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"Chargement en cours..."</string>
+    <string name="imei" msgid="3045126336951684285">"Code IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Chargement depuis la carte SIM..."</string>
+    <string name="simContacts_title" msgid="27341688347689769">"Contacts de carte SIM"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"Réactivez l\'application Contacts pour utiliser cette fonctionnalité."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Entrez un nom/no de téléphone"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"Tous"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Manqués"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"Aucun appel manqué récent"</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"Aucun message vocal récent"</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"Afficher tous les contacts"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"Afficher les contacts favoris uniquement"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"Historique"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Tous les contacts"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Tous les contacts"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Supprimé des favoris"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Annuler"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Appeler le <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Ajouter aux contacts"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nouveaux appels manqués"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Vos favoris et les contacts\nque vous appelez souvent sont\naffichés ici. Pourquoi ne pas les appeler?"</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Touchez l\'image pour afficher tous les numéros, ou maintenez votre doigt sur l\'une d\'elles pour les réorganiser"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Fermer"</string>
+</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 3113681..f3dd323 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -29,7 +29,7 @@
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Effacer tous les appels"</string>
     <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Supprimer le message vocal"</string>
     <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Partager le message vocal"</string>
-    <string name="recentCalls_empty" msgid="247053222448663107">"Aucun appel."</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"Aucun appel"</string>
     <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Effacer les appels ?"</string>
     <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Votre journal d\'appels va être supprimé."</string>
     <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Effacement des appels…"</string>
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Mise en mémoire tampon..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Récupération des messages vocaux..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Impossible de récupérer messages vocaux."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nouveau"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Précédent"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Seulement les appels avec message vocal"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Seulement les appels entrants"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Seulement les appels sortants"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"numéro à composer"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Historique des appels"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Plus d\'options"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"clavier numérique"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Copier"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Afficher appels sortants uniq."</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Afficher appels entrants uniq."</string>
@@ -91,9 +90,10 @@
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Messages vocaux uniquement"</string>
     <string name="menu_show_all_calls" msgid="7560347482073345885">"Afficher tous les appels"</string>
     <string name="add_2sec_pause" msgid="9214012315201040129">"Ajouter une pause de 2 s"</string>
-    <string name="add_wait" msgid="3360818652790319634">"Ajouter Attendre"</string>
+    <string name="add_wait" msgid="3360818652790319634">"Ajouter une attente"</string>
     <string name="call_settings" msgid="7666474782093693667">"Paramètres"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Nouveau contact"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Tous les contacts"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Détails sur l\'appel"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Impossible de consulter les détails de l\'appel demandé."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Utiliser le clavier DTMF"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Appeler <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Envoyer un SMS à <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nouveau message vocal"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Démarrer la recherche vocale"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Appeler le <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Inconnu"</string>
     <string name="voicemail" msgid="3851469869202611441">"Messagerie vocale"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Chargement depuis la carte SIM..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Contacts de carte SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Réactivez l\'application Contacts pour utiliser cette fonctionnalité."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Saisir nom ou numéro tél."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Saisissez nom/numéro de tél."</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Tous"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Manqués"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Aucun appel manqué récent"</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Afficher tous les contacts"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Afficher les contacts ajoutés aux favoris uniquement"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Historique"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Tous les contacts"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Tous les contacts"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Supprimé des favoris."</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Annuler"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Appeler le <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Ajouter aux contacts"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nouveaux appels manqués"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Les favoris et les contacts que\nvous appelez souvent s\'affichent ici.\nCommencez donc par passer des appels !"</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Appuyer sur l\'image pour afficher tous les numéros ou appuyer de manière prolongée pour les réorganiser"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Ignorer"</string>
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index d60e91d..00e87fa 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"बफ़र हो रहा है…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"ध्‍वनिमेल फ़ेच कर रहा है…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"ध्‍वनिमेल फ़ेच नहीं किया जा सका."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"नया"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"पुराने"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"केवल ध्वनिमेल वाले कॉल"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"केवल इनकमिंग कॉल"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"केवल आउटगोइंग कॉल"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"डायल करने के लिए नंबर"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"कॉल इतिहास"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"अधिक विकल्प"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"डायलपैड"</string>
     <string name="menu_copy" msgid="6108677035381940698">"प्रतिलिपि"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"केवल आउटगोइंग ही दिखाएं"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"केवल इनकमिंग ही दिखाएं"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"प्रतीक्षा का समय बढ़ाएं"</string>
     <string name="call_settings" msgid="7666474782093693667">"सेटिंग"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"नया संपर्क"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"सभी संपर्क"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"कॉल विवरण"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"अनुरोध किए गए कॉल का विवरण नहीं पढ़ा जा सका."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"टच टोन कीपैड का उपयोग करें"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> को कॉल करें"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g> को पाठ संदेश भेजें"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"नहीं सुना गया ध्वनिमेल"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"बोलकर खोजें शुरु करें"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> पर कॉल करें"</string>
     <string name="unknown" msgid="740067747858270469">"अज्ञात"</string>
     <string name="voicemail" msgid="3851469869202611441">"ध्वनिमेल"</string>
@@ -133,8 +132,8 @@
     <string name="meid" msgid="6210568493746275750">"MEID"</string>
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"सिम कार्ड से लोड हो रहा है…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"सिम कार्ड के संपर्क"</string>
-    <string name="add_contact_not_available" msgid="1419207765446461366">"इस सुविधा का उपयोग करने के लिए लोग एप्लिकेशन को पुन: सक्षम करें."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"नाम या फ़ोन लिखें"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"इस सुविधा का उपयोग करने के लिए लोग ऐप्स  को पुन: सक्षम करें."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"नाम या फ़ोन नंबर लिखें"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"सभी"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"छूटे हुए"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"हाल ही का कोई भी छूटा हुआ कॉल नहीं."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"सभी संपर्क दिखाएं"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"केवल पसंदीदा दिखाएं"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"इतिहास"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"सभी संपर्क"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"सभी संपर्क"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"पसंदीदा से निकाल दिया गया"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"पूर्ववत करें"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g> पर कॉल करें"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"संपर्कों में जोड़ें"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g>  छूटे हुए नए कॉल"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"पसंदीदा &amp; आपके द्वारा अक्सर कॉल किए जाने वाले पसंदीदा और संपर्क\nयहां दिखाए जाएंगे.\nतो, कॉल करना प्रारंभ करें."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"सभी नंबर देखने के लिए चित्र को टैप करें या पुनः क्रमित करने के लिए दबाए रखें"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"ख़ारिज करें"</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 5ea716b..0215959 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Stavljanje u međuspremnik..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Dohvaćanje govorne pošte..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Dohvaćanje govorne pošte nije uspjelo."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Novo"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Starije"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Samo pozivi s govornom poštom"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Samo dolazni pozivi"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Samo odlazni pozivi"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"broj za pozivanje"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Povijest poziva"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Više opcija"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"površina za biranje brojeva"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopiranje"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Prikaži samo odlazne"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Prikaži samo dolazne"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Dodaj čekanje"</string>
     <string name="call_settings" msgid="7666474782093693667">"Postavke"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Novi kontakt"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Svi kontakti"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Pojedinosti poziva"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Nije moguće pročitati pojedinosti za traženi poziv."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Koristi dodirnu zvučnu tipkovnicu"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Pozovi: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Slanje tekstualne poruke: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nepreslušana govorna pošta"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Pokretanje glasovnog pretraživanja"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Nazovite <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Nepoznato"</string>
     <string name="voicemail" msgid="3851469869202611441">"Govorna pošta"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Učitavanje sa SIM kartice..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Kontakti SIM kartice"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Ponovo omogućite aplikaciju Osobe da biste upotrebljavali tu značajku."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Upišite ime ili tel."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Upišite ime ili tel. broj"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Sve"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Propušteni"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Nema nedavnih propuštenih poziva"</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Prikaži sve kontakte"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Prikaži samo favorite"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Povijest"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Svi kontakti"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Svi kontakti"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Uklonjeno iz favorita"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Poništi"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Nazovi <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Dodaj u kontakte"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"Broj novih propuštenih poziva: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Ovdje će se prikazivati favoriti\ni kontakti koje često zovete.\nZato počnite zvati."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Dodirnite sliku da biste vidjeli sve brojeve ili pritisnite i zadržite da biste promijenili poredak"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Odbaci"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 972f147..d67cd4e 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Pufferelés…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Hangpostaüzenet lekérése…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"A hangposta nem hívható le."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Új"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Régebbi"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Csak hangpostahívások"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Csak bejövő hívások"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Csak kimenő hívások"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"a tárcsázandó szám"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Hívási előzmények"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"További beállítások"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"tárcsázó"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Másolás"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Csak a kimenők megjelenítése"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Csak a bejövők megjelenítése"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Várakozás hozzáadása"</string>
     <string name="call_settings" msgid="7666474782093693667">"Beállítások"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Új névjegy"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Összes névjegy"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Hívás adatai"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Nem sikerült olvasni a megadott hívás adatait."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Hangkódos telefonbillentyűzet használata"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> hívása"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"SMS küldése neki: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nem lejátszott hangüzenet"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Hangalapú keresés indítása"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Hívás: <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Ismeretlen"</string>
     <string name="voicemail" msgid="3851469869202611441">"Hangposta"</string>
@@ -134,20 +133,32 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Betöltés a SIM-kártyáról..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Névjegyek a SIM-kártyán"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"A funkció használatához aktiválja újra a Személyek alkalmazást."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Név vagy tel.szám beírása"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Név vagy telefonszám megadása"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Összes"</string>
-    <string name="call_log_missed_title" msgid="4541142293870638971">"Nem fog."</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Nem fogadott"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Nincsenek újabb elmulasztott hívások."</string>
     <string name="recentVoicemails_empty" msgid="5163114119598014048">"Nincsenek újabb hangpostaüzenetek."</string>
     <string name="show_all_contacts" msgid="1732256558071778056">"Az összes névjegy megjelenítése"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Csak kedvencek megjelenítése"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Előzmények"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Összes névjegy"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Összes névjegy"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Eltávolítva a kedvencek közül"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Visszavonás"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Hívás: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Hozzáadás a névjegyekhez"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> új nem fogadott hívás"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Itt a kedvencek és a gyakran hívott\nismerősök fognak megjelenni.\nEhhez előbb hívásokat kell indítania."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Koppintson a képre az összes szám megtekintéséhez, vagy tartsa lenyomva az átrendezéshez"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Elvetés"</string>
 </resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
new file mode 100644
index 0000000..2a6e5e2
--- /dev/null
+++ b/res/values-hy-rAM/strings.xml
@@ -0,0 +1,164 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"Համարհավաքիչ"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"Հեռախոս"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"Հեռախոս"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"Զանգերի գրանցամատյան"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"Ուղարկել տեքստային հաղորդագրություն"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"Զանգել <xliff:g id="NAME">%s</xliff:g>-ին"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Խմբագրել համարը զանգելուց առաջ"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Ավելացնել կոնտակտներում"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Հեռացնել զանգերի գրանցամատյանից"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Մաքրել զանգերի գրանցամատյանը"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Ջնջել ձայնային փոստը"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Տարածել ձայնային փոստը"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"Զանգերի մատյանը դատարկ է:"</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Մաքրե՞լ զանգերի գրանցամատյանը"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Ձեր բոլոր զանգերի գրառումները կջնջվեն:"</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Զանգերի գրանցամատյանը մաքրվում է..."</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"Ձայնային փոստ"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ձայնային փոստ"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Նվագարկել"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Նոր ձայնային փոստ <xliff:g id="CALLER">%1$s</xliff:g>-ից"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"Հնարավոր չէ նվագարկել ձայնային փոստը:"</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"Պահնակավորում..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"Ձայնային փոստի ստացում..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Չհաջողվեց ստանալ ձայնային փոստը:"</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"Միայն ձայնային փոստով զանգերը"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"Միայն մուտքային զանգեր"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"Միայն ելքային զանգերը"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"Միայն բաց թողնված զանգերը"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Հնարավոր չէ կապ հաստատել ձայնային փոստի սերվերի հետ:"</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Հնարավոր չէ կապ հաստատել ձայնային փոստի սերվերի հետ: Նոր ձայնային փոստերը սպասում են:"</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Կարգավորեք ձեր ձայնային փոստը:"</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Ձայնանյութը հասանելի չէ:"</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Կարգավորել"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Միանալ ձայնային փոստին"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Ամենադանդաղ արագություն"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"Դանդաղ արագություն"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"Միջին արագություն"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"Արագ"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Շատ արագ"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"Ընտրել համարը"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"Ընտրել համարը"</string>
+    <string name="make_primary" msgid="5829291915305113983">"Հիշել այս ընտրությունը"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"մեկ"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"երկու"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"երեք"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"չորս"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"հինգ"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"վեց"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"յոթ"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"ութ"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"ինը"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"աստղանշել"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"զրո"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"ֆունտ"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"ձայնային փոստ"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"որոնել"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"համարարկել"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"հետշարժ"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"համարհավաքման հեռախոսահամարը"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"Զանգերի պատմությունը"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"Այլ ընտրանքներ"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"թվաշար"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"Պատճենել"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Ցույց տալ միայն ելքայինները"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"Ցույց տալ միայն մուտքայինները"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"Ցույց տալ միայն բաց թողնվածները"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Ցուցադրել միայն ձայնային փոստերը"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"Ցուցադրել բոլոր զանգերը"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"Ավելացնել 2 վայրկյան դադար"</string>
+    <string name="add_wait" msgid="3360818652790319634">"Ավելացնել սպասում"</string>
+    <string name="call_settings" msgid="7666474782093693667">"Կարգավորումներ"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"Նոր կոնտակտ"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Բոլոր կոնտակտները"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"Զանգի մանրամասները"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"Չհաջողվեց կարդալ հայցվող զանգի մանրամասները:"</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Օգտագործել հնչերանգներով ստեղնաշարը"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Վերադառնալ ընթացիկ զանգին"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Ավելացնել զանգ"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"Մուտքային զանգ"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"Ելքային զանգ"</string>
+    <string name="type_missed" msgid="2720502601640509542">"Բաց թողնված զանգ"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"Ձայնային փոստ"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"Մուտքային զանգեր"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Նվագարկել ձայնային փոստը"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Մուտքային զանգ"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Ելքային զանգ"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Բաց թողնված զանգ"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Ձայնային փոստ"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"Ավելացնել կոտակտ"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"Դիտել <xliff:g id="NAME">%1$s</xliff:g> կոնտակտը"</string>
+    <string name="description_call" msgid="3443678121983852666">"Զանգել <xliff:g id="NAME">%1$s</xliff:g>-ին"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"Ուղարկել տեքստային հաղորդագրություն <xliff:g id="NAME">%1$s</xliff:g>-ին"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Չլսված ձայնային փոստ"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Սկսկեք ձայնային որոնումը"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"Զանգել <xliff:g id="NUMBER">%s</xliff:g>-ին"</string>
+    <string name="unknown" msgid="740067747858270469">"Անհայտ"</string>
+    <string name="voicemail" msgid="3851469869202611441">"Ձայնային փոստ"</string>
+    <string name="private_num" msgid="6374339738119166953">"Անձնական համարը"</string>
+    <string name="payphone" msgid="4864313342828942922">"Վճարել հեռախոսը"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Օգտագործել ստեղնաշարը` համարհավաքելու համար"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"Համարհավաքել՝ զանգելու համար"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> րոպ <xliff:g id="SECONDS">%s</xliff:g> վրկ"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Զանգը չի առաքվել"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Ձայնային փոստը կարգավորելու համար գնացեք Ցանկ &gt; Կարգավորումներ:"</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Ձայնային փոստին զանգելու համար նախ անջատեք թռիչքային ռեժիմը:"</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"Բեռնում..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM քարտը բեռնվում է..."</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM քարտի կոնտակտները"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"Կրկին միացրեք Մարդիկ ծրագիրը` այս հատկությունn օգտագործելու համար:"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Մուտքագրեք անունը կամ հեռախոսահամարը"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"Բոլորը"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Բաց թողնված"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"Նոր բաց թողնված զանգեր չկան:"</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"Նոր ձայնային հաղորդագրություններ չկան:"</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"Ցույց տալ բոլոր կոնտակտները"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"Ցույց տալ միայն ընտրյալները"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"Պատմություն"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Բոլոր կոնտակտները"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Բոլոր կոնտակտները"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Հեռացված է ընտրյալներից"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Հետարկել"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Զանգել <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Ավելացնել կոնտակտներում"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> նոր բաց թողնված զանգ"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Հաճախ կանչվող ընտրյալները և կոնտակտները\nկցուցադրվեն այստեղ:\nԿարող եք զանգել:"</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Հպեք նկարին՝ բոլոր համարները տեսնելու, կամ հպեք ու պահեք՝ վերադասավորելու համար:"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Անտեսել"</string>
+</resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
new file mode 100644
index 0000000..c52b96f
--- /dev/null
+++ b/res/values-hy/strings.xml
@@ -0,0 +1,157 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"Համարհավաքիչ"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"Հեռախոս"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"Հեռախոս"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"Զանգերի գրանցամատյան"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"Ուղարկել տեքստային հաղորդագրություն"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"Զանգել <xliff:g id="NAME">%s</xliff:g>-ին"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Խմբագրել համարը զանգելուց առաջ"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Ավելացնել կոնտակտներում"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Հեռացնել զանգերի գրանցամատյանից"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Մաքրել զանգերի գրանցամատյանը"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Ջնջել ձայնային փոստը"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Տարածել ձայնային փոստը"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"Զանգերի մատյանը դատարկ է:"</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Մաքրե՞լ զանգերի գրանցամատյանը"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Ձեր բոլոր զանգերի գրառումները կջնջվեն:"</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Զանգերի գրանցամատյանը մաքրվում է..."</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"Ձայնային փոստ"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ձայնային փոստ"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Նվագարկել"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Նոր ձայնային փոստ <xliff:g id="CALLER">%1$s</xliff:g>-ից"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"Հնարավոր չէ նվագարկել ձայնային փոստը:"</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"Պահնակավորում..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"Ձայնային փոստի ստացում..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Չհաջողվեց ստանալ ձայնային փոստը:"</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"Միայն ձայնային փոստով զանգերը"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"Միայն մուտքային զանգեր"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"Միայն ելքային զանգերը"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"Միայն բաց թողնված զանգերը"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Հնարավոր չէ կապ հաստատել ձայնային փոստի սերվերի հետ:"</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Հնարավոր չէ կապ հաստատել ձայնային փոստի սերվերի հետ: Նոր ձայնային փոստերը սպասում են:"</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Կարգավորեք ձեր ձայնային փոստը:"</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Ձայնանյութը հասանելի չէ:"</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Կարգավորել"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Միանալ ձայնային փոստին"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Ամենադանդաղ արագություն"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"Դանդաղ արագություն"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"Միջին արագություն"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"Արագ"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Շատ արագ"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"Ընտրել համարը"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"Ընտրել համարը"</string>
+    <string name="make_primary" msgid="5829291915305113983">"Հիշել այս ընտրությունը"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"մեկ"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"երկու"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"երեք"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"չորս"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"հինգ"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"վեց"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"յոթ"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"ութ"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"ինը"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"աստղանշել"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"զրո"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"ֆունտ"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"ձայնային փոստ"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"որոնել"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"համարարկել"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"հետշարժ"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"համարհավաքման հեռախոսահամարը"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"Զանգերի պատմությունը"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"Այլ ընտրանքներ"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"թվաշար"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"Պատճենել"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Ցույց տալ միայն ելքայինները"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"Ցույց տալ միայն մուտքայինները"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"Ցույց տալ միայն բաց թողնվածները"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Ցուցադրել միայն ձայնային փոստերը"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"Ցուցադրել բոլոր զանգերը"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"Ավելացնել 2 վայրկյան դադար"</string>
+    <string name="add_wait" msgid="3360818652790319634">"Ավելացնել սպասում"</string>
+    <string name="call_settings" msgid="7666474782093693667">"Կարգավորումներ"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"Նոր կոնտակտ"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"Զանգի մանրամասները"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"Չհաջողվեց կարդալ հայցվող զանգի մանրամասները:"</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Օգտագործել հնչերանգներով ստեղնաշարը"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Վերադառնալ ընթացիկ զանգին"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Ավելացնել զանգ"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"Մուտքային զանգ"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"Ելքային զանգ"</string>
+    <string name="type_missed" msgid="2720502601640509542">"Բաց թողնված զանգ"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"Ձայնային փոստ"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"Մուտքային զանգեր"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Նվագարկել ձայնային փոստը"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Մուտքային զանգ"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Ելքային զանգ"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Բաց թողնված զանգ"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Ձայնային փոստ"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"Ավելացնել կոտակտ"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"Դիտել <xliff:g id="NAME">%1$s</xliff:g> կոնտակտը"</string>
+    <string name="description_call" msgid="3443678121983852666">"Զանգել <xliff:g id="NAME">%1$s</xliff:g>-ին"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"Ուղարկել տեքստային հաղորդագրություն <xliff:g id="NAME">%1$s</xliff:g>-ին"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Չլսված ձայնային փոստ"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Սկսկեք ձայնային որոնումը"</string>
+    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"Զանգել <xliff:g id="NUMBER">%s</xliff:g>-ին"</string>
+    <string name="unknown" msgid="740067747858270469">"Անհայտ"</string>
+    <string name="voicemail" msgid="3851469869202611441">"Ձայնային փոստ"</string>
+    <string name="private_num" msgid="6374339738119166953">"Անձնական համարը"</string>
+    <string name="payphone" msgid="4864313342828942922">"Վճարել հեռախոսը"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Օգտագործել ստեղնաշարը` համարհավաքելու համար"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"Համարհավաքել՝ զանգելու համար"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> րոպ <xliff:g id="SECONDS">%s</xliff:g> վրկ"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Զանգը չի առաքվել"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Ձայնային փոստը կարգավորելու համար գնացեք Ցանկ &gt; Կարգավորումներ:"</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Ձայնային փոստին զանգելու համար նախ անջատեք թռիչքային ռեժիմը:"</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"Բեռնում..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM քարտը բեռնվում է..."</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM քարտի կոնտակտները"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"Կրկին միացրեք Մարդիկ ծրագիրը` այս հատկությունn օգտագործելու համար:"</string>
+    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Գրեք անունը կամ հեռախոսը"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"Բոլորը"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Բաց թողնված"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"Նոր բաց թողնված զանգեր չկան:"</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"Նոր ձայնային հաղորդագրություններ չկան:"</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"Ցույց տալ բոլոր կոնտակտները"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"Ցույց տալ միայն ընտրյալները"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"Պատմություն"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Բոլոր կոնտակտները"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Բոլոր կոնտակտները"</string>
+    <string name="favorite_hidden" msgid="4837366417440391323">"Թաքցվեց ընտրյալներից"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Հետարկել"</string>
+</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index cd97d2d..0db2d04 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Menyangga…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Mengambil pesan suara…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Tidak dapat mengambil pesan suara."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Baru"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Lawas"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Hanya panggilan dengan pesan suara"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Hanya panggilan masuk"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Hanya panggilan keluar"</string>
@@ -84,16 +82,18 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"nomor untuk dipanggil"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Riwayat Panggilan"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Opsi lainnya"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"tombol nomor"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Salin"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Tampilkan panggilan keluar"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Tampilkan panggilan masuk saja"</string>
     <string name="menu_show_missed_only" msgid="154473166059743996">"Tampilkan panggilan terlewat"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Tampilkan pesan suara saja"</string>
     <string name="menu_show_all_calls" msgid="7560347482073345885">"Tampilkan semua panggilan"</string>
-    <string name="add_2sec_pause" msgid="9214012315201040129">"Tambahkan jeda 2-det"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"Tambahkan jeda 2 dtk"</string>
     <string name="add_wait" msgid="3360818652790319634">"Tambahkan tunggu"</string>
     <string name="call_settings" msgid="7666474782093693667">"Setelan"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Kontak baru"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Semua kontak"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Detail panggilan"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Tidak dapat membaca detail untuk panggilan yang diminta."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Gunakan keypad nada sentuh"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Panggil <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Kirim SMS ke <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Pesan suara yang belum didengar"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Memulai penelusuran suara"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Panggil <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Tidak diketahui"</string>
     <string name="voicemail" msgid="3851469869202611441">"Kotak Pesan"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Memuat dari kartu SIM..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Kontak pada kartu SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Aktifkan kembali aplikasi Orang untuk menggunakan fitur ini."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Ketikkan nama atau ponsel"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Ketikkan nama/nomor ponsel"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Semua"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"TakDijawab"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Tidak ada panggilan tak terjawab terbaru."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Tampilkan semua kontak"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Hanya tampilkan favorit"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Riwayat"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Semua kontak"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Semua kontak"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Dihapus dari favorit"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Batalkan"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Telepon <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Tambahkan ke kontak"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> panggilan tidak terjawab baru"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Favorit &amp; kontak yang\nsering Anda hubungi akan muncul di sini.\nJadi, mulailah menelepon."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Ketuk gambar untuk melihat semua nomor atau tekan terus untuk mengatur ulang"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Tutup"</string>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 8b13fa3..7ec52eb 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Buffering..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Recupero messaggi segreteria..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Recupero messaggi segreteria non riuscito."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nuovi"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Precedenti"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Solo chiamate con segreteria"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Solo chiamate in arrivo"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Solo chiamate in uscita"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"numero da comporre"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Cronologia chiamate"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Altre opzioni"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"tastierino"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Copia"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Mostra solo in uscita"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Mostra solo in arrivo"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Aggiungi attesa"</string>
     <string name="call_settings" msgid="7666474782093693667">"Impostazioni"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Nuovo contatto"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Tutti i contatti"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Dettagli chiamata"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Impossibile leggere i dettagli per la chiamata richiesta."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Usa tastierino per selezione a toni"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Chiama <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Invia messaggio di testo a <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Messaggio vocale non ascoltato"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Avvia la ricerca vocale"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Chiama <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Sconosciuto"</string>
     <string name="voicemail" msgid="3851469869202611441">"Segreteria"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Caricamento da SIM..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Contatti SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Riattiva l\'app Persone per utilizzare questa funzione."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Digita nome o telefono"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Digita nome o numero telefono"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Tutti"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Perse"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Nessuna chiamata persa recente."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Mostra tutti i contatti"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Mostra solo i preferiti"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Cronologia"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Tutti i contatti"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Tutti i contatti"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Rimosso dai preferiti"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Annulla"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Chiama <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Aggiungi ai contatti"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nuove chiamate senza risposta"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Preferiti e contatti che\nchiami spesso verranno mostrati qui.\nInizia a chiamarli."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Tocca l\'immagine per visualizzare tutti i numeri o tieni premuto per cambiare l\'ordine"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Ignora"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 5f960a1..5a8df3ac 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"מבצע אחסון זמני..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"מאחזר דואר קולי..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"לא ניתן להשיג דואר קולי."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"חדש"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"ישן יותר"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"שיחות עם דואר קולי בלבד"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"שיחות נכנסות בלבד"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"שיחות יוצאות בלבד"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"מספר לחיוג"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"היסטוריית שיחות"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"אפשרויות נוספות"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"לוח חיוג"</string>
     <string name="menu_copy" msgid="6108677035381940698">"העתק"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"הצג רק שיחות יוצאות"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"הצג רק שיחות נכנסות"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"הוסף המתנה"</string>
     <string name="call_settings" msgid="7666474782093693667">"הגדרות"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"איש קשר חדש"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"כל אנשי הקשר"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"פרטי שיחה"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"לא ניתן לקרוא את פרטי השיחה המבוקשת."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"השתמש במקלדת עם חיוג צלילים"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"התקשר אל <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"שלח הודעת טקסט אל <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"דואר קולי שעדיין לא נשמע"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"התחל חיפוש קולי"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"התקשר אל <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"לא ידוע"</string>
     <string name="voicemail" msgid="3851469869202611441">"דואר קולי"</string>
@@ -126,15 +125,15 @@
     <string name="dialerDialpadHintText" msgid="5824490365898349041">"חייג כדי להוסיף שיחה"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> דקות <xliff:g id="SECONDS">%s</xliff:g> שניות"</string>
     <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"השיחה לא נשלחה."</string>
-    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"כדי להגדיר את הדואר הקולי, עבור אל \'תפריט\' &gt; \'הגדרות\'."</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"‏כדי להגדיר את הדואר הקולי, עבור אל \'תפריט\' &gt; \'הגדרות\'."</string>
     <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"כדי להתקשר לדואר קולי, ראשית כבה את מצב הטיסה."</string>
     <string name="contact_list_loading" msgid="5488620820563977329">"טוען..."</string>
     <string name="imei" msgid="3045126336951684285">"IMEI"</string>
     <string name="meid" msgid="6210568493746275750">"MEID"</string>
-    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"טוען מכרטיס SIM…"</string>
-    <string name="simContacts_title" msgid="27341688347689769">"אנשי קשר בכרטיס SIM"</string>
-    <string name="add_contact_not_available" msgid="1419207765446461366">"הפעל מחדש את יישום אנשי הקשר כדי להשתמש בתכונה זו."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"הקלד שם או מספר טלפון"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"‏טוען מכרטיס SIM…"</string>
+    <string name="simContacts_title" msgid="27341688347689769">"‏אנשי קשר בכרטיס SIM"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"הפעל מחדש את אפליקציית אנשי הקשר כדי להשתמש בתכונה זו."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"הקלד שם או מספר טלפון"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"הכול"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"שיחה שלא נענתה"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"אין שיחות אחרונות שלא נענו."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"הצג את כל אנשי הקשר"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"הצג מועדפים בלבד"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"היסטוריה"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"כל אנשי הקשר"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"כל אנשי הקשר"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"הוסר מהמועדפים"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"בטל"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"התקשר אל <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"הוסף לאנשי הקשר"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> שיחות חדשות שלא נענו"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"מועדפים ואנשי קשר שאתה\nיוצר איתם קשר בקביעות יופיעו כאן.\nאז תתחיל להתקשר."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"הקש על תמונה כדי לראות את כל המספרים, או לחץ והחזק כדי לשנות את הסדר"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"סגור"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index a59f0fd..c6b0aca 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -29,8 +29,8 @@
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"通話履歴を全件消去"</string>
     <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"ボイスメールを削除"</string>
     <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"ボイスメールを共有"</string>
-    <string name="recentCalls_empty" msgid="247053222448663107">"通話履歴なし"</string>
-    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"通話履歴を消しますか？"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"通話履歴はありません。"</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"通話履歴を消去しますか？"</string>
     <string name="clearCallLogConfirmation" msgid="5043563133171583152">"すべての通話記録は削除されます。"</string>
     <string name="clearCallLogProgress_title" msgid="8365943000154295771">"通話履歴を消去しています..."</string>
   <plurals name="notification_voicemail_title">
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"バッファリング中..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"ボイスメールを取得中..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"ボイスメールを取得できませんでした。"</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"新しい着信"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"以前の着信"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"ボイスメールのある着信のみ"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"着信のみ"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"発信のみ"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"発信番号"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"通話履歴"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"その他のオプション"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"ダイヤルパッド"</string>
     <string name="menu_copy" msgid="6108677035381940698">"コピー"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"発信のみを表示"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"着信のみを表示"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"待機を追加"</string>
     <string name="call_settings" msgid="7666474782093693667">"設定"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"連絡先を新規登録"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"すべての連絡先"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"通話詳細"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"通話要求の詳細が読み込めませんでした。"</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"プッシュホン式キーパッドを使う"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g>に発信"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g>にテキストメッセージを送信"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"未再生のボイスメール"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"音声検索を開始"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g>に発信"</string>
     <string name="unknown" msgid="740067747858270469">"通知不可能"</string>
     <string name="voicemail" msgid="3851469869202611441">"ボイスメール"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIMカードから読み取り中..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"SIMカードの連絡先"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"この機能を使用するには連絡帳アプリを再度有効にしてください。"</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"名前か電話番号を入力"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"名前または電話番号を入力"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"すべて"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"不在着信"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"最近の不在着信はありません。"</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"すべての連絡先を表示"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"お気に入りのみを表示"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"履歴"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"すべての連絡先"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"すべての連絡先"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"お気に入りから削除されました"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"元に戻す"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g>に発信"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"連絡先に追加"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g>件の不在着信"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"ここにはお気に入りや\n頻繁に通話する\n連絡先が表示されます。"</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"画像をタップするとすべての番号を表示でき、押し続けると並び替えることができます"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"閉じる"</string>
 </resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
new file mode 100644
index 0000000..d42e470
--- /dev/null
+++ b/res/values-ka-rGE/strings.xml
@@ -0,0 +1,164 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"დარეკვა"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"ტელეფონი"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"ტელეფონი"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"ზარების ჟურნალი"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"ტექსტური შეტყობინების გაგზავნა"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"<xliff:g id="NAME">%s</xliff:g>-თან დარეკვა"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"ნომრის რედაქტირება დარეკვამდე"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"კონტაქტებში დამატება"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"ზარების ჟურნალიდან ამოღება"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"ზარების ჟურნალის წაშლა"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"ხმოვანი ფოსტის წაშლა"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"ხმოვანი ფოსტის გაზიარება"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"ზარების ჟურნალი ცარიელია."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"გსურთ ზარების ჟურნალის წაშლა?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"ყველა თქვენი ზარის ჩანაწერი წაიშლება."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"ზარების ჟურნალი იშლება…"</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"ხმოვანი ფოსტა"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ხმოვანი ფოსტა"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"დაკვრა"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"ახალი ხმოვანი ფოსტა <xliff:g id="CALLER">%1$s</xliff:g>-ისგან"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"ხმოვანი ფოსტის მოსმენა ვერ მოხერხდა."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"ბუფერიზაცია…"</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"ხმოვანი ფოსტის მიღება…"</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"ხმოვანი ფოსტის მიღება ვერ მოხერხდა."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"მხოლოდ ზარები ხმოვანი ფოსტით"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"მხოლოდ შემომავალი ზარები"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"მხოლოდ გამავალი ზარები"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"მხოლოდ გამოტოვებული ზარები"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"ხმოვანი ფოსტის სერვერთან დაკავშირება შეუძლებელია."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"ხმ. ფოსტის სერვერთან კავშირი არ არის. ახალი ხმ. ფოსტა იცდის."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"თქვენი ხმოვანი ფოსტის პარამეტრების დაყენება."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"აუდიო მიუწვდომელია."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"კონფიგურაცია"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"ხმოვან ფოსტასთან დაკავშირება"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"ყველაზე დაბალი სიჩქარე"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"დაბალი სიჩქარე"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"საშუალო სიჩქარე"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"დიდი სიჩქარე"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"უდიდესი სიჩქარე"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>-ში"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"ნომრის შერჩევა"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"ნომრის შერჩევა"</string>
+    <string name="make_primary" msgid="5829291915305113983">"დაიმახსოვრე ეს არჩევანი"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"ერთი"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"ორი"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"სამი"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"ოთხი"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"ხუთი"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"ექვსი"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"შვიდი"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"რვა"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"ცხრა"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"ვარსკვლავი"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"ნული"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"გირვანქა"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"ხმოვანი ფოსტა"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"ძიება"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"დარეკვა"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"უკუშლა"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"ასაკრეფი ნომერი"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"საუბრის ისტორია"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"სხვა პარამეტრები"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"ციფერბლატი"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"კოპირება"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"მხოლოდ გამავალის ჩვენება"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"მხოლოდ შემომავალის ჩვენება"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"მხოლოდ გამოტოვებულის ჩვენება"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"მხოლოდ ხმოვანი ფოსტის ჩვენება"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"ყველა ზარის ჩვენება"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"ორწამიანი პაუზის დამატება"</string>
+    <string name="add_wait" msgid="3360818652790319634">"ლოდინის დამატება"</string>
+    <string name="call_settings" msgid="7666474782093693667">"პარამეტრები"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"ახალი კონტაქტი"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"ყველა კონტაქტი"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"ზარის დეტალები"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"მოთხოვნილი ზარის დეტალების წაკითხვა ვერ მოხერხდა."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"ტონალური კლავიატურის გამოყენება"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"მიმდინარე ზარზე დაბრუნება"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"ზარის დამატება"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"შემომავალი ზარი"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"გამავალი ზარი"</string>
+    <string name="type_missed" msgid="2720502601640509542">"გამოტოვებული ზარი"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"ხმოვანი ფოსტა"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"შემომავალი ზარები"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"ხმოვანი ფოსტის ჩართვა"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"შემომავალი ზარი"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"გამავალი ზარი"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"გამოტოვებული ზარი"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"ხმოვანი ფოსტა"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"კონტაქტის დამატება"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"კონტაქტის <xliff:g id="NAME">%1$s</xliff:g> ნახვა"</string>
+    <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g>-თან დარეკვა"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"ტესქტური შეტყობინების გაგზავნა <xliff:g id="NAME">%1$s</xliff:g>-ისთვის"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"მოსასმენი ხმოვანი ფოსტა"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"ხმოვანი ძიების დაწყება"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"დარეკვა <xliff:g id="NUMBER">%s</xliff:g>-ზე"</string>
+    <string name="unknown" msgid="740067747858270469">"უცნობი"</string>
+    <string name="voicemail" msgid="3851469869202611441">"ხმოვანი ფოსტა"</string>
+    <string name="private_num" msgid="6374339738119166953">"დაფარული ნომერი"</string>
+    <string name="payphone" msgid="4864313342828942922">"საზოგადოებრივი ტელეფონი"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"კლავიატურის გამოყენება დასარეკად"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"დარეკეთ ზარის დასამატებლად"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> წთ <xliff:g id="SECONDS">%s</xliff:g> წმ"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"ზარი ვერ განხორციელდა"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"ხმოვანი ფოსტის დასაყენებლად გადადით მენიუს &gt; პარამეტრებზე."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"ხმოვან ფოსტასთან დასაკავშირებლად პირველ რიგში გამორთეთ თვითმფრინავის რეჟიმი."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"იტვირთება…"</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"იტვირთება SIM ბარათიდან…"</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM ბარათის კონტაქტები"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"ამ ფუნქციის გამოსაყენებლად ხელახლა გააქტიურეთ აპლიკაცია „ხალხი“."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"შეიყვანეთ სახელი, ან ტელეფონის ნომერი"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"ყველა"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"გამოტოვებული"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"ბოლო დროის ზარები არ არის."</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"ბოლო დროის ხმოვანი ფოსტა არ არის."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"ყველა კონტაქტის ჩვენება"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"მხოლოდ რჩეულების ჩვენება"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"ისტორია"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"ყველა კონტაქტი"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"ყველა კონტაქტი"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"წაიშალა რჩეულებიდან"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"დაბრუნება"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"დარეკვა <xliff:g id="NUMBER">%s</xliff:g>-ზე"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"კონტაქტებში დამატება"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> ახალი გაცდენილი ზარი"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"რჩეულები და ხშირი კონაქტები\nაქ გამოჩნდება.\nასე რომ, დაიწყეთ რეკვა."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"შეეხეთ სურათს ყველა ნომრის სანახავად, ან შეეხეთ და დააყოვნეთ მიმდევრობის შესაცვლელად"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"დახურვა"</string>
+</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
new file mode 100644
index 0000000..4d6f74e
--- /dev/null
+++ b/res/values-ka/strings.xml
@@ -0,0 +1,157 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"დარეკვა"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"ტელეფონი"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"ტელეფონი"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"ზარების ჟურნალი"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"ტექსტური შეტყობინების გაგზავნა"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"<xliff:g id="NAME">%s</xliff:g>-თან დარეკვა"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"ნომრის რედაქტირება დარეკვამდე"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"კონტაქტებში დამატება"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"ზარების ჟურნალიდან ამოღება"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"ზარების ჟურნალის წაშლა"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"ხმოვანი ფოსტის წაშლა"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"ხმოვანი ფოსტის გაზიარება"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"ზარების ჟურნალი ცარიელია."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"გსურთ ზარების ჟურნალის წაშლა?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"ყველა თქვენი ზარის ჩანაწერი წაიშლება."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"ზარების ჟურნალი იშლება…"</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"ხმოვანი ფოსტა"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ხმოვანი ფოსტა"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"დაკვრა"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"ახალი ხმოვანი ფოსტა <xliff:g id="CALLER">%1$s</xliff:g>-ისგან"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"ხმოვანი ფოსტის მოსმენა ვერ მოხერხდა."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"ბუფერიზაცია…"</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"ხმოვანი ფოსტის მიღება…"</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"ხმოვანი ფოსტის მიღება ვერ მოხერხდა."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"მხოლოდ ზარები ხმოვანი ფოსტით"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"მხოლოდ შემომავალი ზარები"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"მხოლოდ გამავალი ზარები"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"მხოლოდ გამოტოვებული ზარები"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"ხმოვანი ფოსტის სერვერთან დაკავშირება შეუძლებელია."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"ხმ. ფოსტის სერვერთან კავშირი არ არის. ახალი ხმ. ფოსტა იცდის."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"თქვენი ხმოვანი ფოსტის პარამეტრების დაყენება."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"აუდიო მიუწვდომელია."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"კონფიგურაცია"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"ხმოვან ფოსტასთან დაკავშირება"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"ყველაზე დაბალი სიჩქარე"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"დაბალი სიჩქარე"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"საშუალო სიჩქარე"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"დიდი სიჩქარე"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"უდიდესი სიჩქარე"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>-ში"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"ნომრის შერჩევა"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"ნომრის შერჩევა"</string>
+    <string name="make_primary" msgid="5829291915305113983">"დაიმახსოვრე ეს არჩევანი"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"ერთი"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"ორი"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"სამი"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"ოთხი"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"ხუთი"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"ექვსი"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"შვიდი"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"რვა"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"ცხრა"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"ვარსკვლავი"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"ნული"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"გირვანქა"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"ხმოვანი ფოსტა"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"ძიება"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"დარეკვა"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"უკუშლა"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"ასაკრეფი ნომერი"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"საუბრის ისტორია"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"სხვა პარამეტრები"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"ციფერბლატი"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"კოპირება"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"მხოლოდ გამავალის ჩვენება"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"მხოლოდ შემომავალის ჩვენება"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"მხოლოდ გამოტოვებულის ჩვენება"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"მხოლოდ ხმოვანი ფოსტის ჩვენება"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"ყველა ზარის ჩვენება"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"ორწამიანი პაუზის დამატება"</string>
+    <string name="add_wait" msgid="3360818652790319634">"ლოდინის დამატება"</string>
+    <string name="call_settings" msgid="7666474782093693667">"პარამეტრები"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"ახალი კონტაქტი"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"ზარის დეტალები"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"მოთხოვნილი ზარის დეტალების წაკითხვა ვერ მოხერხდა."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"ტონალური კლავიატურის გამოყენება"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"მიმდინარე ზარზე დაბრუნება"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"ზარის დამატება"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"შემომავალი ზარი"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"გამავალი ზარი"</string>
+    <string name="type_missed" msgid="2720502601640509542">"გამოტოვებული ზარი"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"ხმოვანი ფოსტა"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"შემომავალი ზარები"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"ხმოვანი ფოსტის ჩართვა"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"შემომავალი ზარი"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"გამავალი ზარი"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"გამოტოვებული ზარი"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"ხმოვანი ფოსტა"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"კონტაქტის დამატება"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"კონტაქტის <xliff:g id="NAME">%1$s</xliff:g> ნახვა"</string>
+    <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g>-თან დარეკვა"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"ტესქტური შეტყობინების გაგზავნა <xliff:g id="NAME">%1$s</xliff:g>-ისთვის"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"მოსასმენი ხმოვანი ფოსტა"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"ხმოვანი ძიების დაწყება"</string>
+    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"დარეკვა <xliff:g id="NUMBER">%s</xliff:g>-ზე"</string>
+    <string name="unknown" msgid="740067747858270469">"უცნობი"</string>
+    <string name="voicemail" msgid="3851469869202611441">"ხმოვანი ფოსტა"</string>
+    <string name="private_num" msgid="6374339738119166953">"კერძო ნომერი"</string>
+    <string name="payphone" msgid="4864313342828942922">"საზოგადოებრივი ტელეფონი"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"კლავიატურის გამოყენება დასარეკად"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"დარეკეთ ზარის დასამატებლად"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> წთ <xliff:g id="SECONDS">%s</xliff:g> წმ"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"ზარი ვერ განხორციელდა"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"ხმოვანი ფოსტის დასაყენებლად გადადით მენიუს &gt; პარამეტრებზე."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"ხმოვან ფოსტასთან დასაკავშირებლად პირველ რიგში გამორთეთ თვითმფრინავის რეჟიმი."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"იტვირთება…"</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"იტვირთება SIM ბარათიდან…"</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM ბარათის კონტაქტები"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"ამ ფუნქციის გამოსაყენებლად ხელახლა გააქტიურეთ აპლიკაცია „ხალხი“."</string>
+    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"შეიყვანეთ სახელი, ან ტელეფონი"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"ყველა"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"გამოტოვებული"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"ბოლო დროის ზარები არ არის."</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"ბოლო დროის ხმოვანი ფოსტა არ არის."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"ყველა კონტაქტის ჩვენება"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"მხოლოდ რჩეულების ჩვენება"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"ისტორია"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"ყველა კონტაქტი"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"ყველა კონტაქტი"</string>
+    <string name="favorite_hidden" msgid="4837366417440391323">"დამალულია რჩეულებიდან"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"დაბრუნება"</string>
+</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
new file mode 100644
index 0000000..e0f890f
--- /dev/null
+++ b/res/values-km-rKH/strings.xml
@@ -0,0 +1,164 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"អ្នក​ហៅ"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"ទូរស័ព្ទ"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"ទូរស័ព្ទ"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"បញ្ជី​ហៅ"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"ផ្ញើ​សារ​អត្ថបទ"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"ហៅ <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"កែ​លេខ​មុន​ពេល​ហៅ"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"បន្ថែម​ទៅ​ទំនាក់ទំនង"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"លុបចេញ​ពី​បញ្ជី​ហៅ"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"សម្អាត​បញ្ជី​ហៅ"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"លុប​សារ​ជា​សំឡេង"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"ចែករំលែក​សារ​ជា​សំឡេង"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"បញ្ជី​ហៅ​គឺ​ទទេ។"</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"សម្អាត​បញ្ជី​ហៅ​?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"នឹង​លុប​កំណត់ត្រា​ហៅ​ទាំងអស់​របស់​អ្នក។"</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"កំពុង​សម្អាត​បញ្ជី​ហៅ..."</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"សារ​ជា​សំឡេង"</item>
+    <item quantity="other" msgid="5513481419205061254">"សារ​ជា​សំឡេង <xliff:g id="COUNT">%1$d</xliff:g>"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ចាក់"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"សារ​ជា​សំឡេង​ថ្មី​ពី <xliff:g id="CALLER">%1$s</xliff:g>"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"មិន​អាច​ចាក់​សារ​ជា​សំឡេង។"</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"កំពុង​គណនា..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"កំពុង​ទៅ​យក​សារ​ជា​សំឡេង..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"មិន​អាច​ទៅ​យក​សារ​ជា​សំឡេង..."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"តែ​ការ​ហៅ​ជា​សារ​សំឡេង"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"តែ​ការ​ហៅ​ចូល"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"តែ​ការ​ហៅ​ចេញ​ប៉ុណ្ណោះ"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"តែ​លេខ​ខកខាន​ទទួល"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"មិន​អាច​តភ្ជាប់​ទៅ​ម៉ាស៊ីន​មេ​សារ​ជា​សំឡេង។"</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"មិន​អាច​តភ្ជាប់​ទៅ​ម៉ាស៊ីន​មេ​សារ​ជា​សំឡេង។ សារ​ជា​សំឡេង​ថ្មី​កំពុង​រង់ចាំ។"</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"រៀបចំ​សារ​ជា​សំឡេង​របស់​អ្នក។"</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"មិន​មាន​សំឡេង។"</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"រៀបចំ"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"ហៅ​ជា​សារ​សំឡេង"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"ល្បឿន​យឺត​បំផុត"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"ល្បឿន​យឺត"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"ល្បឿន​ធម្មតា"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"ល្បឿន​លឿន"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"ល្បឿន​លឿន​បំផុត"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"ជ្រើស​លេខ"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"ជ្រើស​លេខ"</string>
+    <string name="make_primary" msgid="5829291915305113983">"ចងចាំ​ជម្រើស​នេះ"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"មួយ"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"ពីរ"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"បី"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"បួន"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"ប្រាំ"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"ប្រាំមួយ"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"ប្រាំពីរ"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"ប្រាំបី"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"ប្រាំបួន"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"ផ្កាយ"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"សូន្យ"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"ផោន"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"សារ​ជា​សំឡេង"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"ស្វែងរក"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"dial"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"លេខ​ដែល​ត្រូវ​ហៅ"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"ប្រវត្តិ​ហៅ"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"ជម្រើស​បន្ថែម"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"បន្ទះ​លេខ"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"ចម្លង"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"បង្ហាញ​តែ​ការ​ហៅ​ចេញ"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"បង្ហាញ​តែ​ការ​ហៅ​ចូល"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"បង្ហាញ​តែ​ការ​ខកខាន​ទទួល"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"បង្ហាញ​តែ​សារ​ជា​សំឡេង"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"បង្ហាញ​ការ​ហៅ​ទាំងអស់"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"បន្ថែម​ការ​ផ្អាក ២វិ."</string>
+    <string name="add_wait" msgid="3360818652790319634">"បញ្ចូល​ការ​រង់ចាំ"</string>
+    <string name="call_settings" msgid="7666474782093693667">"ការ​កំណត់"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"ទំនាក់ទំនង​ថ្មី"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"ទំនាក់ទំនង​ទាំងអស់"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"ព័ត៌មាន​លម្អិត​នៃ​ការ​ហៅ"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"មិន​អាច​អាន​ព័ត៌មាន​លម្អិត​សម្រាប់​ការ​ហៅ​បាន​ស្នើ។"</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"ប្រើ​សំឡេង​ប៉ះ​បន្ទះ​លេខ"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"កំពុង​ត្រឡប់​ទៅកាន់​ការ​ហៅ"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"បន្ថែម​ការ​ហៅ"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"ការ​ហៅ​ចូល"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"ការ​ហៅ​ចេញ"</string>
+    <string name="type_missed" msgid="2720502601640509542">"ខកខាន​ទទួល"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"សារ​ជា​សំឡេង"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"ការ​ហៅ​ចូល"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"ចាក់​សារ​ជា​សំឡេង"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"ការ​ហៅ​ចូល"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"ការ​ហៅ​ចេញ"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"ខកខាន​ទទួល"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"សារ​ជា​សំឡេង"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"បន្ថែម​ទំនាក់ទំនង"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"មើល​ទំ​នាក់ទំនង <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call" msgid="3443678121983852666">"ហៅ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"ផ្ញើ​រ​សារ​អត្ថបទ​ទៅ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"សារ​ជា​សំឡេង​ដែល​មិន​បាន​ឮ"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"ចាប់ផ្ដើម​ស្វែងរក​ជា​សំឡេង"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"ហៅ <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="unknown" msgid="740067747858270469">"មិន​ស្គាល់"</string>
+    <string name="voicemail" msgid="3851469869202611441">"សារ​ជា​សំឡេង"</string>
+    <string name="private_num" msgid="6374339738119166953">"លេខ​ឯកជន"</string>
+    <string name="payphone" msgid="4864313342828942922">"ទូរស័ព្ទ​ប្រើ​កាក់"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"ប្រើ​ក្ដារ​ចុច ​ដើម្បី​ចុច​លេខ"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"ចុច​ដើម្បី​បន្ថែម​ការ​ហៅ"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> នាទី <xliff:g id="SECONDS">%s</xliff:g> វិនាទី"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"ការ​ហៅ​មិន​បាន​បញ្ជូន"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"ដើម្បី​កំណត់​សារ​ជា​សំឡេង ចូល​ម៉ឺនុយ &gt; ការ​កំណត់។"</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"ដើម្បី​ហៅ​សារ​ជា​សំឡេង ដំបូង​ត្រូវ​បិទ​របៀប​ពេល​ជិះ​យន្តហោះ។"</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"កំពុង​ផ្ទុក..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"កំពុង​ផ្ទុក​ពី​ស៊ីម​កាត..."</string>
+    <string name="simContacts_title" msgid="27341688347689769">"ទំនាក់ទំនង​នៅ​ក្នុង​ស៊ីម​កាត"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"បើក​កម្មវិធី​ឡើងវិញ​ដើម្បី​ប្រើ​លក្ខណៈ​នេះ។"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"សូម​បញ្ចូល​ឈ្មោះ ឬ​លេខទូរស័ព្ទ"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"ទាំង​អស់"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"ខកខាន​ទទួល"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"មិន​មានការ​​ខកខាន​ទទួល​ថ្មី​ទេ។"</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"គ្មាន​សារ​ជា​សំឡេង​ថ្មី​ទេ។"</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"បង្ហាញ​ទំនាក់​ទំនង​ទាំងអស់"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"បង្ហាញ​តែ​​និយម​ប្រើ​ប៉ុណ្ណោះ"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"ប្រវត្តិ"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"ទំនាក់ទំនង​ទាំងអស់"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"ទំនាក់ទំនង​ទាំងអស់"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"បាន​លុប​ចេញពី​ទំនាក់ទំនង​ដែល​និយម​ប្រើ"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"មិនធ្វើវិញ"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"ហៅ <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"បន្ថែម​ទៅ​ទំនាក់ទំនង"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"ខកខាន​ទទួល​ថ្មី <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"ការ​និយម​ប្រើ &amp; ទំនាក់ទំនង​ដែល​អ្នក\nហៅ​ញឹកញាប់​នឹង​បង្ហាញ​នៅ​ទីនេះ។\nដូច្នេះ ចាប់ផ្ដើម​ហៅ។"</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"ប៉ះ​រូបភាព ដើម្បី​មើល​លេខ​ទាំងអស់ ឬ​ចុច និង​សង្កត់​ដើម្បី​តម្រៀប​ឡើងវិញ"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"បដិសេធ"</string>
+</resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
new file mode 100644
index 0000000..e5a9cd4
--- /dev/null
+++ b/res/values-km/strings.xml
@@ -0,0 +1,157 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"អ្នក​ហៅ"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"ទូរស័ព្ទ"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"ទូរស័ព្ទ"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"បញ្ជី​ហៅ"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"ផ្ញើ​សារ​អត្ថបទ"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"ហៅ <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"កែ​លេខ​មុន​ពេល​ហៅ"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"បន្ថែម​ទៅ​ទំនាក់ទំនង"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"លុបចេញ​ពី​បញ្ជី​ហៅ"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"សម្អាត​បញ្ជី​ហៅ"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"លុប​សារ​ជា​សំឡេង"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"ចែករំលែក​សារ​ជា​សំឡេង"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"បញ្ជី​ហៅ​គឺ​ទទេ។"</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"សម្អាត​បញ្ជី​ហៅ​?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"នឹង​លុប​កំណត់ត្រា​ហៅ​ទាំងអស់​របស់​អ្នក។"</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"កំពុង​សម្អាត​បញ្ជី​ហៅ..."</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"សារ​ជា​សំឡេង"</item>
+    <item quantity="other" msgid="5513481419205061254">"សារ​ជា​សំឡេង <xliff:g id="COUNT">%1$d</xliff:g>"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ចាក់"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"សារ​ជា​សំឡេង​ថ្មី​ពី <xliff:g id="CALLER">%1$s</xliff:g>"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"មិន​អាច​ចាក់​សារ​ជា​សំឡេង។"</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"កំពុង​គណនា..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"កំពុង​ទៅ​យក​សារ​ជា​សំឡេង..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"មិន​អាច​ទៅ​យក​សារ​ជា​សំឡេង..."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"តែ​ការ​ហៅ​ជា​សារ​សំឡេង"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"តែ​ការ​ហៅ​ចូល"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"តែ​ការ​ហៅ​ចេញ​ប៉ុណ្ណោះ"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"តែ​លេខ​ខកខាន​ទទួល"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"មិន​អាច​តភ្ជាប់​ទៅ​ម៉ាស៊ីន​មេ​សារ​ជា​សំឡេង។"</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"មិន​អាច​តភ្ជាប់​ទៅ​ម៉ាស៊ីន​មេ​សារ​ជា​សំឡេង។ សារ​ជា​សំឡេង​ថ្មី​កំពុង​រង់ចាំ។"</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"រៀបចំ​សារ​ជា​សំឡេង​របស់​អ្នក។"</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"មិន​មាន​សំឡេង។"</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"រៀបចំ"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"ហៅ​ជា​សារ​សំឡេង"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"ល្បឿន​យឺត​បំផុត"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"ល្បឿន​យឺត"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"ល្បឿន​ធម្មតា"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"ល្បឿន​លឿន"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"ល្បឿន​លឿន​បំផុត"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"ជ្រើស​លេខ"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"ជ្រើស​លេខ"</string>
+    <string name="make_primary" msgid="5829291915305113983">"ចងចាំ​ជម្រើស​នេះ"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"មួយ"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"ពីរ"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"បី"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"បួន"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"ប្រាំ"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"ប្រាំមួយ"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"ប្រាំពីរ"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"ប្រាំបី"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"ប្រាំបួន"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"ផ្កាយ"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"សូន្យ"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"ផោន"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"សារ​ជា​សំឡេង"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"ស្វែងរក"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"dial"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"លេខ​ដែល​ត្រូវ​ហៅ"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"ប្រវត្តិ​ហៅ"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"ជម្រើស​បន្ថែម"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"បន្ទះ​លេខ"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"ចម្លង"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"បង្ហាញ​តែ​ការ​ហៅ​ចេញ"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"បង្ហាញ​តែ​ការ​ហៅ​ចូល"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"បង្ហាញ​តែ​ការ​ខកខាន​ទទួល"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"បង្ហាញ​តែ​សារ​ជា​សំឡេង"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"បង្ហាញ​ការ​ហៅ​ទាំងអស់"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"បន្ថែម​ការ​ផ្អាក ២វិ."</string>
+    <string name="add_wait" msgid="3360818652790319634">"បញ្ចូល​ការ​រង់ចាំ"</string>
+    <string name="call_settings" msgid="7666474782093693667">"ការ​កំណត់"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"ទំនាក់ទំនង​ថ្មី"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"ព័ត៌មាន​លម្អិត​នៃ​ការ​ហៅ"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"មិន​អាច​អាន​ព័ត៌មាន​លម្អិត​សម្រាប់​ការ​ហៅ​បាន​ស្នើ។"</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"ប្រើ​សំឡេង​ប៉ះ​បន្ទះ​លេខ"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"កំពុង​ត្រឡប់​ទៅកាន់​ការ​ហៅ"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"បន្ថែម​ការ​ហៅ"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"ការ​ហៅ​ចូល"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"ការ​ហៅ​ចេញ"</string>
+    <string name="type_missed" msgid="2720502601640509542">"ខកខាន​ទទួល"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"សារ​ជា​សំឡេង"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"ការ​ហៅ​ចូល"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"ចាក់​សារ​ជា​សំឡេង"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"ការ​ហៅ​ចូល"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"ការ​ហៅ​ចេញ"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"ខកខាន​ទទួល"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"សារ​ជា​សំឡេង"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"បន្ថែម​ទំនាក់ទំនង"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"មើល​ទំ​នាក់ទំនង <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call" msgid="3443678121983852666">"ហៅ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"ផ្ញើ​រ​សារ​អត្ថបទ​ទៅ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"សារ​ជា​សំឡេង​ដែល​មិន​បាន​ឮ"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"ចាប់ផ្ដើម​ស្វែងរក​ជា​សំឡេង"</string>
+    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"ហៅ <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="unknown" msgid="740067747858270469">"មិន​ស្គាល់"</string>
+    <string name="voicemail" msgid="3851469869202611441">"សារ​ជា​សំឡេង"</string>
+    <string name="private_num" msgid="6374339738119166953">"លេខ​ឯកជន"</string>
+    <string name="payphone" msgid="4864313342828942922">"ទូរស័ព្ទ​ប្រើ​កាក់"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"ប្រើ​ក្ដារ​ចុច ​ដើម្បី​ចុច​លេខ"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"ចុច​ដើម្បី​បន្ថែម​ការ​ហៅ"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> នាទី <xliff:g id="SECONDS">%s</xliff:g> វិនាទី"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"ការ​ហៅ​មិន​បាន​បញ្ជូន"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"ដើម្បី​កំណត់​សារ​ជា​សំឡេង ចូល​ម៉ឺនុយ &gt; ការ​កំណត់។"</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"ដើម្បី​ហៅ​សារ​ជា​សំឡេង ដំបូង​ត្រូវ​បិទ​របៀប​ពេល​ជិះ​យន្តហោះ។"</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"កំពុង​ផ្ទុក..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"កំពុង​ផ្ទុក​ពី​ស៊ីម​កាត..."</string>
+    <string name="simContacts_title" msgid="27341688347689769">"ទំនាក់ទំនង​នៅ​ក្នុង​ស៊ីម​កាត"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"បើក​កម្មវិធី​ឡើងវិញ​ដើម្បី​ប្រើ​លក្ខណៈ​នេះ។"</string>
+    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"សូម​បញ្ចូល​ឈ្មោះ ឬ​ទូរស័ព្ទ"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"ទាំង​អស់"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"ខកខាន​ទទួល"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"មិន​មានការ​​ខកខាន​ទទួល​ថ្មី​ទេ។"</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"គ្មាន​សារ​ជា​សំឡេង​ថ្មី​ទេ។"</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"បង្ហាញ​ទំនាក់​ទំនង​ទាំងអស់"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"បង្ហាញ​តែ​​និយម​ប្រើ​ប៉ុណ្ណោះ"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"ប្រវត្តិ"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"ទំនាក់ទំនង​ទាំងអស់"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"ទំនាក់ទំនង​ទាំងអស់"</string>
+    <string name="favorite_hidden" msgid="4837366417440391323">"បាន​លាក់​ពី​ការ​និយម"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"មិនធ្វើវិញ"</string>
+</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 3bab4d5..eed6a3b 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"버퍼링 중..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"음성메시지를 가져오는 중..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"음성메시지 가져오지 못했습니다."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"신규"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"이전"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"음성사서함 메시지만"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"수신 전화만"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"발신 전화만"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"전화를 걸 번호"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"통화 기록"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"옵션 더보기"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"다이얼패드"</string>
     <string name="menu_copy" msgid="6108677035381940698">"복사"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"발신 전화만 표시"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"수신 전화만 표시"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"대기 시간 추가"</string>
     <string name="call_settings" msgid="7666474782093693667">"설정"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"새 연락처"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"전체 주소록"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"통화 세부정보"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"요청한 통화의 세부정보를 읽지 못했습니다."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"터치톤 키패드 사용"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"전화하기:<xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g>님에게 문자 메시지 보내기"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"듣지 않은 음성사서함"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"음성 검색 시작"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g>에 전화"</string>
     <string name="unknown" msgid="740067747858270469">"알 수 없음"</string>
     <string name="voicemail" msgid="3851469869202611441">"음성사서함"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM 카드에서 로딩 중..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"SIM 카드 주소록"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"이 기능을 사용하려면 주소록 애플리케이션을 사용하도록 다시 설정하세요."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"이름 또는 전화번호 입력"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"이름 또는 전화번호 입력"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"전체"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"부재중 전화"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"최근 부재중 전화가 없습니다."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"모든 연락처 표시"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"즐겨찾는 연락처만 표시"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"기록"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"전체 주소록"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"전체 주소록"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"즐겨찾기에서 삭제됨"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"실행취소"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g>에 전화"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"주소록에 추가"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"새로운 부재중 전화 <xliff:g id="NUMBER">%s</xliff:g>건"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"자주 전화하는 연락처가\n여기에 표시됩니다.\n전화해 보세요."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"이미지를 탭하여 모든 번호를 확인하거나 길게 눌러 재정렬합니다."</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"닫기"</string>
 </resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
new file mode 100644
index 0000000..41e6525
--- /dev/null
+++ b/res/values-lo-rLA/strings.xml
@@ -0,0 +1,164 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"ແປ້ນໂທລະສັບ"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"ໂທລະສັບ"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"ໂທລະສັບ"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"ບັນທຶກການໂທ"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"ສົ່ງຂໍ້ຄວາມ"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"ໂທຫາ <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"ແກ້ໄຂເບີກ່ອນໂທ"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"ເພີ່ມໃສ່ລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"ລຶບອອກຈາກບັນທຶກການໂທ"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"ລຶບບັນທຶກການໂທ"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"ລຶບຂໍ້ຄວາມສຽງ"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"ແບ່ງປັນຂໍ້ຄວາມສຽງ"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"ບັນທຶກການໂທຫວ່າງເປົ່າ."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"ລຶບບັນທຶກການໂທ?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"ບັນທຶກການໂທທັງໝົດຂອງທ່ານຈະຖືກລຶບອອກ."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"ກຳລັງລຶກບັນທຶກການໂທ..."</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"ຂໍ້ຄວາມສຽງ"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ຂໍ້ຄວາມສຽງ"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ຫຼິ້ນ"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"ບໍ່ມີຂໍ້ຄວາມສຽງຈາກ <xliff:g id="CALLER">%1$s</xliff:g>"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"ບໍ່ສາມາດເປີດຂໍ້ຄວາມສຽງໄດ້."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"ກຳລັງດຶງຂໍ້ມູນມາກຽມ..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"ກຳລັງດຶງຂໍ້ຄວາມສຽງ..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"ບໍ່ສາມາດດຶງຂໍ້ຄວາມສຽງໄດ້."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"ເບີໂທຂໍ້ຄວາມສຽງເທົ່ານັ້ນ"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"ສາຍໂທເຂົ້າເທົ່ານັ້ນ"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"ເບີໂທອອກເທົ່ານັ້ນ"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"ສະເພາະສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"ບໍ່ສາມາດເຊື່ອມຕໍ່ຫາເຊີບເວີຂໍ້ຄວາມສຽງ."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"ບໍ່ສາມາດເຊື່ອມຕໍ່ຫາເຊີບເວີຂໍ້ຄວາມສຽງໄດ້. ມີຂໍ້ຄວາມສຽງໃໝ່ກຳລັງລໍຖ້າ."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"ຕັ້ງຄ່າຂໍ້ຄວາມສຽງຂອງທ່ານ"</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"ບໍ່ມີສຽງ."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"ຕັ້ງຄ່າ"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"ໂທຫາເບີຂໍ້ຄວາມສຽງ"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"ຊ້າທີ່ສຸດ"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"ຊ້າ"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"ປົກກະຕິ"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"ໄວ"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"ໄວທີ່ສຸດ"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"ເລືອກເບີໂທ"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"ເລືອກເບີໂທ"</string>
+    <string name="make_primary" msgid="5829291915305113983">"ຈື່ການເລືອກນີ້"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"ນຶ່ງ"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"ສອງ"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"ສາມ"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"ສີ່"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"ຫ້າ"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"ຫົກ"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"ເຈັດ"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"ແປດ"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"ເກົ້າ"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"ຕິດດາວ"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"ສູນ"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"ພາວ"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"ຂໍ້ຄວາມສຽງ"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"ຊອກຫາ"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"ແປ້ນໂທ"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"ໝາຍເລກທີ່ຈະໂທ"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"ປະຫວັດການໂທ"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"ໂຕເລືອກເພີ່ມເຕີມ"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"ປຸ່ມໂທລະສັບ"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"ສຳເນົາ"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"ສະແດງສະເພາະສາຍໂທອອກ"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"ສະແດງສະເພາະສາຍໂທເຂົ້າ"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"ສະແດງສະເພາະສາຍບໍ່ໄດ້ຮັບ"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"ສະແດງສະເພາະຂໍ້ຄວາມສຽງ"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"ສະແດງການໂທທັງໝົດ"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"ເພີ່ມການຂັ້ນເວລາ 2 ວິນາທີ"</string>
+    <string name="add_wait" msgid="3360818652790319634">"ເພີ່ມການລໍຖ້າ"</string>
+    <string name="call_settings" msgid="7666474782093693667">"ການຕັ້ງຄ່າ"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"ສ້າງລາຍຊື່ຜູ່ຕິດຕໍ່ໃໝ່"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"ລາຍລະອຽດການໂທ"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"ບໍ່ສາມາດອ່ານລາຍລະອຽດຂອງສາຍທີ່ຕ້ອງການໄດ້."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"ໃຊ້ປຸ່ມກົດສັນຍານສຽງ"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"ກັບໄປການໂທທີ່ກຳລັງດຳເນີນຢູ່"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"ເພີ່ມການໂທ"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"ສາຍໂທເຂົ້າ"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"ສາຍໂທອອກ"</string>
+    <string name="type_missed" msgid="2720502601640509542">"ສາຍບໍ່ໄດ້ຮັບ"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"ຂໍ້ຄວາມສຽງ"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"ສາຍໂທເຂົ້າ"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"ເປີດຂໍ້ຄວາມສຽງ"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"ສາຍໂທເຂົ້າ"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"ສາຍໂທອອກ"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"ສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"ຂໍ້ຄວາມສຽງ"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"ເພີ່ມລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"ເບິ່ງລາຍຊື່ຜູ່ຕິດຕໍ່ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call" msgid="3443678121983852666">"ໂທຫາ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"ສົ່ງຂໍ້ຄວາມຫາ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"ຂໍ້ຄວາມສຽງທີ່ຍັງບໍ່ໄດ້ຟັງ"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"ເລີ່ມການຊອກຫາດ້ວຍສຽງ"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"ໂທ​ຫາ <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="unknown" msgid="740067747858270469">"ບໍ່ຮູ້ຈັກ"</string>
+    <string name="voicemail" msgid="3851469869202611441">"ຂໍ້ຄວາມສຽງ"</string>
+    <string name="private_num" msgid="6374339738119166953">"ເບີສ່ວນໂຕ"</string>
+    <string name="payphone" msgid="4864313342828942922">"ໂທລະສັບສາທາລະນະ"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"ໃຊ້ແປ້ນພິມເພື່ອກົດໂທ"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"ກົດໝາຍເລກເພື່ອເພີ່ມການໂທ"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> ນທ <xliff:g id="SECONDS">%s</xliff:g> ວິ"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"ສາຍບໍ່ໄດ້ສົ່ງ"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"ເພື່ອຕັ້ງຄ່າຂໍ້ຄວາມສຽງ ໃຫ້ໄປທີ່ ເມນູ &gt; ການຕັ້ງຄ່າ."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"ເພື່ອໂທຫາເບີຂໍ້ຄວາມສຽງ ທ່ານຕ້ອງປິດໂໝດຢູ່ເທິງຍົນກ່ອນ."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"ກຳລັງໂຫລດ..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"ກຳລັງໂຫລດຈາກ SIM card..."</string>
+    <string name="simContacts_title" msgid="27341688347689769">"ລາຍຊື່ຜູ່ຕິດຕໍ່ SIM card"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"ເປີດການນຳໃຊ້ແອັບພລິເຄຊັນ People ຄືນ ເພື່ອໃຊ້ຄຸນສົມບັດນີ້."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"ພິມຊື່ ຫຼເບີໂທລະສັບ"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"ທັງໝົດ"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"ສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"ບໍ່ມີສາຍທີ່ບໍ່ໄດ້ຮັບຫຼ້າສຸດ."</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"ບໍ່​ມີຂໍ້ຄວາມສຽງຫຼ້າສຸດ​."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"ສະແດງລາຍຊື່ທັງໝົດ"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"ສະ​ແດງ​ສະເພາະລາຍການທີ່ນິຍົມເທົ່ານັ້ນ"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"ປະຫວັດການໂທ"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"ລຶບອອກຈາກລາຍການທີ່ມັກແລ້ວ"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"ຍົກເລີກ"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"ໂທ​ຫາ <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"ເພີ່ມໃສ່ລາຍຊື່ຕິດຕໍ່"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> ສາຍທີ່ບໍ່ໄດ້ຮັບໃໝ່"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"ລາຍງານທີ່ມັກ &amp; ລາຍຊື່ຜູ່ຕິດຕໍ່ທີ່ທ່ານ\nໂທຫາເລື້ອຍໆ ຈະປາກົດຢູ່ບ່ອນນີ້.\nສະນັ້ນ, ທ່ານສາມາດເລີ່ມໂທໄດ້."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"ແຕະຮູບ​ພາບ​ເພື່ອເບິ່ງຈໍານວນຮູບພາບທັງໝົດ ຫຼືແຕະຄ້າງໄວ້ເພື່ອຈັດຮຽງໃໝ່"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"ເຂົ້າໃຈແລ້ວ"</string>
+</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
new file mode 100644
index 0000000..a9310f7
--- /dev/null
+++ b/res/values-lo/strings.xml
@@ -0,0 +1,157 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"ແປ້ນໂທລະສັບ"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"ໂທລະສັບ"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"ໂທລະສັບ"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"ບັນທຶກການໂທ"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"ສົ່ງຂໍ້ຄວາມ"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"ໂທຫາ <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"ແກ້ໄຂເບີກ່ອນໂທ"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"ເພີ່ມໃສ່ລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"ລຶບອອກຈາກບັນທຶກການໂທ"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"ລຶບບັນທຶກການໂທ"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"ລຶບຂໍ້ຄວາມສຽງ"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"ແບ່ງປັນຂໍ້ຄວາມສຽງ"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"ບັນທຶກການໂທຫວ່າງເປົ່າ."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"ລຶບບັນທຶກການໂທ?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"ບັນທຶກການໂທທັງໝົດຂອງທ່ານຈະຖືກລຶບອອກ."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"ກຳລັງລຶກບັນທຶກການໂທ..."</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"ຂໍ້ຄວາມສຽງ"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> ຂໍ້ຄວາມສຽງ"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ຫຼິ້ນ"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"ບໍ່ມີຂໍ້ຄວາມສຽງຈາກ <xliff:g id="CALLER">%1$s</xliff:g>"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"ບໍ່ສາມາດເປີດຂໍ້ຄວາມສຽງໄດ້."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"ກຳລັງດຶງຂໍ້ມູນມາກຽມ..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"ກຳລັງດຶງຂໍ້ຄວາມສຽງ..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"ບໍ່ສາມາດດຶງຂໍ້ຄວາມສຽງໄດ້."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"ເບີໂທຂໍ້ຄວາມສຽງເທົ່ານັ້ນ"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"ສາຍໂທເຂົ້າເທົ່ານັ້ນ"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"ເບີໂທອອກເທົ່ານັ້ນ"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"ສະເພາະສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"ບໍ່ສາມາດເຊື່ອມຕໍ່ຫາເຊີບເວີຂໍ້ຄວາມສຽງ."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"ບໍ່ສາມາດເຊື່ອມຕໍ່ຫາເຊີບເວີຂໍ້ຄວາມສຽງໄດ້. ມີຂໍ້ຄວາມສຽງໃໝ່ກຳລັງລໍຖ້າ."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"ຕັ້ງຄ່າຂໍ້ຄວາມສຽງຂອງທ່ານ"</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"ບໍ່ມີສຽງ."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"ຕັ້ງຄ່າ"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"ໂທຫາເບີຂໍ້ຄວາມສຽງ"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"ຊ້າທີ່ສຸດ"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"ຊ້າ"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"ປົກກະຕິ"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"ໄວ"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"ໄວທີ່ສຸດ"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"ເລືອກເບີໂທ"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"ເລືອກເບີໂທ"</string>
+    <string name="make_primary" msgid="5829291915305113983">"ຈື່ການເລືອກນີ້"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"ນຶ່ງ"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"ສອງ"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"ສາມ"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"ສີ່"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"ຫ້າ"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"ຫົກ"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"ເຈັດ"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"ແປດ"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"ເກົ້າ"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"ຕິດດາວ"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"ສູນ"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"ພາວ"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"ຂໍ້ຄວາມສຽງ"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"ຊອກຫາ"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"ແປ້ນໂທ"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"backspace"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"ໝາຍເລກທີ່ຈະໂທ"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"ປະຫວັດການໂທ"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"ໂຕເລືອກເພີ່ມເຕີມ"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"ປຸ່ມໂທລະສັບ"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"ສຳເນົາ"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"ສະແດງສະເພາະສາຍໂທອອກ"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"ສະແດງສະເພາະສາຍໂທເຂົ້າ"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"ສະແດງສະເພາະສາຍບໍ່ໄດ້ຮັບ"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"ສະແດງສະເພາະຂໍ້ຄວາມສຽງ"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"ສະແດງການໂທທັງໝົດ"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"ເພີ່ມການຂັ້ນເວລາ 2 ວິນາທີ"</string>
+    <string name="add_wait" msgid="3360818652790319634">"ເພີ່ມການລໍຖ້າ"</string>
+    <string name="call_settings" msgid="7666474782093693667">"ການຕັ້ງຄ່າ"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"ສ້າງລາຍຊື່ຜູ່ຕິດຕໍ່ໃໝ່"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"ລາຍລະອຽດການໂທ"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"ບໍ່ສາມາດອ່ານລາຍລະອຽດຂອງສາຍທີ່ຕ້ອງການໄດ້."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"ໃຊ້ປຸ່ມກົດສັນຍານສຽງ"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"ກັບໄປການໂທທີ່ກຳລັງດຳເນີນຢູ່"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"ເພີ່ມການໂທ"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"ສາຍໂທເຂົ້າ"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"ສາຍໂທອອກ"</string>
+    <string name="type_missed" msgid="2720502601640509542">"ສາຍບໍ່ໄດ້ຮັບ"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"ຂໍ້ຄວາມສຽງ"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"ສາຍໂທເຂົ້າ"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"ເປີດຂໍ້ຄວາມສຽງ"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"ສາຍໂທເຂົ້າ"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"ສາຍໂທອອກ"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"ສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"ຂໍ້ຄວາມສຽງ"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"ເພີ່ມລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"ເບິ່ງລາຍຊື່ຜູ່ຕິດຕໍ່ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call" msgid="3443678121983852666">"ໂທຫາ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"ສົ່ງຂໍ້ຄວາມຫາ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"ຂໍ້ຄວາມສຽງທີ່ຍັງບໍ່ໄດ້ຟັງ"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"ເລີ່ມການຊອກຫາດ້ວຍສຽງ"</string>
+    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"ໂທ​ຫາ <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="unknown" msgid="740067747858270469">"ບໍ່ຮູ້ຈັກ"</string>
+    <string name="voicemail" msgid="3851469869202611441">"ຂໍ້ຄວາມສຽງ"</string>
+    <string name="private_num" msgid="6374339738119166953">"ເບີສ່ວນໂຕ"</string>
+    <string name="payphone" msgid="4864313342828942922">"ໂທລະສັບສາທາລະນະ"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"ໃຊ້ແປ້ນພິມເພື່ອກົດໂທ"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"ກົດໝາຍເລກເພື່ອເພີ່ມການໂທ"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> ນທ <xliff:g id="SECONDS">%s</xliff:g> ວິ"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"ສາຍບໍ່ໄດ້ສົ່ງ"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"ເພື່ອຕັ້ງຄ່າຂໍ້ຄວາມສຽງ ໃຫ້ໄປທີ່ ເມນູ &gt; ການຕັ້ງຄ່າ."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"ເພື່ອໂທຫາເບີຂໍ້ຄວາມສຽງ ທ່ານຕ້ອງປິດໂໝດຢູ່ເທິງຍົນກ່ອນ."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"ກຳລັງໂຫລດ..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"ກຳລັງໂຫລດຈາກ SIM card..."</string>
+    <string name="simContacts_title" msgid="27341688347689769">"ລາຍຊື່ຜູ່ຕິດຕໍ່ SIM card"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"ເປີດການນຳໃຊ້ແອັບພລິເຄຊັນ People ຄືນ ເພື່ອໃຊ້ຄຸນສົມບັດນີ້."</string>
+    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"ພິມ​ຊື່ ​ຫຼື​ເບີໂທລະ​ສັບ"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"ທັງໝົດ"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"ສາຍທີ່ບໍ່ໄດ້ຮັບ"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"ບໍ່ມີສາຍທີ່ບໍ່ໄດ້ຮັບຫຼ້າສຸດ."</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"ບໍ່​ມີຂໍ້ຄວາມສຽງຫຼ້າສຸດ​."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"ສະແດງລາຍຊື່ທັງໝົດ"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"ສະ​ແດງ​ສະເພາະລາຍການທີ່ນິຍົມເທົ່ານັ້ນ"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"ປະຫວັດການໂທ"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
+    <string name="favorite_hidden" msgid="4837366417440391323">"ຖືກເຊື່ອງຈາກລາຍການທີ່ມັກແລ້ວ"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"ຍົກເລີກ"</string>
+</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 804aa7f..f934435 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Rašoma į buferį…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Gaunamas balso paštas…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Nepavyko gauti balso pašto pranešimo."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nauji"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Senesni"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Tik skambučiai su balso paštu"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Tik gaunami skambučiai"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Tik siunčiami skambučiai"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"renkamas numeris"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Skambučių istorija"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Daugiau parinkčių"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"skambinimo skydelis"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopijuoti"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Rodyti tik išsiunčiamus"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Rodyti tik gaunamus"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Pridėti laukimą"</string>
     <string name="call_settings" msgid="7666474782093693667">"Nustatymai"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Naujas adresatas"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Visi kontaktai"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Išsami skambučio informacija"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Nepavyko nuskaityti išsamios skambučio, dėl kurio buvo pateikta užklausa, informacijos."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Naudoti jutiklinę klaviatūrą"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Skambinti <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Siųsti teksto pranešimą <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Neklausytas balso pašto pranešimas"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Pradėti paiešką balsu"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Skambinti <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Nežinomas"</string>
     <string name="voicemail" msgid="3851469869202611441">"Balso paštas"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Įkeliama iš SIM kortelės..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"SIM kortelės adresatai"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Iš naujo įgalinti programą Žmonės, kad būtų galima naudoti šią funkciją."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Įveskite vardą arba telefono numerį"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Įveskite vardą arba tel. nr."</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Visi"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Praleisti"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Nėra neseniai praleistų skambučių."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Rodyti visus kontaktus"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Rodyti tik mėgstamiausius"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Istorija"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Visi kontaktai"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Visi kontaktai"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Pašalintas iš adresyno"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Anuliuoti"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Skambinti numeriu <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Pridėti prie kontaktų"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"Naujų praleistų skambučių: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Mėgstamiausieji ir kontaktai,\nkuriems dažnai skambinate, bus rodomi čia.\nTad pradėkite skambinti."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Palieskite vaizdą, kad pamatytumėte visus skaičius, arba paspauskite ir palaikykite, kad pakeistumėte tvarką"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Atsisakyti"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 9dbbaf0..197fcf9 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Notiek buferizācija..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Notiek balss pasta iegūšana..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Nevarēja iegūt balss pasta ziņojumu."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Jauns"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Vecāki"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Tikai balss pasta zvani"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Tikai ienākošie zvani"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Tikai izejošie zvani"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"sastādītais numurs"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Zvanu vēsture"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Vairāk opciju"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"numura sastādīšanas tastatūra"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopēt"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Rādīt tikai izejošos zvanus"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Rādīt tikai ienākošos zvanus"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Pievienot gaidīšanu"</string>
     <string name="call_settings" msgid="7666474782093693667">"Iestatījumi"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Jauna kontaktpersona"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Visas kontaktpersonas"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Informācija par zvanu"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Nevarēja nolasīt informāciju par pieprasīto zvanu."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Izmantot skārientoņu tastatūru"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Zvanīt šim: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Sūtīt īsziņu šim: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nenoklausīti balss pasta ziņojumi"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Sākt meklēšanu ar balsi"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Zvaniet: <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Nezināms"</string>
     <string name="voicemail" msgid="3851469869202611441">"Balss pasts"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Notiek ielāde no SIM kartes..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Kontaktpersonas SIM kartē"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Lai izmantotu šo funkciju, atkārtoti iespējojiet lietojumprogrammu Personas."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Ier. vārdu vai tālr. nr."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Ierakstiet vārdu vai tālr. nr."</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Visi"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Neatb."</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Nav nesenu neatbildēto zvanu."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Rādīt visas kontaktpersonas"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Rādīt tikai izlasi"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Vēsture"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Visas kontaktpersonas"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Visas kontaktpersonas"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Noņemts no izlases"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Atsaukt"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Zvaniet: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Pievienot kontaktpersonām"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"Jauni neatbildēti zvani: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Šeit tiks rādīta izlase un kontaktpersonas,\nkurām bieži zvanāt.\nVarat sākt zvanīšanu."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Pieskarieties attēlam, lai skatītu visus tālruņa numurus, vai pieskarieties un turiet, lai mainītu secību."</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Noraidīt"</string>
 </resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
new file mode 100644
index 0000000..18144a4
--- /dev/null
+++ b/res/values-mn-rMN/strings.xml
@@ -0,0 +1,164 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"Залгагч"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"Утас"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"Утас"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"Дуудлагын жагсаалт"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"Зурвас илгээх"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"<xliff:g id="NAME">%s</xliff:g> руу залгах"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Дуудлага хийхийн өмнө дугаарыг засах"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Харилцагчдад нэмэх"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Дуудлагын жагсаалтаас хасах"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Дуудлагын жагсаалтыг устгах"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Дуут шууданг устгах"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Дуут шууданг хуваалцах"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"Дуудлагын жагсаалт хоосон байна."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Дуудлагын жагсаалтыг устгах уу?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Таны бүх дуудлагын бичлэгүүд устах болно."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Дуудлагын жагсаалтыг устгаж байна…"</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"Дуут шуудан"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Дуут шуудан"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Тоглуулах"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g>-с ирсэн шинэ дуут шуудан"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"Дуут шууданг тоглуулж чадсангүй."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"Буферлэж байна…"</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"Дуут шууданг уншиж байна…"</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Дуут шууданг уншиж чадсангүй."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"Зөвхөн дуут шуудантай дуудлагуудыг"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"Зөвхөн ирсэн дуудлага"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"Зөвхөн залгасан дуудлагуудыг"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"Зөвхөн аваагүй дуудлагуудыг"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Дуут шуудангийн серверт холбогдож чадахгүй байна."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Дуут шуудангийн серверт холбогдож чадахгүй байна. Шинэ дуут шуудангууд хүлээгдэж байна."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Дуут шуудангаа тохируулна уу."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Аудио байхгүй байна."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Тохируулах"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Дуут шуудан руу залгах"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Хамгийн удаанаар"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"Удаанаар"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"Энгийн хурдаар"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"Хурданаар"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Хамгийн хурданаар"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"Дугаар сонгоно уу"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"Дугаар сонгоно уу"</string>
+    <string name="make_primary" msgid="5829291915305113983">"Энэ сонголтыг санах"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"нэг"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"хоёр"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"гурав"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"дөрөв"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"тав"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"зургаа"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"долоо"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"найм"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"ес"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"од"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"тэг"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"фунт"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"дуут шуудан"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"хайх"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"залгах"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"Ухраах"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"залгах дугаар"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"Дуудлагын түүх"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"Нэмэлт сонголтууд"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"дугаар цуглуулагч"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"Хуулах"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Зөвхөн залгасан дуудлагуудыг харуулах"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"Зөвхөн ирсэн дуудлагуудыг харуулах"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"Зөвхөн аваагүй дуудлагуудыг харуулах"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Зөвхөн дуут шуудангуудыг харуулах"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"Бүх дуудлагыг харуулах"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"2-сек зогсолт нэмэх"</string>
+    <string name="add_wait" msgid="3360818652790319634">"Хүлээлт нэмэх"</string>
+    <string name="call_settings" msgid="7666474782093693667">"Тохиргоо"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"Шинэ харилцагч"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Бүх харилцагчид"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"Дуудлагын мэдээлэл"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"Хийсэн дуудлагын дэлгэрэнгүй мэдээллийг уншиж чадсангүй."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Хүрэлтээр дуугардаг гар ашиглах"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Үргэлжилж буй дуудлага руу буцах"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Дуудлага нэмэх"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"Ирж буй дуудлага"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"Залгасан дуудлага"</string>
+    <string name="type_missed" msgid="2720502601640509542">"Аваагүй дуудлага"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"Дуут шуудан"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"Ирж буй дуудлага"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Дуут шууданг тоглуулах"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Ирж буй дуудлага"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Залгасан дуудлага"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Аваагүй дуудлага"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Дуут шуудан"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"Харилцагч нэмэх"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g> харилцагчийг харах"</string>
+    <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> руу залгах"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g> руу зурвас илгээх"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Сонсоогүй дуут шуудан"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Дуун хайлтыг эхлүүлэх"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> руу залгах"</string>
+    <string name="unknown" msgid="740067747858270469">"Тодорхойгүй"</string>
+    <string name="voicemail" msgid="3851469869202611441">"Дуут шуудан"</string>
+    <string name="private_num" msgid="6374339738119166953">"Нууцлагдсан дугаар"</string>
+    <string name="payphone" msgid="4864313342828942922">"Төлбөртэй утас"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Залгахдаа гар ашиглах"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"Дуудлага нэмэхийн тулд залгана уу"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> минут <xliff:g id="SECONDS">%s</xliff:g> секунд"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Дуудлага илгээгдсэнгүй"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Дуут шууданг тохируулахын тулд Цэс &gt; Тохиргоо руу очно уу."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Дуут шуудан руу залгахын тулд юуны өмнө Нислэгийн төлвийг идэвхгүйжүүлнэ үү."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"Ачааллаж байна..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM картаас уншиж байна…"</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM картны харилцагчид"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"Тус функцийг ашиглахын тулд People аппликешнийг дахин идэвхжүүлнэ үү."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Нэр эсвэл дугаарыг бичнэ үү"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"Бүгд"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Аваагүй"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"Саяхны аваагүй дуудлага алга байна."</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"Саяхны дуут шуудан байхгүй байна."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"Бүх харилцагчдыг харуулах"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"Зөвхөн дуртайнуудыг харуулах"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"Түүх"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Бүх харилцагчид"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Бүх харилцагчид"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Дуртай жагсаалтаас хасав"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Буцаах"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g> руу залгах"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Харилцагчдад нэмэх"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> шинэ аваагүй дуудлага"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Таны дуртай &amp; \nбайнга залгадаг харилцагчид\nэнд харагдах болно."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Бүх тоог харахын тулд зургийг товших буюу дахин захиалахын тулд дараад барина уу"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Хаах"</string>
+</resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
new file mode 100644
index 0000000..8294eaa
--- /dev/null
+++ b/res/values-mn/strings.xml
@@ -0,0 +1,157 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"Залгагч"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"Утас"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"Утас"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"Дуудлагын жагсаалт"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"Зурвас илгээх"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"<xliff:g id="NAME">%s</xliff:g> руу залгах"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Дуудлага хийхийн өмнө дугаарыг засах"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Харилцагчдад нэмэх"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Дуудлагын жагсаалтаас хасах"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Дуудлагын жагсаалтыг устгах"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Дуут шууданг устгах"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Дуут шууданг хуваалцах"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"Дуудлагын жагсаалт хоосон байна."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Дуудлагын жагсаалтыг устгах уу?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Таны бүх дуудлагын бичлэгүүд устах болно."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Дуудлагын жагсаалтыг устгаж байна…"</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"Дуут шуудан"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Дуут шуудан"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Тоглуулах"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g>-с ирсэн шинэ дуут шуудан"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"Дуут шууданг тоглуулж чадсангүй."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"Буферлэж байна…"</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"Дуут шууданг уншиж байна…"</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Дуут шууданг уншиж чадсангүй."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"Зөвхөн дуут шуудантай дуудлагуудыг"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"Зөвхөн ирсэн дуудлага"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"Зөвхөн залгасан дуудлагуудыг"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"Зөвхөн аваагүй дуудлагуудыг"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Дуут шуудангийн серверт холбогдож чадахгүй байна."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Дуут шуудангийн серверт холбогдож чадахгүй байна. Шинэ дуут шуудангууд хүлээгдэж байна."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Дуут шуудангаа тохируулна уу."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Аудио байхгүй байна."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Тохируулах"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Дуут шуудан руу залгах"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"Хамгийн удаанаар"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"Удаанаар"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"Энгийн хурдаар"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"Хурданаар"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Хамгийн хурданаар"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"Дугаар сонгоно уу"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"Дугаар сонгоно уу"</string>
+    <string name="make_primary" msgid="5829291915305113983">"Энэ сонголтыг санах"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"нэг"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"хоёр"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"гурав"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"дөрөв"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"тав"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"зургаа"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"долоо"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"найм"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"ес"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"од"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"тэг"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"фунт"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"дуут шуудан"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"хайх"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"залгах"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"Ухраах"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"залгах дугаар"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"Дуудлагын түүх"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"Нэмэлт сонголтууд"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"дугаар цуглуулагч"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"Хуулах"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Зөвхөн залгасан дуудлагуудыг харуулах"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"Зөвхөн ирсэн дуудлагуудыг харуулах"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"Зөвхөн аваагүй дуудлагуудыг харуулах"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Зөвхөн дуут шуудангуудыг харуулах"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"Бүх дуудлагыг харуулах"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"2-сек зогсолт нэмэх"</string>
+    <string name="add_wait" msgid="3360818652790319634">"Хүлээлт нэмэх"</string>
+    <string name="call_settings" msgid="7666474782093693667">"Тохиргоо"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"Шинэ харилцагч"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"Дуудлагын мэдээлэл"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"Хийсэн дуудлагын дэлгэрэнгүй мэдээллийг уншиж чадсангүй."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Хүрэлтээр дуугардаг гар ашиглах"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Үргэлжилж буй дуудлага руу буцах"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Дуудлага нэмэх"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"Ирж буй дуудлага"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"Залгасан дуудлага"</string>
+    <string name="type_missed" msgid="2720502601640509542">"Аваагүй дуудлага"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"Дуут шуудан"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"Ирж буй дуудлага"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Дуут шууданг тоглуулах"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Ирж буй дуудлага"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Залгасан дуудлага"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Аваагүй дуудлага"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Дуут шуудан"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"Харилцагч нэмэх"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g> харилцагчийг харах"</string>
+    <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> руу залгах"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g> руу зурвас илгээх"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Сонсоогүй дуут шуудан"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Дуун хайлтыг эхлүүлэх"</string>
+    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> руу залгах"</string>
+    <string name="unknown" msgid="740067747858270469">"Тодорхойгүй"</string>
+    <string name="voicemail" msgid="3851469869202611441">"Дуут шуудан"</string>
+    <string name="private_num" msgid="6374339738119166953">"Нууцлагдсан дугаар"</string>
+    <string name="payphone" msgid="4864313342828942922">"Төлбөртэй утас"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Залгахдаа гар ашиглах"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"Дуудлага нэмэхийн тулд залгана уу"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> минут <xliff:g id="SECONDS">%s</xliff:g> секунд"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Дуудлага илгээгдсэнгүй"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Дуут шууданг тохируулахын тулд Цэс &gt; Тохиргоо руу очно уу."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Дуут шуудан руу залгахын тулд юуны өмнө Нислэгийн төлвийг идэвхгүйжүүлнэ үү."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"Ачааллаж байна..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM картаас уншиж байна…"</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM картны харилцагчид"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"Тус функцийг ашиглахын тулд People аппликешнийг дахин идэвхжүүлнэ үү."</string>
+    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Нэр эсхүл дугаарыг бичнэ үү"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"Бүгд"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Аваагүй"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"Саяхны аваагүй дуудлага алга байна."</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"Саяхны дуут шуудан байхгүй байна."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"Бүх харилцагчдыг харуулах"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"Зөвхөн дуртайнуудыг харуулах"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"Түүх"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Бүх харилцагчид"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Бүх харилцагчид"</string>
+    <string name="favorite_hidden" msgid="4837366417440391323">"Дуртай харилцагчдаас нууцалсан"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Буцаах"</string>
+</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
new file mode 100644
index 0000000..20ee265
--- /dev/null
+++ b/res/values-ms-rMY/strings.xml
@@ -0,0 +1,164 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"Pendail"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"Telefon"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"Telefon"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"Log panggilan"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"Hantar mesej teks"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"Panggil <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"Edit nombor sebelum panggilan"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"Tambah ke kenalan"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Alih keluar daripada log panggilan"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Padam bersih log panggilan"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Padamkan mel suara"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Kongsi mel suara"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"Log panggilan kosong."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Padam bersih log panggilan?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Semua rekod panggilan anda akan dipadamkan."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Memadam bersih log panggilan..."</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"Mel suara"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> Mel suara"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Main"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Mel suara baru daripada <xliff:g id="CALLER">%1$s</xliff:g>"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"Tidak dapat memainkan mel suara."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"Menimbal…"</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"Sedang mendapatkan mel suara…"</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Tidak dapat mengambil mel suara."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"Panggilan dengan mel suara sahaja"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"Panggilan masuk sahaja"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"Panggilan keluar sahaja"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"Panggilan terlepas sahaja"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"Tidak boleh bersambung kepada pelayan mel suara."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"Tak boleh brsmbg kpd pelayan mel suara. Mel suara baru menunggu."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"Sediakan mel suara anda."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Audio tidak tersedia."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"Menyediakan"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Panggil mel suara"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"kelajuan paling perlahan"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"Kelajuan perlahan"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"Kelajuan biasa"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"Kelajuan pantas"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"Kelajuan paling pantas"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"Pilih nombor"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"Pilih nombor"</string>
+    <string name="make_primary" msgid="5829291915305113983">"Ingat pilihan ini"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"satu"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"dua"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"tiga"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"empat"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"lima"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"enam"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"tujuh"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"lapan"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"sembilan"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"bintang"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"sifar"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"paun"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"mel suara"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"cari"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"dail"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"undur ruang"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"nombor untuk didail"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"Sejarah Panggilan"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"Lagi pilihan"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"pad dail"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"Salin"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Tunjuk panggilan keluar shj"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"Tunjuk panggilan masuk shj"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"Tunjuk panggilan terlepas shj"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Tunjukkan mel suara sahaja"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"Tunjukkan semua panggilan"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"Tambah jeda 2 saat"</string>
+    <string name="add_wait" msgid="3360818652790319634">"Tambah penungguan"</string>
+    <string name="call_settings" msgid="7666474782093693667">"Tetapan"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"Kenalan baru"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Semua kenalan"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"Butiran panggilan"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"Tidak boleh membaca butiran untuk panggilan yang diminta."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Gunakan pad kekunci nada sentuh"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Kembali ke panggilan yang sedang berlangsung"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Tambah panggilan"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"Panggilan masuk"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"Panggilan keluar"</string>
+    <string name="type_missed" msgid="2720502601640509542">"Panggilan tidak dijawab"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"Mel suara"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"Panggilan masuk"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Mainkan mel suara"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Panggilan masuk"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Panggilan keluar"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Panggilan tidak dijawab"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Mel suara"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"Tambah kenalan"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"Lihat kenalan <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call" msgid="3443678121983852666">"Panggil <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"Hantar mesej teks kepada <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mel suara belum didengar"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Mulakan carian suara"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"Panggil <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="unknown" msgid="740067747858270469">"Tidak diketahui"</string>
+    <string name="voicemail" msgid="3851469869202611441">"Mel suara"</string>
+    <string name="private_num" msgid="6374339738119166953">"Nombor peribadi"</string>
+    <string name="payphone" msgid="4864313342828942922">"Telefon awam"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Gunakan papan kekunci untuk mendail"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"Dail untuk menambah panggilan"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> saat"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"Panggilan tidak dihantar"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"Untuuk menyediakan mel suara, pergi ke Menu &gt; Tetapan."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"Untuk membuat panggilan ke mel suara, mula-mula matikan mod Pesawat."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"Memuatkan…"</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Memuatkan dari kad SIM..."</string>
+    <string name="simContacts_title" msgid="27341688347689769">"Kenalan kad SIM"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"Dayakan semula aplikasi Orang untuk menggunakan ciri ini."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Taip nama atau nombor telefon"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"Semua"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Tidak dijawab"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"Tiada panggilan tidak dijawab terbaru."</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"Tiada mel suara terbaru."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"Tunjukkan semua kenalan"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"Tunjukkan kegemaran sahaja"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"Sejarah"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Semua kenalan"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Semua kenalan"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Dialih keluar daripada kegemaran"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Buat asal"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Panggil <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Tambahkan pada kenalan"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> panggilan terlepas baharu"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Kegemaran &amp; kenalan yang\nkerap anda hubungi akan ditunjukkan di sini.\nJadi, mulalah membuat panggilan."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Ketik imej untuk melihat semua nombor atau tekan dan tahan imej untuk menyusun semula"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Ketepikan"</string>
+</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index f8f7f35..a7d42cb 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Menimbal…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Sedang mendapatkan mel suara…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Tidak dapat mengambil mel suara."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Baru"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Lebih lama"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Panggilan dengan mel suara sahaja"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Panggilan masuk sahaja"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Panggilan keluar sahaja"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"nombor untuk didail"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Sejarah Panggilan"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Lagi pilihan"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"pad dail"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Salin"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Tunjuk panggilan keluar shj"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Tunjuk panggilan masuk shj"</string>
@@ -114,8 +113,7 @@
     <string name="description_call" msgid="3443678121983852666">"Panggil <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Hantar mesej teks kepada <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mel suara belum didengar"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
+    <string name="description_start_voice_search" msgid="520539488194946012">"Mulakan carian suara"</string>
     <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Panggil <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Tidak diketahui"</string>
@@ -142,12 +140,18 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Tunjukkan semua kenalan"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Tunjukkan kegemaran sahaja"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Sejarah"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Semua kenalan"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Semua kenalan"</string>
+    <string name="favorite_hidden" msgid="4837366417440391323">"Disembunyikan daripada kegemaran"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Buat asal"</string>
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 6010a6f..cdd18ec 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Bufrer …"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Henter talepost …"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Kunne ikke hente talepost."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nytt"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Eldre"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Bare anrop som gikk til talepostkasse"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Bare innkommende anrop"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Bare utgående anrop"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"ring til"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Anropslogg"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Flere alternativer"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"tastatur"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopiér"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Vis bare utgående"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Vis bare innkommende"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Legg til Vent"</string>
     <string name="call_settings" msgid="7666474782093693667">"Innstillinger"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Ny kontakt"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Alle kontakter"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Samtaleinformasjon"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Kunne ikke lese informasjon for forespurt samtale."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Bruk tonetastatur"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Ring til <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Send tekstmelding til <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Ikke avspilt talepost"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"–"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Start talesøk"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Ring <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Ukjent"</string>
     <string name="voicemail" msgid="3851469869202611441">"Telefonsvarer"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Henter fra SIM-kort…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"Kontakter på SIM-kort"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Aktiver Personer-appen på nytt for å bruke denne funksjonen."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Skriv inn et navn eller telefonnummer"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Skriv inn et navn eller telefonnummer"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Alle"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Ikke besvart"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Ingen nylige ubesvarte anrop"</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Vis alle kontakter"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Vis bare favoritter"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Logg"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Alle kontakter"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Alle kontakter"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Fjernet fra favoritter"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Angre"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Ring <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Legg til i kontakter"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nye tapte anrop"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Favoritter og kontakter du \nringer ofte vises her.\n Ring i vei."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Trykk på bildet for å se alle telefonnumrene, eller trykk og hold inne for å endre rekkefølgen"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Fjern"</string>
 </resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
new file mode 100644
index 0000000..c208533
--- /dev/null
+++ b/res/values-ne-rNP/strings.xml
@@ -0,0 +1,162 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"डायलर"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"फोन"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"फोन"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"कल लग"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"पाठ सन्देश पठाउनुहोस्"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"कल <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"कल गर्नुअगाडी नम्बर सम्पादन गर्नुहोस्"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"सम्पर्कहरूमा थप्नुहोस्"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"कल लगबाट निकाल्नुहोस्"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"कल लग हटाउनुहोस्"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"भ्वाइसमेल हटाउनुहोस्"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"भ्वाइसमेल साझेदारी गर्नुहोस्"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"कल लग खाली छ।"</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"सबै कल लग हटाउने हो?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"तपाइँको सम्पूर्ण कल रेकर्डहरू हटाइने छ।"</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"कल लग हटाउँदै..."</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"भ्वाइसमेल"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> भ्वाइसमेलहरू"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"बजाउनुहोस्"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g> , <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> बाट नयाँ भ्वाइसमेल"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"भ्वाइसमेल बजाउन सकिएन।"</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"बफरिङ हुदै..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"भ्वाइसमेल ल्याइँदै ..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"भ्वाइसमेल ल्याउन सकेन।"</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"भ्वाइसमेलका साथ मात्र कल गर्नुहोस्"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"आगमन कलहरू मात्र"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"बहिर्गमन कलहरू मात्र"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"छुटेका कलहरू मात्र"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"भ्वाइसमेल सर्भरसँग जोड्न सक्दैन।"</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"भ्वाइसमेल सर्भरमा जडान गर्न सकेन। नयाँ भ्वाइसमेलहरू कुर्दै छन्।"</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"तपाईँको भ्वाइसमेल मिलाउनुहोस्"</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"अडियो उपलव्ध छैन।"</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"मिलाउनुहोस्"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"भ्वाइसमेल कल गर्नुहोस्"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"सबभन्दा ढिलो गति"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"सुस्त गति"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"सामान्य गति"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"तेज गति"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"सबभन्दा तेज गति"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"( <xliff:g id="COUNT">%1$d</xliff:g> ) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"नम्बर रोज्नुहोस्"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"नम्बर छान्नुहोस्"</string>
+    <string name="make_primary" msgid="5829291915305113983">"यो छनौट याद राख्नुहोस्"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"एक"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"दुई"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"तिन"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"चार"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"पाँच"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"छ"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"सात"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"आठ"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"नौ"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"तारा चिन्ह"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"शून्य"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"पाउन्ड"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"भ्वाइसमेल"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"खोजी गर्नुहोस्"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"डायल"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"ब्याकस्पेस"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"डायल गर्न संख्या"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"कल इतिहास"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"थप विकल्पहरू"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"डायल प्याड"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"प्रतिलिपि गर्नुहोस्"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"बहिर्गमन मात्र देखाउनुहोस्"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"आगमन कल मात्र देखाउनुहोस्"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"छुटेकाहरू मात्र देखाउनुहोस्"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"भ्वाइसमेलहरू मात्र देखाउनुहोस्"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"सबै कलहरू देखाउनुहोस्"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"२ सेकन्डको रोकाइ थप्नुहोस्"</string>
+    <string name="add_wait" msgid="3360818652790319634">"पर्खाइ थप्नुहोस्"</string>
+    <string name="call_settings" msgid="7666474782093693667">"सेटिङहरू"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"नयाँ सम्पर्क"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"सबै सम्पर्कहरू"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"कल विवरण"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"अनुरोध गरिएको कलको जानकारी पढ्न सकेन।"</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"स्पर्श टोन किप्याडको प्रयोग गर्नुहोस्"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"हुदै गरेको कलमा फर्कनुहोस्"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"कल थप्नुहोस्"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"आगमन कल"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"बहिर्गमन कल"</string>
+    <string name="type_missed" msgid="2720502601640509542">"मिस कल"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"भ्वाइसमेल"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"आगमन कलहरू"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"भ्वाइसमेल बजाउनुहोस्"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"आगमन कल"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"बहिर्गमन कल"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"मिस कल"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"भ्वाइसमेल"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"सम्पर्क थप्नुहोस्"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g> सम्पर्क हेर्नुहोस्"</string>
+    <string name="description_call" msgid="3443678121983852666">"कल <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g>मा पाठ सन्देश पठाउनुहोस्"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"नसुनिएका भ्वाइसमेल"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"आवाज खोजी सुरु गर्नुहोस्"</string>
+    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> कल गर्नुहोस्"</string>
+    <string name="unknown" msgid="740067747858270469">"अज्ञात"</string>
+    <string name="voicemail" msgid="3851469869202611441">"भ्वाइसमेल"</string>
+    <string name="private_num" msgid="6374339738119166953">"नीजि नम्बर"</string>
+    <string name="payphone" msgid="4864313342828942922">"भुक्तानी फोन"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"डायल गर्न किबोर्ड प्रयोग गर्नुहोस्"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"एउटा कल थप्नका लागि डायल गर्नुहोस्"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> मिनेट <xliff:g id="SECONDS">%s</xliff:g> सेकेन्ड"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"कल गएन"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"भ्वाइसमेल सेट गर्नका लागि मेनु सेटिङमा जानुहोस्।"</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"भ्वाइसमेल कल गर्नका लागि पहिले हवाइजहाज मोड बन्द गर्नुहोस्।"</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"लोड हुँदै..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM कार्डबाट लोड हुँदै"</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM कार्ड सम्पर्कहरू"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"यो सुविधा प्रयोग गर्नका लागि मानिसहरूको अनुप्रयोग पुनःसक्षम गर्नुहोस्।"</string>
+    <!-- no translation found for dialer_hint_find_contact (8798845521253672403) -->
+    <skip />
+    <string name="call_log_all_title" msgid="3566738938889333307">"सबै"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"छुटेको"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"हालमा छुटेका कुनै कलहरू छैनन्।"</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"हालको कुनै voicemail हरू छैनन्।"</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"सबै सम्पर्कहरू देखाउनुहोस्"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"मनपर्ने मात्र देखाउनुहोस्"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"इतिहास"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"०"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"१"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"२"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"३"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"४"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"५"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"६"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"७"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"८"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"९"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"सबै सम्पर्कहरू"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"सबै सम्पर्कहरू"</string>
+    <!-- no translation found for favorite_hidden (5011234945140912047) -->
+    <skip />
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"अनडु गर्नुहोस्"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g> कल गर्नुहोस्"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"सम्पर्कहरूमा थप्नुहोस्"</string>
+</resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
new file mode 100644
index 0000000..8ec13d7
--- /dev/null
+++ b/res/values-ne/strings.xml
@@ -0,0 +1,157 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"डायलर"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"फोन"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"फोन"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"कल लग"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"पाठ सन्देश पठाउनुहोस्"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"कल <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"कल गर्नुअगाडी नम्बर सम्पादन गर्नुहोस्"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"सम्पर्कहरूमा थप्नुहोस्"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"कल लगबाट निकाल्नुहोस्"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"कल लग हटाउनुहोस्"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"भ्वाइसमेल हटाउनुहोस्"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"भ्वाइसमेल साझेदारी गर्नुहोस्"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"कल लग खाली छ।"</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"सबै कल लग हटाउने हो?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"तपाइँको सम्पूर्ण कल रेकर्डहरू हटाइने छ।"</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"कल लग हटाउँदै..."</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"भ्वाइसमेल"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> भ्वाइसमेलहरू"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"बजाउनुहोस्"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g> , <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> बाट नयाँ भ्वाइसमेल"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"भ्वाइसमेल बजाउन सकिएन।"</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"बफरिङ हुदै..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"भ्वाइसमेल ल्याइँदै ..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"भ्वाइसमेल ल्याउन सकेन।"</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"भ्वाइसमेलका साथ मात्र कल गर्नुहोस्"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"आगमन कलहरू मात्र"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"बहिर्गमन कलहरू मात्र"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"छुटेका कलहरू मात्र"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"भ्वाइसमेल सर्भरसँग जोड्न सक्दैन।"</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"भ्वाइसमेल सर्भरमा जडान गर्न सकेन। नयाँ भ्वाइसमेलहरू कुर्दै छन्।"</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"तपाईँको भ्वाइसमेल मिलाउनुहोस्"</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"अडियो उपलव्ध छैन।"</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"मिलाउनुहोस्"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"भ्वाइसमेल कल गर्नुहोस्"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"सबभन्दा ढिलो गति"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"सुस्त गति"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"सामान्य गति"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"तेज गति"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"सबभन्दा तेज गति"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"( <xliff:g id="COUNT">%1$d</xliff:g> ) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"नम्बर रोज्नुहोस्"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"नम्बर छान्नुहोस्"</string>
+    <string name="make_primary" msgid="5829291915305113983">"यो छनौट याद राख्नुहोस्"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"एक"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"दुई"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"तिन"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"चार"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"पाँच"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"छ"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"सात"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"आठ"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"नौ"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"तारा चिन्ह"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"शून्य"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"पाउन्ड"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"भ्वाइसमेल"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"खोजी गर्नुहोस्"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"डायल"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"ब्याकस्पेस"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"डायल गर्न संख्या"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"कल इतिहास"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"थप विकल्पहरू"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"डायल प्याड"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"प्रतिलिपि गर्नुहोस्"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"बहिर्गमन मात्र देखाउनुहोस्"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"आगमन कल मात्र देखाउनुहोस्"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"छुटेकाहरू मात्र देखाउनुहोस्"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"भ्वाइसमेलहरू मात्र देखाउनुहोस्"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"सबै कलहरू देखाउनुहोस्"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"२ सेकन्डको रोकाइ थप्नुहोस्"</string>
+    <string name="add_wait" msgid="3360818652790319634">"पर्खाइ थप्नुहोस्"</string>
+    <string name="call_settings" msgid="7666474782093693667">"सेटिङहरू"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"नयाँ सम्पर्क"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"कल विवरण"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"अनुरोध गरिएको कलको जानकारी पढ्न सकेन।"</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"स्पर्श टोन किप्याडको प्रयोग गर्नुहोस्"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"हुदै गरेको कलमा फर्कनुहोस्"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"कल थप्नुहोस्"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"आगमन कल"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"बहिर्गमन कल"</string>
+    <string name="type_missed" msgid="2720502601640509542">"मिस कल"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"भ्वाइसमेल"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"आगमन कलहरू"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"भ्वाइसमेल बजाउनुहोस्"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"आगमन कल"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"बहिर्गमन कल"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"मिस कल"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"भ्वाइसमेल"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"सम्पर्क थप्नुहोस्"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g> सम्पर्क हेर्नुहोस्"</string>
+    <string name="description_call" msgid="3443678121983852666">"कल <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g>मा पाठ सन्देश पठाउनुहोस्"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"नसुनिएका भ्वाइसमेल"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"आवाज खोजी सुरु गर्नुहोस्"</string>
+    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> कल गर्नुहोस्"</string>
+    <string name="unknown" msgid="740067747858270469">"अज्ञात"</string>
+    <string name="voicemail" msgid="3851469869202611441">"भ्वाइसमेल"</string>
+    <string name="private_num" msgid="6374339738119166953">"नीजि नम्बर"</string>
+    <string name="payphone" msgid="4864313342828942922">"भुक्तानी फोन"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"डायल गर्न किबोर्ड प्रयोग गर्नुहोस्"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"एउटा कल थप्नका लागि डायल गर्नुहोस्"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> मिनेट <xliff:g id="SECONDS">%s</xliff:g> सेकेन्ड"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"कल गएन"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"भ्वाइसमेल सेट गर्नका लागि मेनु सेटिङमा जानुहोस्।"</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"भ्वाइसमेल कल गर्नका लागि पहिले हवाइजहाज मोड बन्द गर्नुहोस्।"</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"लोड हुँदै..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM कार्डबाट लोड हुँदै"</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM कार्ड सम्पर्कहरू"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"यो सुविधा प्रयोग गर्नका लागि मानिसहरूको अनुप्रयोग पुनःसक्षम गर्नुहोस्।"</string>
+    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"नाम वा फोन टाइप गर्नुहोस्"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"सबै"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"छुटेको"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"हालमा छुटेका कुनै कलहरू छैनन्।"</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"हालको कुनै voicemail हरू छैनन्।"</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"सबै सम्पर्कहरू देखाउनुहोस्"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"मनपर्ने मात्र देखाउनुहोस्"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"इतिहास"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"०"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"१"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"२"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"३"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"४"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"५"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"६"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"७"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"८"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"९"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"सबै सम्पर्कहरू"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"सबै सम्पर्कहरू"</string>
+    <string name="favorite_hidden" msgid="4837366417440391323">"मन पर्नेहरूबाट लुकाइएका"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"अनडु गर्नुहोस्"</string>
+</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index f4a5fd6..c8c6bb9 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -29,10 +29,10 @@
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Gesprekken wissen"</string>
     <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Voicemail verwijderen"</string>
     <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Voicemail delen"</string>
-    <string name="recentCalls_empty" msgid="247053222448663107">"Gesprekken is leeg"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"Gesprekkenoverzicht is leeg"</string>
     <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Oproeplog wissen?"</string>
     <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Al uw oproepgegevens worden verwijderd."</string>
-    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Oproeplogboek wissen..."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Gesprekkenlijst wissen..."</string>
   <plurals name="notification_voicemail_title">
     <item quantity="one" msgid="1746619685488504230">"Voicemail"</item>
     <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> voicemails"</item>
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"In buffer opslaan…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Voicemail ophalen…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Kan voicemail niet ophalen."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nieuw"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Ouder"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Alleen oproepen met voicemail"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Alleen inkomende oproepen"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Alleen uitgaande oproepen"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"nummer om te bellen"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Oproepgeschiedenis"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Meer opties"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"toetsenblok"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopiëren"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Alleen uitgaand weergeven"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Alleen inkomend weergeven"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Wachten toevoegen"</string>
     <string name="call_settings" msgid="7666474782093693667">"Instellingen"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Nieuw contact"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Alle contacten"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Gespreksgegevens"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Kan geen gegevens over het gevraagde gesprek vinden."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Toetsen voor toonkiezen gebruiken"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> bellen"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Sms verzenden naar <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Niet-beluisterde voicemail"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Gesproken zoekopdracht"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Bel <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Onbekend"</string>
     <string name="voicemail" msgid="3851469869202611441">"Voicemail"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Laden vanaf SIM-kaart..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Contacten op SIM-kaart"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Schakel de app \'Personen\' opnieuw in om deze functie te gebruiken."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Typ een naam of telefoon"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Typ een naam of telefoonnummer"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Alle"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Gemist"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Geen recente gemiste oproepen."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Alle contacten weergeven"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Alleen favorieten weergeven"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Geschiedenis"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Alle contacten"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Alle contacten"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Verwijderd uit favorieten"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Ongedaan maken"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Bel <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Toevoegen aan contacten"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nieuwe gemiste oproepen"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Favorieten en contacten die u\nvaak belt, worden hier weergegeven.\nDus begin met bellen."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Tik op de afbeelding om alle nummers te bekijken of raak deze lang aan om de volgorde van nummers te wijzigen"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Sluiten"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 044a2b3..07ccb56 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Buforowanie..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Pobieranie poczty głosowej..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Nie można pobrać poczty głosowej."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nowe"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Starsze"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Tylko połączenia z pocztą głosową"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Tylko połączenia przychodzące"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Tylko połączenia wychodzące"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"numer do wybrania"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Historia połączeń"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Więcej opcji"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"klawiatura"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopiuj"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Pokaż tylko wychodzące"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Pokaż tylko przychodzące"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Dodaj oczekiwanie"</string>
     <string name="call_settings" msgid="7666474782093693667">"Ustawienia"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Nowy kontakt"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Wszystkie kontakty"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Szczegóły połączenia"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Nie można odczytać szczegółów żądanego połączenia."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Użyj klawiatury tonowej"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Połącz z: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Wyślij SMS do: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nieodsłuchana poczta głosowa"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"–"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Wyszukiwanie głosowe"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Zadzwoń: <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Nieznane"</string>
     <string name="voicemail" msgid="3851469869202611441">"Poczta głosowa"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Wczytywanie z karty SIM…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"Kontakty z karty SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Aby korzystać z tej funkcji, włącz ponownie aplikację Kontakty."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Wpisz imię lub telefon"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Wpisz nazwisko/numer telefonu"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Wszystkie"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Nieodebrane"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Brak nowych nieodebranych połączeń."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Pokaż wszystkie kontakty"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Pokaż tylko ulubione"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Historia"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Wszystkie kontakty"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Wszystkie kontakty"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Usunięto z ulubionych"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Cofnij"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Zadzwoń: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Dodaj do kontaktów"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"Nowe nieodebrane połączenia: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Tutaj będą widoczne Twoje\nulubione i najczęstsze kontakty.\nPora zacząć dzwonić."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Kliknij zdjęcie, by zobaczyć wszystkie numery, lub kliknij je i przytrzymaj, by zmienić kolejność"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Zamknij"</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 7899671..fa7ae19 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"A colocar na memória intermédia..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"A obter correio de voz..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Não foi possível obter correio de voz."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Novo"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"+ antigo"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Apenas chamadas com correio de voz"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Apenas chamadas recebidas"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Apenas chamadas efetuadas"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"número a marcar"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Histórico de Chamadas"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Mais opções"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"teclado"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Copiar"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Mostrar apenas cham. efetuadas"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Mostrar apenas cham. recebidas"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Adicionar espera"</string>
     <string name="call_settings" msgid="7666474782093693667">"Definições"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Novo contacto"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Todos os contactos"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Detalhes da chamada"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Não foi possível ler os detalhes da chamada solicitada."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Utilizar teclado numérico com tons de toque"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Ligar a <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Enviar mensagem de texto para <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mensagem de correio de voz ainda não ouvida"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Iniciar pesquisa por voz"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Telefonar para <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Desconhecido"</string>
     <string name="voicemail" msgid="3851469869202611441">"Correio de voz"</string>
@@ -134,20 +133,32 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"A carregar a partir do cartão SIM..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Contactos no cartão SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Reative a aplicação Pessoas para utilizar esta funcionalidade."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Introduzir nome/telemóvel"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Introduzir nome ou n.º telef."</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Todos"</string>
-    <string name="call_log_missed_title" msgid="4541142293870638971">"Não atend."</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Não atendidas"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Não existem chamadas não atendidas recentes."</string>
     <string name="recentVoicemails_empty" msgid="5163114119598014048">"Não existe correio de voz recente."</string>
     <string name="show_all_contacts" msgid="1732256558071778056">"Mostrar todos os contactos"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Mostrar apenas os favoritos"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Histórico"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Todos os contactos"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Todos os contactos"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Removido dos favoritos"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Anular"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Telefonar para <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Adicionar aos contactos"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> chamadas não atendidas novas"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Os favoritos e os contactos para os quais\nliga frequentemente serão mostrados aqui,\n por isso, comece a ligar."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Toque na imagem para ver todos os números ou prima sem soltar para reordenar"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Ignorar"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index f5b88f3..a2d0fea 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Armazenar em buffer…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Buscando o correio de voz…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Não foi possível obter o correio de voz."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Novas"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Antigas"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Somente chamadas com correio de voz"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Somente chamadas recebidas"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Somente chamadas de saída"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"número para discagem"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Histórico de chamadas"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Mais opções"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"teclado numérico"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Copiar"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Mostrar apenas enviadas"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Mostrar apenas recebidas"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Adicionar espera"</string>
     <string name="call_settings" msgid="7666474782093693667">"Configurações"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Novo contato"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Todos os contatos"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Detalhes da chamada"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Não foi possível ler os detalhes para a chamada solicitada."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Usar teclado multifrequencial"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Ligar para <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Enviar mensagem de texto para <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nova mensagem de voz"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Iniciar pesquisa por voz"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Ligar para <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Desconhecido"</string>
     <string name="voicemail" msgid="3851469869202611441">"Correio de voz"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Carregando do cartão SIM..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Contatos do cartão SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Reative o aplicativo Pessoas para usar este recurso."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Digite o número/telefone"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Digite um nome ou telefone"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Tudo"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Perdidas"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Nenhuma chamada perdida recente."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Mostrar todos os contatos"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Mostrar somente favoritos"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Histórico"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Todos os contatos"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Todos os contatos"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Removido dos favoritos"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Desfazer"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Ligar para <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Adicionar aos contatos"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> novas chamadas perdidas"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Seus favoritos e os contatos\npara os quais você liga com mais frequência aparecerão aqui.\nComece a ligar!"</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Toque na imagem para ver todos os números ou pressione e segure para reordenar"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Descartar"</string>
 </resources>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index 0681c51..e1b7c63 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -55,10 +55,6 @@
     <skip />
     <!-- no translation found for voicemail_fetching_timout (6691792377574905201) -->
     <skip />
-    <!-- no translation found for call_log_new_header (846546437517724715) -->
-    <skip />
-    <!-- no translation found for call_log_old_header (6262205894314263629) -->
-    <skip />
     <!-- no translation found for call_log_voicemail_header (3945407886667089173) -->
     <skip />
     <!-- no translation found for call_log_incoming_header (2787722299753674684) -->
@@ -119,6 +115,8 @@
     <!-- no translation found for action_menu_overflow_description (2303272250613084574) -->
     <!-- no translation found for action_menu_overflow_description (2295659037509008453) -->
     <skip />
+    <!-- no translation found for action_menu_dialpad_button (1425910318049008136) -->
+    <skip />
     <!-- no translation found for menu_copy (6108677035381940698) -->
     <skip />
     <!-- no translation found for menu_show_outgoing_only (1965570298133301970) -->
@@ -136,6 +134,8 @@
     <!-- no translation found for call_settings (7666474782093693667) -->
     <skip />
     <string name="menu_newContact" msgid="1209922412763274638">"Nov contact"</string>
+    <!-- no translation found for menu_allContacts (6948308384034051670) -->
+    <skip />
     <string name="callDetailTitle" msgid="5340227785196217938">"Detagls dal clom"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Impussibel da leger ils detagls dal clom dumandà."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Utilisar la tastatura dal telefon"</string>
@@ -169,7 +169,7 @@
     <skip />
     <!-- no translation found for description_start_voice_search (520539488194946012) -->
     <skip />
-    <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
+    <!-- no translation found for call_log_empty_gecode (2019639420045039861) -->
     <skip />
     <!-- no translation found for menu_callNumber (997146291983360266) -->
     <skip />
@@ -193,7 +193,7 @@
     <string name="simContacts_title" msgid="27341688347689769">"Contacts sin la carta SIM"</string>
     <!-- no translation found for add_contact_not_available (1419207765446461366) -->
     <skip />
-    <!-- no translation found for dialer_hint_find_contact (9190419749917566623) -->
+    <!-- no translation found for dialer_hint_find_contact (8798845521253672403) -->
     <skip />
     <!-- no translation found for call_log_all_title (3566738938889333307) -->
     <skip />
@@ -209,12 +209,44 @@
     <skip />
     <!-- no translation found for call_log_activity_title (4612824396355272023) -->
     <skip />
+    <!-- no translation found for dialpad_0_number (8859392433961251108) -->
+    <skip />
+    <!-- no translation found for dialpad_1_number (6536740525419909212) -->
+    <skip />
+    <!-- no translation found for dialpad_2_number (4941546415280852148) -->
+    <skip />
+    <!-- no translation found for dialpad_3_number (6539414865185536881) -->
+    <skip />
+    <!-- no translation found for dialpad_4_number (979988372051042362) -->
+    <skip />
+    <!-- no translation found for dialpad_5_number (5492272478939926734) -->
+    <skip />
+    <!-- no translation found for dialpad_6_number (8044579516869379093) -->
+    <skip />
+    <!-- no translation found for dialpad_7_number (4175113016564167123) -->
+    <skip />
+    <!-- no translation found for dialpad_8_number (7949849563865941621) -->
+    <skip />
+    <!-- no translation found for dialpad_9_number (4377059952097526576) -->
+    <skip />
     <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
     <skip />
     <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
     <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
+    <!-- no translation found for favorite_hidden (5011234945140912047) -->
     <skip />
     <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
     <skip />
+    <!-- no translation found for search_shortcut_call_number (7277194656832895870) -->
+    <skip />
+    <!-- no translation found for search_shortcut_add_to_contacts (1853716708655789069) -->
+    <skip />
+    <!-- no translation found for num_missed_calls (8081736535604293886) -->
+    <skip />
+    <!-- no translation found for no_favorites (5212485868783382971) -->
+    <skip />
+    <!-- no translation found for contact_tooltip (7817483485692282287) -->
+    <skip />
+    <!-- no translation found for description_dismiss (2146276780562549643) -->
+    <skip />
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 3f09024..53cc3ab 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Se utilizează memoria tampon..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Se preia mesajul vocal..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Nu s-a putut prelua mesajul vocal."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Noi"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Mai vechi"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Numai apelurile cu mesaje vocale"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Numai apelurile primite"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Numai apelurile efectuate"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"numărul de apelat"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Istoricul apelurilor"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Mai multe opţiuni"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"tastatură numerică"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Copiaţi"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Numai apelurile efectuate"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Numai apelurile primite"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Adăugaţi interval de aşteptare"</string>
     <string name="call_settings" msgid="7666474782093693667">"Setări"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Persoană nouă în agendă"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Toată agenda"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Detaliile apelului"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Nu se pot citi detaliile pentru apelul solicitat."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Utilizaţi tastatura DTMF"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Apelaţi pe <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Trimiteţi un mesaj text către <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mesaje vocale neascultate"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Începeţi căutarea vocală"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Apelaţi <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Necunoscut"</string>
     <string name="voicemail" msgid="3851469869202611441">"Mesagerie vocală"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Se încarcă de pe cardul SIM..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Persoanele din agendă de pe cardul SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Pentru a utiliza această funcție, reactivați aplicația Persoane."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Introd. nume sau nr. tel."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Introd. nume sau nr. telefon"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Toate"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Nepreluate"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Nu există apeluri nepreluate recente."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Afișați toate persoanele de contact"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Afișați numai preferate"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Istoric"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Toată agenda"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Toată agenda"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"S-a eliminat din preferate"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Anulați"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Apelați <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Adăugați în Agendă"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> (de) apeluri nepreluate noi"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Preferințele și persoanele din Agendă pe care \nle apelați frecvent vor fi afișate aici.\nÎncepeți să faceți apeluri."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Atingeți imaginea pentru a vedea toate numerele sau apăsați și țineți apăsat pentru a reordona"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Închideți"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index a70b5c3..5a9d84b 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Буферизация..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Получение голосовой почты..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Не удалось получить голосовую почту."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Новые"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Раньше"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Только звонки с голосовой почтой"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Только входящие звонки"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Только исходящие звонки"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"набираемый номер"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"История вызовов"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Ещё"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"Панель набора номера"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Копировать"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Исходящие"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Входящие"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Добавить паузу"</string>
     <string name="call_settings" msgid="7666474782093693667">"Настройки"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Новый контакт"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Все контакты"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Сведения о вызове"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Не удается получить сведения о вызове."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Использовать тональный набор"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Позвонить: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Отправить текстовое сообщение: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непрослушанные сообщения голосовой почты"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Начать голосовой поиск"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Позвонить: <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Неизвестно"</string>
     <string name="voicemail" msgid="3851469869202611441">"Голосовая почта"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Загрузка с SIM-карты…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"Контакты на SIM-карте"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Чтобы использовать эту функцию, включите приложение \"Контакты\"."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Имя или номер телефона"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Введите имя или номер телефона"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Все"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Пропущенные"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Нет пропущенных звонков"</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Все контакты"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Только часто используемые"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"История"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Все контакты"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Все контакты"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Контакт удален из избранных"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Отмена"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Позвонить: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Добавить в контакты"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"Пропущенных вызовов: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Здесь будут отображаться избранные элементы\nи контакты, которым вы звоните чаще всего.\nОбщайтесь с удовольствием."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Нажмите на фото, чтобы посмотреть все номера. Чтобы изменить порядок номеров, нажмите и удерживайте фото."</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Закрыть"</string>
 </resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
new file mode 100644
index 0000000..721ab62
--- /dev/null
+++ b/res/values-si-rLK/strings.xml
@@ -0,0 +1,160 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"අංකිත මුහුණ"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"දුරකථනය"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"දුරකථනය"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"ඇමතුම් ලොගය"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"කෙටි පණිවිඩය යවන්න"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"<xliff:g id="NAME">%s</xliff:g> අමතන්න"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"ඇමතීමට කලින් අංකය වෙනස් කරන්න"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"සම්බන්ධතා වලට එක් කරන්න"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"ඇමතුම් ලොගයෙන් ඉවත් කරන්න"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"ඇමතුම් ලොගය හිස් කරන්න"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"හඬ තැපෑල මකන්න"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"හඬ තැපෑල බෙදාගන්න"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"ඇමතුම් ලොගය හිස් ය."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"ඇමතුම් ලොගය හිස් කරන්නද?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"ඔබගේ සියලුම ඇමතුම් වාර්තා මකා දැමෙනු ඇත."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"ඇමතුම් ලොගය හිස් කරමින්…"</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"හඬ තැපෑල"</item>
+    <item quantity="other" msgid="5513481419205061254">"හඬ තැපැල් <xliff:g id="COUNT">%1$d</xliff:g>"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ධාවනය කරන්න"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> වෙතින් නව හඬ තැපැලක්"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"හඬ තැපෑල ධාවනය කළ නොහැක."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"අන්තරාචයනය වෙමින්..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"හඬ තැපැල් ලබාගනිමින්..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"හඬ තැපෑල ලබාගැනීමට නොහැකි විය."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"හඬ තැපෑල සහිත ඇමතුම් පමණි"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"එන ඇමතුම් පමණි"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"පිටතට යන ඇමතුම් පමණි"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"මඟ හැරුණු ඇමතුම් පමණි"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"හඬ තැපැල් සේවාදායකය වෙත සම්බන්ධ විය නොහැක."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"හඬ තැපැල් සේවාදායකය වෙත සම්බන්ධ විය නොහැක. නව හඬ තැපැල් රැඳී සිටී."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"ඔබගේ හඬ තැපැල් සකසා ගන්න."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"ශබ්ද ලද නොහැක."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"ස්ථාපනය කරන්න"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"හඬ තැපැල් අමතන්න"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"ඉතාමත් මන්දගාමී වේගය"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"මන්දගාමී වේගය"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"සාමාන්‍ය වේගය"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"ඉතා වේගවත්"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"ඉතාමත් වේගවත්"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"අංකය තෝරන්න"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"අංකය තෝරන්න"</string>
+    <string name="make_primary" msgid="5829291915305113983">"මෙම තේරීම මතක තබාගන්න"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"එක"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"දෙක"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"තුන"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"හතර"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"පහ"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"හය"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"හත"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"අට"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"නවය"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"තරුව"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"බිංදුව"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"හෑෂ්"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"හඬ තැපෑල"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"සෙවීම"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"අමතන්න"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"බැක්ස්පේස්"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"ඇමතීමට අංකය"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"ඇමතුම් ඉතිහාසය"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"තවත් විකල්ප"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"ඩයල් පෑඩය"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"පිටපත්කරණය"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"පිටතට යන ඒවා පමණක් පෙන්වන්න"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"එන ඒවා පමණක් පෙන්වන්න"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"මඟ හැරුණු ඒවා පමණක් පෙන්වන්න"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"හඬ තැපැල් පමණක් පෙන්වන්න"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"සියලු ඇමතුම් පෙන්වන්න"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"තත්පර 2 ක විරාමයක් එක් කරන්න"</string>
+    <string name="add_wait" msgid="3360818652790319634">"රැඳී සිටීම එක් කරන්න"</string>
+    <string name="call_settings" msgid="7666474782093693667">"සැකසුම්"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"නව සම්බන්ධතාවයක්"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"සියලුම සම්බන්ධතා"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"ඇමතුම් විස්තර"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"අයැදුම් කළ ඇමතුම සඳහා විස්තර කියවිය නොහැකි විය."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"ස්පර්ශ නාද යතුරුපෑඩය භාවිතා කරන්න"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"පවතින ඇමතුමට නැවත යන්න"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"ඇමතුමක් එක් කරන්න"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"එන ඇමතුම"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"පිටතට යන ඇමතුම"</string>
+    <string name="type_missed" msgid="2720502601640509542">"මඟ හැරුණු ඇමතුම"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"හඬ තැපෑල"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"එන ඇමතුම්"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"හඬ තැපෑල ධාවනය කිරීම"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"එන ඇමතුම"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"පිටතට යන ඇමතුම"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"මඟ හැරුණු ඇමතුම"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"හඬ තැපෑල"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"සම්බන්ධතාවය එක් කරන්න"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g> සම්බන්ධතාවය බලන්න"</string>
+    <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> අමතන්න"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g> වෙත කෙටි පණිවිඩයක් යවන්න"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"අසා නොමැති හඬ තැපෑල"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"හඬ සෙවීම අරඹන්න"</string>
+    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> අමතන්න"</string>
+    <string name="unknown" msgid="740067747858270469">"නොදනී"</string>
+    <string name="voicemail" msgid="3851469869202611441">"හඬ තැපෑල"</string>
+    <string name="private_num" msgid="6374339738119166953">"පුද්ගලික අංකය"</string>
+    <string name="payphone" msgid="4864313342828942922">"ගෙවුම් දුරකථනය"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"ඩයල් කිරීමට යතුරු පුවරුව භාවිතා කරන්න"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"ඇමතුමක් එක් කිරීමට අමතන්න"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"මිනිත්තු <xliff:g id="MINUTES">%s</xliff:g> තත්පර <xliff:g id="SECONDS">%s</xliff:g>"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"ඇමතුම යැව්වේ නැත"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"හඬ තැපෑල සකස් කර ගැනීමට, මෙනු &gt; සැකසීම් වෙත යන්න."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"හඬ තැපෑල ඇමතීමට, මුලින්ම ගුවන්යානා ආකාරය වසා දමන්න."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"පූරණය වෙමින්..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM පතෙන් පූරණය කරමින්…"</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM පත් සම්බන්ධතා"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"මෙම අංගය භාවිතා කිරීමට පුද්ගල යෙදුම නැවත සබල කරන්න."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"නමක් හෝ දුරකථන අංකයක් ටයිප් කරන්න"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"සියලු"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"මග හැරුණේය"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"මෑත කාලින මග හැරුණ ඇමතුම් නැත."</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"මෑත කාලින හඬ තැපැල් නොමැත."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"සියලු සම්බන්ධතා පෙන්වන්න"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"ප්‍රියතමයන් පමණක් පෙන්වන්න"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"ඉතිහාසය"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"සියලුම සම්බන්ධතා"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"සියලුම සම්බන්ධතා"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"ප්‍රියතමයන්ගෙන් ඉවත් කරන්න"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"අස් කරන්න"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"<xliff:g id="NUMBER">%s</xliff:g> අමතන්න"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"සම්බන්ධතා වලට එක් කරන්න"</string>
+</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
new file mode 100644
index 0000000..85f53a7
--- /dev/null
+++ b/res/values-si/strings.xml
@@ -0,0 +1,157 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"අංකිත මුහුණ"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"දුරකථනය"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"දුරකථනය"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"ඇමතුම් ලොගය"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"කෙටි පණිවිඩය යවන්න"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"<xliff:g id="NAME">%s</xliff:g> අමතන්න"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"ඇමතීමට කලින් අංකය වෙනස් කරන්න"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"සම්බන්ධතා වලට එක් කරන්න"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"ඇමතුම් ලොගයෙන් ඉවත් කරන්න"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"ඇමතුම් ලොගය හිස් කරන්න"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"හඬ තැපෑල මකන්න"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"හඬ තැපෑල බෙදාගන්න"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"ඇමතුම් ලොගය හිස් ය."</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"ඇමතුම් ලොගය හිස් කරන්නද?"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"ඔබගේ සියලුම ඇමතුම් වාර්තා මකා දැමෙනු ඇත."</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"ඇමතුම් ලොගය හිස් කරමින්…"</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"හඬ තැපෑල"</item>
+    <item quantity="other" msgid="5513481419205061254">"හඬ තැපැල් <xliff:g id="COUNT">%1$d</xliff:g>"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"ධාවනය කරන්න"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"<xliff:g id="CALLER">%1$s</xliff:g> වෙතින් නව හඬ තැපැලක්"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"හඬ තැපෑල ධාවනය කළ නොහැක."</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"අන්තරාචයනය වෙමින්..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"හඬ තැපැල් ලබාගනිමින්..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"හඬ තැපෑල ලබාගැනීමට නොහැකි විය."</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"හඬ තැපෑල සහිත ඇමතුම් පමණි"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"එන ඇමතුම් පමණි"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"පිටතට යන ඇමතුම් පමණි"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"මඟ හැරුණු ඇමතුම් පමණි"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"හඬ තැපැල් සේවාදායකය වෙත සම්බන්ධ විය නොහැක."</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"හඬ තැපැල් සේවාදායකය වෙත සම්බන්ධ විය නොහැක. නව හඬ තැපැල් රැඳී සිටී."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"ඔබගේ හඬ තැපැල් සකසා ගන්න."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"ශබ්ද ලද නොහැක."</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"ස්ථාපනය කරන්න"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"හඬ තැපැල් අමතන්න"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"ඉතාමත් මන්දගාමී වේගය"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"මන්දගාමී වේගය"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"සාමාන්‍ය වේගය"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"ඉතා වේගවත්"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"ඉතාමත් වේගවත්"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"අංකය තෝරන්න"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"අංකය තෝරන්න"</string>
+    <string name="make_primary" msgid="5829291915305113983">"මෙම තේරීම මතක තබාගන්න"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"එක"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"දෙක"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"තුන"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"හතර"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"පහ"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"හය"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"හත"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"අට"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"නවය"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"තරුව"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"බිංදුව"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"හෑෂ්"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"හඬ තැපෑල"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"සෙවීම"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"අමතන්න"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"බැක්ස්පේස්"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"ඇමතීමට අංකය"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"ඇමතුම් ඉතිහාසය"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"තවත් විකල්ප"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"ඩයල් පෑඩය"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"පිටපත්කරණය"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"පිටතට යන ඒවා පමණක් පෙන්වන්න"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"එන ඒවා පමණක් පෙන්වන්න"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"මඟ හැරුණු ඒවා පමණක් පෙන්වන්න"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"හඬ තැපැල් පමණක් පෙන්වන්න"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"සියලු ඇමතුම් පෙන්වන්න"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"තත්පර 2 ක විරාමයක් එක් කරන්න"</string>
+    <string name="add_wait" msgid="3360818652790319634">"රැඳී සිටීම එක් කරන්න"</string>
+    <string name="call_settings" msgid="7666474782093693667">"සැකසුම්"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"නව සම්බන්ධතාවයක්"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"ඇමතුම් විස්තර"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"අයැදුම් කළ ඇමතුම සඳහා විස්තර කියවිය නොහැකි විය."</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"ස්පර්ශ නාද යතුරුපෑඩය භාවිතා කරන්න"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"පවතින ඇමතුමට නැවත යන්න"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"ඇමතුමක් එක් කරන්න"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"එන ඇමතුම"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"පිටතට යන ඇමතුම"</string>
+    <string name="type_missed" msgid="2720502601640509542">"මඟ හැරුණු ඇමතුම"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"හඬ තැපෑල"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"එන ඇමතුම්"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"හඬ තැපෑල ධාවනය කිරීම"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"එන ඇමතුම"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"පිටතට යන ඇමතුම"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"මඟ හැරුණු ඇමතුම"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"හඬ තැපෑල"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"සම්බන්ධතාවය එක් කරන්න"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"<xliff:g id="NAME">%1$s</xliff:g> සම්බන්ධතාවය බලන්න"</string>
+    <string name="description_call" msgid="3443678121983852666">"<xliff:g id="NAME">%1$s</xliff:g> අමතන්න"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"<xliff:g id="NAME">%1$s</xliff:g> වෙත කෙටි පණිවිඩයක් යවන්න"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"අසා නොමැති හඬ තැපෑල"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"හඬ සෙවීම අරඹන්න"</string>
+    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"<xliff:g id="NUMBER">%s</xliff:g> අමතන්න"</string>
+    <string name="unknown" msgid="740067747858270469">"නොදනී"</string>
+    <string name="voicemail" msgid="3851469869202611441">"හඬ තැපෑල"</string>
+    <string name="private_num" msgid="6374339738119166953">"පුද්ගලික අංකය"</string>
+    <string name="payphone" msgid="4864313342828942922">"ගෙවුම් දුරකථනය"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"ඩයල් කිරීමට යතුරු පුවරුව භාවිතා කරන්න"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"ඇමතුමක් එක් කිරීමට අමතන්න"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"මිනිත්තු <xliff:g id="MINUTES">%s</xliff:g> තත්පර <xliff:g id="SECONDS">%s</xliff:g>"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"ඇමතුම යැව්වේ නැත"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"හඬ තැපෑල සකස් කර ගැනීමට, මෙනු &gt; සැකසීම් වෙත යන්න."</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"හඬ තැපෑල ඇමතීමට, මුලින්ම ගුවන්යානා ආකාරය වසා දමන්න."</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"පූරණය වෙමින්..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM පතෙන් පූරණය කරමින්…"</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM පත් සම්බන්ධතා"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"මෙම අංගය භාවිතා කිරීමට පුද්ගල යෙදුම නැවත සබල කරන්න."</string>
+    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"නමක් හෝ දුරකථනයක් ටයිප් කරන්න"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"සියලු"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"මග හැරුණේය"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"මෑත කාලින මග හැරුණ ඇමතුම් නැත."</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"මෑත කාලින හඬ තැපැල් නොමැත."</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"සියලු සම්බන්ධතා පෙන්වන්න"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"ප්‍රියතමයන් පමණක් පෙන්වන්න"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"ඉතිහාසය"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"සියලුම සම්බන්ධතා"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"සියලුම සම්බන්ධතා"</string>
+    <string name="favorite_hidden" msgid="4837366417440391323">"ප්‍රියතමයන් වෙතින් සඟවන ලදි"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"අස් කරන්න"</string>
+</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index a474e4c..9a22313 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -30,7 +30,7 @@
     <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Odstrániť hlasovú správu"</string>
     <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Zdieľať hlasovú správu"</string>
     <string name="recentCalls_empty" msgid="247053222448663107">"Záznam hovorov je prázdny."</string>
-    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Vymazať záznam hov.?"</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Vymazať hovory?"</string>
     <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Všetky záznamy o hovoroch budú odstránené."</string>
     <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Vymazávanie denníka hovorov..."</string>
   <plurals name="notification_voicemail_title">
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Ukladanie do vyrovnávacej pamäte…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Načítavanie hlasovej správy…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Nepodarilo sa načítať hlasovú správu."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nové"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Staršie"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Iba volania do hlasovej schránky"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Iba prichádzajúce hovory"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Iba odchádzajúce hovory"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"číslo, ktoré chcete vytočiť"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"História hovorov"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Ďalšie možnosti"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"číselná klávesnica"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopírovať"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Zobraziť len odchádzajúce"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Zobraziť len prichádzajúce"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Pridať čakanie"</string>
     <string name="call_settings" msgid="7666474782093693667">"Nastavenia"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Nový kontakt"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Všetky kontakty"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Podrobnosti hovoru"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Podrobnosti požadovaného hovoru nie je možné načítať."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Použiť dotykovú tónovú klávesnicu"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Volať kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Poslať textovú správu kontaktu <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nevypočutá hlasová správa"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Spustenie hlasového vyhľadávania"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Volať <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Neznáme"</string>
     <string name="voicemail" msgid="3851469869202611441">"Hlasová schránka"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Prebieha načítavanie z karty SIM..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Kontakty na karte SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Ak chcete použiť túto funkciu, znova povoľte aplikáciu Ľudia."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Zadajte meno / tel. č."</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Zadajte meno alebo tel. číslo"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Všetky"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Zmeškané"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Žiadne nedávne zmeškané hovory."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Zobraziť všetky kontakty"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Zobraziť iba obľúbené"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"História"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Všetky kontakty"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Všetky kontakty"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Odstránené z obľúbených"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Späť"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Volať na číslo <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Pridať do kontaktov"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"Počet nových zmeškaných hovorov: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Obľúbení ľudia a kontakty,\nktorým často voláte, sa zobrazia tu.\nZačnite teda volať."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Klepnutím na obrázok zobrazíte všetky čísla a pridržaním ich zoradíte"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Zrušiť"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 29c4a5b..717ac9d 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Medpomnjenje…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Prejemanje sporočil odzivnika…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Sporočil odzi. ni bilo mogoče prejeti."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Novo"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Starejši"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Samo klici z odzivnikom"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Samo dohodni klici"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Samo odhodni klici"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"številka, ki bo poklicana"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Zgodovina klicev"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Več možnosti"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"številčnica"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopiraj"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Pokaži samo odhodne"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Pokaži samo dohodne"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Dodaj premor"</string>
     <string name="call_settings" msgid="7666474782093693667">"Nastavitve"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Nov stik"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Vsi stiki"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Podrobnosti klica"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Podrobnosti zahtevanega klica ni bilo mogoče prebrati."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Uporabi številčnico za tonsko klicanje"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Klicanje osebe <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Pošlji SMS osebi <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Neodprta glasovna pošta"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Začni glasovno iskanje"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Pokliči <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Neznano"</string>
     <string name="voicemail" msgid="3851469869202611441">"Glasovna pošta"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Nalaganje s kartice SIM ..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Stiki na kartici SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Aplikaciji Osebe znova omogočite uporabo te funkcije."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Vnesite ime telefona"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Vnesite ime ali tel. številko"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Vsa"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Neodgovorjena"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Ni nedavnih neodgovorjenih klicev."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Pokaži vse stike"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Pokaži samo priljubljene"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Zgodovina"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Vsi stiki"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Vsi stiki"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Odstranjeno iz priljubljenih"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Razveljavi"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Pokliči <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Dodaj med stike"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"Št. novih zgrešenih klicev: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Priljubljeni stiki in stiki,\nki jih pogosto kličete, bodo prikazani tukaj.\nKar začnite klicati."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Dotaknite se slike, da prikažete vse številke, ali jo pritisnite in pridržite, da spremenite vrstni red"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Opusti"</string>
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index d80399e..4362484 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -40,12 +40,10 @@
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Пусти"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Нова говорна порука од <xliff:g id="CALLER">%1$s</xliff:g>"</string>
-    <string name="voicemail_playback_error" msgid="1811242131549854624">"Није било могуће пустити говорну пошту."</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"Није могуће пустити говорну пошту."</string>
     <string name="voicemail_buffering" msgid="738287747618697097">"Баферовање..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Преузимање говорне поште..."</string>
-    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Није било могуће преузети говорну пошту."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Ново"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Старије"</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Није могуће преузети говорну пошту."</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Само позиви са говорном поштом"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Само долазни позиви"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Само одлазни позиви"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"број за бирање"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Историја позива"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Још опција"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"нумеричка тастатура"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Копирај"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Прикажи само одлазне"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Прикажи само долазне"</string>
@@ -94,8 +93,9 @@
     <string name="add_wait" msgid="3360818652790319634">"Додај чекање"</string>
     <string name="call_settings" msgid="7666474782093693667">"Подешавања"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Нови контакт"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Сви контакти"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Детаљи позива"</string>
-    <string name="toast_call_detail_error" msgid="7200975244804730096">"Није било могуће прочитати детаље о захтеваном позиву."</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"Није могуће прочитати детаље о захтеваном позиву."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Употребите бројчаник за тонско бирање"</string>
     <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"Врати се на позив који је у току"</string>
     <string name="dialer_addAnotherCall" msgid="4205688819890074468">"Додај позив"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Позови корисника <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Слање текстуалне поруке контакту <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непреслушана говорна пошта"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Покретање гласовне претраге"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Позови <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Непознато"</string>
     <string name="voicemail" msgid="3851469869202611441">"Говорна пошта"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Учитавање са SIM картице је у току…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"Контакти на SIM картици"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Поново омогућите апликацију Људи да бисте користили ову функцију."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Унесите име или број телефона"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Унесите име или број телефона"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Све"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Пропуштени"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Нема недавно пропуштених позива."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Прикажи све контакте"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Прикажи само омиљене"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Историја"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Сви контакти"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Сви контакти"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Уклоњено је из омиљених"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Опозови"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Позови <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Додај у контакте"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"Нових пропуштених позива: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Овде ће се приказати омиљени и\nчесто позивани контакти.\nПа почните са позивањем."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Додирните слику да бисте видели све бројеве или притисните и задржите да бисте променили распоред"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Одбаци"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index f7359e8..757e2b5 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Buffrar…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Hämtar röstmedelande…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Det gick inte att hämta röstmeddelandet."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Nya"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Äldre"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Endast samtal med röstmeddelande"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Endast inkommande samtal"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Endast utgående samtal"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"nummer att ringa"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Samtalshistorik"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Fler alternativ"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"knappsats"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopiera"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Visa endast utgående samtal"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Visa endast inkommande samtal"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Lägg till väntetid"</string>
     <string name="call_settings" msgid="7666474782093693667">"Inställningar"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Ny kontakt"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Alla kontakter"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Samtalsinfo"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Det gick inte att läsa information om samtalet."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Använda tonvalstelefon"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Ring <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Skicka SMS till <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Ej hört röstmeddelande"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Starta röstsökning"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Ring <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Okänd"</string>
     <string name="voicemail" msgid="3851469869202611441">"Röstbrevlåda"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Läser in från SIM-kort…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"Kontakter från SIM-kort"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Aktivera appen Personer på nytt om du vill använda den här funktionen."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Skriv namn/telefonnummer"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Ange ett namn eller telefonnummer"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Alla"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Missade"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Inga nya missade samtal."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Visa alla kontakter"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Visa endast favoriter"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Historik"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Alla kontakter"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Alla kontakter"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Borttagen från favoriter"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Ångra"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Ring <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Lägg till i Kontakter"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> nya missade samtal"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Dina favoriter och kontakterna du\nofta ringer till visas här.\nSå det är bara att börja ringa."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Tryck på bilden om du vill visa alla nummer eller tryck länge om du vill flytta den"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Avvisa"</string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 72bc1c0..bbe0b73 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -27,25 +27,23 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Ongeza kwa anwani"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Toa kwa orodha ya simu zilizopigwa"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Futa rekodi ya simu"</string>
-    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Futa barua ya sauti"</string>
-    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Shiriki barua ya sauti"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"Futa ujumbe wa sauti"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"Shiriki ujumbe wa sauti"</string>
     <string name="recentCalls_empty" msgid="247053222448663107">"Orodha ya kupiga simu haina chochote."</string>
-    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Futa rekodi ya simu?"</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"Ungependa kufuta rekodi ya simu?"</string>
     <string name="clearCallLogConfirmation" msgid="5043563133171583152">"Kumbukumbu zako zote za simu zitafutwa."</string>
     <string name="clearCallLogProgress_title" msgid="8365943000154295771">"Inafuta rekodi ya simu ..."</string>
   <plurals name="notification_voicemail_title">
-    <item quantity="one" msgid="1746619685488504230">"Barua ya sauti"</item>
+    <item quantity="one" msgid="1746619685488504230">"Ujumbe wa sauti"</item>
     <item quantity="other" msgid="5513481419205061254">"Barua za sauti <xliff:g id="COUNT">%1$d</xliff:g>"</item>
   </plurals>
     <string name="notification_action_voicemail_play" msgid="6113133136977996863">"Cheza"</string>
     <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
     <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Barua mpya ya sauti kutoka <xliff:g id="CALLER">%1$s</xliff:g>"</string>
-    <string name="voicemail_playback_error" msgid="1811242131549854624">"Haikuweza kucheza barua ya sauti."</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"Imeshindwa kucheza ujumbe wa sauti."</string>
     <string name="voicemail_buffering" msgid="738287747618697097">"Inaakibisha..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Inaleta barua ya sauti…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Haikuweza kuleta barua ya sauti."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Mpya"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Nzee zaidi"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Simu zilizo na ujumbe wa sauti tu"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Simu zinazoingia tu"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Simu zinazotoka tu"</string>
@@ -77,13 +75,14 @@
     <string name="description_image_button_star" msgid="3365919907520767866">"nyota"</string>
     <string name="description_image_button_zero" msgid="4133108949401820710">"sufuri"</string>
     <string name="description_image_button_pound" msgid="3039765597595889230">"Pauni"</string>
-    <string name="description_voicemail_button" msgid="3402506823655455591">"Barua ya sauti"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"Ujumbe wa sauti"</string>
     <string name="description_search_button" msgid="3660807558587384889">"tafuta"</string>
     <string name="description_dial_button" msgid="1274091017188142646">"piga simu"</string>
     <string name="description_delete_button" msgid="6263102114033407382">"futa"</string>
     <string name="description_digits_edittext" msgid="8760207516497016437">"nambari ya kupiga"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Historia ya Simu"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Chaguo zaidi"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"kitufe cha kupiga"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Nakili"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Onyesha zinazotoka pekee"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Onyesha zinazoingia pekee"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Ongeza kusubiri"</string>
     <string name="call_settings" msgid="7666474782093693667">"Mipangilio"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Anwani mpya"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Anwani zote"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Maelezo ya simu"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Haikuweza kusoma maelezo ya simu iliyoombwa."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Tumia kibao cha kuchapa cha sauti na kugusa"</string>
@@ -104,7 +104,7 @@
     <string name="type_missed" msgid="2720502601640509542">"Simu isiyojibiwa"</string>
     <string name="type_voicemail" msgid="5153139450668549908">"Barua za sauti"</string>
     <string name="actionIncomingCall" msgid="6028930669817038600">"Simu zinazoingia"</string>
-    <string name="description_call_log_play_button" msgid="651182125650429846">"Cheza barua ya sauti"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Sikiliza ujumbe wa sauti"</string>
     <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Simu inayoingia"</string>
     <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Simu inayotoka"</string>
     <string name="description_call_log_missed_call" msgid="2242805209983708825">"Simu isiyojibiwa"</string>
@@ -114,12 +114,11 @@
     <string name="description_call" msgid="3443678121983852666">"Piga <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Tuma ujumbe wa maandishi kwa <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Barua sauti ambayo haijasikizwa"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Anza kutafuta kwa kutamka"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Piga simu <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Haijulikani"</string>
-    <string name="voicemail" msgid="3851469869202611441">"Barua ya sauti"</string>
+    <string name="voicemail" msgid="3851469869202611441">"Ujumbe wa sauti"</string>
     <string name="private_num" msgid="6374339738119166953">" Nambari isiyojulikana"</string>
     <string name="payphone" msgid="4864313342828942922">"Simu ya kulipia"</string>
     <string name="dialerKeyboardHintText" msgid="5401660096579787344">"Tumia kibodi kubonyeza"</string>
@@ -134,20 +133,32 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Inapakia kutoka SIM kadi..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Anwani za SIM kadi"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Washa tena Programu ya watu ili itumie kipengele hiki."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Chapa jina au simu"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Andika jina au nambari ya simu"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Zote"</string>
-    <string name="call_log_missed_title" msgid="4541142293870638971">"Hazikupokewa"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"Ambazo hazikupokewa"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Hakuna simu za hivi karibuni ambazo hazikupokewa."</string>
     <string name="recentVoicemails_empty" msgid="5163114119598014048">"Hakuna ujumbe wa sauti wa hivi karibuni."</string>
     <string name="show_all_contacts" msgid="1732256558071778056">"Onyesha anwani zote"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Onyesha zinazopendwa tu"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Historia"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Anwani zote"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Anwani zote"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Imeondolowa kwenye vipendwa"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Tendua"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Piga simu <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Ongeza kwenye anwani"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"Simu <xliff:g id="NUMBER">%s</xliff:g> za karibuni ambazo hazikujibiwa"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Vipendwa na nambari \n unazopiga mara nyingi zitaonekana hapa.\nKwa hivyo, anza kupiga."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Gonga picha ili uone nambari zote au bonyeza na ushikilie ili upange upya"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Ondoa"</string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index ca99f26..a423ab0 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"กำลังเก็บบัฟเฟอร์…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"กำลังดึงข้อความเสียง…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"ไม่สามารถดึงข้อความเสียง"</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"ใหม่"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"เก่ากว่า"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"เฉพาะสายที่มีข้อความเสียง"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"เฉพาะสายเรียกเข้า"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"เฉพาะสายโทรออก"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"หมายเลขที่จะโทร"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"ประวัติการโทร"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"ตัวเลือกเพิ่มเติม"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"แป้นหมายเลข"</string>
     <string name="menu_copy" msgid="6108677035381940698">"คัดลอก"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"แสดงสายที่โทรออกเท่านั้น"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"แสดงสายโทรเข้าเท่านั้น"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"เพิ่มการรอ"</string>
     <string name="call_settings" msgid="7666474782093693667">"การตั้งค่า"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"สร้างรายชื่อใหม่"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"ที่อยู่ติดต่อทั้งหมด"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"รายละเอียดการโทร"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"ไม่สามารถอ่านรายละเอียดสำหรับการโทรที่ขอ"</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"ใช้ปุ่มกดสัญญาณเสียง"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"โทรหา <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"ส่งข้อความไปที่ <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"ข้อความเสียงที่ยังไม่ได้ฟัง"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"เริ่มต้นการค้นหาด้วยเสียง"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"โทร <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"ไม่ทราบ"</string>
     <string name="voicemail" msgid="3851469869202611441">"ข้อความเสียง"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"กำลังโหลดจากซิมการ์ด…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"รายชื่อบนซิมการ์ด"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"เปิดใช้งานแอปพลิเคชัน People อีกครั้งเพื่อใช้คุณลักษณะนี้"</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"พิมพ์ชื่อ/หมายเลขโทรศัพท์"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"พิมพ์ชื่อหรือหมายเลขโทรศัพท์"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"ทั้งหมด"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"ไม่ได้รับ"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"ไม่มีสายที่ไม่ได้รับล่าสุด"</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"แสดงรายชื่อในสมุดโทรศัพท์ทั้งหมด"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"แสดงเฉพาะรายชื่อที่ชื่นชอบ"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"ประวัติ"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"ที่อยู่ติดต่อทั้งหมด"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"ที่อยู่ติดต่อทั้งหมด"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"นำออกจากรายการโปรด"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"เลิกทำ"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"โทร <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"เพิ่มในสมุดติดต่อ"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"สายที่ไม่ได้รับใหม่ <xliff:g id="NUMBER">%s</xliff:g> สาย"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"รายการโปรดและรายชื่อติดต่อที่คุณ\nโทรหาบ่อยจะแสดงที่นี่\n เริ่มโทรได้"</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"แตะรูปภาพเพื่อดูหมายเลขทั้งหมด หรือกดค้างเพื่อจัดลำดับใหม่"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"ปิด"</string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 67471bc..15f26ee 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Nagba-buffer…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Kinukuha ang voicemail…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Hindi makuha ang voicemail."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Bago"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Mas Luma"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Mga tawag lang na may voicemail"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Mga papasok na tawag lang"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Mga papalabas na tawag lang"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"numerong ida-dial"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Kasaysayan ng Tawag"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Higit pang mga pagpipilian"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"dial pad"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopyahin"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Ipakita lang ang papalabas"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Ipakita lang ang paparating"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Magdagdag ng paghihintay"</string>
     <string name="call_settings" msgid="7666474782093693667">"Mga Setting"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Bagong contact"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Lahat ng contact"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Mga detalye ng tawag"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Hindi mabasa ang mga detalye para sa hiniling na tawag."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Gumamit ng touch tone na keypad"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Tawagan si <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Ipadala ang text message kay <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Hindi pa naririnig na voicemail"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Simulan ang paghahanap gamit ang boses"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Tumawag sa <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Di-kilala"</string>
     <string name="voicemail" msgid="3851469869202611441">"Voicemail"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Naglo-load mula sa SIM card…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"Mga contact sa SIM card"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Paganahing muli ang application ng Mga Tao upang magamit ang tampok na ito."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Mag-type pangalan o phone"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"I-type pangalan o phone number"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Lahat"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Di nasagot"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Walang mga kamakailang hindi nasagot na tawag."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Ipakita ang lahat ng contact"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Mga paborito lang ang ipakita"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Kasaysayan"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Lahat ng contact"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Lahat ng contact"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Inalis sa mga paborito"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"I-undo"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Tumawag sa <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Idagdag sa mga contact"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> (na) bagong hindi nasagot na tawag"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Lalabas dito ang mga paborito at contact na\nmadalas mong tinatawagan.\nKaya, simulan ang pagtawag."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"I-tap ang larawan upang makita ang lahat ng numero at pindutin nang matagal upang ayusing muli"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"I-dismiss"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index e4faefe..2e863c6 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Arabelleğe alınıyor..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Sesli mesaj getiriliyor..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Sesli mesaj getirilemedi."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Yeni"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Daha eski"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Yalnızca sesli mesaj içeren çağrılar"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Yalnızca gelen çağrılar"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Yalnızca giden çağrılar"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"çevrilecek numara"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Çağrı Geçmişi"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Diğer seçenekler"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"tuş takımı"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopyala"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Yalnızca gidenleri göster"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Yalnızca gelenleri göster"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Bekleme ekle"</string>
     <string name="call_settings" msgid="7666474782093693667">"Ayarlar"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Yeni kişi"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Tüm kişiler"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Çağrı ayrıntıları"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"İstenen çağrı için ayrıntılar okunamadı."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Telefon tuş takımını kullan"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Sesli arama yap: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Şu kişiye kısa mesaj gönder: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Dinlenilmemiş sesli mesaj"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Sesli arama başlat"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Çağrı yap: <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Bilinmiyor"</string>
     <string name="voicemail" msgid="3851469869202611441">"Sesli Mesaj"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"SIM karttan yükleniyor..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"SIM kart kişileri"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Bu özelliği kullanmak için Kişiler uygulamasını yeniden etkinleştirin."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Bir ad veya telefon yazın"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Ad veya telefon numarası yazın"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Tümü"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Cevapsız"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Yakın zamanda cevapsız çağrı yok."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Tüm kişileri göster"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Yalnızca favori kişileri göster"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Geçmiş"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Tüm kişiler"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Tüm kişiler"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Favorilerden kaldırıldı"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Geri al"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Telefon et: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Kişilere ekle"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> yeni cevapsız çağrı"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Favoriler ve sık telefon ettiğiniz\nkişiler burada görüntülenir.\nTelefon etmeye başlayın."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Tüm numaraları görmek için resme hafifçe vurun veya yeniden sıralamak için basılı tutun"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Kapat"</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index ab12178..3252a49 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Буферизація..."</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Отримання голосової пошти..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Не вдалось отримати голосову пошту."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Нові"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Старіші"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Лише виклики з голосовою поштою"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Лише вхідні виклики"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Лише вихідні виклики"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"номер для набору"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Історія викликів"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Інші варіанти"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"цифрова клавіатура"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Копіювати"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Показувати лише вихідні"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Показувати лише вхідні"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Дод. очікув."</string>
     <string name="call_settings" msgid="7666474782093693667">"Налаштування"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Новий контакт"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Усі контакти"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Деталі виклику"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Неможл. прочитати деталі потрібного виклику."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Викор. кнопкову клавіат."</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Дзвонити: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Надіслати текстове повідомлення: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непрослухана голосова пошта"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"–"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Розпочати голосовий пошук"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Телефонувати <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Невідомий"</string>
     <string name="voicemail" msgid="3851469869202611441">"Голос. пошта"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Завантаж. із SIM-карти…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"Контакти SIM-карти"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Повторно ввімкніть програму Люди, щоб скористатися цією функцією."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Введіть ім’я або телефон"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Введіть ім’я чи номер телефону"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Усі"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Пропущені"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Немає нещодавніх пропущених викликів."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Показати всі контакти"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Показати лише вибрані"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Історія"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Усі контакти"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Усі контакти"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Вилучено з вибраного"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Відмінити"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Набрати <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Додати до контактів"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"Нових пропущених дзвінків: <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Тут будуть відображатися вибрані контакти й контакти\n, яким ви часто телефонуєте.\nСпілкуйтеся із задоволенням."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Торкніться зображення, щоб побачити всі номери, або натисніть і утримуйте, щоб змінити порядок"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Закрити"</string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index c891a07..91a1e2a 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Đang lưu tạm vào bộ đệm…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"Đang tìm nạp thư thoại…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Không thể tìm nạp thư thoại."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Mới"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Cũ hơn"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Chỉ cuộc gọi có thư thoại"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Chỉ cuộc gọi đến"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Chỉ cuộc gọi đi"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"số để quay"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Nhật ký cuộc gọi"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Tùy chọn khác"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"bàn phím số"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Sao chép"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Chỉ hiển thị cuộc gọi đi"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Chỉ hiển thị cuộc gọi đến"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Thêm chờ"</string>
     <string name="call_settings" msgid="7666474782093693667">"Cài đặt"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Liên hệ mới"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Tất cả liên hệ"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Chi tiết cuộc gọi"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Không thể đọc chi tiết về cuộc gọi yêu cầu."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Sử dụng bộ tạo xung từ bàn phím"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Gọi <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Gửi tin nhắn văn bản tới <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Thư thoại chưa nghe"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Bắt đầu tìm kiếm bằng giọng nói"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Gọi <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Không xác định"</string>
     <string name="voicemail" msgid="3851469869202611441">"Thư thoại"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Đang tải từ thẻ SIM…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"Danh bạ trên thẻ SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Bật lại ứng dụng Liên hệ để sử dụng tính năng này."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Nhập tên hoặc điện thoại"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Nhập tên hoặc số điện thoại"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Tất cả"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Bị nhỡ"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Không có cuộc gọi nhỡ gần đây nào."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Hiển thị tất cả liên hệ"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Chỉ hiển thị liên hệ ưa thích"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Lịch sử"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Tất cả liên hệ"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Tất cả liên hệ"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Đã xóa khỏi mục yêu thích"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Hoàn tác"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Gọi <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Thêm vào danh bạ"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> cuộc gọi nhỡ mới"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Người liên hệ yêu thích và người liên hệ bạn\nthường gọi sẽ hiển thị tại đây.\nVì vậy, hãy bắt đầu gọi."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Chạm vào hình ảnh để xem tất cả các số hoặc nhấn và giữ để sắp xếp lại"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Loại bỏ"</string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index dc63b0d..bbe4eb8 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -24,12 +24,12 @@
     <string name="menu_sendTextMessage" msgid="6937343460284499306">"发送短信"</string>
     <string name="recentCalls_callNumber" msgid="1756372533999226126">"呼叫<xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"呼叫之前编辑号码"</string>
-    <string name="recentCalls_addToContact" msgid="1429899535546487008">"添加到“联系人”"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"添加到通讯录"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"从通话记录中删除"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"清除通话记录"</string>
     <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"删除语音邮件"</string>
     <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"分享语音邮件"</string>
-    <string name="recentCalls_empty" msgid="247053222448663107">"通话记录为空。"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"没有通话记录。"</string>
     <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"要清除通话记录吗？"</string>
     <string name="clearCallLogConfirmation" msgid="5043563133171583152">"系统将删除您的所有通话记录。"</string>
     <string name="clearCallLogProgress_title" msgid="8365943000154295771">"正在清除通话记录..."</string>
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"正在缓冲…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"正在抓取语​​音邮件…"</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"无法抓取语音邮件。"</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"新记录"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"旧记录"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"只显示语音信箱留言"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"只显示来电"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"只显示外拨电话"</string>
@@ -84,16 +82,18 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"要拨打的号码"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"通话记录"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"更多选项"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"拨号键盘"</string>
     <string name="menu_copy" msgid="6108677035381940698">"复制"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"仅显示外拨电话"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"仅显示来电"</string>
     <string name="menu_show_missed_only" msgid="154473166059743996">"仅显示未接来电"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"只显示语音邮件"</string>
     <string name="menu_show_all_calls" msgid="7560347482073345885">"显示所有通话"</string>
-    <string name="add_2sec_pause" msgid="9214012315201040129">"暂停时间延长 2 秒"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"暂停时间延长2秒"</string>
     <string name="add_wait" msgid="3360818652790319634">"延长等待时间"</string>
     <string name="call_settings" msgid="7666474782093693667">"设置"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"新建联系人"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"所有联系人"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"通话详情"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"无法读取所请求呼叫的详细信息。"</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"使用按键式键盘"</string>
@@ -114,13 +114,12 @@
     <string name="description_call" msgid="3443678121983852666">"呼叫<xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"向<xliff:g id="NAME">%1$s</xliff:g>发送短信"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"未收听的语音邮件"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"开始语音搜索"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"拨打 <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"未知"</string>
     <string name="voicemail" msgid="3851469869202611441">"语音信箱"</string>
-    <string name="private_num" msgid="6374339738119166953">"私人号码"</string>
+    <string name="private_num" msgid="6374339738119166953">"私密号码"</string>
     <string name="payphone" msgid="4864313342828942922">"公用电话"</string>
     <string name="dialerKeyboardHintText" msgid="5401660096579787344">"使用键盘拨号"</string>
     <string name="dialerDialpadHintText" msgid="5824490365898349041">"拨号以添加通话"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"正从 SIM 卡中加载..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"SIM 卡联系人"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"必须重新启用联系人应用才能使用此功能。"</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"请输入姓名或电话号码"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"输入姓名或手机号"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"全部"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"未接电话"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"最近没有未接来电。"</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"显示所有联系人"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"仅显示常用联系人"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"通话记录"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"所有联系人"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"所有联系人"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"已从“常用联系人”中删除"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"撤消"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"拨打<xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"添加到通讯录"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g>个新的未接电话"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"您收藏的联系人和经常通话\n的联系人都会显示在这里。\n现在就开始与联系人通话吧。"</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"点按图片可查看所有号码，按住图片可重新排序"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"关闭"</string>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..6f85d5e
--- /dev/null
+++ b/res/values-zh-rHK/strings.xml
@@ -0,0 +1,164 @@
+<?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
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applicationLabel" msgid="8490255569343340580">"撥號器"</string>
+    <string name="launcherDialer" msgid="8636288196618486553">"電話"</string>
+    <string name="dialerIconLabel" msgid="6500826552823403796">"電話"</string>
+    <string name="recentCallsIconLabel" msgid="1419116422359067949">"通話記錄"</string>
+    <string name="menu_sendTextMessage" msgid="6937343460284499306">"傳送短訊"</string>
+    <string name="recentCalls_callNumber" msgid="1756372533999226126">"打電話給<xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="recentCalls_editNumberBeforeCall" msgid="7756171675833267857">"在撥打前編輯號碼"</string>
+    <string name="recentCalls_addToContact" msgid="1429899535546487008">"新增至通訊錄"</string>
+    <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"從通話記錄中移除"</string>
+    <string name="recentCalls_deleteAll" msgid="6352364392762163704">"清除通話記錄"</string>
+    <string name="recentCalls_trashVoicemail" msgid="7604696960787435655">"刪除留言"</string>
+    <string name="recentCalls_shareVoicemail" msgid="1416112847592942840">"分享留言信箱"</string>
+    <string name="recentCalls_empty" msgid="247053222448663107">"無通話記錄。"</string>
+    <string name="clearCallLogConfirmation_title" msgid="6427524640461816332">"要清除通話記錄嗎？"</string>
+    <string name="clearCallLogConfirmation" msgid="5043563133171583152">"即將刪除您所有的通話記錄。"</string>
+    <string name="clearCallLogProgress_title" msgid="8365943000154295771">"正在清除通話記錄…"</string>
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"話音留言"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> 個語音留言"</item>
+  </plurals>
+    <string name="notification_action_voicemail_play" msgid="6113133136977996863">"播放"</string>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g> ， <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"來自<xliff:g id="CALLER">%1$s</xliff:g>的新語音留言"</string>
+    <string name="voicemail_playback_error" msgid="1811242131549854624">"無法播放留言。"</string>
+    <string name="voicemail_buffering" msgid="738287747618697097">"正在緩衝..."</string>
+    <string name="voicemail_fetching_content" msgid="877911315738258780">"正在擷取留言..."</string>
+    <string name="voicemail_fetching_timout" msgid="6691792377574905201">"無法擷取留言。"</string>
+    <string name="call_log_voicemail_header" msgid="3945407886667089173">"只顯示有留言的來電"</string>
+    <string name="call_log_incoming_header" msgid="2787722299753674684">"只顯示來電"</string>
+    <string name="call_log_outgoing_header" msgid="761009180766735769">"只顯示撥出電話"</string>
+    <string name="call_log_missed_header" msgid="8017148056610855956">"只顯示未接來電"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3021980206152528883">"無法連接留言信箱伺服器。"</string>
+    <string name="voicemail_status_messages_waiting" msgid="7113421459602803605">"無法連接留言信箱伺服器，新的留言仍有待聽取。"</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3738537770636895689">"設定您的留言信箱。"</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"無法使用語音。"</string>
+    <string name="voicemail_status_action_configure" msgid="8671796489912239589">"設定"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"致電語音信箱號碼"</string>
+    <string name="voicemail_speed_slowest" msgid="1733460666177707312">"最慢速"</string>
+    <string name="voicemail_speed_slower" msgid="1508601287347216244">"慢速"</string>
+    <string name="voicemail_speed_normal" msgid="9033988544627228892">"正常速度"</string>
+    <string name="voicemail_speed_faster" msgid="2019965121475935488">"快速"</string>
+    <string name="voicemail_speed_fastest" msgid="5758712343491183292">"最快速"</string>
+    <string name="call_log_item_count_and_date" msgid="7641933305703520787">"（ <xliff:g id="COUNT">%1$d</xliff:g> ） <xliff:g id="DATE">%2$s</xliff:g>"</string>
+    <string name="sms_disambig_title" msgid="5846266399240630846">"選擇號碼"</string>
+    <string name="call_disambig_title" msgid="4392886850104795739">"選擇號碼"</string>
+    <string name="make_primary" msgid="5829291915305113983">"記住這個選擇"</string>
+    <string name="description_image_button_one" msgid="1740638037139856139">"一"</string>
+    <string name="description_image_button_two" msgid="5882638439003731308">"二"</string>
+    <string name="description_image_button_three" msgid="8709731759376015180">"三"</string>
+    <string name="description_image_button_four" msgid="3530239685642246130">"四"</string>
+    <string name="description_image_button_five" msgid="1182465427501188413">"五"</string>
+    <string name="description_image_button_six" msgid="2093656269261415475">"六"</string>
+    <string name="description_image_button_seven" msgid="2450357020447676481">"七"</string>
+    <string name="description_image_button_eight" msgid="6969435115163287801">"八"</string>
+    <string name="description_image_button_nine" msgid="7857248695662558323">"九"</string>
+    <string name="description_image_button_star" msgid="3365919907520767866">"星號"</string>
+    <string name="description_image_button_zero" msgid="4133108949401820710">"零"</string>
+    <string name="description_image_button_pound" msgid="3039765597595889230">"井號鍵"</string>
+    <string name="description_voicemail_button" msgid="3402506823655455591">"留言"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"搜尋"</string>
+    <string name="description_dial_button" msgid="1274091017188142646">"撥號"</string>
+    <string name="description_delete_button" msgid="6263102114033407382">"Backspace"</string>
+    <string name="description_digits_edittext" msgid="8760207516497016437">"致電號碼"</string>
+    <string name="action_menu_call_history_description" msgid="9018442816219748968">"通話記錄"</string>
+    <string name="action_menu_overflow_description" msgid="2303272250613084574">"更多選項"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"撥號盤"</string>
+    <string name="menu_copy" msgid="6108677035381940698">"複製"</string>
+    <string name="menu_show_outgoing_only" msgid="1965570298133301970">"只顯示撥出電話"</string>
+    <string name="menu_show_incoming_only" msgid="7534206815238877417">"只顯示來電"</string>
+    <string name="menu_show_missed_only" msgid="154473166059743996">"只顯示未接來電"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"僅顯示語音留言"</string>
+    <string name="menu_show_all_calls" msgid="7560347482073345885">"顯示所有通話"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"新增 2 秒暫停功能"</string>
+    <string name="add_wait" msgid="3360818652790319634">"新增插播功能"</string>
+    <string name="call_settings" msgid="7666474782093693667">"設定"</string>
+    <string name="menu_newContact" msgid="1209922412763274638">"新增聯絡人"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"所有聯絡人"</string>
+    <string name="callDetailTitle" msgid="5340227785196217938">"通話詳細資料"</string>
+    <string name="toast_call_detail_error" msgid="7200975244804730096">"無法讀取所需通話的詳細資訊。"</string>
+    <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"使用觸控音頻按鍵"</string>
+    <string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"返回進行中的通話"</string>
+    <string name="dialer_addAnotherCall" msgid="4205688819890074468">"新增通話"</string>
+    <string name="type_incoming" msgid="6502076603836088532">"來電"</string>
+    <string name="type_outgoing" msgid="343108709599392641">"撥出電話"</string>
+    <string name="type_missed" msgid="2720502601640509542">"未接來電"</string>
+    <string name="type_voicemail" msgid="5153139450668549908">"留言信箱"</string>
+    <string name="actionIncomingCall" msgid="6028930669817038600">"來電"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"播放語音留言"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"來電"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"撥出電話"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"未接來電"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"語音信箱"</string>
+    <string name="description_add_contact" msgid="3103414772502485851">"新增聯絡人"</string>
+    <string name="description_view_contact" msgid="5205669345700598415">"查看聯絡人<xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call" msgid="3443678121983852666">"致電<xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_send_text_message" msgid="7803126439934046891">"發短訊給<xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"未聽取的語音留言"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"開始語音搜尋"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
+    <string name="menu_callNumber" msgid="997146291983360266">"撥打 <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="unknown" msgid="740067747858270469">"未知"</string>
+    <string name="voicemail" msgid="3851469869202611441">"留言"</string>
+    <string name="private_num" msgid="6374339738119166953">"私人號碼"</string>
+    <string name="payphone" msgid="4864313342828942922">"公共電話"</string>
+    <string name="dialerKeyboardHintText" msgid="5401660096579787344">"使用鍵盤撥號"</string>
+    <string name="dialerDialpadHintText" msgid="5824490365898349041">"撥號即可新增通話"</string>
+    <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> 分 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
+    <string name="dialog_phone_call_prohibited_message" msgid="6554711866586660441">"未傳送通話"</string>
+    <string name="dialog_voicemail_not_ready_message" msgid="4384716252789515378">"如要設定留言信箱，請移至 [選單] &gt; [設定]。"</string>
+    <string name="dialog_voicemail_airplane_mode_message" msgid="530922773669546093">"如要致電留言信箱，請先關閉飛行模式。"</string>
+    <string name="contact_list_loading" msgid="5488620820563977329">"正在載入..."</string>
+    <string name="imei" msgid="3045126336951684285">"IMEI"</string>
+    <string name="meid" msgid="6210568493746275750">"MEID"</string>
+    <string name="simContacts_emptyLoading" msgid="6700035985448642408">"正在從 SIM 卡載入..."</string>
+    <string name="simContacts_title" msgid="27341688347689769">"SIM 卡聯絡人"</string>
+    <string name="add_contact_not_available" msgid="1419207765446461366">"請重新啟用「通訊錄」應用程式，才能使用這項功能。"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"輸入姓名或電話號碼"</string>
+    <string name="call_log_all_title" msgid="3566738938889333307">"全部"</string>
+    <string name="call_log_missed_title" msgid="4541142293870638971">"未接來電"</string>
+    <string name="recentMissed_empty" msgid="5427113551557296665">"最近沒有未接來電。"</string>
+    <string name="recentVoicemails_empty" msgid="5163114119598014048">"最近沒有留言。"</string>
+    <string name="show_all_contacts" msgid="1732256558071778056">"顯示所有聯絡人"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"只顯示我的最愛"</string>
+    <string name="call_log_activity_title" msgid="4612824396355272023">"記錄"</string>
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"所有聯絡人"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"所有聯絡人"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"已從「我的最愛」中移除"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"復原"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"撥打 <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"加入通訊錄"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> 個新的未接來電"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"您的最愛聯絡人和經常通話的聯絡人\n會在這裡顯示，\n致電他們吧！"</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"輕按相片可查看所有號碼，按住則可重新排序"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"關閉"</string>
+</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 935ff58..6878e55 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"緩衝處理中…"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"正在擷取語音留言..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"無法擷取語音留言。"</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"最新"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"較舊"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"僅顯示語音信箱留言"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"僅顯示來電"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"僅顯示已撥電話"</string>
@@ -84,16 +82,18 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"撥號號碼"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"通話紀錄"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"更多選項"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"撥號鍵盤"</string>
     <string name="menu_copy" msgid="6108677035381940698">"複製"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"僅顯示撥出電話"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"僅顯示來電"</string>
     <string name="menu_show_missed_only" msgid="154473166059743996">"僅顯示未接來電"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"僅顯示語音留言"</string>
     <string name="menu_show_all_calls" msgid="7560347482073345885">"顯示所有通話"</string>
-    <string name="add_2sec_pause" msgid="9214012315201040129">"新增 2 秒暫停功能"</string>
-    <string name="add_wait" msgid="3360818652790319634">"新增插播功能"</string>
+    <string name="add_2sec_pause" msgid="9214012315201040129">"暫停時間延長 2 秒"</string>
+    <string name="add_wait" msgid="3360818652790319634">"延長等待時間"</string>
     <string name="call_settings" msgid="7666474782093693667">"設定"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"新增聯絡人"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"所有聯絡人"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"通話詳細資料"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"無法解讀通話要求詳細資訊。"</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"使用觸控音按鍵"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"撥電話給<xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"傳送簡訊給<xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"未聽取的語音留言"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"開始進行語音搜尋"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"撥打 <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"不明"</string>
     <string name="voicemail" msgid="3851469869202611441">"語音留言"</string>
@@ -134,20 +133,32 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"從  SIM 卡讀取中…"</string>
     <string name="simContacts_title" msgid="27341688347689769">"SIM 卡聯絡人"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"您必須重新啟用「使用者」應用程式，才能使用這項功能。"</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"輸入姓名或電話"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"輸入姓名或電話號碼"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"全部"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"未接來電"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"最近沒有未接來電。"</string>
     <string name="recentVoicemails_empty" msgid="5163114119598014048">"最近沒有語音留言。"</string>
     <string name="show_all_contacts" msgid="1732256558071778056">"顯示所有聯絡人"</string>
-    <string name="show_favorites_only" msgid="5520072531022614595">"只顯示我的最愛"</string>
+    <string name="show_favorites_only" msgid="5520072531022614595">"只顯示我的收藏"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"通話紀錄"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"所有聯絡人"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"所有聯絡人"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"已從最愛的聯絡人移除"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"復原"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"撥打 <xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"新增為聯絡人"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> 通新的未接來電"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"您最愛的聯絡人和經常通話的聯絡人\n都會顯示在這裡，\n可以直接打給他們！"</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"輕按圖片即可查看所有號碼，按住圖片則可重新排序"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"關閉"</string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index b994076..e33c0c2 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -44,8 +44,6 @@
     <string name="voicemail_buffering" msgid="738287747618697097">"Ukugcina kumthamo"</string>
     <string name="voicemail_fetching_content" msgid="877911315738258780">"ilanda i-voicemail..."</string>
     <string name="voicemail_fetching_timout" msgid="6691792377574905201">"Yehlulekile ukulanda i-voicemail."</string>
-    <string name="call_log_new_header" msgid="846546437517724715">"Okusha"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Okudadlana"</string>
     <string name="call_log_voicemail_header" msgid="3945407886667089173">"Amakholi anevoyisimeyili kuphela"</string>
     <string name="call_log_incoming_header" msgid="2787722299753674684">"Amakholi angenayo kuphela"</string>
     <string name="call_log_outgoing_header" msgid="761009180766735769">"Amakholi aphumayo kuphela"</string>
@@ -84,6 +82,7 @@
     <string name="description_digits_edittext" msgid="8760207516497016437">"inombolo okumele uyidayele"</string>
     <string name="action_menu_call_history_description" msgid="9018442816219748968">"Umlando wekholi"</string>
     <string name="action_menu_overflow_description" msgid="2303272250613084574">"Izinketho eziningi"</string>
+    <string name="action_menu_dialpad_button" msgid="1425910318049008136">"okokudayila"</string>
     <string name="menu_copy" msgid="6108677035381940698">"Kopisha"</string>
     <string name="menu_show_outgoing_only" msgid="1965570298133301970">"Bonisa eziphumayo kuphela"</string>
     <string name="menu_show_incoming_only" msgid="7534206815238877417">"Bonisa okungenayo kuphela"</string>
@@ -94,6 +93,7 @@
     <string name="add_wait" msgid="3360818652790319634">"Yengeza ukulinda"</string>
     <string name="call_settings" msgid="7666474782093693667">"Izilungiselelo"</string>
     <string name="menu_newContact" msgid="1209922412763274638">"Othintana naye omusha"</string>
+    <string name="menu_allContacts" msgid="6948308384034051670">"Bonke oxhumana nabo"</string>
     <string name="callDetailTitle" msgid="5340227785196217938">"Imininingwane yokushayela"</string>
     <string name="toast_call_detail_error" msgid="7200975244804730096">"Ayikwazanga ukufunda imininingwane yokushayela okuceliwe."</string>
     <string name="dialer_useDtmfDialpad" msgid="1707548397435075040">"Sebenzisa ikhiphedi yethoni yokuthinta"</string>
@@ -114,9 +114,8 @@
     <string name="description_call" msgid="3443678121983852666">"Fonela <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_send_text_message" msgid="7803126439934046891">"Hambisa umyalezo ku <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"I-imeyli yezwi engazwakalanga"</string>
-    <!-- no translation found for description_start_voice_search (520539488194946012) -->
-    <skip />
-    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
+    <string name="description_start_voice_search" msgid="520539488194946012">"Qalisa ukusesha ngezwi"</string>
+    <string name="call_log_empty_gecode" msgid="2019639420045039861">" "</string>
     <string name="menu_callNumber" msgid="997146291983360266">"Shayela <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <string name="unknown" msgid="740067747858270469">"Akwaziwa"</string>
     <string name="voicemail" msgid="3851469869202611441">"Ivoyisimeyili"</string>
@@ -134,7 +133,7 @@
     <string name="simContacts_emptyLoading" msgid="6700035985448642408">"Ilayisha kusuka ekhadini le-SIM..."</string>
     <string name="simContacts_title" msgid="27341688347689769">"Othintana nabo bekhadi le-SIM"</string>
     <string name="add_contact_not_available" msgid="1419207765446461366">"Phinda unike amandla uhlelo lokusebenza lwabantu ukuze basebenzise lesi sici."</string>
-    <string name="dialer_hint_find_contact" msgid="9190419749917566623">"Thayipha igama noma ifoni"</string>
+    <string name="dialer_hint_find_contact" msgid="8798845521253672403">"Thayipha igama noma inombolo yefoni"</string>
     <string name="call_log_all_title" msgid="3566738938889333307">"Konke"</string>
     <string name="call_log_missed_title" msgid="4541142293870638971">"Phuthelwe"</string>
     <string name="recentMissed_empty" msgid="5427113551557296665">"Awekho amakholi wakamuva aphuthelwe."</string>
@@ -142,12 +141,24 @@
     <string name="show_all_contacts" msgid="1732256558071778056">"Bonakalisa bonke oxhumana nabo"</string>
     <string name="show_favorites_only" msgid="5520072531022614595">"Bonisa izintandokazi kuphela"</string>
     <string name="call_log_activity_title" msgid="4612824396355272023">"Umlando"</string>
-    <!-- no translation found for show_all_contacts_title (8395378484578221791) -->
-    <skip />
-    <!-- no translation found for show_all_contacts_button_text (8057452310403090131) -->
-    <skip />
-    <!-- no translation found for favorite_hidden (4837366417440391323) -->
-    <skip />
-    <!-- no translation found for favorite_hidden_undo (2508998611039406474) -->
-    <skip />
+    <string name="dialpad_0_number" msgid="8859392433961251108">"0"</string>
+    <string name="dialpad_1_number" msgid="6536740525419909212">"1"</string>
+    <string name="dialpad_2_number" msgid="4941546415280852148">"2"</string>
+    <string name="dialpad_3_number" msgid="6539414865185536881">"3"</string>
+    <string name="dialpad_4_number" msgid="979988372051042362">"4"</string>
+    <string name="dialpad_5_number" msgid="5492272478939926734">"5"</string>
+    <string name="dialpad_6_number" msgid="8044579516869379093">"6"</string>
+    <string name="dialpad_7_number" msgid="4175113016564167123">"7"</string>
+    <string name="dialpad_8_number" msgid="7949849563865941621">"8"</string>
+    <string name="dialpad_9_number" msgid="4377059952097526576">"9"</string>
+    <string name="show_all_contacts_title" msgid="8395378484578221791">"Bonke oxhumana nabo"</string>
+    <string name="show_all_contacts_button_text" msgid="8057452310403090131">"Bonke oxhumana nabo"</string>
+    <string name="favorite_hidden" msgid="5011234945140912047">"Kukhishiwe kusuka kuzintandokazi"</string>
+    <string name="favorite_hidden_undo" msgid="2508998611039406474">"Hlehlisa"</string>
+    <string name="search_shortcut_call_number" msgid="7277194656832895870">"Shayela ku-<xliff:g id="NUMBER">%s</xliff:g>"</string>
+    <string name="search_shortcut_add_to_contacts" msgid="1853716708655789069">"Engeza koxhumana nabo"</string>
+    <string name="num_missed_calls" msgid="8081736535604293886">"<xliff:g id="NUMBER">%s</xliff:g> amakholi amasha owaphuthelwe"</string>
+    <string name="no_favorites" msgid="5212485868783382971">"Izintandokazi noxhumana nabo\nobashayela ngokuvamile bazovela lapha.\nNgakho-ke, qala ukushaya."</string>
+    <string name="contact_tooltip" msgid="7817483485692282287">"Thepha isithombe ukuze ubone zonke izinombolo noma cindezela uphinde ubambe ukuze uhlele kabusha"</string>
+    <string name="description_dismiss" msgid="2146276780562549643">"Cashisa"</string>
 </resources>
diff --git a/res/values/animation_constants.xml b/res/values/animation_constants.xml
new file mode 100644
index 0000000..4e4bc36
--- /dev/null
+++ b/res/values/animation_constants.xml
@@ -0,0 +1,30 @@
+<?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
+  -->
+<resources>
+    <integer name="fade_duration">300</integer>
+
+    <!-- Swipe constants -->
+    <integer name="swipe_escape_velocity">100</integer>
+    <integer name="escape_animation_duration">200</integer>
+    <integer name="max_escape_animation_duration">400</integer>
+    <integer name="max_dismiss_velocity">2000</integer>
+    <integer name="snap_animation_duration">350</integer>
+    <integer name="swipe_scroll_slop">2</integer>
+    <dimen name="min_swipe">0dip</dimen>
+    <dimen name="min_vert">10dip</dimen>
+    <dimen name="min_lock">20dip</dimen>
+</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 94ad947..a8ddf2b 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -17,7 +17,7 @@
 <resources>
 
     <!-- Secondary text color in the Phone app -->
-    <color name="dialtacts_primary_text_color">#111111</color>
+    <color name="dialtacts_primary_text_color">#000000</color>
     <color name="dialtacts_secondary_text_color">#888888</color>
     <color name="dialpad_text_color">#ffffff</color>
 
@@ -41,10 +41,10 @@
     <color name="background_dialer_light">#cecece</color>
 
     <!-- Background color of dialer list items (contacts, call log entries) -->
-    <color name="background_dialer_list_items">#f5f5f5</color>
+    <color name="background_dialer_list_items">#eeeeee</color>
 
     <!-- Background color of new dialpad -->
-    <color name="background_dialpad">#ee020709</color>
+    <color name="background_dialpad">#f2020709</color>
 
     <!-- Primary color of dialpad text, including the call button -->
     <color name="dialpad_primary_text_color">#33b5e5</color>
@@ -52,7 +52,7 @@
     <color name="dialpad_secondary_text_color">#aaaaaa</color>
 
     <!-- Background color of action bars -->
-    <color name="actionbar_background_color">#e6e6e6</color>
+    <color name="actionbar_background_color">#ffffff</color>
 
     <!-- Color of the 1dp divider that separates favorites -->
     <color name="favorite_contacts_separator_color">#d0d0d0</color>
@@ -67,4 +67,7 @@
 
     <!-- Undo dialogue color -->
     <color name="undo_dialogue_text_color">#4d4d4d</color>
+
+    <!-- Text color for no favorites message -->
+    <color name="nofavorite_text_color">#777777</color>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index e03e919..1743952 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -29,6 +29,9 @@
     <!-- Match call_button_height to Phone's dimens/in_call_end_button_height -->
     <dimen name="call_button_height">74dp</dimen>
 
+    <!--  Search View -->
+    <dimen name="search_text_size">14sp</dimen>
+
     <!-- Call Log -->
     <dimen name="call_log_call_action_size">32dip</dimen>
     <dimen name="call_log_call_action_width">48dip</dimen>
@@ -44,17 +47,18 @@
     <!-- Layout weight values for dialpad screen. These layouts will be used in one
          LinearLayout (dialpad_fragment.xml), configuring dialpad screen's vertical
          ratio. -->
-    <integer name="dialpad_layout_weight_digits">20</integer>
-    <integer name="dialpad_layout_weight_digits_new">15</integer>
+    <integer name="dialpad_layout_weight_digits">15</integer>
     <integer name="dialpad_layout_weight_dialpad">65</integer>
-    <integer name="dialpad_layout_weight_additional_buttons">15</integer>
 
     <!-- Text dimensions for dialpad keys -->
     <dimen name="dialpad_key_numbers_size">40dp</dimen>
     <dimen name="dialpad_key_letters_size">11dp</dimen>
+    <dimen name="dialpad_key_plus_size">15dp</dimen>
     <dimen name="dialpad_key_special_characters_size">25dp</dimen>
+    <dimen name="dialpad_key_letters_width">41dp</dimen>
 
-    <dimen name="fake_action_bar_height">48dp</dimen>
+
+    <dimen name="fake_action_bar_height">60dp</dimen>
     <!-- Min with of fake menu buttons, which should be same as ActionBar's one -->
     <dimen name="fake_menu_button_min_width">56dp</dimen>
 
@@ -65,5 +69,10 @@
     <dimen name="favorites_row_bottom_padding">8dp</dimen>
     <dimen name="favorites_row_start_padding">8dp</dimen>
     <dimen name="favorites_row_end_padding">8dp</dimen>
+    <dimen name="favorites_row_undo_text_side_padding">32dp</dimen>
     <dimen name="recent_call_log_item_padding">8dp</dimen>
+
+    <!-- Padding for the tooltip -->
+    <dimen name="dismiss_button_padding_start">20dip</dimen>
+    <dimen name="dismiss_button_padding_end">28dip</dimen>
 </resources>
diff --git a/res/values/ids.xml b/res/values/ids.xml
new file mode 100644
index 0000000..2b09504
--- /dev/null
+++ b/res/values/ids.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
+  -->
+<resources>
+    <item type="id"
+        name="is_swipeable_tag" />
+    <item type="id"
+        name="contact_entry_index_tag" />
+</resources>
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index f35df9d..55cdea4 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -306,6 +306,10 @@
          [CHAR LIMIT=NONE] -->
     <string name="action_menu_overflow_description" msgid="2295659037509008453">More options</string>
 
+    <!-- Content description for the button that displays the dialpad
+         [CHAR LIMIT=NONE] -->
+    <string name="action_menu_dialpad_button">dial pad</string>
+
     <!-- Menu item to copy something [CHAR_LIMIT=10] -->
     <string name="menu_copy">Copy</string>
 
@@ -334,6 +338,9 @@
     <!-- Menu item to create a new contact -->
     <string name="menu_newContact">New contact</string>
 
+    <!-- Menu item to display all contacts -->
+    <string name="menu_allContacts">All contacts</string>
+
     <!-- Title bar for call detail screen -->
     <string name="callDetailTitle">Call details</string>
 
@@ -450,7 +457,7 @@
     <string name="description_start_voice_search">Start voice search</string>
 
     <!-- The string used to represent an unknown location for a phone number in the call log [CHAR LIMIT=3] -->
-    <string name="call_log_empty_gecode">-</string>
+    <string name="call_log_empty_gecode">\u0020</string>
 
     <!-- Menu item used to call a contact, containing the number of the contact to call -->
     <string name="menu_callNumber">Call <xliff:g id="number">%s</xliff:g></string>
@@ -513,8 +520,8 @@
     <string name="add_contact_not_available">Re-enable the People application to use this feature.</string>
 
     <!-- Hint displayed in dialer search box when there is no query that is currently typed.
-         [CHAR LIMIT=25] -->
-    <string name="dialer_hint_find_contact">Type a name or phone</string>
+         [CHAR LIMIT=30] -->
+    <string name="dialer_hint_find_contact">Type a name or phone number</string>
 
     <!-- Title for the call log tab containing the list of all voicemails and calls
          [CHAR LIMIT=15] -->
@@ -547,52 +554,53 @@
     <!--  Title of activity that displays a list of all calls -->
     <string name="call_log_activity_title">History</string>
 
-    <!--  Do not translate. -->
+    <!-- The digit to be displayed on the 0 key of the dialpad [CHAR LIMIT=1]-->
     <string name="dialpad_0_number">0</string>
-    <!--  Do not translate. -->
-    <string name="dialpad_0_letters">+</string>
-    <!--  Do not translate. -->
+    <!-- The digit to be displayed on the 1 key of the dialpad [CHAR LIMIT=1]-->
     <string name="dialpad_1_number">1</string>
-    <!--  Do not translate. -->
-    <string name="dialpad_1_letters"></string>
-    <!--  Do not translate. -->
+    <!-- The digit to be displayed on the 2 key of the dialpad [CHAR LIMIT=1]-->
     <string name="dialpad_2_number">2</string>
-    <!--  Do not translate. -->
-    <string name="dialpad_2_letters">ABC</string>
-    <!--  Do not translate. -->
+    <!-- The digit to be displayed on the 3 key of the dialpad [CHAR LIMIT=1]-->
     <string name="dialpad_3_number">3</string>
-    <!--  Do not translate. -->
-    <string name="dialpad_3_letters">DEF</string>
-    <!--  Do not translate. -->
+    <!-- The digit to be displayed on the 4 key of the dialpad [CHAR LIMIT=1]-->
     <string name="dialpad_4_number">4</string>
-    <!--  Do not translate. -->
-    <string name="dialpad_4_letters">GHI</string>
-    <!--  Do not translate. -->
+    <!-- The digit to be displayed on the 5 key of the dialpad [CHAR LIMIT=1]-->
     <string name="dialpad_5_number">5</string>
-    <!--  Do not translate. -->
-    <string name="dialpad_5_letters">JKL</string>
-    <!--  Do not translate. -->
+    <!-- The digit to be displayed on the 6 key of the dialpad [CHAR LIMIT=1]-->
     <string name="dialpad_6_number">6</string>
-    <!--  Do not translate. -->
-    <string name="dialpad_6_letters">MNO</string>
-    <!--  Do not translate. -->
+    <!-- The digit to be displayed on the 7 key of the dialpad [CHAR LIMIT=1]-->
     <string name="dialpad_7_number">7</string>
-    <!--  Do not translate. -->
-    <string name="dialpad_7_letters">PQRS</string>
-    <!--  Do not translate. -->
+    <!-- The digit to be displayed on the 8 key of the dialpad [CHAR LIMIT=1]-->
     <string name="dialpad_8_number">8</string>
-    <!--  Do not translate. -->
-    <string name="dialpad_8_letters">TUV</string>
-    <!--  Do not translate. -->
+    <!-- The digit to be displayed on the 9 key of the dialpad [CHAR LIMIT=1]-->
     <string name="dialpad_9_number">9</string>
     <!--  Do not translate. -->
-    <string name="dialpad_9_letters">WXYZ</string>
-    <!--  Do not translate. -->
     <string name="dialpad_star_number">*</string>
     <!--  Do not translate. -->
-    <string name="dialpad_star_letters"></string>
-    <!--  Do not translate. -->
     <string name="dialpad_pound_number">#</string>
+
+    <!--  Do not translate. -->
+    <string name="dialpad_0_letters">+</string>
+    <!--  Do not translate. -->
+    <string name="dialpad_1_letters"></string>
+    <!--  Do not translate. -->
+    <string name="dialpad_2_letters">ABC</string>
+    <!--  Do not translate. -->
+    <string name="dialpad_3_letters">DEF</string>
+    <!--  Do not translate. -->
+    <string name="dialpad_4_letters">GHI</string>
+    <!--  Do not translate. -->
+    <string name="dialpad_5_letters">JKL</string>
+    <!--  Do not translate. -->
+    <string name="dialpad_6_letters">MNO</string>
+    <!--  Do not translate. -->
+    <string name="dialpad_7_letters">PQRS</string>
+    <!--  Do not translate. -->
+    <string name="dialpad_8_letters">TUV</string>
+    <!--  Do not translate. -->
+    <string name="dialpad_9_letters">WXYZ</string>
+    <!--  Do not translate. -->
+    <string name="dialpad_star_letters"></string>
     <!--  Do not translate. -->
     <string name="dialpad_pound_letters"></string>
 
@@ -601,7 +609,30 @@
     <!--  Title of show all contacts button -->
     <string name="show_all_contacts_button_text">All contacts</string>
     <!--  Text displayed when user swipes out a favorite contact -->
-    <string name="favorite_hidden">Hidden from favorites</string>
+    <string name="favorite_hidden">Removed from favorites</string>
     <!--  Text displayed for the undo button to undo removing a favorite contact -->
     <string name="favorite_hidden_undo">Undo</string>
+
+    <!-- Shortcut item used to call a number directly from search -->
+    <string name="search_shortcut_call_number">Call
+        <xliff:g id="number">%s</xliff:g>
+    </string>
+
+    <!-- Shortcut item used to add a number directly from search -->
+    <string name="search_shortcut_add_to_contacts">Add to contacts</string>
+
+    <!-- Number of missed calls shown on call card [CHAR LIMIT=40] -->
+    <string name="num_missed_calls"><xliff:g id="number">%s</xliff:g> new missed calls</string>
+
+    <!-- Shows when there are no favorites. -->
+    <string name="no_favorites">Favorites &amp; contacts you\ncall often will show here.\nSo, start calling.</string>
+
+    <!-- Shows up as a tooltip to provide a hint to the user that the profile pic in a contact
+         card can be tapped to bring up a list of all numbers, or long pressed to start reordering
+         [CHAR LIMIT=NONE]
+    -->
+    <string name="contact_tooltip">Tap image to see all numbers or press and hold to reorder</string>
+
+    <!-- Content description for dismiss button on badge. [CHAR LIMIT=NONE] -->
+    <string name="description_dismiss">Dismiss</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 0805dd8..89678fc 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -16,61 +16,11 @@
   -->
 <resources>
     <style name="DialtactsTheme"
-           parent="android:Theme.Holo">
-        <item name="android:textColorSecondary">@color/dialtacts_secondary_text_color</item>
-        <item name="android:windowActionBarOverlay">true</item>
-        <item name="android:actionBarStyle">@style/DialtactsActionBarStyle</item>
-        <item name="android:windowContentOverlay">@null</item>
-        <item name="android:windowBackground">@drawable/background_dial_holo_dark</item>
-        <item name="android:listViewStyle">@style/ListViewStyle</item>
-        <item name="activated_background">@drawable/list_item_activated_background</item>
-        <item name="section_header_background">@drawable/list_title_holo</item>
-        <item name="list_section_header_height">32dip</item>
-        <item name="list_item_divider">?android:attr/listDivider</item>
-        <item name="list_item_padding_top">0dip</item>
-        <item name="list_item_padding_right">0dip</item>
-        <item name="list_item_padding_bottom">0dip</item>
-        <item name="list_item_padding_left">0dip</item>
-        <item name="list_item_gap_between_image_and_text">8dip</item>
-        <item name="list_item_gap_between_label_and_data">5dip</item>
-        <item name="list_item_presence_icon_margin">4dip</item>
-        <item name="list_item_presence_icon_size">16dip</item>
-        <item name="list_item_photo_size">@dimen/contact_browser_list_item_photo_size</item>
-        <item name="list_item_profile_photo_size">70dip</item>
-        <item name="list_item_prefix_highlight_color">@color/people_app_theme_color</item>
-        <item name="list_item_header_text_indent">8dip</item>
-        <item name="list_item_header_text_color">@color/people_app_theme_color</item>
-        <item name="list_item_header_text_size">14sp</item>
-        <item name="list_item_header_height">24dip</item>
-        <item name="list_item_header_underline_height">1dip</item>
-        <item name="list_item_header_underline_color">@color/people_app_theme_color</item>
-        <item name="list_item_data_width_weight">5</item>
-        <item name="list_item_label_width_weight">3</item>
-        <item name="contact_browser_list_padding_left">16dip</item>
-        <item name="contact_browser_list_padding_right">0dip</item>
-        <item name="contact_browser_background">@android:color/transparent</item>
-        <item name="list_item_text_indent">@dimen/contact_browser_list_item_text_indent</item>
-        <!-- CallLog -->
-        <item name="call_log_primary_text_color">#FFFFFF</item>
-        <item name="call_log_primary_background_color">#000000</item>
-        <item name="call_log_secondary_text_color">#888888</item>
-        <item name="call_log_secondary_background_color">#333333</item>
-        <item name="call_log_header_color">#33b5e5</item>
-        <!-- VoicemailStatus -->
-        <item name="call_log_voicemail_status_height">48dip</item>
-        <item name="call_log_voicemail_status_background_color">#262626</item>
-        <item name="call_log_voicemail_status_text_color">#888888</item>
-        <item name="call_log_voicemail_status_action_text_color">#33b5e5</item>
-            <!-- Favorites -->
-        <item name="favorites_padding_bottom">?android:attr/actionBarSize</item>
-    </style>
-
-    <style name="NewDialtactsTheme"
            parent="android:Theme.Holo.Light">
         <item name="android:textColorPrimary">@color/dialtacts_primary_text_color</item>
         <item name="android:textColorSecondary">@color/dialtacts_secondary_text_color</item>
-        <item name="android:windowActionBarOverlay">true</item>
-        <item name="android:actionBarStyle">@style/DialtactsActionBarStyleNew</item>
+        <item name="android:windowActionBarOverlay">false</item>
+        <item name="android:actionBarStyle">@style/DialtactsActionBarStyle</item>
         <item name="android:actionBarTabStyle">@style/DialtactsActionBarTabStyle</item>
         <item name="android:windowContentOverlay">@null</item>
         <!--  Searchbox Style -->
@@ -92,10 +42,10 @@
         <item name="list_item_profile_photo_size">70dip</item>
         <item name="list_item_prefix_highlight_color">@color/people_app_theme_color</item>
         <item name="list_item_header_text_indent">8dip</item>
-        <item name="list_item_header_text_color">@color/dialtacts_secondary_text_color</item>
-        <item name="list_item_header_text_size">20sp</item>
-        <item name="list_item_header_height">48dip</item>
-        <item name="list_item_header_underline_height">2dip</item>
+        <item name="list_item_header_text_color">@color/people_app_theme_color</item>
+        <item name="list_item_header_text_size">14sp</item>
+        <item name="list_item_header_height">30dip</item>
+        <item name="list_item_header_underline_height">1dip</item>
         <item name="list_item_header_underline_color">@color/favorite_contacts_separator_color</item>
         <item name="list_item_data_width_weight">5</item>
         <item name="list_item_label_width_weight">3</item>
@@ -104,9 +54,9 @@
         <item name="contact_browser_background">@android:color/transparent</item>
         <item name="list_item_text_indent">@dimen/contact_browser_list_item_text_indent</item>
         <!-- CallLog -->
-        <item name="call_log_primary_text_color">#111111</item>
+        <item name="call_log_primary_text_color">#000000</item>
         <item name="call_log_primary_background_color">#000000</item>
-        <item name="call_log_secondary_text_color">#555555</item>
+        <item name="call_log_secondary_text_color">@color/dialtacts_secondary_text_color</item>
         <item name="call_log_secondary_background_color">#333333</item>
         <item name="call_log_header_color">#33b5e5</item>
         <!-- VoicemailStatus -->
@@ -122,6 +72,10 @@
         <item name="android:textColorPrimary">#FFFFFF</item>
     </style>
 
+    <style name="DialtactsThemeWithActionBarOverlay" parent="DialtactsTheme">
+        <item name="android:windowActionBarOverlay">true</item>
+    </style>
+
     <style name="CallDetailActivityTheme" parent="android:Theme.Holo.Light">
         <item name="android:windowBackground">@color/background_dialer_list_items</item>
         <item name="android:gravity">top</item>
@@ -167,7 +121,7 @@
         <item name="android:background">#66000000</item>
     </style>
 
-    <style name="DialtactsActionBarStyleNew" parent="android:Widget.Holo.ActionBar">
+    <style name="DialtactsActionBarStyle" parent="android:Widget.Holo.ActionBar">
         <item name="android:background">@drawable/call_history_actionbar_background</item>
         <item name="android:backgroundStacked">@color/actionbar_background_color</item>
         <!-- Empty icon -->
@@ -175,12 +129,6 @@
         <item name="android:displayOptions"></item>
     </style>
 
-    <style name="DialtactsActionBarStyle" parent="android:Widget.Holo.ActionBar">
-        <item name="android:backgroundSplit">@null</item>
-        <item name="android:backgroundStacked">@drawable/ab_stacked_opaque_dark_holo</item>
-        <item name="android:displayOptions"></item>
-    </style>
-
     <style name="DialtactsActionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView">
         <item name="android:background">@drawable/action_bar_tab</item>
     </style>
@@ -197,4 +145,9 @@
         <item name="android:background">@null</item>
         <item name="android:textColorHint">@color/searchbox_text_color</item>
     </style>
+
+    <style name="DismissButtonStyle">
+        <item name="android:paddingLeft">@dimen/dismiss_button_padding_start</item>
+        <item name="android:paddingRight">@dimen/dismiss_button_padding_end</item>
+    </style>
 </resources>
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index 05c1e7f..a24940d 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -16,13 +16,14 @@
 
 package com.android.dialer;
 
-import android.app.ActionBar;
 import android.app.Activity;
+import android.app.LoaderManager.LoaderCallbacks;
 import android.content.ContentResolver;
 import android.content.ContentUris;
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.Intent;
+import android.content.Loader;
 import android.content.res.Resources;
 import android.database.Cursor;
 import android.graphics.drawable.Drawable;
@@ -31,9 +32,10 @@
 import android.os.Bundle;
 import android.provider.CallLog;
 import android.provider.CallLog.Calls;
-import android.provider.Contacts.Intents.Insert;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.Contacts;
+import android.provider.ContactsContract.DisplayNameSources;
+import android.provider.ContactsContract.Intents.Insert;
 import android.provider.VoicemailContract.Voicemails;
 import android.telephony.PhoneNumberUtils;
 import android.telephony.TelephonyManager;
@@ -55,12 +57,16 @@
 import com.android.contacts.common.CallUtil;
 import com.android.contacts.common.ClipboardUtils;
 import com.android.contacts.common.GeoUtil;
+import com.android.contacts.common.model.Contact;
+import com.android.contacts.common.model.ContactLoader;
+import com.android.contacts.common.util.UriUtils;
 import com.android.dialer.BackScrollManager.ScrollableHeader;
 import com.android.dialer.calllog.CallDetailHistoryAdapter;
 import com.android.dialer.calllog.CallTypeHelper;
 import com.android.dialer.calllog.ContactInfo;
 import com.android.dialer.calllog.ContactInfoHelper;
 import com.android.dialer.calllog.PhoneNumberHelper;
+import com.android.dialer.calllog.PhoneNumberUtilsWrapper;
 import com.android.dialer.util.AsyncTaskExecutor;
 import com.android.dialer.util.AsyncTaskExecutors;
 import com.android.dialer.voicemail.VoicemailPlaybackFragment;
@@ -79,6 +85,9 @@
 public class CallDetailActivity extends Activity implements ProximitySensorAware {
     private static final String TAG = "CallDetail";
 
+    private static final int LOADER_ID = 0;
+    private static final String BUNDLE_CONTACT_URI_EXTRA = "contact_uri_extra";
+
     private static final char LEFT_TO_RIGHT_EMBEDDING = '\u202A';
     private static final char POP_DIRECTIONAL_FORMATTING = '\u202C';
 
@@ -251,6 +260,35 @@
         }
     };
 
+    private final LoaderCallbacks<Contact> mLoaderCallbacks = new LoaderCallbacks<Contact>() {
+        @Override
+        public void onLoaderReset(Loader<Contact> loader) {
+        }
+
+        @Override
+        public void onLoadFinished(Loader<Contact> loader, Contact data) {
+            final Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);
+            intent.setType(Contacts.CONTENT_ITEM_TYPE);
+            if (data.getDisplayNameSource() >= DisplayNameSources.ORGANIZATION) {
+                intent.putExtra(Insert.NAME, data.getDisplayName());
+            }
+            intent.putExtra(Insert.DATA, data.getContentValues());
+            bindContactPhotoAction(intent, R.drawable.ic_add_contact_holo_dark,
+                    getString(R.string.description_add_contact));
+        }
+
+        @Override
+        public Loader<Contact> onCreateLoader(int id, Bundle args) {
+            final Uri contactUri = args.getParcelable(BUNDLE_CONTACT_URI_EXTRA);
+            if (contactUri == null) {
+                Log.wtf(TAG, "No contact lookup uri provided.");
+            }
+            return new ContactLoader(CallDetailActivity.this, contactUri,
+                    false /* loadGroupMetaData */, false /* loadInvitableAccountTypes */,
+                    false /* postViewNotification */, true /* computeFormattedPhoneNumber */);
+        }
+    };
+
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
@@ -264,7 +302,7 @@
         mCallTypeHelper = new CallTypeHelper(getResources());
         mPhoneNumberHelper = new PhoneNumberHelper(mResources);
         mPhoneCallDetailsHelper = new PhoneCallDetailsHelper(mResources, mCallTypeHelper,
-                mPhoneNumberHelper);
+                new PhoneNumberUtilsWrapper());
         mVoicemailStatusHelper = new VoicemailStatusHelperImpl();
         mAsyncQueryHandler = new CallDetailActivityQueryHandler(this);
         mHeaderTextView = (TextView) findViewById(R.id.header_text);
@@ -279,7 +317,7 @@
         mContactPhotoManager = ContactPhotoManager.getInstance(this);
         mProximitySensorManager = new ProximitySensorManager(this, mProximitySensorListener);
         mContactInfoHelper = new ContactInfoHelper(this, GeoUtil.getCurrentCountryIso(this));
-        configureActionBar();
+        getActionBar().setDisplayHomeAsUpEnabled(true);
         optionallyHandleVoicemail();
         if (getIntent().getBooleanExtra(EXTRA_FROM_NOTIFICATION, false)) {
             closeSystemDialogs();
@@ -433,9 +471,10 @@
 
                 // Cache the details about the phone number.
                 final boolean canPlaceCallsTo =
-                    PhoneNumberHelper.canPlaceCallsTo(mNumber, numberPresentation);
-                final boolean isVoicemailNumber = mPhoneNumberHelper.isVoicemailNumber(mNumber);
-                final boolean isSipNumber = mPhoneNumberHelper.isSipNumber(mNumber);
+                    PhoneNumberUtilsWrapper.canPlaceCallsTo(mNumber, numberPresentation);
+                final PhoneNumberUtilsWrapper phoneUtils = new PhoneNumberUtilsWrapper();
+                final boolean isVoicemailNumber = phoneUtils.isVoicemailNumber(mNumber);
+                final boolean isSipNumber = phoneUtils.isSipNumber(mNumber);
 
                 // Let user view contact details if they exist, otherwise add option to create new
                 // contact from this number.
@@ -450,7 +489,9 @@
                     nameOrNumber = firstDetails.number;
                 }
 
-                if (contactUri != null) {
+                boolean skipBind = false;
+
+                if (contactUri != null && !UriUtils.isEncodedContactUri(contactUri)) {
                     mainActionIntent = new Intent(Intent.ACTION_VIEW, contactUri);
                     // This will launch People's detail contact screen, so we probably want to
                     // treat it as a separate People task.
@@ -459,6 +500,14 @@
                     mainActionIcon = R.drawable.ic_contacts_holo_dark;
                     mainActionDescription =
                             getString(R.string.description_view_contact, nameOrNumber);
+                } else if (UriUtils.isEncodedContactUri(contactUri)) {
+                    final Bundle bundle = new Bundle(1);
+                    bundle.putParcelable(BUNDLE_CONTACT_URI_EXTRA, contactUri);
+                    getLoaderManager().initLoader(LOADER_ID, bundle, mLoaderCallbacks);
+                    mainActionIntent = null;
+                    mainActionIcon = R.drawable.ic_add_contact_holo_dark;
+                    mainActionDescription = getString(R.string.description_add_contact);
+                    skipBind = true;
                 } else if (isVoicemailNumber) {
                     mainActionIntent = null;
                     mainActionIcon = 0;
@@ -483,31 +532,16 @@
                     mainActionIcon = R.drawable.ic_add_contact_holo_dark;
                     mainActionDescription = getString(R.string.description_add_contact);
                 } else {
-                    // If we cannot call the number, when we probably cannot add it as a contact either.
-                    // This is usually the case of private, unknown, or payphone numbers.
+                    // If we cannot call the number, when we probably cannot add it as a contact
+                    // either. This is usually the case of private, unknown, or payphone numbers.
                     mainActionIntent = null;
                     mainActionIcon = 0;
                     mainActionDescription = null;
                 }
 
-                if (mainActionIntent == null) {
-                    mMainActionView.setVisibility(View.INVISIBLE);
-                    mMainActionPushLayerView.setVisibility(View.GONE);
-                    mHeaderTextView.setVisibility(View.INVISIBLE);
-                    mHeaderOverlayView.setVisibility(View.INVISIBLE);
-                } else {
-                    mMainActionView.setVisibility(View.VISIBLE);
-                    mMainActionView.setImageResource(mainActionIcon);
-                    mMainActionPushLayerView.setVisibility(View.VISIBLE);
-                    mMainActionPushLayerView.setOnClickListener(new View.OnClickListener() {
-                        @Override
-                        public void onClick(View v) {
-                            startActivity(mainActionIntent);
-                        }
-                    });
-                    mMainActionPushLayerView.setContentDescription(mainActionDescription);
-                    mHeaderTextView.setVisibility(View.VISIBLE);
-                    mHeaderOverlayView.setVisibility(View.VISIBLE);
+                if (!skipBind) {
+                    bindContactPhotoAction(mainActionIntent, mainActionIcon,
+                            mainActionDescription);
                 }
 
                 // This action allows to call the number that places the call.
@@ -534,7 +568,7 @@
 
                     // The secondary action allows to send an SMS to the number that placed the
                     // call.
-                    if (mPhoneNumberHelper.canSendSmsTo(mNumber, numberPresentation)) {
+                    if (phoneUtils.canSendSmsTo(mNumber, numberPresentation)) {
                         entry.setSecondaryAction(
                                 R.drawable.ic_text_holo_light,
                                 new Intent(Intent.ACTION_SENDTO,
@@ -567,7 +601,7 @@
                             private View mControls = findViewById(R.id.controls);
                             private View mPhoto = findViewById(R.id.contact_background_sizer);
                             private View mHeader = findViewById(R.id.photo_text_bar);
-                            private View mSeparator = findViewById(R.id.blue_separator);
+                        private View mSeparator = findViewById(R.id.separator);
 
                             @Override
                             public void setOffset(int offset) {
@@ -595,6 +629,29 @@
         mAsyncTaskExecutor.submit(Tasks.UPDATE_PHONE_CALL_DETAILS, new UpdateContactDetailsTask());
     }
 
+    private void bindContactPhotoAction(final Intent actionIntent, int actionIcon,
+            String actionDescription) {
+        if (actionIntent == null) {
+            mMainActionView.setVisibility(View.INVISIBLE);
+            mMainActionPushLayerView.setVisibility(View.GONE);
+            mHeaderTextView.setVisibility(View.INVISIBLE);
+            mHeaderOverlayView.setVisibility(View.INVISIBLE);
+        } else {
+            mMainActionView.setVisibility(View.VISIBLE);
+            mMainActionView.setImageResource(actionIcon);
+            mMainActionPushLayerView.setVisibility(View.VISIBLE);
+            mMainActionPushLayerView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    startActivity(actionIntent);
+                }
+            });
+            mMainActionPushLayerView.setContentDescription(actionDescription);
+            mHeaderTextView.setVisibility(View.VISIBLE);
+            mHeaderOverlayView.setVisibility(View.VISIBLE);
+        }
+    }
+
     /** Return the phone call details for a given call log URI. */
     private PhoneCallDetails getPhoneCallDetailsForUri(Uri callUri) {
         ContentResolver resolver = getContentResolver();
@@ -628,8 +685,8 @@
             final Uri lookupUri;
             // If this is not a regular number, there is no point in looking it up in the contacts.
             ContactInfo info =
-                    PhoneNumberHelper.canPlaceCallsTo(number, numberPresentation)
-                    && !mPhoneNumberHelper.isVoicemailNumber(number)
+                    PhoneNumberUtilsWrapper.canPlaceCallsTo(number, numberPresentation)
+                    && !new PhoneNumberUtilsWrapper().isVoicemailNumber(number)
                             ? mContactInfoHelper.lookupNumber(number, countryIso)
                             : null;
             if (info == null) {
@@ -793,20 +850,6 @@
         return super.onPrepareOptionsMenu(menu);
     }
 
-    @Override
-    public boolean onMenuItemSelected(int featureId, MenuItem item) {
-        switch (item.getItemId()) {
-            case android.R.id.home: {
-                onHomeSelected();
-                return true;
-            }
-
-            // All the options menu items are handled by onMenu... methods.
-            default:
-                throw new IllegalArgumentException();
-        }
-    }
-
     public void onMenuRemoveFromCallLog(MenuItem menuItem) {
         final StringBuilder callIds = new StringBuilder();
         for (Uri callUri : getCallLogEntryUris()) {
@@ -851,13 +894,6 @@
                 });
     }
 
-    private void configureActionBar() {
-        ActionBar actionBar = getActionBar();
-        if (actionBar != null) {
-            actionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_HOME);
-        }
-    }
-
     /** Invoked when the user presses the home button in the action bar. */
     private void onHomeSelected() {
         Intent intent = new Intent(Intent.ACTION_VIEW, Calls.CONTENT_URI);
diff --git a/src/com/android/dialer/DialerApplication.java b/src/com/android/dialer/DialerApplication.java
new file mode 100644
index 0000000..39a1ac7
--- /dev/null
+++ b/src/com/android/dialer/DialerApplication.java
@@ -0,0 +1,16 @@
+// Copyright 2013 Google Inc. All Rights Reserved.
+
+package com.android.dialer;
+
+import android.app.Application;
+
+import com.android.contacts.common.extensions.ExtensionsFactory;
+
+public class DialerApplication extends Application {
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        ExtensionsFactory.init(getApplicationContext());
+    }
+}
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 726c176..04934c7 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -20,76 +20,71 @@
 import android.animation.Animator.AnimatorListener;
 import android.animation.AnimatorListenerAdapter;
 import android.app.Activity;
-import android.app.backup.BackupManager;
 import android.app.Fragment;
 import android.app.FragmentManager;
+import android.app.FragmentManager.BackStackEntry;
 import android.app.FragmentTransaction;
 import android.content.ActivityNotFoundException;
 import android.content.Context;
 import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.provider.CallLog.Calls;
-import android.provider.ContactsContract;
 import android.provider.ContactsContract.Contacts;
+import android.provider.ContactsContract.Intents;
 import android.provider.ContactsContract.Intents.UI;
-import android.provider.Settings;
 import android.speech.RecognizerIntent;
-import android.support.v4.app.NavUtils;
 import android.telephony.TelephonyManager;
 import android.text.Editable;
+import android.text.Spannable;
+import android.text.SpannableStringBuilder;
 import android.text.TextUtils;
 import android.text.TextWatcher;
+import android.text.style.ImageSpan;
 import android.util.Log;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.View.OnFocusChangeListener;
-import android.view.ViewConfiguration;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.AbsListView.OnScrollListener;
 import android.widget.EditText;
-import android.widget.ImageView;
 import android.widget.PopupMenu;
-import android.widget.SearchView;
-import android.widget.SearchView.OnCloseListener;
-import android.widget.SearchView.OnQueryTextListener;
 import android.widget.Toast;
 
 import com.android.contacts.common.CallUtil;
 import com.android.contacts.common.activity.TransactionSafeActivity;
 import com.android.contacts.common.dialog.ClearFrequentsDialog;
 import com.android.contacts.common.interactions.ImportExportDialogFragment;
-import com.android.contacts.common.list.ContactListItemView;
 import com.android.contacts.common.list.OnPhoneNumberPickerActionListener;
-import com.android.contacts.common.list.PhoneNumberPickerFragment;
 import com.android.dialer.calllog.CallLogActivity;
+import com.android.dialer.database.DialerDatabaseHelper;
 import com.android.dialer.dialpad.DialpadFragment;
 import com.android.dialer.dialpad.SmartDialNameMatcher;
+import com.android.dialer.dialpad.SmartDialPrefix;
 import com.android.dialer.interactions.PhoneNumberInteraction;
-import com.android.dialer.list.PhoneFavoriteFragment;
+import com.android.dialer.list.AllContactsActivity;
 import com.android.dialer.list.OnListFragmentScrolledListener;
-import com.android.dialer.list.ShowAllContactsFragment;
+import com.android.dialer.list.PhoneFavoriteFragment;
+import com.android.dialer.list.RegularSearchFragment;
+import com.android.dialer.list.SearchFragment;
 import com.android.dialer.list.SmartDialSearchFragment;
+import com.android.dialerbind.DatabaseHelperManager;
 import com.android.internal.telephony.ITelephony;
 
 import java.util.ArrayList;
 
 /**
  * The dialer tab's title is 'phone', a more common name (see strings.xml).
- *
- * TODO krelease: All classes currently prefixed with New will replace the original classes or
- * be renamed more appropriately before shipping.
  */
 public class DialtactsActivity extends TransactionSafeActivity implements View.OnClickListener,
         DialpadFragment.OnDialpadQueryChangedListener, PopupMenu.OnMenuItemClickListener,
         OnListFragmentScrolledListener,
-        PhoneFavoriteFragment.OnPhoneFavoriteFragmentStartedListener,
-        DialpadFragment.OnDialpadFragmentStartedListener {
+        DialpadFragment.OnDialpadFragmentStartedListener,
+        PhoneFavoriteFragment.OnShowAllContactsListener {
     private static final String TAG = "DialtactsActivity";
 
     public static final boolean DEBUG = false;
@@ -104,11 +99,15 @@
     private static final String CALL_ORIGIN_DIALTACTS =
             "com.android.dialer.DialtactsActivity";
 
+    private static final String KEY_IN_REGULAR_SEARCH_UI = "in_regular_search_ui";
+    private static final String KEY_IN_DIALPAD_SEARCH_UI = "in_dialpad_search_ui";
+    private static final String KEY_SEARCH_QUERY = "search_query";
+    private static final String KEY_FIRST_LAUNCH = "first_launch";
+
     private static final String TAG_DIALPAD_FRAGMENT = "dialpad";
     private static final String TAG_REGULAR_SEARCH_FRAGMENT = "search";
     private static final String TAG_SMARTDIAL_SEARCH_FRAGMENT = "smartdial";
     private static final String TAG_FAVORITES_FRAGMENT = "favorites";
-    private static final String TAG_SHOW_ALL_CONTACTS_FRAGMENT = "show_all_contacts";
 
     /**
      * Just for backward compatibility. Should behave as same as {@link Intent#ACTION_DIAL}.
@@ -134,33 +133,59 @@
     /**
      * Fragment for searching phone numbers using the alphanumeric keyboard.
      */
-    private SearchFragment mRegularSearchFragment;
+    private RegularSearchFragment mRegularSearchFragment;
 
     /**
      * Fragment for searching phone numbers using the dialpad.
      */
     private SmartDialSearchFragment mSmartDialSearchFragment;
 
-    private ShowAllContactsFragment mShowAllContactsFragment;
-
     private View mMenuButton;
     private View mCallHistoryButton;
     private View mDialpadButton;
+    private PopupMenu mOverflowMenu;
 
     // Padding view used to shift the fragments up when the dialpad is shown.
     private View mBottomPaddingView;
+    private View mFragmentsFrame;
+    private View mActionBar;
+
+    private boolean mInDialpadSearch;
+    private boolean mInRegularSearch;
+    private boolean mClearSearchOnPause;
 
     /**
-     * True when this Activity is in its search UI (with a {@link SearchView} and
-     * {@link PhoneNumberPickerFragment}).
+     * True if the dialpad is only temporarily showing due to being in call
      */
-    private boolean mInSearchUi;
+    private boolean mInCallDialpadUp;
+
+    /**
+     * True when this activity has been launched for the first time.
+     */
     private boolean mFirstLaunch;
     private View mSearchViewContainer;
     private View mSearchViewCloseButton;
     private View mVoiceSearchButton;
     private EditText mSearchView;
 
+    private String mSearchQuery;
+
+    private DialerDatabaseHelper mDialerDatabaseHelper;
+
+    private class OverflowPopupMenu extends PopupMenu {
+        public OverflowPopupMenu(Context context, View anchor) {
+            super(context, anchor);
+        }
+
+        @Override
+        public void show() {
+            final Menu menu = getMenu();
+            final MenuItem clearFrequents = menu.findItem(R.id.menu_clear_frequents);
+            clearFrequents.setVisible(mPhoneFavoriteFragment.hasFrequents());
+            super.show();
+        }
+    }
+
     /**
      * Listener used when one of phone numbers in search UI is selected. This will initiate a
      * phone call using the phone number.
@@ -173,12 +198,14 @@
                     // CallLog screen (search UI will be automatically exited).
                     PhoneNumberInteraction.startInteractionForPhoneCall(
                         DialtactsActivity.this, dataUri, getCallOrigin());
+                    mClearSearchOnPause = true;
                 }
 
                 @Override
                 public void onCallNumberDirectly(String phoneNumber) {
                     Intent intent = CallUtil.getCallIntent(phoneNumber, getCallOrigin());
                     startActivity(intent);
+                    mClearSearchOnPause = true;
                 }
 
                 @Override
@@ -202,30 +229,43 @@
 
             @Override
             public void onTextChanged(CharSequence s, int start, int before, int count) {
-                // TODO krelease: populate the search fragments with the correct
-                // search query at the correct point in time of the fragment lifecycle.
-                // The current behavior is to simply return to the favorites screen
-                // (when docked), or returning to the Dialer after it has been
-                // swapped out of memory.
-                if (mDialpadFragment == null) return;
-                final boolean smartDialSearch = isDialpadShowing();
                 final String newText = s.toString();
+                if (newText.equals(mSearchQuery)) {
+                    // If the query hasn't changed (perhaps due to activity being destroyed
+                    // and restored, or user launching the same DIAL intent twice), then there is
+                    // no need to do anything here.
+                    return;
+                }
+                mSearchQuery = newText;
+                if (DEBUG) {
+                    Log.d(TAG, "onTextChange for mSearchView called with new query: " + s);
+                }
+                final boolean dialpadSearch = isDialpadShowing();
+
                 // Show search result with non-empty text. Show a bare list otherwise.
-                if (TextUtils.isEmpty(newText) && mInSearchUi) {
+                if (TextUtils.isEmpty(newText) && getInSearchUi()) {
                     exitSearchUi();
                     mSearchViewCloseButton.setVisibility(View.GONE);
+                    mVoiceSearchButton.setVisibility(View.VISIBLE);
                     return;
-                } else if (!TextUtils.isEmpty(newText) && !mInSearchUi) {
-                    enterSearchUi(smartDialSearch);
-                }
+                } else if (!TextUtils.isEmpty(newText)) {
+                    final boolean sameSearchMode = (dialpadSearch && mInDialpadSearch) ||
+                            (!dialpadSearch && mInRegularSearch);
+                    if (!sameSearchMode) {
+                        // call enterSearchUi only if we are switching search modes, or entering
+                        // search ui for the first time
+                        enterSearchUi(dialpadSearch, newText);
+                    }
 
-                if (smartDialSearch) {
-                    mSmartDialSearchFragment.setQueryString(newText, false);
-                } else {
-                    mRegularSearchFragment.setQueryString(newText, false);
+                    if (dialpadSearch && mSmartDialSearchFragment != null) {
+                            mSmartDialSearchFragment.setQueryString(newText, false);
+                    } else if (mRegularSearchFragment != null) {
+                        mRegularSearchFragment.setQueryString(newText, false);
+                    }
+                    mSearchViewCloseButton.setVisibility(View.VISIBLE);
+                    mVoiceSearchButton.setVisibility(View.GONE);
+                    return;
                 }
-                mSearchViewCloseButton.setVisibility(View.VISIBLE);
-                return;
             }
 
             @Override
@@ -240,7 +280,6 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-
         mFirstLaunch = true;
 
         final Intent intent = getIntent();
@@ -250,86 +289,89 @@
 
         getActionBar().hide();
 
+        // Add the favorites fragment, and the dialpad fragment, but only if savedInstanceState
+        // is null. Otherwise the fragment manager takes care of recreating these fragments.
         if (savedInstanceState == null) {
-            mPhoneFavoriteFragment = new PhoneFavoriteFragment();
-            mPhoneFavoriteFragment.setListener(mPhoneFavoriteListener);
+            final PhoneFavoriteFragment phoneFavoriteFragment = new PhoneFavoriteFragment();
 
-            mRegularSearchFragment = new SearchFragment();
-            mSmartDialSearchFragment = new SmartDialSearchFragment();
-            mDialpadFragment = new DialpadFragment();
-            mShowAllContactsFragment = new ShowAllContactsFragment();
-            mShowAllContactsFragment.setOnPhoneNumberPickerActionListener(
-                    mPhoneNumberPickerActionListener);
-
-            // TODO krelease: load fragments on demand instead of creating all of them at run time
             final FragmentTransaction ft = getFragmentManager().beginTransaction();
-            ft.add(R.id.dialtacts_frame, mPhoneFavoriteFragment, TAG_FAVORITES_FRAGMENT);
-            ft.add(R.id.dialtacts_frame, mRegularSearchFragment, TAG_REGULAR_SEARCH_FRAGMENT);
-            ft.add(R.id.dialtacts_frame, mSmartDialSearchFragment, TAG_SMARTDIAL_SEARCH_FRAGMENT);
-            ft.add(R.id.dialtacts_frame, mShowAllContactsFragment, TAG_SHOW_ALL_CONTACTS_FRAGMENT);
-            ft.add(R.id.dialtacts_container, mDialpadFragment, TAG_DIALPAD_FRAGMENT);
+            ft.add(R.id.dialtacts_frame, phoneFavoriteFragment, TAG_FAVORITES_FRAGMENT);
+            ft.add(R.id.dialtacts_container, new DialpadFragment(), TAG_DIALPAD_FRAGMENT);
             ft.commit();
+        } else {
+            mSearchQuery = savedInstanceState.getString(KEY_SEARCH_QUERY);
+            mInRegularSearch = savedInstanceState.getBoolean(KEY_IN_REGULAR_SEARCH_UI);
+            mInDialpadSearch = savedInstanceState.getBoolean(KEY_IN_DIALPAD_SEARCH_UI);
+            mFirstLaunch = savedInstanceState.getBoolean(KEY_FIRST_LAUNCH);
         }
 
         mBottomPaddingView = findViewById(R.id.dialtacts_bottom_padding);
+        mFragmentsFrame = findViewById(R.id.dialtacts_frame);
+        mActionBar = findViewById(R.id.fake_action_bar);
         prepareSearchView();
 
         if (UI.FILTER_CONTACTS_ACTION.equals(intent.getAction())
                 && savedInstanceState == null) {
             setupFilterText(intent);
         }
+
+        setupFakeActionBarItems();
+
+        mDialerDatabaseHelper = DatabaseHelperManager.getDatabaseHelper(this);
+        SmartDialPrefix.initializeNanpSettings(this);
     }
 
     @Override
     protected void onResume() {
         super.onResume();
-        final FragmentManager fm = getFragmentManager();
-        mPhoneFavoriteFragment = (PhoneFavoriteFragment) fm.findFragmentByTag(
-                TAG_FAVORITES_FRAGMENT);
-        mDialpadFragment = (DialpadFragment) fm.findFragmentByTag(TAG_DIALPAD_FRAGMENT);
-
-        mRegularSearchFragment = (SearchFragment) fm.findFragmentByTag(
-                TAG_REGULAR_SEARCH_FRAGMENT);
-        mRegularSearchFragment.setOnPhoneNumberPickerActionListener(
-                mPhoneNumberPickerActionListener);
-
-        mSmartDialSearchFragment = (SmartDialSearchFragment) fm.findFragmentByTag(
-                TAG_SMARTDIAL_SEARCH_FRAGMENT);
-        mSmartDialSearchFragment.setOnPhoneNumberPickerActionListener(
-                mPhoneNumberPickerActionListener);
-
-        mShowAllContactsFragment = (ShowAllContactsFragment) fm.findFragmentByTag(
-                TAG_SHOW_ALL_CONTACTS_FRAGMENT);
-        mShowAllContactsFragment.setOnPhoneNumberPickerActionListener(
-                mPhoneNumberPickerActionListener);
-
         if (mFirstLaunch) {
             displayFragment(getIntent());
+        } else if (!phoneIsInUse() && mInCallDialpadUp) {
+            hideDialpadFragment(false, true);
+            mInCallDialpadUp = false;
         }
+
         mFirstLaunch = false;
+        mDialerDatabaseHelper.startSmartDialUpdateThread();
+    }
+
+    @Override
+    protected void onPause() {
+        if (mClearSearchOnPause) {
+            hideDialpadAndSearchUi();
+            mClearSearchOnPause = false;
+        }
+        super.onPause();
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putString(KEY_SEARCH_QUERY, mSearchQuery);
+        outState.putBoolean(KEY_IN_REGULAR_SEARCH_UI, mInRegularSearch);
+        outState.putBoolean(KEY_IN_DIALPAD_SEARCH_UI, mInDialpadSearch);
+        outState.putBoolean(KEY_FIRST_LAUNCH, mFirstLaunch);
     }
 
     @Override
     public void onAttachFragment(Fragment fragment) {
-        if (fragment instanceof DialpadFragment || fragment instanceof SearchFragment
-                || fragment instanceof SmartDialSearchFragment
-                || fragment instanceof ShowAllContactsFragment) {
+        if (fragment instanceof DialpadFragment) {
+            mDialpadFragment = (DialpadFragment) fragment;
             final FragmentTransaction transaction = getFragmentManager().beginTransaction();
-            transaction.hide(fragment);
+            transaction.hide(mDialpadFragment);
             transaction.commit();
+        } else if (fragment instanceof SmartDialSearchFragment) {
+            mSmartDialSearchFragment = (SmartDialSearchFragment) fragment;
+            mSmartDialSearchFragment.setOnPhoneNumberPickerActionListener(
+                    mPhoneNumberPickerActionListener);
+        } else if (fragment instanceof SearchFragment) {
+            mRegularSearchFragment = (RegularSearchFragment) fragment;
+            mRegularSearchFragment.setOnPhoneNumberPickerActionListener(
+                    mPhoneNumberPickerActionListener);
+        } else if (fragment instanceof PhoneFavoriteFragment) {
+            mPhoneFavoriteFragment = (PhoneFavoriteFragment) fragment;
+            mPhoneFavoriteFragment.setListener(mPhoneFavoriteListener);
         }
-        // TODO krelease: Save some kind of state here to show the appropriate fragment
-        // based on the state of the dialer when it was last paused
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            // Respond to the action bar's Up/Home button
-            case android.R.id.home:
-                hideAllContactsFragment();
-        }
-        return super.onOptionsItemSelected(item);
     }
 
     @Override
@@ -346,7 +388,7 @@
             case R.id.menu_clear_frequents:
                 ClearFrequentsDialog.show(getFragmentManager());
                 return true;
-            case R.id.add_contact:
+            case R.id.menu_add_contact:
                 try {
                     startActivity(new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI));
                 } catch (ActivityNotFoundException e) {
@@ -357,37 +399,50 @@
                 }
                 return true;
             case R.id.menu_call_settings:
-                final Intent settingsIntent = DialtactsActivity.getCallSettingsIntent();
-                startActivity(settingsIntent);
+                handleMenuSettings();
+                return true;
+            case R.id.menu_all_contacts:
+                onShowAllContacts();
+                return true;
         }
         return false;
     }
 
+    protected void handleMenuSettings() {
+        openTelephonySetting(this);
+    }
+
+    public static void openTelephonySetting(Activity activity) {
+        final Intent settingsIntent = getCallSettingsIntent();
+        activity.startActivity(settingsIntent);
+    }
+
     @Override
     public void onClick(View view) {
         switch (view.getId()) {
             case R.id.overflow_menu: {
-                final PopupMenu popupMenu = new PopupMenu(DialtactsActivity.this, view);
-                final Menu menu = popupMenu.getMenu();
-                popupMenu.inflate(R.menu.dialtacts_options);
-                popupMenu.setOnMenuItemClickListener(this);
-                popupMenu.show();
+                mOverflowMenu.show();
                 break;
             }
             case R.id.dialpad_button:
+                // Reset the boolean flag that tracks whether the dialpad was up because
+                // we were in call. Regardless of whether it was true before, we want to
+                // show the dialpad because the user has explicitly clicked the dialpad
+                // button.
+                mInCallDialpadUp = false;
                 showDialpadFragment(true);
                 break;
             case R.id.call_history_on_dialpad_button:
             case R.id.call_history_button:
-                // TODO krelease: This should start an intent with content type
-                // CallLog.Calls.CONTENT_TYPE, once the intent filters for the call log activity
-                // is enabled
+                // Use explicit CallLogActivity intent instead of ACTION_VIEW +
+                // CONTENT_TYPE, so that we always open our call log from our dialer
                 final Intent intent = new Intent(this, CallLogActivity.class);
                 startActivity(intent);
                 break;
             case R.id.search_close_button:
                 // Clear the search field
                 if (!TextUtils.isEmpty(mSearchView.getText())) {
+                    mDialpadFragment.clearDialpad();
                     mSearchView.setText("");
                 }
                 break;
@@ -422,15 +477,24 @@
     }
 
     private void showDialpadFragment(boolean animate) {
+        mDialpadFragment.setAdjustTranslationForAnimation(animate);
         final FragmentTransaction ft = getFragmentManager().beginTransaction();
         if (animate) {
             ft.setCustomAnimations(R.anim.slide_in, 0);
+        } else {
+            mDialpadFragment.setYFraction(0);
         }
         ft.show(mDialpadFragment);
         ft.commit();
     }
 
-    private void hideDialpadFragment(boolean animate) {
+    public void hideDialpadFragment(boolean animate, boolean clearDialpad) {
+        if (mDialpadFragment == null) return;
+        if (clearDialpad) {
+            mDialpadFragment.clearDialpad();
+        }
+        if (!mDialpadFragment.isVisible()) return;
+        mDialpadFragment.setAdjustTranslationForAnimation(animate);
         final FragmentTransaction ft = getFragmentManager().beginTransaction();
         if (animate) {
             ft.setCustomAnimations(0, R.anim.slide_out);
@@ -439,23 +503,6 @@
         ft.commit();
     }
 
-    public void showAllContactsFragment() {
-        final FragmentTransaction ft = getFragmentManager().beginTransaction();
-        ft.hide(mPhoneFavoriteFragment);
-        ft.show(mShowAllContactsFragment);
-        // TODO{klp} Add animation
-        ft.commit();
-        hideSearchBar(false);
-    }
-
-    private void hideAllContactsFragment() {
-        final FragmentTransaction ft = getFragmentManager().beginTransaction();
-        ft.hide(mShowAllContactsFragment);
-        ft.show(mPhoneFavoriteFragment);
-        ft.commit();
-        showSearchBar();
-    }
-
     private void prepareSearchView() {
         mSearchViewContainer = findViewById(R.id.search_view_container);
         mSearchViewCloseButton = findViewById(R.id.search_close_button);
@@ -464,21 +511,19 @@
         mVoiceSearchButton.setOnClickListener(this);
         mSearchView = (EditText) findViewById(R.id.search_view);
         mSearchView.addTextChangedListener(mPhoneSearchQueryTextListener);
-        mSearchView.setHint(getString(R.string.dialer_hint_find_contact));
-        mSearchView.setOnFocusChangeListener(new OnFocusChangeListener() {
-            @Override
-            public void onFocusChange(View view, boolean hasFocus) {
-                if (hasFocus) {
-                    showInputMethod(view.findFocus());
-                }
-            }
-        });
-    }
 
-    private void hideDialpadFragmentIfNecessary() {
-        if (mDialpadFragment.isVisible()) {
-            hideDialpadFragment(true);
-        }
+        final String hintText = getString(R.string.dialer_hint_find_contact);
+
+        // The following code is used to insert an icon into a CharSequence (copied from
+        // SearchView)
+        final SpannableStringBuilder ssb = new SpannableStringBuilder("   "); // for the icon
+        ssb.append(hintText);
+        final Drawable searchIcon = getResources().getDrawable(R.drawable.ic_ab_search);
+        final int textSize = (int) (mSearchView.getTextSize() * 1.20);
+        searchIcon.setBounds(0, 0, textSize, textSize);
+        ssb.setSpan(new ImageSpan(searchIcon), 1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+
+        mSearchView.setHint(ssb);
     }
 
     final AnimatorListener mHideListener = new AnimatorListenerAdapter() {
@@ -488,6 +533,20 @@
         }
     };
 
+    private boolean getInSearchUi() {
+        return mInDialpadSearch || mInRegularSearch;
+    }
+
+    private void setNotInSearchUi() {
+        mInDialpadSearch = false;
+        mInRegularSearch = false;
+    }
+
+    private void hideDialpadAndSearchUi() {
+        mSearchView.setText(null);
+        hideDialpadFragment(false, true);
+    }
+
     public void hideSearchBar() {
        hideSearchBar(true);
     }
@@ -500,26 +559,23 @@
             mSearchViewContainer.animate().withLayer().alpha(0).translationY(-mSearchView.getHeight())
                     .setDuration(200).setListener(mHideListener);
 
-            mPhoneFavoriteFragment.getView().animate().withLayer()
+            mFragmentsFrame.animate().withLayer()
                     .translationY(-mSearchViewContainer.getHeight()).setDuration(200).setListener(
                     new AnimatorListenerAdapter() {
                         @Override
                         public void onAnimationEnd(Animator animation) {
                             mBottomPaddingView.setVisibility(View.VISIBLE);
-                            mPhoneFavoriteFragment.getView().setTranslationY(0);
+                            mFragmentsFrame.setTranslationY(0);
+                            mActionBar.setVisibility(View.INVISIBLE);
                         }
                     });
         } else {
             mSearchViewContainer.setTranslationY(-mSearchView.getHeight());
+            mActionBar.setVisibility(View.INVISIBLE);
         }
     }
 
     public void showSearchBar() {
-        // If the favorites fragment hasn't been fully created before the dialpad fragment
-        // is hidden (i.e. onResume), don't bother animating
-        if (mPhoneFavoriteFragment == null || mPhoneFavoriteFragment.getView() == null) {
-            return;
-        }
         mSearchViewContainer.animate().cancel();
         mSearchViewContainer.setAlpha(0);
         mSearchViewContainer.setTranslationY(-mSearchViewContainer.getHeight());
@@ -528,11 +584,12 @@
                     @Override
                     public void onAnimationStart(Animator animation) {
                         mSearchViewContainer.setVisibility(View.VISIBLE);
+                        mActionBar.setVisibility(View.VISIBLE);
                     }
                 });
 
-        mPhoneFavoriteFragment.getView().setTranslationY(-mSearchViewContainer.getHeight());
-        mPhoneFavoriteFragment.getView().animate().withLayer().translationY(0).setDuration(200)
+        mFragmentsFrame.setTranslationY(-mSearchViewContainer.getHeight());
+        mFragmentsFrame.animate().withLayer().translationY(0).setDuration(200)
                 .setListener(
                         new AnimatorListenerAdapter() {
                             @Override
@@ -543,10 +600,16 @@
     }
 
 
-    public void setupFakeActionBarItemsForFavoritesFragment() {
+    public void setupFakeActionBarItems() {
         mMenuButton = findViewById(R.id.overflow_menu);
         if (mMenuButton != null) {
             mMenuButton.setOnClickListener(this);
+
+            mOverflowMenu = new OverflowPopupMenu(DialtactsActivity.this, mMenuButton);
+            final Menu menu = mOverflowMenu.getMenu();
+            mOverflowMenu.inflate(R.menu.dialtacts_options);
+            mOverflowMenu.setOnMenuItemClickListener(this);
+            mMenuButton.setOnTouchListener(mOverflowMenu.getDragToOpenListener());
         }
 
         mCallHistoryButton = findViewById(R.id.call_history_button);
@@ -606,9 +669,6 @@
      * @param intent Intent that contains information about which tab should be selected
      */
     private void displayFragment(Intent intent) {
-        // TODO krelease: Make navigation via intent work by displaying the correct fragment
-        // as appropriate.
-
         // If we got here by hitting send and we're in call forward along to the in-call activity
         boolean recentCallsRequest = Calls.CONTENT_TYPE.equals(intent.resolveType(
             getContentResolver()));
@@ -617,11 +677,15 @@
             return;
         }
 
-        if (mDialpadFragment != null && (phoneIsInUse() || isDialIntent(intent))) {
-            mDialpadFragment.setStartedFromNewIntent(true);
-            // TODO krelease: This should use showDialpadFragment(false) to avoid animating
-            // the dialpad in. Need to fix the onPreDrawListener in NewDialpadFragment first.
-            showDialpadFragment(true);
+        if (mDialpadFragment != null) {
+            final boolean phoneIsInUse = phoneIsInUse();
+            if (phoneIsInUse || isDialIntent(intent)) {
+                mDialpadFragment.setStartedFromNewIntent(true);
+                if (phoneIsInUse && !mDialpadFragment.isVisible()) {
+                    mInCallDialpadUp = true;
+                }
+                showDialpadFragment(false);
+            }
         }
     }
 
@@ -632,19 +696,6 @@
         displayFragment(newIntent);
         final String action = newIntent.getAction();
 
-        if (mInSearchUi || (mRegularSearchFragment != null && mRegularSearchFragment.isVisible())) {
-            exitSearchUi();
-        }
-
-        // TODO krelease: Handle onNewIntent for all other fragments
-        /*
-         *if (mViewPager.getCurrentItem() == TAB_INDEX_DIALER) { if (mDialpadFragment != null) {
-         * mDialpadFragment.setStartedFromNewIntent(true); } else { Log.e(TAG,
-         * "DialpadFragment isn't ready yet when the tab is already selected."); } } else if
-         * (mViewPager.getCurrentItem() == TAB_INDEX_CALL_LOG) { if (mCallLogFragment != null) {
-         * mCallLogFragment.configureScreenFromIntent(newIntent); } else { Log.e(TAG,
-         * "CallLogFragment isn't ready yet when the tab is already selected."); } }
-         */
         invalidateOptionsMenu();
     }
 
@@ -760,31 +811,65 @@
     /**
      * Shows the search fragment
      */
-    private void enterSearchUi(boolean smartDialSearch) {
+    private void enterSearchUi(boolean smartDialSearch, String query) {
+        if (getFragmentManager().isDestroyed()) {
+            // Weird race condition where fragment is doing work after the activity is destroyed
+            // due to talkback being on (b/10209937). Just return since we can't do any
+            // constructive here.
+            return;
+        }
+
+        if (DEBUG) {
+            Log.d(TAG, "Entering search UI - smart dial " + smartDialSearch);
+        }
+
         final FragmentTransaction transaction = getFragmentManager().beginTransaction();
         transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
-        transaction.hide(mPhoneFavoriteFragment);
-        if (smartDialSearch) {
-            transaction.show(mSmartDialSearchFragment);
-        } else {
-            transaction.show(mRegularSearchFragment);
-        }
-        transaction.commit();
 
-        mInSearchUi = true;
+        SearchFragment fragment;
+        if (mInDialpadSearch) {
+            transaction.remove(mSmartDialSearchFragment);
+        } else if (mInRegularSearch) {
+            transaction.remove(mRegularSearchFragment);
+        } else {
+            transaction.remove(mPhoneFavoriteFragment);
+        }
+
+        final String tag;
+        if (smartDialSearch) {
+            tag = TAG_SMARTDIAL_SEARCH_FRAGMENT;
+        } else {
+            tag = TAG_REGULAR_SEARCH_FRAGMENT;
+        }
+        mInDialpadSearch = smartDialSearch;
+        mInRegularSearch = !smartDialSearch;
+
+        fragment = (SearchFragment) getFragmentManager().findFragmentByTag(tag);
+        if (fragment == null) {
+            if (smartDialSearch) {
+                fragment = new SmartDialSearchFragment();
+            } else {
+                fragment = new RegularSearchFragment();
+            }
+        }
+        transaction.replace(R.id.dialtacts_frame, fragment, tag);
+        transaction.addToBackStack(null);
+        fragment.setQueryString(query, false);
+        transaction.commit();
     }
 
     /**
      * Hides the search fragment
      */
     private void exitSearchUi() {
-        final FragmentTransaction transaction = getFragmentManager().beginTransaction();
-        transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
-        transaction.hide(mRegularSearchFragment);
-        transaction.hide(mSmartDialSearchFragment);
-        transaction.show(mPhoneFavoriteFragment);
-        transaction.commit();
-        mInSearchUi = false;
+        // See related bug in enterSearchUI();
+        if (getFragmentManager().isDestroyed()) {
+            return;
+        }
+        // Go all the way back to the favorites fragment, regardless of how many times we
+        // transitioned between search fragments
+        getFragmentManager().popBackStack(0, FragmentManager.POP_BACK_STACK_INCLUSIVE);
+        setNotInSearchUi();
     }
 
     /** Returns an Intent to launch Call Settings screen */
@@ -797,12 +882,11 @@
 
     @Override
     public void onBackPressed() {
-        if (mDialpadFragment.isVisible()) {
-            hideDialpadFragment(true);
-        } else if (mInSearchUi) {
+        if (mDialpadFragment != null && mDialpadFragment.isVisible()) {
+            hideDialpadFragment(true, false);
+        } else if (getInSearchUi()) {
             mSearchView.setText(null);
-        } else if (mShowAllContactsFragment.isVisible()) {
-            hideAllContactsFragment();
+            mDialpadFragment.clearDialpad();
         } else if (isTaskRoot()) {
             // Instead of stopping, simply push this to the back of the stack.
             // This is only done when running at the top of the stack;
@@ -819,6 +903,17 @@
         final String normalizedQuery = SmartDialNameMatcher.normalizeNumber(query,
                 SmartDialNameMatcher.LATIN_SMART_DIAL_MAP);
         if (!TextUtils.equals(mSearchView.getText(), normalizedQuery)) {
+            if (DEBUG) {
+                Log.d(TAG, "onDialpadQueryChanged - new query: " + query);
+            }
+            if (mDialpadFragment == null || !mDialpadFragment.isVisible()) {
+                // This callback can happen if the dialpad fragment is recreated because of
+                // activity destruction. In that case, don't update the search view because
+                // that would bring the user back to the search fragment regardless of the
+                // previous state of the application. Instead, just return here and let the
+                // fragment manager correctly figure out whatever fragment was last displayed.
+                return;
+            }
             mSearchView.setText(normalizedQuery);
         }
     }
@@ -826,17 +921,12 @@
     @Override
     public void onListFragmentScrollStateChange(int scrollState) {
         if (scrollState == OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {
-            hideDialpadFragmentIfNecessary();
+            hideDialpadFragment(true, false);
             hideInputMethod(getCurrentFocus());
         }
     }
 
     @Override
-    public void onPhoneFavoriteFragmentStarted() {
-        setupFakeActionBarItemsForFavoritesFragment();
-    }
-
-    @Override
     public void onDialpadFragmentStarted() {
         setupFakeActionBarItemsForDialpadFragment();
     }
@@ -846,4 +936,23 @@
                 Context.TELEPHONY_SERVICE);
         return tm.getCallState() != TelephonyManager.CALL_STATE_IDLE;
     }
+
+    @Override
+    public void onShowAllContacts() {
+        final Intent intent = new Intent(this, AllContactsActivity.class);
+        startActivity(intent);
+    }
+
+    public static Intent getAddNumberToContactIntent(CharSequence text) {
+        final Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);
+        intent.putExtra(Intents.Insert.PHONE, text);
+        intent.setType(Contacts.CONTENT_ITEM_TYPE);
+        return intent;
+    }
+
+    public static Intent getInsertContactWithNameIntent(CharSequence text) {
+        final Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
+        intent.putExtra(Intents.Insert.NAME, text);
+        return intent;
+    }
 }
diff --git a/src/com/android/dialer/PhoneCallDetailsHelper.java b/src/com/android/dialer/PhoneCallDetailsHelper.java
index 6f13b2e..340168e 100644
--- a/src/com/android/dialer/PhoneCallDetailsHelper.java
+++ b/src/com/android/dialer/PhoneCallDetailsHelper.java
@@ -18,6 +18,7 @@
 
 import android.content.res.Resources;
 import android.graphics.Typeface;
+import android.provider.ContactsContract;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.telephony.PhoneNumberUtils;
 import android.text.SpannableString;
@@ -31,7 +32,9 @@
 
 import com.android.contacts.common.test.NeededForTesting;
 import com.android.dialer.calllog.CallTypeHelper;
+import com.android.dialer.calllog.ContactInfo;
 import com.android.dialer.calllog.PhoneNumberHelper;
+import com.android.dialer.calllog.PhoneNumberUtilsWrapper;
 
 /**
  * Helper class to fill in the views in {@link PhoneCallDetailsViews}.
@@ -46,6 +49,7 @@
     // Helper classes.
     private final CallTypeHelper mCallTypeHelper;
     private final PhoneNumberHelper mPhoneNumberHelper;
+    private final PhoneNumberUtilsWrapper mPhoneNumberUtilsWrapper;
 
     /**
      * Creates a new instance of the helper.
@@ -55,10 +59,11 @@
      * @param resources used to look up strings
      */
     public PhoneCallDetailsHelper(Resources resources, CallTypeHelper callTypeHelper,
-            PhoneNumberHelper phoneNumberHelper) {
+            PhoneNumberUtilsWrapper phoneUtils) {
         mResources = resources;
         mCallTypeHelper = callTypeHelper;
-        mPhoneNumberHelper = phoneNumberHelper;
+        mPhoneNumberHelper = new PhoneNumberHelper(resources);
+        mPhoneNumberUtilsWrapper = phoneUtils;
     }
 
     /** Fills the call details views with content. */
@@ -70,6 +75,7 @@
         for (int index = 0; index < count && index < MAX_CALL_TYPE_ICONS; ++index) {
             views.callTypeIcons.add(details.callTypes[index]);
         }
+        views.callTypeIcons.requestLayout();
         views.callTypeIcons.setVisibility(View.VISIBLE);
 
         // Show the total call count only if there are more than the maximum number of icons.
@@ -97,8 +103,12 @@
         // Only show a label if the number is shown and it is not a SIP address.
         if (!TextUtils.isEmpty(details.number)
                 && !PhoneNumberUtils.isUriNumber(details.number.toString())) {
-            numberFormattedLabel = Phone.getTypeLabel(mResources, details.numberType,
-                    details.numberLabel);
+            if (details.numberLabel == ContactInfo.GEOCODE_AS_LABEL) {
+                numberFormattedLabel = details.geocode;
+            } else {
+                numberFormattedLabel = Phone.getTypeLabel(mResources, details.numberType,
+                        details.numberLabel);
+            }
         }
 
         final CharSequence nameText;
@@ -110,7 +120,7 @@
         if (TextUtils.isEmpty(details.name)) {
             nameText = displayNumber;
             if (TextUtils.isEmpty(details.geocode)
-                    || mPhoneNumberHelper.isVoicemailNumber(details.number)) {
+                    || mPhoneNumberUtilsWrapper.isVoicemailNumber(details.number)) {
                 numberText = mResources.getString(R.string.call_log_empty_gecode);
             } else {
                 numberText = details.geocode;
diff --git a/src/com/android/dialer/SearchFragment.java b/src/com/android/dialer/SearchFragment.java
deleted file mode 100644
index 54d29d4..0000000
--- a/src/com/android/dialer/SearchFragment.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.dialer;
-
-import android.app.Activity;
-import android.view.LayoutInflater;
-import android.view.ViewGroup;
-import android.widget.AbsListView;
-import android.widget.AbsListView.OnScrollListener;
-
-import com.android.contacts.common.list.ContactListItemView;
-import com.android.contacts.common.list.PhoneNumberPickerFragment;
-import com.android.dialer.list.OnListFragmentScrolledListener;
-
-public class SearchFragment extends PhoneNumberPickerFragment {
-
-    private OnListFragmentScrolledListener mActivityScrollListener;
-
-    public SearchFragment() {
-        setDirectorySearchEnabled(true);
-    }
-
-    @Override
-    public void onAttach(Activity activity) {
-        super.onAttach(activity);
-
-        setQuickContactEnabled(true);
-        setDarkTheme(false);
-        setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(true /* opposite */));
-        setUseCallableUri(true);
-
-        try {
-            mActivityScrollListener = (OnListFragmentScrolledListener) activity;
-        } catch (ClassCastException e) {
-            throw new ClassCastException(activity.toString()
-                    + " must implement OnListFragmentScrolledListener");
-        }
-    }
-
-    @Override
-    public void onStart() {
-        super.onStart();
-        getListView().setOnScrollListener(new OnScrollListener() {
-            @Override
-            public void onScrollStateChanged(AbsListView view, int scrollState) {
-                mActivityScrollListener.onListFragmentScrollStateChange(scrollState);
-            }
-
-            @Override
-            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount,
-                    int totalItemCount) {
-            }
-        });
-    }
-
-    @Override
-    protected void setSearchMode(boolean flag) {
-        super.setSearchMode(flag);
-        // This hides the "All contacts with phone numbers" header in the search fragment
-        getAdapter().setHasHeader(0, false);
-    }
-}
diff --git a/src/com/android/dialer/calllog/CallDetailHistoryAdapter.java b/src/com/android/dialer/calllog/CallDetailHistoryAdapter.java
index 52435aa..8af3b82 100644
--- a/src/com/android/dialer/calllog/CallDetailHistoryAdapter.java
+++ b/src/com/android/dialer/calllog/CallDetailHistoryAdapter.java
@@ -150,7 +150,7 @@
                 DateUtils.FORMAT_SHOW_WEEKDAY | DateUtils.FORMAT_SHOW_YEAR);
         dateView.setText(dateValue);
         // Set the duration
-        if (callType == Calls.MISSED_TYPE || callType == Calls.VOICEMAIL_TYPE) {
+        if (Calls.VOICEMAIL_TYPE == callType || CallTypeHelper.isMissedCallType(callType)) {
             durationView.setVisibility(View.GONE);
         } else {
             durationView.setVisibility(View.VISIBLE);
diff --git a/src/com/android/dialer/calllog/CallLogActivity.java b/src/com/android/dialer/calllog/CallLogActivity.java
index 662614f..42318f0 100644
--- a/src/com/android/dialer/calllog/CallLogActivity.java
+++ b/src/com/android/dialer/calllog/CallLogActivity.java
@@ -122,11 +122,6 @@
         actionBar.setDisplayHomeAsUpEnabled(true);
         actionBar.setDisplayShowTitleEnabled(true);
 
-        final SpannableString s = new SpannableString(getString(R.string.call_log_activity_title));
-        s.setSpan(new TypefaceSpan(getString(R.string.call_log_activity_title_font_family)), 0,
-                s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
-        actionBar.setTitle(s);
-
         final Tab allTab = actionBar.newTab();
         final String allTitle = getString(R.string.call_log_all_title);
         allTab.setContentDescription(allTitle);
@@ -162,7 +157,7 @@
         // If onPrepareOptionsMenu is called before fragments loaded. Don't do anything.
         if (mAllCallsFragment != null && itemDeleteAll != null) {
             final CallLogAdapter adapter = mAllCallsFragment.getAdapter();
-            itemDeleteAll.setEnabled(adapter != null && !adapter.isEmpty());
+            itemDeleteAll.setVisible(adapter != null && !adapter.isEmpty());
         }
         return true;
     }
diff --git a/src/com/android/dialer/calllog/CallLogAdapter.java b/src/com/android/dialer/calllog/CallLogAdapter.java
index 2c81f46..e4fd0d8 100644
--- a/src/com/android/dialer/calllog/CallLogAdapter.java
+++ b/src/com/android/dialer/calllog/CallLogAdapter.java
@@ -18,6 +18,7 @@
 
 import android.content.ContentValues;
 import android.content.Context;
+import android.content.Intent;
 import android.content.res.Resources;
 import android.database.Cursor;
 import android.net.Uri;
@@ -29,7 +30,10 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.ViewStub;
 import android.view.ViewTreeObserver;
+import android.widget.ImageView;
+import android.widget.TextView;
 
 import com.android.common.widget.GroupingListAdapter;
 import com.android.contacts.common.ContactPhotoManager;
@@ -48,6 +52,7 @@
  */
 public class CallLogAdapter extends GroupingListAdapter
         implements ViewTreeObserver.OnPreDrawListener, CallLogGroupBuilder.GroupCreator {
+
     /** Interface used to initiate a refresh of the content. */
     public interface CallFetcher {
         public void fetchCalls();
@@ -90,7 +95,7 @@
     /** The size of the cache of contact info. */
     private static final int CONTACT_INFO_CACHE_SIZE = 100;
 
-    private final Context mContext;
+    protected final Context mContext;
     private final ContactInfoHelper mContactInfoHelper;
     private final CallFetcher mCallFetcher;
     private ViewTreeObserver mViewTreeObserver = null;
@@ -178,26 +183,39 @@
     /** Can be set to true by tests to disable processing of requests. */
     private volatile boolean mRequestProcessingDisabled = false;
 
-    /** Listener for the primary action in the list, opens the call details. */
-    private final View.OnClickListener mPrimaryActionListener = new View.OnClickListener() {
+    /** True if CallLogAdapter is created from the PhoneFavoriteFragment, where the primary
+     * action should be set to call a number instead of opening the detail page. */
+    private boolean mUseCallAsPrimaryAction = false;
+
+    private boolean mIsCallLog = true;
+    private int mNumMissedCalls = 0;
+    private int mNumMissedCallsShown = 0;
+
+    private View mBadgeContainer;
+    private ImageView mBadgeImageView;
+    private TextView mBadgeText;
+
+    /** Listener for the primary or secondary actions in the list.
+     *  Primary opens the call details.
+     *  Secondary calls or plays.
+     **/
+    private final View.OnClickListener mActionListener = new View.OnClickListener() {
         @Override
         public void onClick(View view) {
-            IntentProvider intentProvider = (IntentProvider) view.getTag();
-            if (intentProvider != null) {
-                mContext.startActivity(intentProvider.getIntent(mContext));
-            }
+            startActivityForAction(view);
         }
     };
-    /** Listener for the secondary action in the list, either call or play. */
-    private final View.OnClickListener mSecondaryActionListener = new View.OnClickListener() {
-        @Override
-        public void onClick(View view) {
-            IntentProvider intentProvider = (IntentProvider) view.getTag();
-            if (intentProvider != null) {
-                mContext.startActivity(intentProvider.getIntent(mContext));
+
+    private void startActivityForAction(View view) {
+        final IntentProvider intentProvider = (IntentProvider) view.getTag();
+        if (intentProvider != null) {
+            final Intent intent = intentProvider.getIntent(mContext);
+            // See IntentProvider.getCallDetailIntentProvider() for why this may be null.
+            if (intent != null) {
+                mContext.startActivity(intent);
             }
         }
-    };
+    }
 
     @Override
     public boolean onPreDraw() {
@@ -228,12 +246,15 @@
     };
 
     public CallLogAdapter(Context context, CallFetcher callFetcher,
-            ContactInfoHelper contactInfoHelper) {
+            ContactInfoHelper contactInfoHelper, boolean useCallAsPrimaryAction,
+            boolean isCallLog) {
         super(context);
 
         mContext = context;
         mCallFetcher = callFetcher;
         mContactInfoHelper = contactInfoHelper;
+        mUseCallAsPrimaryAction = useCallAsPrimaryAction;
+        mIsCallLog = isCallLog;
 
         mContactInfoCache = ExpirableCache.create(CONTACT_INFO_CACHE_SIZE);
         mRequests = new LinkedList<ContactInfoRequest>();
@@ -244,7 +265,7 @@
         mContactPhotoManager = ContactPhotoManager.getInstance(mContext);
         mPhoneNumberHelper = new PhoneNumberHelper(resources);
         PhoneCallDetailsHelper phoneCallDetailsHelper = new PhoneCallDetailsHelper(
-                resources, callTypeHelper, mPhoneNumberHelper);
+                resources, callTypeHelper, new PhoneNumberUtilsWrapper());
         mCallLogViewsHelper =
                 new CallLogListItemHelper(
                         phoneCallDetailsHelper, mPhoneNumberHelper, resources);
@@ -331,8 +352,7 @@
      * up the contact information (if it has not been already started). Otherwise, it will be
      * started with a delay. See {@link #START_PROCESSING_REQUESTS_DELAY_MILLIS}.
      */
-    @VisibleForTesting
-    void enqueueRequest(String number, String countryIso, ContactInfo callLogInfo,
+    protected void enqueueRequest(String number, String countryIso, ContactInfo callLogInfo,
             boolean immediate) {
         ContactInfoRequest request = new ContactInfoRequest(number, countryIso, callLogInfo);
         synchronized (mRequests) {
@@ -367,7 +387,17 @@
         // view.
         NumberWithCountryIso numberCountryIso = new NumberWithCountryIso(number, countryIso);
         ContactInfo existingInfo = mContactInfoCache.getPossiblyExpired(numberCountryIso);
-        boolean updated = (existingInfo != ContactInfo.EMPTY) && !info.equals(existingInfo);
+
+        final boolean isRemoteSource = info.sourceType != 0;
+
+        // Don't force redraw if existing info in the cache is equal to {@link ContactInfo#EMPTY}
+        // to avoid updating the data set for every new row that is scrolled into view.
+        // see (https://googleplex-android-review.git.corp.google.com/#/c/166680/)
+
+        // Exception: Photo uris for contacts from remote sources are not cached in the call log
+        // cache, so we have to force a redraw for these contacts regardless.
+        boolean updated = (existingInfo != ContactInfo.EMPTY || isRemoteSource) &&
+                !info.equals(existingInfo);
 
         // Store the data in the cache so that the UI thread can use to display it. Store it
         // even if it has not changed so that it is marked as not expired.
@@ -442,8 +472,17 @@
 
     @Override
     protected View newStandAloneView(Context context, ViewGroup parent) {
-        LayoutInflater inflater =
-                (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+        return newChildView(context, parent);
+    }
+
+    @Override
+    protected View newGroupView(Context context, ViewGroup parent) {
+        return newChildView(context, parent);
+    }
+
+    @Override
+    protected View newChildView(Context context, ViewGroup parent) {
+        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
         View view = inflater.inflate(R.layout.call_log_list_item, parent, false);
         findAndCacheViews(view);
         return view;
@@ -455,29 +494,11 @@
     }
 
     @Override
-    protected View newChildView(Context context, ViewGroup parent) {
-        LayoutInflater inflater =
-                (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-        View view = inflater.inflate(R.layout.call_log_list_item, parent, false);
-        findAndCacheViews(view);
-        return view;
-    }
-
-    @Override
     protected void bindChildView(View view, Context context, Cursor cursor) {
         bindView(view, cursor, 1);
     }
 
     @Override
-    protected View newGroupView(Context context, ViewGroup parent) {
-        LayoutInflater inflater =
-                (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-        View view = inflater.inflate(R.layout.call_log_list_item, parent, false);
-        findAndCacheViews(view);
-        return view;
-    }
-
-    @Override
     protected void bindGroupView(View view, Context context, Cursor cursor, int groupSize,
             boolean expanded) {
         bindView(view, cursor, groupSize);
@@ -486,8 +507,8 @@
     private void findAndCacheViews(View view) {
         // Get the views to bind to.
         CallLogListItemViews views = CallLogListItemViews.fromView(view);
-        views.primaryActionView.setOnClickListener(mPrimaryActionListener);
-        views.secondaryActionView.setOnClickListener(mSecondaryActionListener);
+        views.primaryActionView.setOnClickListener(mActionListener);
+        views.secondaryActionView.setOnClickListener(mActionListener);
         view.setTag(views);
     }
 
@@ -503,7 +524,6 @@
 
         // Default case: an item in the call log.
         views.primaryActionView.setVisibility(View.VISIBLE);
-        views.bottomDivider.setVisibility(View.VISIBLE);
         views.listHeaderTextView.setVisibility(View.GONE);
 
         final String number = c.getString(CallLogQuery.NUMBER);
@@ -515,9 +535,17 @@
 
         final ContactInfo cachedContactInfo = getContactInfoFromCallLog(c);
 
-        views.primaryActionView.setTag(
-                IntentProvider.getCallDetailIntentProvider(
-                        getCursor(), c.getPosition(), c.getLong(CallLogQuery.ID), count));
+        if (!mUseCallAsPrimaryAction) {
+            // Sets the primary action to open call detail page.
+            views.primaryActionView.setTag(
+                    IntentProvider.getCallDetailIntentProvider(
+                            getCursor(), c.getPosition(), c.getLong(CallLogQuery.ID), count));
+        } else if (PhoneNumberUtilsWrapper.canPlaceCallsTo(number, numberPresentation)) {
+            // Sets the primary action to call the number.
+            views.primaryActionView.setTag(IntentProvider.getReturnCallIntentProvider(number));
+        } else {
+            views.primaryActionView.setTag(null);
+        }
 
         // Store away the voicemail information so we can play it directly.
         if (callType == Calls.VOICEMAIL_TYPE) {
@@ -539,8 +567,8 @@
         ExpirableCache.CachedValue<ContactInfo> cachedInfo =
                 mContactInfoCache.getCachedValue(numberCountryIso);
         ContactInfo info = cachedInfo == null ? null : cachedInfo.getValue();
-        if (!PhoneNumberHelper.canPlaceCallsTo(number, numberPresentation)
-                || mPhoneNumberHelper.isVoicemailNumber(number)) {
+        if (!PhoneNumberUtilsWrapper.canPlaceCallsTo(number, numberPresentation)
+                || new PhoneNumberUtilsWrapper().isVoicemailNumber(number)) {
             // If this is a number that cannot be dialed, there is no point in looking up a contact
             // for it.
             info = ContactInfo.EMPTY;
@@ -576,32 +604,145 @@
         final int ntype = info.type;
         final String label = info.label;
         final long photoId = info.photoId;
+        final Uri photoUri = info.photoUri;
         CharSequence formattedNumber = info.formattedNumber;
         final int[] callTypes = getCallTypes(c, count);
         final String geocode = c.getString(CallLogQuery.GEOCODED_LOCATION);
         final PhoneCallDetails details;
+
         if (TextUtils.isEmpty(name)) {
             details = new PhoneCallDetails(number, numberPresentation,
                     formattedNumber, countryIso, geocode, callTypes, date,
                     duration);
         } else {
-            // We do not pass a photo id since we do not need the high-res picture.
             details = new PhoneCallDetails(number, numberPresentation,
                     formattedNumber, countryIso, geocode, callTypes, date,
-                    duration, name, ntype, label, lookupUri, null);
+                    duration, name, ntype, label, lookupUri, photoUri);
         }
 
         final boolean isNew = c.getInt(CallLogQuery.IS_READ) == 0;
         // New items also use the highlighted version of the text.
         final boolean isHighlighted = isNew;
-        mCallLogViewsHelper.setPhoneCallDetails(views, details, isHighlighted);
-        setPhoto(views, photoId, lookupUri);
+        mCallLogViewsHelper.setPhoneCallDetails(views, details, isHighlighted,
+                mUseCallAsPrimaryAction);
+
+        if (photoId == 0 && photoUri != null) {
+            setPhoto(views, photoUri, lookupUri);
+        } else {
+            setPhoto(views, photoId, lookupUri);
+        }
+
+        views.quickContactView.setContentDescription(views.phoneCallDetailsViews.nameView.
+                getText());
 
         // Listen for the first draw
         if (mViewTreeObserver == null) {
             mViewTreeObserver = view.getViewTreeObserver();
             mViewTreeObserver.addOnPreDrawListener(this);
         }
+
+        bindBadge(view, info, details, callType);
+    }
+
+    protected void bindBadge(View view, ContactInfo info, PhoneCallDetails details, int callType) {
+
+        // Do not show badge in call log.
+        if (!mIsCallLog) {
+            final int numMissed = getNumMissedCalls(callType);
+            final ViewStub stub = (ViewStub) view.findViewById(R.id.link_stub);
+
+            if (shouldShowBadge(numMissed, info, details)) {
+                // Do not process if the data has not changed (optimization since bind view is
+                // called multiple times due to contact lookup).
+                if (numMissed == mNumMissedCallsShown) {
+                    return;
+                }
+
+                // stub will be null if it was already inflated.
+                if (stub != null) {
+                    final View inflated = stub.inflate();
+                    inflated.setVisibility(View.VISIBLE);
+                    mBadgeContainer = inflated.findViewById(R.id.badge_link_container);
+                    mBadgeImageView = (ImageView) inflated.findViewById(R.id.badge_image);
+                    mBadgeText = (TextView) inflated.findViewById(R.id.badge_text);
+                }
+
+                mBadgeContainer.setOnClickListener(getBadgeClickListener());
+                mBadgeImageView.setImageResource(getBadgeImageResId());
+                mBadgeText.setText(getBadgeText(numMissed));
+
+                mNumMissedCallsShown = numMissed;
+            } else {
+                // Hide badge if it was previously shown.
+                if (stub == null) {
+                    final View container = view.findViewById(R.id.badge_container);
+                    if (container != null) {
+                        container.setVisibility(View.GONE);
+                    }
+                }
+            }
+        }
+    }
+
+    public void setMissedCalls(Cursor data) {
+        final int missed;
+        if (data == null) {
+            missed = 0;
+        } else {
+            missed = data.getCount();
+        }
+        // Only need to update if the number of calls changed.
+        if (missed != mNumMissedCalls) {
+            mNumMissedCalls = missed;
+            notifyDataSetChanged();
+        }
+    }
+
+    protected View.OnClickListener getBadgeClickListener() {
+        return new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                final Intent intent = new Intent(mContext, CallLogActivity.class);
+                mContext.startActivity(intent);
+            }
+        };
+    }
+
+    /**
+     * Get the resource id for the image to be shown for the badge.
+     */
+    protected int getBadgeImageResId() {
+        return R.drawable.ic_call_log_blue;
+    }
+
+    /**
+     * Get the text to be shown for the badge.
+     *
+     * @param numMissed The number of missed calls.
+     */
+    protected String getBadgeText(int numMissed) {
+        return mContext.getResources().getString(R.string.num_missed_calls, numMissed);
+    }
+
+    /**
+     * Whether to show the badge.
+     *
+     * @param numMissedCalls The number of missed calls.
+     * @param info The contact info.
+     * @param details The call detail.
+     * @return {@literal true} if badge should be shown.  {@literal false} otherwise.
+     */
+    protected boolean shouldShowBadge(int numMissedCalls, ContactInfo info,
+            PhoneCallDetails details) {
+        return numMissedCalls > 0;
+    }
+
+    private int getNumMissedCalls(int callType) {
+        if (callType == Calls.MISSED_TYPE) {
+            // Exclude the current missed call shown in the shortcut.
+            return mNumMissedCalls - 1;
+        }
+        return mNumMissedCalls;
     }
 
     /** Checks whether the contact info from the call log matches the one from the contacts db. */
@@ -719,6 +860,13 @@
         mContactPhotoManager.loadThumbnail(views.quickContactView, photoId, false /* darkTheme */);
     }
 
+    private void setPhoto(CallLogListItemViews views, Uri photoUri, Uri contactUri) {
+        views.quickContactView.assignContactUri(contactUri);
+        mContactPhotoManager.loadDirectoryPhoto(views.quickContactView, photoUri,
+                false /* darkTheme */);
+    }
+
+
     /**
      * Sets whether processing of requests for contact details should be enabled.
      * <p>
diff --git a/src/com/android/dialer/calllog/CallLogFragment.java b/src/com/android/dialer/calllog/CallLogFragment.java
index 5d75004..c8e2613 100644
--- a/src/com/android/dialer/calllog/CallLogFragment.java
+++ b/src/com/android/dialer/calllog/CallLogFragment.java
@@ -26,19 +26,12 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
-import android.os.RemoteException;
-import android.os.ServiceManager;
 import android.provider.CallLog;
 import android.provider.CallLog.Calls;
 import android.provider.ContactsContract;
 import android.telephony.PhoneNumberUtils;
-import android.telephony.PhoneStateListener;
 import android.telephony.TelephonyManager;
-import android.util.Log;
 import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ListView;
@@ -52,8 +45,8 @@
 import com.android.dialer.voicemail.VoicemailStatusHelper;
 import com.android.dialer.voicemail.VoicemailStatusHelper.StatusMessage;
 import com.android.dialer.voicemail.VoicemailStatusHelperImpl;
+import com.android.dialerbind.ObjectFactory;
 import com.android.internal.telephony.ITelephony;
-import com.google.common.annotations.VisibleForTesting;
 
 import java.util.List;
 
@@ -90,7 +83,6 @@
     private final Handler mHandler = new Handler();
 
     private TelephonyManager mTelephonyManager;
-    private PhoneStateListener mPhoneStateListener;
 
     private class CustomContentObserver extends ContentObserver {
         public CustomContentObserver() {
@@ -139,8 +131,8 @@
                 this, mLogLimit);
         mKeyguardManager =
                 (KeyguardManager) getActivity().getSystemService(Context.KEYGUARD_SERVICE);
-        getActivity().getContentResolver().registerContentObserver(
-                CallLog.CONTENT_URI, true, mCallLogObserver);
+        getActivity().getContentResolver().registerContentObserver(CallLog.CONTENT_URI, true,
+                mCallLogObserver);
         getActivity().getContentResolver().registerContentObserver(
                 ContactsContract.Contacts.CONTENT_URI, true, mContactsObserver);
         setHasOptionsMenu(true);
@@ -237,8 +229,8 @@
         super.onViewCreated(view, savedInstanceState);
         updateEmptyMessage(mCallTypeFilter);
         String currentCountryIso = GeoUtil.getCurrentCountryIso(getActivity());
-        mAdapter = new CallLogAdapter(getActivity(), this,
-                new ContactInfoHelper(getActivity(), currentCountryIso));
+        mAdapter = ObjectFactory.newCallLogAdapter(getActivity(), this, new ContactInfoHelper(
+                getActivity(), currentCountryIso), false, true);
         setListAdapter(mAdapter);
         getListView().setItemsCanFocus(true);
     }
@@ -322,7 +314,6 @@
         mAdapter.changeCursor(null);
         getActivity().getContentResolver().unregisterContentObserver(mCallLogObserver);
         getActivity().getContentResolver().unregisterContentObserver(mContactsObserver);
-        unregisterPhoneCallReceiver();
     }
 
     @Override
@@ -340,12 +331,6 @@
     }
 
     private void updateCallList(int filterType) {
-        if (filterType == CallLogQueryHandler.CALL_TYPE_ALL) {
-            unregisterPhoneCallReceiver();
-        } else {
-            // TODO krelease: Make this work
-            //registerPhoneCallReceiver();
-        }
         mCallLogQueryHandler.fetchCalls(filterType);
     }
 
@@ -377,7 +362,7 @@
         if (cursor != null) {
             String number = cursor.getString(CallLogQuery.NUMBER);
             int numberPresentation = cursor.getInt(CallLogQuery.NUMBER_PRESENTATION);
-            if (!PhoneNumberHelper.canPlaceCallsTo(number, numberPresentation)) {
+            if (!PhoneNumberUtilsWrapper.canPlaceCallsTo(number, numberPresentation)) {
                 // This number can't be called, do nothing
                 return;
             }
@@ -437,22 +422,6 @@
         }
     }
 
-    /** Removes the missed call notifications. */
-    private void removeMissedCallNotifications() {
-        try {
-            ITelephony telephony =
-                    ITelephony.Stub.asInterface(ServiceManager.getService("phone"));
-            if (telephony != null) {
-                telephony.cancelMissedCallsNotification();
-            } else {
-                Log.w(TAG, "Telephony service is null, can't call " +
-                        "cancelMissedCallsNotification");
-            }
-        } catch (RemoteException e) {
-            Log.e(TAG, "Failed to clear missed calls notification due to remote exception");
-        }
-    }
-
     /** Updates call data and notification state while leaving the call log tab. */
     private void updateOnExit() {
         updateOnTransition(false);
@@ -463,72 +432,20 @@
         updateOnTransition(true);
     }
 
-    // TODO krelease: Figure out if we still need this. If so, it should be probably be moved to
-    // the call log activity instead, or done only in a single call log fragment.
+    // TODO: Move to CallLogActivity
     private void updateOnTransition(boolean onEntry) {
         // We don't want to update any call data when keyguard is on because the user has likely not
         // seen the new calls yet.
         // This might be called before onCreate() and thus we need to check null explicitly.
         if (mKeyguardManager != null && !mKeyguardManager.inKeyguardRestrictedInputMode()) {
-            // On either of the transitions we reset the new flag and update the notifications.
+            // On either of the transitions we update the missed call and voicemail notifications.
             // While exiting we additionally consume all missed calls (by marking them as read).
-            // This will ensure that they no more appear in the "new" section when we return back.
             mCallLogQueryHandler.markNewCallsAsOld();
             if (!onEntry) {
                 mCallLogQueryHandler.markMissedCallsAsRead();
             }
-            removeMissedCallNotifications();
-            updateVoicemailNotifications();
-        }
-    }
-
-    private void updateVoicemailNotifications() {
-        Intent serviceIntent = new Intent(getActivity(), CallLogNotificationsService.class);
-        serviceIntent.setAction(CallLogNotificationsService.ACTION_UPDATE_NOTIFICATIONS);
-        getActivity().startService(serviceIntent);
-    }
-
-    // TODO krelease: Make the ViewPager switch to the correct tab (All) when a phone call is
-    // placed.
-    // This should probably be moved to the call log activity.
-    /**
-     * Register a phone call filter to reset the call type when a phone call is place.
-     */
-    /*
-    private void registerPhoneCallReceiver() {
-        if (mPhoneStateListener != null) {
-            return; // Already registered.
-        }
-        mTelephonyManager = (TelephonyManager) getActivity().getSystemService(
-                Context.TELEPHONY_SERVICE);
-        mPhoneStateListener = new PhoneStateListener() {
-            @Override
-            public void onCallStateChanged(int state, String incomingNumber) {
-                if (state != TelephonyManager.CALL_STATE_OFFHOOK &&
-                        state != TelephonyManager.CALL_STATE_RINGING) {
-                    return;
-                }
-                mHandler.post(new Runnable() {
-                    @Override
-                    public void run() {
-                        if (getActivity() == null || getActivity().isFinishing()) {
-                            return;
-                        }
-                    }
-                 });
-            }
-        };
-        mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
-    }
-    */
-
-    /**
-     * Un-registers the phone call receiver.
-     */
-    private void unregisterPhoneCallReceiver() {
-        if (mPhoneStateListener != null) {
-            mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
-            mPhoneStateListener = null;
+            CallLogNotificationsHelper.removeMissedCallNotifications();
+            CallLogNotificationsHelper.updateVoicemailNotifications(getActivity());
         }
     }
 }
diff --git a/src/com/android/dialer/calllog/CallLogGroupBuilder.java b/src/com/android/dialer/calllog/CallLogGroupBuilder.java
index 1e4684e..213f1e7 100644
--- a/src/com/android/dialer/calllog/CallLogGroupBuilder.java
+++ b/src/com/android/dialer/calllog/CallLogGroupBuilder.java
@@ -78,8 +78,7 @@
                 shouldGroup = false;
             } else {
                 // Incoming, outgoing, and missed calls group together.
-                shouldGroup = (callType == Calls.INCOMING_TYPE || callType == Calls.OUTGOING_TYPE ||
-                        callType == Calls.MISSED_TYPE);
+                shouldGroup = callType != Calls.VOICEMAIL_TYPE;
             }
 
             if (shouldGroup) {
diff --git a/src/com/android/dialer/calllog/CallLogListItemHelper.java b/src/com/android/dialer/calllog/CallLogListItemHelper.java
index fdebeb1..576a432 100644
--- a/src/com/android/dialer/calllog/CallLogListItemHelper.java
+++ b/src/com/android/dialer/calllog/CallLogListItemHelper.java
@@ -27,10 +27,6 @@
 
 /**
  * Helper class to fill in the views of a call log entry.
- * TODO krelease: The only difference between this and the original is that we don't touch
- * divider views, which are not present in the new dialer. Once the new dialer replaces
- * the old one, we can replace it entirely. Otherwise we would have redundant divider=null
- * checks all over the place.
  */
 /* package */class CallLogListItemHelper {
     /** Helper for populating the details of a phone call. */
@@ -61,17 +57,17 @@
      * @param isHighlighted whether to use the highlight text for the call
      */
     public void setPhoneCallDetails(CallLogListItemViews views, PhoneCallDetails details,
-            boolean isHighlighted) {
+            boolean isHighlighted, boolean useCallAsPrimaryAction) {
         mPhoneCallDetailsHelper.setPhoneCallDetails(views.phoneCallDetailsViews, details,
                 isHighlighted);
-        boolean canCall = PhoneNumberHelper.canPlaceCallsTo(details.number,
-            details.numberPresentation);
+        boolean canCall = PhoneNumberUtilsWrapper.canPlaceCallsTo(details.number,
+                details.numberPresentation);
         boolean canPlay = details.callTypes[0] == Calls.VOICEMAIL_TYPE;
 
         if (canPlay) {
             // Playback action takes preference.
             configurePlaySecondaryAction(views, isHighlighted);
-        } else if (canCall) {
+        } else if (canCall && !useCallAsPrimaryAction) {
             // Call is the secondary action.
             configureCallSecondaryAction(views, details);
         } else {
@@ -84,7 +80,7 @@
     private void configureCallSecondaryAction(CallLogListItemViews views,
             PhoneCallDetails details) {
         views.secondaryActionView.setVisibility(View.VISIBLE);
-        views.secondaryActionView.setImageResource(R.drawable.ic_ab_dialer_holo_light);
+        views.secondaryActionView.setImageResource(R.drawable.ic_phone_dk);
         views.secondaryActionView.setContentDescription(getCallActionDescription(details));
     }
 
diff --git a/src/com/android/dialer/calllog/CallLogListItemViews.java b/src/com/android/dialer/calllog/CallLogListItemViews.java
index 0dd4f63..ed6218f 100644
--- a/src/com/android/dialer/calllog/CallLogListItemViews.java
+++ b/src/com/android/dialer/calllog/CallLogListItemViews.java
@@ -40,18 +40,15 @@
     public final PhoneCallDetailsViews phoneCallDetailsViews;
     /** The text of the header of a section. */
     public final TextView listHeaderTextView;
-    /** The divider to be shown below items. */
-    public final View bottomDivider;
 
     private CallLogListItemViews(QuickContactBadge quickContactView, View primaryActionView,
             ImageView secondaryActionView, PhoneCallDetailsViews phoneCallDetailsViews,
-            TextView listHeaderTextView, View bottomDivider) {
+            TextView listHeaderTextView) {
         this.quickContactView = quickContactView;
         this.primaryActionView = primaryActionView;
         this.secondaryActionView = secondaryActionView;
         this.phoneCallDetailsViews = phoneCallDetailsViews;
         this.listHeaderTextView = listHeaderTextView;
-        this.bottomDivider = bottomDivider;
     }
 
     public static CallLogListItemViews fromView(View view) {
@@ -60,8 +57,7 @@
                 view.findViewById(R.id.primary_action_view),
                 (ImageView) view.findViewById(R.id.secondary_action_icon),
                 PhoneCallDetailsViews.fromView(view),
-                (TextView) view.findViewById(R.id.call_log_header),
-                view.findViewById(R.id.call_log_divider));
+                (TextView) view.findViewById(R.id.call_log_header));
     }
 
     @NeededForTesting
@@ -71,7 +67,6 @@
                 new View(context),
                 new ImageView(context),
                 PhoneCallDetailsViews.createForTest(context),
-                new TextView(context),
-                new View(context));
+                new TextView(context));
     }
 }
diff --git a/src/com/android/dialer/calllog/CallLogNotificationsHelper.java b/src/com/android/dialer/calllog/CallLogNotificationsHelper.java
new file mode 100644
index 0000000..6ce66f0
--- /dev/null
+++ b/src/com/android/dialer/calllog/CallLogNotificationsHelper.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.dialer.calllog;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.util.Log;
+
+import com.android.internal.telephony.ITelephony;
+
+/**
+ * Helper class operating on call log notifications.
+ */
+public class CallLogNotificationsHelper {
+    private static final String TAG = "CallLogNotificationsHelper";
+
+    /** Removes the missed call notifications. */
+    public static void removeMissedCallNotifications() {
+        try {
+            ITelephony telephony =
+                    ITelephony.Stub.asInterface(ServiceManager.getService("phone"));
+            if (telephony != null) {
+                telephony.cancelMissedCallsNotification();
+            } else {
+                Log.w(TAG, "Telephony service is null, can't call " +
+                        "cancelMissedCallsNotification");
+            }
+        } catch (RemoteException e) {
+            Log.e(TAG, "Failed to clear missed calls notification due to remote exception");
+        }
+    }
+
+    /** Update the voice mail notifications. */
+    public static void updateVoicemailNotifications(Context context) {
+        Intent serviceIntent = new Intent(context, CallLogNotificationsService.class);
+        serviceIntent.setAction(CallLogNotificationsService.ACTION_UPDATE_NOTIFICATIONS);
+        context.startService(serviceIntent);
+    }
+}
diff --git a/src/com/android/dialer/calllog/CallLogQueryHandler.java b/src/com/android/dialer/calllog/CallLogQueryHandler.java
index 91a2e5d..def3c97 100644
--- a/src/com/android/dialer/calllog/CallLogQueryHandler.java
+++ b/src/com/android/dialer/calllog/CallLogQueryHandler.java
@@ -132,16 +132,20 @@
         mLogLimit = limit;
     }
 
-
     /**
      * Fetches the list of calls from the call log for a given type.
+     * This call ignores the new or old state.
      * <p>
      * It will asynchronously update the content of the list view when the fetch completes.
      */
-    public void fetchCalls(int callType) {
+    public void fetchCalls(int callType, long newerThan) {
         cancelFetch();
         int requestId = newCallsRequest();
-        fetchCalls(QUERY_CALLLOG_TOKEN, requestId, callType);
+        fetchCalls(QUERY_CALLLOG_TOKEN, requestId, callType, false /* newOnly */, newerThan);
+    }
+
+    public void fetchCalls(int callType) {
+        fetchCalls(callType, 0);
     }
 
     public void fetchVoicemailStatus() {
@@ -149,20 +153,40 @@
                 VoicemailStatusHelperImpl.PROJECTION, null, null, null);
     }
 
-    /** Fetches the list of calls in the call log, either the new one or the old ones. */
-    private void fetchCalls(int token, int requestId, int callType) {
+    /** Fetches the list of calls in the call log. */
+    private void fetchCalls(int token, int requestId, int callType, boolean newOnly,
+            long newerThan) {
         // We need to check for NULL explicitly otherwise entries with where READ is NULL
         // may not match either the query or its negation.
         // We consider the calls that are not yet consumed (i.e. IS_READ = 0) as "new".
-        String selection = null;
+        StringBuilder where = new StringBuilder();
         List<String> selectionArgs = Lists.newArrayList();
 
+        if (newOnly) {
+            where.append(Calls.NEW);
+            where.append(" = 1");
+        }
+
         if (callType > CALL_TYPE_ALL) {
+            if (where.length() > 0) {
+                where.append(" AND ");
+            }
             // Add a clause to fetch only items of type voicemail.
-            selection = String.format("(%s = ?)", Calls.TYPE);
+            where.append(String.format("(%s = ?)", Calls.TYPE));
+            // Add a clause to fetch only items newer than the requested date
             selectionArgs.add(Integer.toString(callType));
         }
+
+        if (newerThan > 0) {
+            if (where.length() > 0) {
+                where.append(" AND ");
+            }
+            where.append(String.format("(%s > ?)", Calls.DATE));
+            selectionArgs.add(Long.toString(newerThan));
+        }
+
         final int limit = (mLogLimit == -1) ? NUM_LOGS_TO_DISPLAY : mLogLimit;
+        final String selection = where.length() > 0 ? where.toString() : null;
         Uri uri = Calls.CONTENT_URI_WITH_VOICEMAIL.buildUpon()
                 .appendQueryParameter(Calls.LIMIT_PARAM_KEY, Integer.toString(limit))
                 .build();
diff --git a/src/com/android/dialer/calllog/CallTypeHelper.java b/src/com/android/dialer/calllog/CallTypeHelper.java
index 0f9b737..1c4f44f 100644
--- a/src/com/android/dialer/calllog/CallTypeHelper.java
+++ b/src/com/android/dialer/calllog/CallTypeHelper.java
@@ -64,7 +64,7 @@
                 return mVoicemailName;
 
             default:
-                throw new IllegalArgumentException("invalid call type: " + callType);
+                return mMissedName;
         }
     }
 
@@ -86,7 +86,15 @@
                 return mNewVoicemailColor;
 
             default:
-                throw new IllegalArgumentException("invalid call type: " + callType);
+                // Don't highlight calls of unknown types. They are treated as missed calls by
+                // the rest of the UI, but since they will never be marked as read by
+                // {@link CallLogQueryHandler}, just don't ever highlight them anyway.
+                return null;
         }
     }
+
+    public static boolean isMissedCallType(int callType) {
+        return (callType != Calls.INCOMING_TYPE && callType != Calls.OUTGOING_TYPE &&
+                callType != Calls.VOICEMAIL_TYPE);
+    }
 }
diff --git a/src/com/android/dialer/calllog/CallTypeIconsView.java b/src/com/android/dialer/calllog/CallTypeIconsView.java
index e835128..a65f2c2 100644
--- a/src/com/android/dialer/calllog/CallTypeIconsView.java
+++ b/src/com/android/dialer/calllog/CallTypeIconsView.java
@@ -86,7 +86,11 @@
             case Calls.VOICEMAIL_TYPE:
                 return mResources.voicemail;
             default:
-                throw new IllegalArgumentException("invalid call type: " + callType);
+                // It is possible for users to end up with calls with unknown call types in their
+                // call history, possibly due to 3rd party call log implementations (e.g. to
+                // distinguish between rejected and missed calls). Instead of crashing, just
+                // assume that all unknown call types are missed calls.
+                return mResources.missed;
         }
     }
 
diff --git a/src/com/android/dialer/calllog/ClearCallLogDialog.java b/src/com/android/dialer/calllog/ClearCallLogDialog.java
index 1f5b2b3..e6b4ce2 100644
--- a/src/com/android/dialer/calllog/ClearCallLogDialog.java
+++ b/src/com/android/dialer/calllog/ClearCallLogDialog.java
@@ -22,6 +22,7 @@
 import android.app.FragmentManager;
 import android.app.ProgressDialog;
 import android.content.ContentResolver;
+import android.content.Context;
 import android.content.DialogInterface;
 import android.content.DialogInterface.OnClickListener;
 import android.os.AsyncTask;
@@ -29,11 +30,16 @@
 import android.provider.CallLog.Calls;
 
 import com.android.dialer.R;
+import com.android.dialer.service.CachedNumberLookupService;
+import com.android.dialerbind.ObjectFactory;
 
 /**
  * Dialog that clears the call log after confirming with the user
  */
 public class ClearCallLogDialog extends DialogFragment {
+    private static final CachedNumberLookupService mCachedNumberLookupService =
+            ObjectFactory.newCachedNumberLookupService();
+
     /** Preferred way to show this dialog */
     public static void show(FragmentManager fragmentManager) {
         ClearCallLogDialog dialog = new ClearCallLogDialog();
@@ -43,6 +49,7 @@
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         final ContentResolver resolver = getActivity().getContentResolver();
+        final Context context = getActivity().getApplicationContext();
         final OnClickListener okListener = new OnClickListener() {
             @Override
             public void onClick(DialogInterface dialog, int which) {
@@ -53,6 +60,9 @@
                     @Override
                     protected Void doInBackground(Void... params) {
                         resolver.delete(Calls.CONTENT_URI, null, null);
+                        if (mCachedNumberLookupService != null) {
+                            mCachedNumberLookupService.clearAllCacheEntries(context);
+                        }
                         return null;
                     }
                     @Override
diff --git a/src/com/android/dialer/calllog/ContactInfo.java b/src/com/android/dialer/calllog/ContactInfo.java
index e0a074d..601f552 100644
--- a/src/com/android/dialer/calllog/ContactInfo.java
+++ b/src/com/android/dialer/calllog/ContactInfo.java
@@ -20,11 +20,12 @@
 import android.text.TextUtils;
 
 import com.android.contacts.common.util.UriUtils;
+import com.google.common.base.Objects;
 
 /**
  * Information for a contact as needed by the Call Log.
  */
-public final class ContactInfo {
+public class ContactInfo {
     public Uri lookupUri;
     public String name;
     public int type;
@@ -39,6 +40,10 @@
 
     public static ContactInfo EMPTY = new ContactInfo();
 
+    public static String GEOCODE_AS_LABEL = "";
+
+    public int sourceType = 0;
+
     @Override
     public int hashCode() {
         // Uses only name and contactUri to determine hashcode.
@@ -68,4 +73,12 @@
         if (!UriUtils.areEqual(photoUri, other.photoUri)) return false;
         return true;
     }
+
+    @Override
+    public String toString() {
+        return Objects.toStringHelper(this).add("lookupUri", lookupUri).add("name", name).add(
+                "type", type).add("label", label).add("number", number).add("formattedNumber",
+                formattedNumber).add("normalizedNumber", normalizedNumber).add("photoId", photoId)
+                .add("photoUri", photoUri).toString();
+    }
 }
diff --git a/src/com/android/dialer/calllog/ContactInfoHelper.java b/src/com/android/dialer/calllog/ContactInfoHelper.java
index abe4a06..bcb98fd 100644
--- a/src/com/android/dialer/calllog/ContactInfoHelper.java
+++ b/src/com/android/dialer/calllog/ContactInfoHelper.java
@@ -19,12 +19,22 @@
 import android.content.Context;
 import android.database.Cursor;
 import android.net.Uri;
+import android.provider.ContactsContract;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.Contacts;
+import android.provider.ContactsContract.DisplayNameSources;
 import android.provider.ContactsContract.PhoneLookup;
 import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
 
+import com.android.contacts.common.util.Constants;
 import com.android.contacts.common.util.UriUtils;
+import com.android.dialer.service.CachedNumberLookupService;
+import com.android.dialer.service.CachedNumberLookupService.CachedContactInfo;
+import com.android.dialerbind.ObjectFactory;
+
+import org.json.JSONException;
+import org.json.JSONObject;
 
 /**
  * Utility class to look up the contact information for a given number.
@@ -33,6 +43,9 @@
     private final Context mContext;
     private final String mCurrentCountryIso;
 
+    private static final CachedNumberLookupService mCachedNumberLookupService =
+            ObjectFactory.newCachedNumberLookupService();
+
     public ContactInfoHelper(Context context, String currentCountryIso) {
         mContext = context;
         mCurrentCountryIso = currentCountryIso;
@@ -87,6 +100,7 @@
                 updatedInfo = new ContactInfo();
                 updatedInfo.number = number;
                 updatedInfo.formattedNumber = formatPhoneNumber(number, null, countryIso);
+                updatedInfo.lookupUri = createTemporaryContactUri(number);
             } else {
                 updatedInfo = info;
             }
@@ -95,6 +109,37 @@
     }
 
     /**
+     * Creates a JSON-encoded lookup uri for a unknown number without an associated contact
+     *
+     * @param number - Unknown phone number
+     * @return JSON-encoded URI that can be used to perform a lookup when clicking
+     * on the quick contact card.
+     */
+    private static Uri createTemporaryContactUri(String number) {
+        try {
+            final JSONObject contactRows = new JSONObject()
+                    .put(Phone.CONTENT_ITEM_TYPE, new JSONObject()
+                            .put(Phone.NUMBER, number)
+                                    .put(Phone.TYPE, Phone.TYPE_CUSTOM));
+
+            final String jsonString = new JSONObject()
+                    .put(Contacts.DISPLAY_NAME, number)
+                            .put(Contacts.DISPLAY_NAME_SOURCE, DisplayNameSources.PHONE)
+                            .put(Contacts.CONTENT_ITEM_TYPE, contactRows)
+                            .toString();
+
+            return Contacts.CONTENT_LOOKUP_URI.buildUpon()
+                    .appendPath(Constants.LOOKUP_URI_ENCODED)
+                    .appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY,
+                            String.valueOf(Long.MAX_VALUE))
+                    .encodedFragment(jsonString)
+                    .build();
+        } catch (JSONException e) {
+            return null;
+        }
+    }
+
+    /**
      * Looks up a contact using the given URI.
      * <p>
      * It returns null if an error occurs, {@link ContactInfo#EMPTY} if no matching contact is
@@ -183,6 +228,10 @@
         ContactInfo info = lookupContactFromUri(uri);
         if (info != null && info != ContactInfo.EMPTY) {
             info.formattedNumber = formatPhoneNumber(number, null, countryIso);
+        } else if (mCachedNumberLookupService != null) {
+            CachedContactInfo cacheInfo = mCachedNumberLookupService
+                .lookupCachedContactFromNumber(mContext, number);
+            info = cacheInfo != null ? cacheInfo.getContactInfo() : null;
         }
         return info;
     }
diff --git a/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java b/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
index 8bac657..14e1bed 100644
--- a/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
+++ b/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
@@ -118,12 +118,12 @@
             // Check if we already know the name associated with this number.
             String name = names.get(newCall.number);
             if (name == null) {
-                // Look it up in the database.
-                name = mNameLookupQuery.query(newCall.number);
+                name = mPhoneNumberHelper.getDisplayName(newCall.number,
+                        newCall.numberPresentation).toString();
                 // If we cannot lookup the contact, use the number instead.
-                if (name == null) {
-                    name = mPhoneNumberHelper.getDisplayNumber(newCall.number,
-                            newCall.numberPresentation, "").toString();
+                if (TextUtils.isEmpty(name)) {
+                    // Look it up in the database.
+                    name = mNameLookupQuery.query(newCall.number);
                     if (TextUtils.isEmpty(name)) {
                         name = newCall.number;
                     }
@@ -241,8 +241,7 @@
      */
     private static final class DefaultNewCallsQuery implements NewCallsQuery {
         private static final String[] PROJECTION = {
-            Calls._ID, Calls.NUMBER, Calls.NUMBER_PRESENTATION,
-            Calls.VOICEMAIL_URI
+            Calls._ID, Calls.NUMBER, Calls.VOICEMAIL_URI, Calls.NUMBER_PRESENTATION
         };
         private static final int ID_COLUMN_INDEX = 0;
         private static final int NUMBER_COLUMN_INDEX = 1;
diff --git a/src/com/android/dialer/calllog/IntentProvider.java b/src/com/android/dialer/calllog/IntentProvider.java
index 01ebf2f..da0c69d 100644
--- a/src/com/android/dialer/calllog/IntentProvider.java
+++ b/src/com/android/dialer/calllog/IntentProvider.java
@@ -22,6 +22,7 @@
 import android.database.Cursor;
 import android.net.Uri;
 import android.provider.CallLog.Calls;
+import android.util.Log;
 
 import com.android.contacts.common.CallUtil;
 import com.android.dialer.CallDetailActivity;
@@ -32,6 +33,9 @@
  * The intent is constructed lazily with the given information.
  */
 public abstract class IntentProvider {
+
+    private static final String TAG = IntentProvider.class.getSimpleName();
+
     public abstract Intent getIntent(Context context);
 
     public static IntentProvider getReturnCallIntentProvider(final String number) {
@@ -66,6 +70,14 @@
         return new IntentProvider() {
             @Override
             public Intent getIntent(Context context) {
+                if (cursor.isClosed()) {
+                    // There are reported instances where the cursor is already closed.
+                    // b/10937133
+                    // When causes a crash when it's accessed here.
+                    Log.e(TAG, "getCallDetailIntentProvider() cursor is already closed.");
+                    return null;
+                }
+
                 cursor.moveToPosition(position);
 
                 Intent intent = new Intent(context, CallDetailActivity.class);
diff --git a/src/com/android/dialer/calllog/PhoneNumberHelper.java b/src/com/android/dialer/calllog/PhoneNumberHelper.java
index 7d46f40..336facb 100644
--- a/src/com/android/dialer/calllog/PhoneNumberHelper.java
+++ b/src/com/android/dialer/calllog/PhoneNumberHelper.java
@@ -33,16 +33,23 @@
         mResources = resources;
     }
 
-    /** Returns true if it is possible to place a call to the given number. */
-    public static boolean canPlaceCallsTo(CharSequence number, int presentation) {
-        return presentation == Calls.PRESENTATION_ALLOWED
-            && !TextUtils.isEmpty(number);
-    }
-
-    /** Returns true if it is possible to send an SMS to the given number. */
-    public boolean canSendSmsTo(CharSequence number, int presentation) {
-        return canPlaceCallsTo(number, presentation)
-            && !isVoicemailNumber(number) && !isSipNumber(number);
+    /* package */ CharSequence getDisplayName(CharSequence number, int presentation) {
+        if (presentation == Calls.PRESENTATION_UNKNOWN) {
+            return mResources.getString(R.string.unknown);
+        }
+        if (presentation == Calls.PRESENTATION_RESTRICTED) {
+            return mResources.getString(R.string.private_num);
+        }
+        if (presentation == Calls.PRESENTATION_PAYPHONE) {
+            return mResources.getString(R.string.payphone);
+        }
+        if (new PhoneNumberUtilsWrapper().isVoicemailNumber(number)) {
+            return mResources.getString(R.string.voicemail);
+        }
+        if (PhoneNumberUtilsWrapper.isLegacyUnknownNumbers(number)) {
+            return mResources.getString(R.string.unknown);
+        }
+        return "";
     }
 
     /**
@@ -53,41 +60,21 @@
      */
     public CharSequence getDisplayNumber(CharSequence number,
             int presentation, CharSequence formattedNumber) {
-        if (presentation == Calls.PRESENTATION_UNKNOWN) {
-            return mResources.getString(R.string.unknown);
+
+        final CharSequence displayName = getDisplayName(number, presentation);
+
+        if (!TextUtils.isEmpty(displayName)) {
+            return displayName;
         }
-        if (presentation == Calls.PRESENTATION_RESTRICTED) {
-            return mResources.getString(R.string.private_num);
-        }
-        if (presentation == Calls.PRESENTATION_PAYPHONE) {
-            return mResources.getString(R.string.payphone);
-        }
+
         if (TextUtils.isEmpty(number)) {
             return "";
         }
-        if (isVoicemailNumber(number)) {
-            return mResources.getString(R.string.voicemail);
-        }
+
         if (TextUtils.isEmpty(formattedNumber)) {
             return number;
         } else {
             return formattedNumber;
         }
     }
-
-    /**
-     * Returns true if the given number is the number of the configured voicemail.
-     * To be able to mock-out this, it is not a static method.
-     */
-    public boolean isVoicemailNumber(CharSequence number) {
-        return PhoneNumberUtils.isVoiceMailNumber(number.toString());
-    }
-
-    /**
-     * Returns true if the given number is a SIP address.
-     * To be able to mock-out this, it is not a static method.
-     */
-    public boolean isSipNumber(CharSequence number) {
-        return PhoneNumberUtils.isUriNumber(number.toString());
-    }
 }
diff --git a/src/com/android/dialer/calllog/PhoneNumberUtilsWrapper.java b/src/com/android/dialer/calllog/PhoneNumberUtilsWrapper.java
new file mode 100644
index 0000000..9913c20
--- /dev/null
+++ b/src/com/android/dialer/calllog/PhoneNumberUtilsWrapper.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.dialer.calllog;
+
+import android.provider.CallLog;
+import android.telephony.PhoneNumberUtils;
+import android.text.TextUtils;
+
+import com.google.android.collect.Sets;
+
+import java.util.Set;
+
+/**
+ *
+ */
+public class PhoneNumberUtilsWrapper {
+
+    private static final Set<String> LEGACY_UNKNOWN_NUMBERS = Sets.newHashSet("-1", "-2", "-3");
+
+    /** Returns true if it is possible to place a call to the given number. */
+    public static boolean canPlaceCallsTo(CharSequence number, int presentation) {
+        return presentation == CallLog.Calls.PRESENTATION_ALLOWED
+            && !TextUtils.isEmpty(number) && !isLegacyUnknownNumbers(number);
+    }
+
+    /**
+     * Returns true if it is possible to send an SMS to the given number.
+     */
+    public boolean canSendSmsTo(CharSequence number, int presentation) {
+        return canPlaceCallsTo(number, presentation) && !isVoicemailNumber(number) && !isSipNumber(
+                number);
+    }
+
+    /**
+     * Returns true if the given number is the number of the configured voicemail. To be able to
+     * mock-out this, it is not a static method.
+     */
+    public boolean isVoicemailNumber(CharSequence number) {
+        return PhoneNumberUtils.isVoiceMailNumber(number.toString());
+    }
+
+    /**
+     * Returns true if the given number is a SIP address. To be able to mock-out this, it is not a
+     * static method.
+     */
+    public boolean isSipNumber(CharSequence number) {
+        return PhoneNumberUtils.isUriNumber(number.toString());
+    }
+
+    public static boolean isUnknownNumberThatCanBeLookedUp(CharSequence number, int presentation) {
+        if (presentation == CallLog.Calls.PRESENTATION_UNKNOWN) {
+            return false;
+        }
+        if (presentation == CallLog.Calls.PRESENTATION_RESTRICTED) {
+            return false;
+        }
+        if (presentation == CallLog.Calls.PRESENTATION_PAYPHONE) {
+            return false;
+        }
+        if (TextUtils.isEmpty(number)) {
+            return false;
+        }
+        if (new PhoneNumberUtilsWrapper().isVoicemailNumber(number)) {
+            return false;
+        }
+        if (isLegacyUnknownNumbers(number.toString())) {
+            return false;
+        }
+        return true;
+    }
+
+    public static boolean isLegacyUnknownNumbers(CharSequence number) {
+        return LEGACY_UNKNOWN_NUMBERS.contains(number.toString());
+    }
+}
diff --git a/src/com/android/dialer/database/DialerDatabaseHelper.java b/src/com/android/dialer/database/DialerDatabaseHelper.java
index a802825..b9e4b9a 100644
--- a/src/com/android/dialer/database/DialerDatabaseHelper.java
+++ b/src/com/android/dialer/database/DialerDatabaseHelper.java
@@ -16,11 +16,13 @@
 
 package com.android.dialer.database;
 
+import android.content.ContentValues;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.database.Cursor;
 import android.database.DatabaseUtils;
 import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteException;
 import android.database.sqlite.SQLiteOpenHelper;
 import android.database.sqlite.SQLiteStatement;
 import android.net.Uri;
@@ -31,9 +33,11 @@
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.Directory;
+import android.text.TextUtils;
 import android.util.Log;
 
 import com.android.contacts.common.util.StopWatch;
+import com.android.dialer.R;
 import com.android.dialer.dialpad.SmartDialNameMatcher;
 import com.android.dialer.dialpad.SmartDialPrefix;
 
@@ -68,14 +72,15 @@
      *   0-98   KeyLimePie
      * </pre>
      */
-    private static final int DATABASE_VERSION = 2;
-    private static final String SMARTDIAL_DATABASE_NAME = "dialer.db";
+    public static final int DATABASE_VERSION = 4;
+    public static final String DATABASE_NAME = "dialer.db";
 
     /**
      * Saves the last update time of smart dial databases to shared preferences.
      */
-    private static final String DATABASE_LAST_CREATED_SHARED_PREF = "com.android.dialer_smartdial";
+    private static final String DATABASE_LAST_CREATED_SHARED_PREF = "com.android.dialer";
     private static final String LAST_UPDATED_MILLIS = "last_updated_millis";
+    private static final String DATABASE_VERSION_PROPERTY = "database_version";
 
     private static final int MAX_ENTRIES = 20;
 
@@ -84,6 +89,8 @@
         static final String SMARTDIAL_TABLE = "smartdial_table";
         /** Saves all possible prefixes to refer to a contacts.*/
         static final String PREFIX_TABLE = "prefix_table";
+        /** Database properties for internal use */
+        static final String PROPERTIES = "properties";
     }
 
     public interface SmartDialDbColumns {
@@ -108,6 +115,11 @@
         static final String CONTACT_ID = "contact_id";
     }
 
+    public interface PropertiesColumns {
+        String PROPERTY_KEY = "property_key";
+        String PROPERTY_VALUE = "property_value";
+    }
+
     /** Query options for querying the contact database.*/
     public static interface PhoneQuery {
        static final Uri URI = Phone.CONTENT_URI.buildUpon().
@@ -293,7 +305,11 @@
             Log.v(TAG, "Getting Instance");
         }
         if (sSingleton == null) {
-            sSingleton = new DialerDatabaseHelper(context, SMARTDIAL_DATABASE_NAME);
+            // Use application context instead of activity context because this is a singleton,
+            // and we don't want to leak the activity if the activity is not running but the
+            // dialer database helper is still doing work.
+            sSingleton = new DialerDatabaseHelper(context.getApplicationContext(),
+                    DATABASE_NAME);
         }
         return sSingleton;
     }
@@ -307,7 +323,11 @@
     }
 
     protected DialerDatabaseHelper(Context context, String databaseName) {
-        super(context, databaseName, null, DATABASE_VERSION);
+        this(context, databaseName, DATABASE_VERSION);
+    }
+
+    protected DialerDatabaseHelper(Context context, String databaseName, int dbVersion) {
+        super(context, databaseName, null, dbVersion);
         mContext = Preconditions.checkNotNull(context, "Context must not be null");
     }
 
@@ -318,6 +338,11 @@
      */
     @Override
     public void onCreate(SQLiteDatabase db) {
+        setupTables(db);
+    }
+
+    private void setupTables(SQLiteDatabase db) {
+        dropTables(db);
         db.execSQL("CREATE TABLE " + Tables.SMARTDIAL_TABLE + " (" +
                 SmartDialDbColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
                 SmartDialDbColumns.DATA_ID + " INTEGER, " +
@@ -340,28 +365,111 @@
                 PrefixColumns.PREFIX + " TEXT COLLATE NOCASE, " +
                 PrefixColumns.CONTACT_ID + " INTEGER" +
                 ");");
+
+        db.execSQL("CREATE TABLE " + Tables.PROPERTIES + " (" +
+                PropertiesColumns.PROPERTY_KEY + " TEXT PRIMARY KEY, " +
+                PropertiesColumns.PROPERTY_VALUE + " TEXT " +
+                ");");
+
+        setProperty(db, DATABASE_VERSION_PROPERTY, String.valueOf(DATABASE_VERSION));
+        resetSmartDialLastUpdatedTime();
+    }
+
+    public void dropTables(SQLiteDatabase db) {
+        db.execSQL("DROP TABLE IF EXISTS " + Tables.PREFIX_TABLE);
+        db.execSQL("DROP TABLE IF EXISTS " + Tables.SMARTDIAL_TABLE);
+        db.execSQL("DROP TABLE IF EXISTS " + Tables.PROPERTIES);
     }
 
     @Override
-    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
-        Log.w(TAG, oldVersion + " to " + newVersion + ", rebuilding table");
+    public void onUpgrade(SQLiteDatabase db, int oldNumber, int newNumber) {
+        // Disregard the old version and new versions provided by SQLiteOpenHelper, we will read
+        // our own from the database.
 
+        int oldVersion;
+
+        oldVersion = getPropertyAsInt(db, DATABASE_VERSION_PROPERTY, 0);
+
+        if (oldVersion == 0) {
+            Log.e(TAG, "Malformed database version..recreating database");
+        }
+
+        if (oldVersion < 4) {
+            setupTables(db);
+            return;
+        }
+
+        if (oldVersion != DATABASE_VERSION) {
+            throw new IllegalStateException(
+                    "error upgrading the database to version " + DATABASE_VERSION);
+        }
+
+        setProperty(db, DATABASE_VERSION_PROPERTY, String.valueOf(DATABASE_VERSION));
+    }
+
+    /**
+     * Stores a key-value pair in the {@link Tables#PROPERTIES} table.
+     */
+    public void setProperty(String key, String value) {
+        setProperty(getWritableDatabase(), key, value);
+    }
+
+    public void setProperty(SQLiteDatabase db, String key, String value) {
+        final ContentValues values = new ContentValues();
+        values.put(PropertiesColumns.PROPERTY_KEY, key);
+        values.put(PropertiesColumns.PROPERTY_VALUE, value);
+        db.replace(Tables.PROPERTIES, null, values);
+    }
+
+    /**
+     * Returns the value from the {@link Tables#PROPERTIES} table.
+     */
+    public String getProperty(String key, String defaultValue) {
+        return getProperty(getReadableDatabase(), key, defaultValue);
+    }
+
+    public String getProperty(SQLiteDatabase db, String key, String defaultValue) {
+        try {
+            final Cursor cursor = db.query(Tables.PROPERTIES,
+                    new String[] {PropertiesColumns.PROPERTY_VALUE},
+                            PropertiesColumns.PROPERTY_KEY + "=?",
+                    new String[] {key}, null, null, null);
+            String value = null;
+            try {
+                if (cursor.moveToFirst()) {
+                    value = cursor.getString(0);
+                }
+            } finally {
+                cursor.close();
+            }
+            return value != null ? value : defaultValue;
+        } catch (SQLiteException e) {
+            return defaultValue;
+        }
+    }
+
+    public int getPropertyAsInt(SQLiteDatabase db, String key, int defaultValue) {
+        final String stored = getProperty(db, key, "");
+        try {
+            return Integer.parseInt(stored);
+        } catch (NumberFormatException e) {
+            return defaultValue;
+        }
+    }
+
+    private void resetSmartDialLastUpdatedTime() {
         final SharedPreferences databaseLastUpdateSharedPref = mContext.getSharedPreferences(
                 DATABASE_LAST_CREATED_SHARED_PREF, Context.MODE_PRIVATE);
         final SharedPreferences.Editor editor = databaseLastUpdateSharedPref.edit();
         editor.putLong(LAST_UPDATED_MILLIS, 0);
         editor.commit();
-
-        db.execSQL("DROP TABLE IF EXISTS " + Tables.PREFIX_TABLE);
-        db.execSQL("DROP TABLE IF EXISTS " + Tables.SMARTDIAL_TABLE);
-        onCreate(db);
     }
 
     /**
      * Starts the database upgrade process in the background.
      */
     public void startSmartDialUpdateThread() {
-       new SmartDialUpdateAsyncTask().execute();
+        new SmartDialUpdateAsyncTask().execute();
     }
 
     private class SmartDialUpdateAsyncTask extends AsyncTask {
@@ -524,7 +632,13 @@
                 insert.bindString(2, updatedContactCursor.getString(PhoneQuery.PHONE_NUMBER));
                 insert.bindLong(3, updatedContactCursor.getLong(PhoneQuery.PHONE_CONTACT_ID));
                 insert.bindString(4, updatedContactCursor.getString(PhoneQuery.PHONE_LOOKUP_KEY));
-                insert.bindString(5, updatedContactCursor.getString(PhoneQuery.PHONE_DISPLAY_NAME));
+                final String displayName = updatedContactCursor.getString(
+                        PhoneQuery.PHONE_DISPLAY_NAME);
+                if (displayName == null) {
+                    insert.bindString(5, mContext.getResources().getString(R.string.missing_name));
+                } else {
+                    insert.bindString(5, displayName);
+                }
                 insert.bindLong(6, updatedContactCursor.getLong(PhoneQuery.PHONE_PHOTO_ID));
                 insert.bindLong(7, updatedContactCursor.getLong(PhoneQuery.PHONE_LAST_TIME_USED));
                 insert.bindLong(8, updatedContactCursor.getInt(PhoneQuery.PHONE_TIMES_USED));
diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java
index 3052c67..00b8281 100644
--- a/src/com/android/dialer/dialpad/DialpadFragment.java
+++ b/src/com/android/dialer/dialpad/DialpadFragment.java
@@ -36,10 +36,11 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemProperties;
-import android.provider.Contacts.Intents.Insert;
+import android.provider.ContactsContract.Contacts;
 import android.provider.Contacts.People;
 import android.provider.Contacts.Phones;
 import android.provider.Contacts.PhonesColumns;
+import android.provider.ContactsContract.Intents;
 import android.provider.Settings;
 import android.telephony.PhoneNumberUtils;
 import android.telephony.PhoneStateListener;
@@ -52,11 +53,13 @@
 import android.util.AttributeSet;
 import android.util.DisplayMetrics;
 import android.util.Log;
+import android.util.TypedValue;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewConfiguration;
 import android.view.ViewGroup;
@@ -90,6 +93,8 @@
 import com.android.phone.common.HapticFeedback;
 import com.google.common.annotations.VisibleForTesting;
 
+import java.util.HashSet;
+
 /**
  * Fragment that displays a twelve-key phone dialpad.
  */
@@ -136,6 +141,30 @@
         }
     }
 
+    /**
+     * LinearLayout that always returns true for onHoverEvent callbacks, to fix
+     * problems with accessibility due to the dialpad overlaying other fragments.
+     */
+    public static class HoverIgnoringLinearLayout extends LinearLayout {
+
+        public HoverIgnoringLinearLayout(Context context) {
+            super(context);
+        }
+
+        public HoverIgnoringLinearLayout(Context context, AttributeSet attrs) {
+            super(context, attrs);
+        }
+
+        public HoverIgnoringLinearLayout(Context context, AttributeSet attrs, int defStyle) {
+            super(context, attrs, defStyle);
+        }
+
+        @Override
+        public boolean onHoverEvent(MotionEvent event) {
+            return true;
+        }
+    }
+
     public interface OnDialpadQueryChangedListener {
         void onDialpadQueryChanged(String query);
     }
@@ -177,21 +206,18 @@
     private ToneGenerator mToneGenerator;
     private final Object mToneGeneratorLock = new Object();
     private View mDialpad;
+    private View mSpacer;
+
     /**
-     * Remembers the number of dialpad buttons which are pressed at this moment.
-     * If it becomes 0, meaning no buttons are pressed, we'll call
-     * {@link ToneGenerator#stopTone()}; the method shouldn't be called unless the last key is
-     * released.
+     * Set of dialpad keys that are currently being pressed
      */
-    private int mDialpadPressCount;
+    private final HashSet<View> mPressedDialpadKeys = new HashSet<View>(12);
 
     private View mDialButtonContainer;
     private View mDialButton;
     private ListView mDialpadChooser;
     private DialpadChooserAdapter mDialpadChooserAdapter;
 
-    private DialerDatabaseHelper mDialerDatabaseHelper;
-
     /**
      * Regular expression prohibiting manual phone call. Can be empty, which means "no rule".
      */
@@ -262,6 +288,7 @@
 
     private boolean mStartedFromNewIntent = false;
     private boolean mFirstLaunch = false;
+    private boolean mAdjustTranslationForAnimation = false;
 
     private static final String PREF_DIGITS_FILLED_BY_INTENT = "pref_digits_filled_by_intent";
 
@@ -326,9 +353,6 @@
         mContactsPrefs = new ContactsPreferences(getActivity());
         mCurrentCountryIso = GeoUtil.getCurrentCountryIso(getActivity());
 
-        mDialerDatabaseHelper = DialerDatabaseHelper.getInstance(getActivity());
-        SmartDialPrefix.initializeNanpSettings(getActivity());
-
         try {
             mHaptic.init(getActivity(),
                          getResources().getBoolean(R.bool.config_enable_dialer_key_vibration));
@@ -350,15 +374,17 @@
                 false);
         fragmentView.buildLayer();
 
-        // TODO krelease: Get rid of this ugly hack which is to prevent the first frame of the
-        // animation from drawing the fragment at translationY = 0
         final ViewTreeObserver vto = fragmentView.getViewTreeObserver();
+        // Adjust the translation of the DialpadFragment in a preDrawListener instead of in
+        // DialtactsActivity, because at the point in time when the DialpadFragment is added,
+        // its views have not been laid out yet.
         final OnPreDrawListener preDrawListener = new OnPreDrawListener() {
 
             @Override
             public boolean onPreDraw() {
+
                 if (isHidden()) return true;
-                if (fragmentView.getTranslationY() == 0) {
+                if (mAdjustTranslationForAnimation && fragmentView.getTranslationY() == 0) {
                     ((DialpadSlidingLinearLayout) fragmentView).setYFraction(
                             DIALPAD_SLIDE_FRACTION);
                 }
@@ -374,6 +400,7 @@
         // Load up the resources for the text field.
         Resources r = getResources();
 
+        mDialButtonContainer = fragmentView.findViewById(R.id.dialButtonContainer);
         mDigitsContainer = fragmentView.findViewById(R.id.digits_container);
         mDigits = (EditText) fragmentView.findViewById(R.id.digits);
         mDigits.setKeyListener(UnicodeDialerKeyListener.INSTANCE);
@@ -403,6 +430,18 @@
             mDelete.setOnLongClickListener(this);
         }
 
+        mSpacer = fragmentView.findViewById(R.id.spacer);
+        mSpacer.setOnTouchListener(new View.OnTouchListener() {
+            @Override
+            public boolean onTouch(View v, MotionEvent event) {
+                if (isDigitsEmpty()) {
+                    hideAndClearDialpad();
+                    return true;
+                }
+                return false;
+            }
+        });
+
         mDialpad = fragmentView.findViewById(R.id.dialpad);  // This is null in landscape mode.
 
         // In landscape we put the keyboard in phone mode.
@@ -601,10 +640,12 @@
                 R.string.dialpad_8_letters, R.string.dialpad_9_letters,
                 R.string.dialpad_star_letters, R.string.dialpad_pound_letters};
 
+        final Resources resources = getResources();
+
         DialpadKeyButton dialpadKey;
         TextView numberView;
         TextView lettersView;
-        final Resources resources = getResources();
+
         for (int i = 0; i < buttonIds.length; i++) {
             dialpadKey = (DialpadKeyButton) fragmentView.findViewById(buttonIds[i]);
             dialpadKey.setLayoutParams(new TableRow.LayoutParams(
@@ -612,9 +653,15 @@
             dialpadKey.setOnPressedListener(this);
             numberView = (TextView) dialpadKey.findViewById(R.id.dialpad_key_number);
             lettersView = (TextView) dialpadKey.findViewById(R.id.dialpad_key_letters);
-            numberView.setText(resources.getString(numberIds[i]));
+            final String numberString = resources.getString(numberIds[i]);
+            numberView.setText(numberString);
+            dialpadKey.setContentDescription(numberString);
             if (lettersView != null) {
                 lettersView.setText(resources.getString(letterIds[i]));
+                if (buttonIds[i] == R.id.zero) {
+                    lettersView.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(
+                            R.dimen.dialpad_key_plus_size));
+                }
             }
         }
 
@@ -667,12 +714,8 @@
             }
         }
         stopWatch.lap("tg");
-        // Prevent unnecessary confusion. Reset the press count anyway.
-        mDialpadPressCount = 0;
 
-        // Initialize smart dialing state. This has to be done before anything is filled in before
-        // the dialpad edittext to prevent entries from being loaded from a null cache.
-        initializeSmartDialingState();
+        mPressedDialpadKeys.clear();
 
         configureScreenFromIntent(getActivity());
 
@@ -728,8 +771,7 @@
 
         // Make sure we don't leave this activity with a tone still playing.
         stopTone();
-        // Just in case reset the counter too.
-        mDialpadPressCount = 0;
+        mPressedDialpadKeys.clear();
 
         synchronized (mToneGeneratorLock) {
             if (mToneGenerator != null) {
@@ -750,7 +792,7 @@
 
         if (mClearDigitsOnStop) {
             mClearDigitsOnStop = false;
-            mDigits.getText().clear();
+            clearDialpad();
         }
     }
 
@@ -771,19 +813,15 @@
         } else {
             final CharSequence digits = mDigits.getText();
             // Put the current digits string into an intent
-            addToContactMenuItem.setIntent(getAddToContactIntent(digits));
+            addToContactMenuItem.setIntent(DialtactsActivity.getAddNumberToContactIntent(digits));
             addToContactMenuItem.setVisible(true);
         }
     }
 
-    private static Intent getAddToContactIntent(CharSequence digits) {
-        final Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);
-        intent.putExtra(Insert.PHONE, digits);
-        intent.setType(People.CONTENT_ITEM_TYPE);
-        return intent;
-    }
-
     private void keyPressed(int keyCode) {
+        if (getView().getTranslationY() != 0) {
+            return;
+        }
         switch (keyCode) {
             case KeyEvent.KEYCODE_1:
                 playTone(ToneGenerator.TONE_DTMF_1, TONE_LENGTH_INFINITE);
@@ -913,20 +951,11 @@
                     break;
                 }
             }
-            mDialpadPressCount++;
+            mPressedDialpadKeys.add(view);
         } else {
             view.jumpDrawablesToCurrentState();
-            mDialpadPressCount--;
-            if (mDialpadPressCount < 0) {
-                // e.g.
-                // - when the user action is detected as horizontal swipe, at which only
-                //   "up" event is thrown.
-                // - when the user long-press '0' button, at which dialpad will decrease this count
-                //   while it still gets press-up event here.
-                if (DEBUG) Log.d(TAG, "mKeyPressCount become negative.");
-                stopTone();
-                mDialpadPressCount = 0;
-            } else if (mDialpadPressCount == 0) {
+            mPressedDialpadKeys.remove(view);
+            if (mPressedDialpadKeys.isEmpty()) {
                 stopTone();
             }
         }
@@ -1014,12 +1043,9 @@
                 removePreviousDigitIfPossible();
                 keyPressed(KeyEvent.KEYCODE_PLUS);
 
-                // Stop tone immediately and decrease the press count, so that possible subsequent
-                // dial button presses won't honor the 0 click any more.
-                // Note: this *will* make mDialpadPressCount negative when the 0 key is released,
-                // which should be handled appropriately.
+                // Stop tone immediately
                 stopTone();
-                if (mDialpadPressCount > 0) mDialpadPressCount--;
+                mPressedDialpadKeys.remove(view);
 
                 return true;
             }
@@ -1059,8 +1085,11 @@
 
     public void callVoicemail() {
         startActivity(getVoicemailIntent());
-        mClearDigitsOnStop = true;
-        getActivity().finish();
+        hideAndClearDialpad();
+    }
+
+    private void hideAndClearDialpad() {
+        ((DialtactsActivity) getActivity()).hideDialpadFragment(false, true);
     }
 
     public static class ErrorDialogFragment extends DialogFragment {
@@ -1156,12 +1185,15 @@
                         (getActivity() instanceof DialtactsActivity ?
                                 ((DialtactsActivity) getActivity()).getCallOrigin() : null));
                 startActivity(intent);
-                mClearDigitsOnStop = true;
-                getActivity().finish();
+                hideAndClearDialpad();
             }
         }
     }
 
+    public void clearDialpad() {
+        mDigits.getText().clear();
+    }
+
     private String getCallOrigin() {
         return (getActivity() instanceof DialtactsActivity) ?
                 ((DialtactsActivity) getActivity()).getCallOrigin() : null;
@@ -1660,6 +1692,10 @@
                             // TODO: Filter out emergency numbers if
                             // the carrier does not want redial for
                             // these.
+                            // If the fragment has already been detached since the last time
+                            // we called queryLastOutgoingCall in onResume there is no point
+                            // doing anything here.
+                            if (getActivity() == null) return;
                             mLastNumberDialed = number;
                             updateDialAndDeleteButtonEnabledState();
                         }
@@ -1673,13 +1709,6 @@
         return intent;
     }
 
-    private void initializeSmartDialingState() {
-        // Handle smart dialing related state
-        // TODO krelease: This should probably be moved to somewhere more appropriate, maybe
-        // into DialtactsActivity
-        mDialerDatabaseHelper.startSmartDialUpdateThread();
-    }
-
     @Override
     public void onHiddenChanged(boolean hidden) {
         super.onHiddenChanged(hidden);
@@ -1689,6 +1718,15 @@
             activity.showSearchBar();
         } else {
             activity.hideSearchBar();
+            mDigits.requestFocus();
         }
     }
+
+    public void setAdjustTranslationForAnimation(boolean value) {
+        mAdjustTranslationForAnimation = value;
+    }
+
+    public void setYFraction(float yFraction) {
+        ((DialpadSlidingLinearLayout) getView()).setYFraction(yFraction);
+    }
 }
diff --git a/src/com/android/dialer/dialpad/DialpadKeyButton.java b/src/com/android/dialer/dialpad/DialpadKeyButton.java
index 9aae631..9a20993 100644
--- a/src/com/android/dialer/dialpad/DialpadKeyButton.java
+++ b/src/com/android/dialer/dialpad/DialpadKeyButton.java
@@ -25,7 +25,7 @@
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityManager;
 import android.view.accessibility.AccessibilityNodeInfo;
-import android.widget.RelativeLayout;
+import android.widget.FrameLayout;
 
 /**
  * Custom class for dialpad buttons.
@@ -33,7 +33,7 @@
  * This class implements lift-to-type interaction when touch exploration is
  * enabled.
  */
-public class DialpadKeyButton extends RelativeLayout {
+public class DialpadKeyButton extends FrameLayout {
     /** Accessibility manager instance used to check touch exploration state. */
     private AccessibilityManager mAccessibilityManager;
 
diff --git a/src/com/android/dialer/dialpad/SmartDialCursorLoader.java b/src/com/android/dialer/dialpad/SmartDialCursorLoader.java
index ee4a7a1..3690796 100644
--- a/src/com/android/dialer/dialpad/SmartDialCursorLoader.java
+++ b/src/com/android/dialer/dialpad/SmartDialCursorLoader.java
@@ -27,6 +27,7 @@
 import com.android.contacts.common.list.PhoneNumberListAdapter.PhoneQuery;
 import com.android.dialer.database.DialerDatabaseHelper;
 import com.android.dialer.database.DialerDatabaseHelper.ContactNumber;
+import com.android.dialerbind.DatabaseHelperManager;
 
 import java.util.ArrayList;
 
@@ -58,11 +59,10 @@
         if (DEBUG) {
             Log.v(TAG, "Configure new query to be " + query);
         }
-        mQuery = query;
+        mQuery = SmartDialNameMatcher.normalizeNumber(query, SmartDialPrefix.getMap());
 
         /** Constructs a name matcher object for matching names. */
-        mNameMatcher = new SmartDialNameMatcher(PhoneNumberUtils.normalizeNumber(query),
-            SmartDialPrefix.getMap());
+        mNameMatcher = new SmartDialNameMatcher(mQuery, SmartDialPrefix.getMap());
     }
 
     /**
@@ -76,7 +76,8 @@
         }
 
         /** Loads results from the database helper. */
-        DialerDatabaseHelper dialerDatabaseHelper = DialerDatabaseHelper.getInstance(mContext);
+        final DialerDatabaseHelper dialerDatabaseHelper = DatabaseHelperManager.getDatabaseHelper(
+                mContext);
         final ArrayList<ContactNumber> allMatches = dialerDatabaseHelper.getLooseMatches(mQuery,
                 mNameMatcher);
 
@@ -161,6 +162,8 @@
     }
 
     private void releaseResources(Cursor cursor) {
-        cursor.close();
+        if (cursor != null) {
+            cursor.close();
+        }
     }
 }
diff --git a/src/com/android/dialer/interactions/PhoneNumberInteraction.java b/src/com/android/dialer/interactions/PhoneNumberInteraction.java
index 8c64c5f..722b9b3 100644
--- a/src/com/android/dialer/interactions/PhoneNumberInteraction.java
+++ b/src/com/android/dialer/interactions/PhoneNumberInteraction.java
@@ -309,15 +309,6 @@
     }
 
     private void performAction(String phoneNumber) {
-        if (mInteractionType == ContactDisplayUtils.INTERACTION_CALL && mContactId !=
-                UNKNOWN_CONTACT_ID) {
-            // Since we are making an outgoing call to this contact, undemote it here.
-            // If the contact is not demoted, this will not do anything.
-            final ContentValues cv = new ContentValues(1);
-            cv.put(String.valueOf(mContactId), PinnedPositions.UNDEMOTE);
-            mContext.getContentResolver().update(PinnedPositions.UPDATE_URI, cv, null, null);
-        }
-
         PhoneNumberInteraction.performAction(mContext, phoneNumber, mInteractionType, mCallOrigin);
     }
 
diff --git a/src/com/android/dialer/interactions/UndemoteOutgoingCallReceiver.java b/src/com/android/dialer/interactions/UndemoteOutgoingCallReceiver.java
new file mode 100644
index 0000000..30d01d2
--- /dev/null
+++ b/src/com/android/dialer/interactions/UndemoteOutgoingCallReceiver.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.dialer.interactions;
+
+import android.content.BroadcastReceiver;
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.Intent;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.ContactsContract.PhoneLookup;
+import android.provider.ContactsContract.PinnedPositions;
+import android.text.TextUtils;
+
+/**
+ * This broadcast receiver is used to listen to outgoing calls and undemote formerly demoted
+ * contacts if a phone call is made to a phone number belonging to that contact.
+ */
+public class UndemoteOutgoingCallReceiver extends BroadcastReceiver {
+
+    private static final long NO_CONTACT_FOUND = -1;
+
+    @Override
+    public void onReceive(final Context context, Intent intent) {
+        if (intent != null && Intent.ACTION_NEW_OUTGOING_CALL.equals(intent.getAction())) {
+            final String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
+            if (TextUtils.isEmpty(number)) {
+                return;
+            }
+            final long id = getContactIdFromPhoneNumber(context, number);
+            if (id != NO_CONTACT_FOUND) {
+                final Thread thread = new Thread() {
+                    @Override
+                    public void run() {
+                        undemoteContactWithId(context, id);
+                    }
+                };
+                thread.start();
+            }
+        }
+    }
+
+    private void undemoteContactWithId(Context context, long id) {
+        final ContentValues cv = new ContentValues(1);
+        cv.put(String.valueOf(id), PinnedPositions.UNDEMOTE);
+        // If the contact is not demoted, this will not do anything. Otherwise, it will
+        // restore it to an unpinned position. If it was a frequently called contact, it will
+        // show up once again show up on the favorites screen.
+        context.getContentResolver().update(PinnedPositions.UPDATE_URI, cv, null, null);
+    }
+
+    private long getContactIdFromPhoneNumber(Context context, String number) {
+        final Uri contactUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI,
+                Uri.encode(number));
+        final Cursor cursor = context.getContentResolver().query(contactUri, new String[] {
+                PhoneLookup._ID}, null, null, null);
+        try {
+            if (cursor.moveToFirst()) {
+                final long id = cursor.getLong(0);
+                return id;
+            } else {
+                return NO_CONTACT_FOUND;
+            }
+        } finally {
+            cursor.close();
+        }
+    }
+}
diff --git a/src/com/android/dialer/list/AllContactsActivity.java b/src/com/android/dialer/list/AllContactsActivity.java
new file mode 100644
index 0000000..f5d739d
--- /dev/null
+++ b/src/com/android/dialer/list/AllContactsActivity.java
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.dialer.list;
+
+import android.app.ActionBar;
+import android.app.Fragment;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.text.Spannable;
+import android.text.SpannableString;
+import android.text.style.TypefaceSpan;
+import android.util.Log;
+
+import com.android.contacts.common.CallUtil;
+import com.android.contacts.common.activity.TransactionSafeActivity;
+import com.android.contacts.common.list.OnPhoneNumberPickerActionListener;
+import com.android.dialer.DialtactsActivity;
+import com.android.dialer.R;
+import com.android.dialer.interactions.PhoneNumberInteraction;
+
+public class AllContactsActivity extends TransactionSafeActivity {
+    private static final String TAG = AllContactsActivity.class.getSimpleName();
+
+    private AllContactsFragment mAllContactsFragment;
+
+    // Same behavior as {@link DialtactsActivity}
+    private final OnPhoneNumberPickerActionListener mPhoneNumberPickerActionListener =
+            new OnPhoneNumberPickerActionListener() {
+                @Override
+                public void onPickPhoneNumberAction(Uri dataUri) {
+                    // Specify call-origin so that users will see the previous tab instead of
+                    // CallLog screen (search UI will be automatically exited).
+                    PhoneNumberInteraction.startInteractionForPhoneCall(
+                        AllContactsActivity.this, dataUri, null);
+                }
+
+                @Override
+                public void onCallNumberDirectly(String phoneNumber) {
+                final Intent intent = CallUtil.getCallIntent(phoneNumber, null);
+                    startActivity(intent);
+                }
+
+                @Override
+                public void onShortcutIntentCreated(Intent intent) {
+                    Log.w(TAG, "Unsupported intent has come (" + intent + "). Ignoring.");
+                }
+
+                @Override
+                public void onHomeInActionBarSelected() {
+                    // {@link PhoneNumberPickerFragment handles onClick on the home button
+                    // and performs the callback here. This means we don't have to handle it
+                    // ourself in the activity.
+                    final Intent intent = new Intent(AllContactsActivity.this,
+                            DialtactsActivity.class);
+                    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+                    startActivity(intent);
+                }
+    };
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        final ActionBar actionBar = getActionBar();
+        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
+        actionBar.setDisplayShowHomeEnabled(true);
+        actionBar.setDisplayHomeAsUpEnabled(true);
+        actionBar.setDisplayShowTitleEnabled(true);
+
+        setContentView(R.layout.all_contacts_activity);
+    }
+
+    @Override
+    public void onAttachFragment(Fragment fragment) {
+        if (fragment instanceof AllContactsFragment) {
+            mAllContactsFragment = (AllContactsFragment) fragment;
+            mAllContactsFragment.setOnPhoneNumberPickerActionListener(
+                    mPhoneNumberPickerActionListener);
+        }
+    }
+}
diff --git a/src/com/android/dialer/list/AllContactsFragment.java b/src/com/android/dialer/list/AllContactsFragment.java
new file mode 100644
index 0000000..40d5c14
--- /dev/null
+++ b/src/com/android/dialer/list/AllContactsFragment.java
@@ -0,0 +1,55 @@
+/*
+
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.dialer.list;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.android.contacts.common.list.ContactListItemView;
+import com.android.contacts.common.list.PhoneNumberPickerFragment;
+import com.android.dialer.R;
+
+/**
+ * Fragments to show all contacts with phone numbers.
+ */
+public class AllContactsFragment extends PhoneNumberPickerFragment{
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public void onAttach(Activity activity) {
+        super.onAttach(activity);
+
+        // Customizes the listview according to the dialer specifics.
+        setQuickContactEnabled(true);
+        setDarkTheme(false);
+        setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(true /* opposite */));
+        setUseCallableUri(true);
+    }
+
+    @Override
+    protected View inflateView(LayoutInflater inflater, ViewGroup container) {
+        return inflater.inflate(R.layout.show_all_contacts_fragment, null);
+    }
+}
diff --git a/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java b/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java
new file mode 100644
index 0000000..4f3a4da
--- /dev/null
+++ b/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java
@@ -0,0 +1,170 @@
+package com.android.dialer.list;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.telephony.PhoneNumberUtils;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.android.contacts.common.GeoUtil;
+import com.android.contacts.common.list.ContactListItemView;
+import com.android.contacts.common.list.PhoneNumberListAdapter;
+import com.android.dialer.R;
+
+/**
+ * {@link PhoneNumberListAdapter} with the following added shortcuts, that are displayed as list
+ * items:
+ * 1) Directly calling the phone number query
+ * 2) Adding the phone number query to a contact
+ *
+ * These shortcuts can be enabled or disabled to toggle whether or not they show up in the
+ * list.
+ */
+public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter {
+
+    private String mFormattedQueryString;
+    private String mCountryIso;
+
+    public final static int SHORTCUT_INVALID = -1;
+    public final static int SHORTCUT_DIRECT_CALL = 0;
+    public final static int SHORTCUT_ADD_NUMBER_TO_CONTACTS = 1;
+
+    public final static int SHORTCUT_COUNT = 2;
+
+    private final boolean[] mShortcutEnabled = new boolean[SHORTCUT_COUNT];
+
+    public DialerPhoneNumberListAdapter(Context context) {
+        super(context);
+
+        mCountryIso = GeoUtil.getCurrentCountryIso(context);
+
+        // Enable all shortcuts by default
+        for (int i = 0; i < mShortcutEnabled.length; i++) {
+            mShortcutEnabled[i] = true;
+        }
+    }
+
+    @Override
+    public int getCount() {
+        return super.getCount() + getShortcutCount();
+    }
+
+    /**
+     * @return The number of enabled shortcuts. Ranges from 0 to a maximum of SHORTCUT_COUNT
+     */
+    public int getShortcutCount() {
+        int count = 0;
+        for (int i = 0; i < mShortcutEnabled.length; i++) {
+            if (mShortcutEnabled[i]) count++;
+        }
+        return count;
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        final int shortcut = getShortcutTypeFromPosition(position);
+        if (shortcut >= 0) {
+            // shortcutPos should always range from 1 to SHORTCUT_COUNT
+            return super.getViewTypeCount() + shortcut;
+        } else {
+            return super.getItemViewType(position);
+        }
+    }
+
+    @Override
+    public int getViewTypeCount() {
+        // Number of item view types in the super implementation + 2 for the 2 new shortcuts
+        return super.getViewTypeCount() + SHORTCUT_COUNT;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        final int shortcutType = getShortcutTypeFromPosition(position);
+        if (shortcutType >= 0) {
+            if (convertView != null) {
+                assignShortcutToView((ContactListItemView) convertView, shortcutType);
+                return convertView;
+            } else {
+                final ContactListItemView v = new ContactListItemView(getContext(), null);
+                assignShortcutToView(v, shortcutType);
+                return v;
+            }
+        } else {
+            return super.getView(position, convertView, parent);
+        }
+    }
+
+    /**
+     * @param position The position of the item
+     * @return The enabled shortcut type matching the given position if the item is a
+     * shortcut, -1 otherwise
+     */
+    public int getShortcutTypeFromPosition(int position) {
+        int shortcutCount = position - super.getCount();
+        if (shortcutCount >= 0) {
+            // Iterate through the array of shortcuts, looking only for shortcuts where
+            // mShortcutEnabled[i] is true
+            for (int i = 0; shortcutCount >= 0 && i < mShortcutEnabled.length; i++) {
+                if (mShortcutEnabled[i]) {
+                    shortcutCount--;
+                    if (shortcutCount < 0) return i;
+                }
+            }
+            throw new IllegalArgumentException("Invalid position - greater than cursor count "
+                    + " but not a shortcut.");
+        }
+        return SHORTCUT_INVALID;
+    }
+
+    @Override
+    public boolean isEmpty() {
+        return getShortcutCount() == 0 && super.isEmpty();
+    }
+
+    @Override
+    public boolean isEnabled(int position) {
+        final int shortcutType = getShortcutTypeFromPosition(position);
+        if (shortcutType >= 0) {
+            return true;
+        } else {
+            return super.isEnabled(position);
+        }
+    }
+
+    private void assignShortcutToView(ContactListItemView v, int shortcutType) {
+        final CharSequence text;
+        final int drawableId;
+        final Resources resources = getContext().getResources();
+        final String number = getFormattedQueryString();
+        switch (shortcutType) {
+            case SHORTCUT_DIRECT_CALL:
+                text = resources.getString(R.string.search_shortcut_call_number, number);
+                drawableId = R.drawable.ic_phone_dk;
+                break;
+            case SHORTCUT_ADD_NUMBER_TO_CONTACTS:
+                text = resources.getString(R.string.search_shortcut_add_to_contacts);
+                drawableId = R.drawable.ic_add_person_dk;
+                break;
+            default:
+                throw new IllegalArgumentException("Invalid shortcut type");
+        }
+        v.setDrawableResource(R.drawable.list_item_avatar_bg, drawableId);
+        v.setDisplayName(text);
+        v.setPhotoPosition(super.getPhotoPosition());
+    }
+
+    public void setShortcutEnabled(int shortcutType, boolean visible) {
+        mShortcutEnabled[shortcutType] = visible;
+    }
+
+    public String getFormattedQueryString() {
+        return mFormattedQueryString;
+    }
+
+    @Override
+    public void setQueryString(String queryString) {
+        mFormattedQueryString = PhoneNumberUtils.formatNumber(
+                PhoneNumberUtils.convertAndStrip(queryString), mCountryIso);
+        super.setQueryString(queryString);
+    }
+}
diff --git a/src/com/android/dialer/list/PhoneFavoriteDragAndDropListeners.java b/src/com/android/dialer/list/PhoneFavoriteDragAndDropListeners.java
deleted file mode 100644
index ac089c7..0000000
--- a/src/com/android/dialer/list/PhoneFavoriteDragAndDropListeners.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.dialer.list;
-
-import android.content.ClipData;
-import android.graphics.Rect;
-import android.util.Log;
-import android.view.DragEvent;
-import android.view.GestureDetector.SimpleOnGestureListener;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.View.OnDragListener;
-
-import com.android.dialer.list.PhoneFavoritesTileAdapter.ContactTileRow;
-
-/**
- * Implements the OnLongClickListener and OnDragListener for phone's favorite tiles and rows.
- */
-public class PhoneFavoriteDragAndDropListeners {
-
-    private static final String TAG = PhoneFavoriteDragAndDropListeners.class.getSimpleName();
-    private static final boolean DEBUG = false;
-
-    private static final float FLING_HEIGHT_PORTION = 1.f / 4.f;
-    private static final float FLING_WIDTH_PORTION = 1.f / 6.f;
-
-    public static class PhoneFavoriteGestureListener extends SimpleOnGestureListener {
-        private static final float FLING_VELOCITY_MINIMUM = 5.0f;
-        private float mFlingHorizontalThreshold;
-        private float mFlingVerticalThreshold;
-        private final PhoneFavoriteTileView mView;
-
-        public PhoneFavoriteGestureListener(View view) {
-            super();
-            mView = (PhoneFavoriteTileView) view;
-        }
-
-        @Override
-        public void onLongPress(MotionEvent event) {
-            final ClipData data = ClipData.newPlainText("", "");
-            mView.setPressed(false);
-            if (mView instanceof PhoneFavoriteRegularRowView) {
-                // If the view is regular row, start drag the row view.
-                final View.DragShadowBuilder shadowBuilder =
-                        new View.DragShadowBuilder(mView.getParentRow());
-                mView.getParentRow().startDrag(data, shadowBuilder, null, 0);
-            } else {
-                // If the view is a tile view, start drag the tile.
-                final View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(mView);
-                mView.startDrag(data, shadowBuilder, null, 0);
-            }
-        }
-
-        @Override
-        public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
-            final float x1 = e1.getX();
-            final float x2 = e2.getX();
-            // Temporarily disables parents from getting this event so the listview does not scroll.
-            mView.getParent().requestDisallowInterceptTouchEvent(true);
-            mView.setScrollOffset(x2 - x1);
-            return true;
-        }
-
-        @Override
-        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
-            // Sets fling trigger threshold.
-            mFlingVerticalThreshold = (float) mView.getHeight() * FLING_HEIGHT_PORTION;
-            mFlingHorizontalThreshold = (float) mView.getWidth() * FLING_WIDTH_PORTION;
-            final float x1 = e1.getX();
-            final float x2 = e2.getX();
-            final float y1 = e1.getY();
-            final float y2 = e2.getY();
-
-            mView.setPressed(false);
-
-            if (Math.abs(y1 - y2) < mFlingVerticalThreshold &&
-                    Math.abs(x2 - x1) > mFlingHorizontalThreshold &&
-                    Math.abs(velocityX) > FLING_VELOCITY_MINIMUM) {
-                // If fling is triggered successfully, end the scroll and setup removal dialogue.
-                final int removeIndex = mView.getParentRow().getItemIndex(x1, y1);
-                mView.setScrollEnd(false);
-                mView.setupRemoveDialogue();
-                mView.getParentRow().getTileAdapter().setPotentialRemoveEntryIndex(removeIndex);
-
-                return true;
-            } else {
-                mView.setScrollEnd(true);
-                return false;
-            }
-        }
-
-        @Override
-        public boolean onDown(MotionEvent e) {
-            mView.setPressed(true);
-            // Signals that the view will accept further events.
-            return true;
-        }
-
-        @Override
-        public boolean onSingleTapUp(MotionEvent e) {
-            mView.performClick();
-            return true;
-        }
-    }
-
-    /**
-     * Implements the OnDragListener to handle drag events.
-     */
-    public static class PhoneFavoriteDragListener implements OnDragListener {
-        /** Location of the drag event. */
-        private float mX = 0;
-        private float mY = 0;
-        private final ContactTileRow mContactTileRow;
-        private final PhoneFavoritesTileAdapter mTileAdapter;
-
-        public PhoneFavoriteDragListener(ContactTileRow contactTileRow,
-                PhoneFavoritesTileAdapter tileAdapter) {
-            super();
-            mContactTileRow = contactTileRow;
-            mTileAdapter = tileAdapter;
-        }
-
-        @Override
-        public boolean onDrag(View v, DragEvent event) {
-            if (DEBUG) {
-                Log.v(TAG, event.toString());
-            }
-            // Handles drag events.
-            switch (event.getAction()) {
-                case DragEvent.ACTION_DRAG_STARTED:
-                    if (mTileAdapter != null && mContactTileRow != null
-                            && !mTileAdapter.getInDragging()) {
-                        // Gets the current drag location with respect to the whole Dialer view.
-                        mX = event.getX();
-                        mY = event.getY();
-                        if (DEBUG) {
-                            Log.v(TAG, String.valueOf(mX) + "; " + String.valueOf(mY));
-                        }
-
-                        final int[] rowLocation = new int[2];
-                        mContactTileRow.getLocationOnScreen(rowLocation);
-
-                        final Rect locationRect = new Rect(rowLocation[0], rowLocation[1],
-                                rowLocation[0] + mContactTileRow.getWidth(),
-                                rowLocation[1] + mContactTileRow.getHeight());
-
-                        if (locationRect.contains((int) mX, (int) mY)) {
-                            // Finds out which item is being dragged.
-                            // Computes relative coordinates as we get absolute coordinates.
-                            final int dragIndex = mContactTileRow.getItemIndex(
-                                    mX - rowLocation[0], mY - rowLocation[1]);
-                            if (DEBUG) {
-                                Log.v(TAG, "Start dragging " + String.valueOf(dragIndex));
-                            }
-                            // Indicates a drag has started.
-                            mTileAdapter.setInDragging(true);
-
-                            // Temporarily pops out the Contact entry.
-                            mTileAdapter.popContactEntry(dragIndex);
-                        }
-                    }
-                    break;
-                case DragEvent.ACTION_DRAG_ENTERED:
-                    break;
-                case DragEvent.ACTION_DRAG_EXITED:
-                    break;
-                case DragEvent.ACTION_DROP:
-                    // Gets the location of the drag with respect to the whole Dialer view.
-                    mX = event.getX() + v.getLeft();
-                    mY = event.getY() + v.getTop();
-                    if (DEBUG) {
-                        Log.v(TAG, String.valueOf(mX) + "; " + String.valueOf(mY));
-                    }
-
-                    // Indicates a drag has finished.
-                    if (mTileAdapter != null && mContactTileRow != null) {
-                        mTileAdapter.setInDragging(false);
-
-                        // Finds out at which position of the list the Contact is being dropped.
-                        final int dropIndex = mContactTileRow.getItemIndex(mX, mY);
-                        if (DEBUG) {
-                            Log.v(TAG, "Stop dragging " + String.valueOf(dropIndex));
-                        }
-
-                        // Adds the dragged contact to the drop position.
-                        mTileAdapter.dropContactEntry(dropIndex);
-                    }
-                    break;
-                case DragEvent.ACTION_DRAG_ENDED:
-                    if (mTileAdapter.getInDragging()) {
-                        // If the drag and drop ends when the drop happens outside of any rows,
-                        // we will end the drag here and put the item back to where it was dragged
-                        // from before.
-                        mTileAdapter.setInDragging(false);
-                        mTileAdapter.dropToUnsupportedView();
-                    }
-                    break;
-                case DragEvent.ACTION_DRAG_LOCATION:
-                    break;
-                default:
-                    break;
-            }
-            return true;
-        }
-    }
-}
diff --git a/src/com/android/dialer/list/PhoneFavoriteFragment.java b/src/com/android/dialer/list/PhoneFavoriteFragment.java
index 64a9b84..34666ee 100644
--- a/src/com/android/dialer/list/PhoneFavoriteFragment.java
+++ b/src/com/android/dialer/list/PhoneFavoriteFragment.java
@@ -15,38 +15,55 @@
  */
 package com.android.dialer.list;
 
+import android.animation.Animator;
+import android.animation.AnimatorSet;
+import android.animation.ArgbEvaluator;
+import android.animation.ObjectAnimator;
+import android.animation.ValueAnimator;
 import android.app.Activity;
 import android.app.Fragment;
 import android.app.LoaderManager;
+import android.content.Context;
 import android.content.CursorLoader;
 import android.content.Loader;
+import android.content.SharedPreferences;
+import android.content.res.Resources;
 import android.database.Cursor;
 import android.graphics.Rect;
 import android.net.Uri;
 import android.os.Bundle;
+import android.provider.CallLog;
 import android.util.Log;
 import android.view.LayoutInflater;
-import android.view.MotionEvent;
 import android.view.View;
+import android.view.ViewTreeObserver;
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
 import android.widget.AbsListView;
 import android.widget.AdapterView;
 import android.widget.AdapterView.OnItemClickListener;
-import android.widget.FrameLayout;
+import android.widget.ImageView;
 import android.widget.ListView;
-import android.widget.TextView;
+import android.widget.RelativeLayout;
+import android.widget.RelativeLayout.LayoutParams;
 
 import com.android.contacts.common.ContactPhotoManager;
 import com.android.contacts.common.ContactTileLoaderFactory;
 import com.android.contacts.common.GeoUtil;
+import com.android.contacts.common.list.ContactEntry;
+import com.android.contacts.common.list.ContactListItemView;
 import com.android.contacts.common.list.ContactTileView;
-import com.android.contacts.common.list.PhoneNumberListAdapter;
 import com.android.dialer.DialtactsActivity;
 import com.android.dialer.R;
+import com.android.dialer.calllog.CallLogQuery;
 import com.android.dialer.calllog.ContactInfoHelper;
 import com.android.dialer.calllog.CallLogAdapter;
 import com.android.dialer.calllog.CallLogQueryHandler;
+import com.android.dialer.list.PhoneFavoritesTileAdapter.ContactTileRow;
+import com.android.dialerbind.ObjectFactory;
+
+import java.util.ArrayList;
+import java.util.HashMap;
 
 /**
  * Fragment for Phone UI's favorite screen.
@@ -57,17 +74,34 @@
  * A contact filter header is also inserted between those adapters' results.
  */
 public class PhoneFavoriteFragment extends Fragment implements OnItemClickListener,
-        CallLogQueryHandler.Listener, CallLogAdapter.CallFetcher {
+        CallLogQueryHandler.Listener, CallLogAdapter.CallFetcher,
+        PhoneFavoritesTileAdapter.OnDataSetChangedForAnimationListener {
+
+    /**
+     * By default, the animation code assumes that all items in a list view are of the same height
+     * when animating new list items into view (e.g. from the bottom of the screen into view).
+     * This can cause incorrect translation offsets when a item that is larger or smaller than
+     * other list item is removed from the list. This key is used to provide the actual height
+     * of the removed object so that the actual translation appears correct to the user.
+     */
+    private static final long KEY_REMOVED_ITEM_HEIGHT = Long.MAX_VALUE;
+
     private static final String TAG = PhoneFavoriteFragment.class.getSimpleName();
     private static final boolean DEBUG = false;
 
+    private int mAnimationDuration;
+
     /**
      * Used with LoaderManager.
      */
     private static int LOADER_ID_CONTACT_TILE = 1;
+    private static int MISSED_CALL_LOADER = 2;
 
-    public interface OnPhoneFavoriteFragmentStartedListener {
-        public void onPhoneFavoriteFragmentStarted();
+    private static final String KEY_LAST_DISMISSED_CALL_SHORTCUT_DATE =
+            "key_last_dismissed_call_shortcut_date";
+
+    public interface OnShowAllContactsListener {
+        public void onShowAllContacts();
     }
 
     public interface Listener {
@@ -75,6 +109,27 @@
         public void onCallNumberDirectly(String phoneNumber);
     }
 
+    private class MissedCallLogLoaderListener implements LoaderManager.LoaderCallbacks<Cursor> {
+
+        @Override
+        public Loader<Cursor> onCreateLoader(int id, Bundle args) {
+            final Uri uri = CallLog.Calls.CONTENT_URI;
+            final String[] projection = new String[] {CallLog.Calls.TYPE};
+            final String selection = CallLog.Calls.TYPE + " = " + CallLog.Calls.MISSED_TYPE +
+                    " AND " + CallLog.Calls.IS_READ + " = 0";
+            return new CursorLoader(getActivity(), uri, projection, selection, null, null);
+        }
+
+        @Override
+        public void onLoadFinished(Loader<Cursor> cursorLoader, Cursor data) {
+            mCallLogAdapter.setMissedCalls(data);
+        }
+
+        @Override
+        public void onLoaderReset(Loader<Cursor> cursorLoader) {
+        }
+    }
+
     private class ContactTileLoaderListener implements LoaderManager.LoaderCallbacks<Cursor> {
         @Override
         public CursorLoader onCreateLoader(int id, Bundle args) {
@@ -86,9 +141,7 @@
         public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
             if (DEBUG) Log.d(TAG, "ContactTileLoaderListener#onLoadFinished");
             mContactTileAdapter.setContactCursor(data);
-
-            // Show the filter header with "loading" state.
-            mAccountFilterHeader.setVisibility(View.VISIBLE);
+            setEmptyViewVisibility(mContactTileAdapter.getCount() == 0);
         }
 
         @Override
@@ -133,27 +186,41 @@
     private Listener mListener;
 
     private OnListFragmentScrolledListener mActivityScrollListener;
+    private OnShowAllContactsListener mShowAllContactsListener;
     private PhoneFavoriteMergedAdapter mAdapter;
     private PhoneFavoritesTileAdapter mContactTileAdapter;
-    private PhoneNumberListAdapter mAllContactsAdapter;
 
     private CallLogAdapter mCallLogAdapter;
     private CallLogQueryHandler mCallLogQueryHandler;
 
-    private TextView mEmptyView;
-    private ListView mListView;
+    private View mParentView;
+
+    private PhoneFavoriteListView mListView;
+
     private View mShowAllContactsButton;
-    /**
-     * Layout containing {@link #mAccountFilterHeader}. Used to limit area being "pressed".
-     */
-    private FrameLayout mAccountFilterHeaderContainer;
-    private View mAccountFilterHeader;
+    private View mShowAllContactsInEmptyViewButton;
+    private View mContactTileFrame;
+
+    private TileInteractionTeaserView mTileInteractionTeaserView;
+
+    private final HashMap<Long, Integer> mItemIdTopMap = new HashMap<Long, Integer>();
+    private final HashMap<Long, Integer> mItemIdLeftMap = new HashMap<Long, Integer>();
 
     /**
-     * Layout used when contacts load is slower than expected and thus "loading" view should be
-     * shown.
+     * Layout used when there are no favorites.
      */
-    private View mLoadingView;
+    private View mEmptyView;
+
+    /**
+     * Call shortcuts older than this date (persisted in shared preferences) will not show up in
+     * at the top of the screen
+     */
+    private long mLastCallShortcutDate = 0;
+
+    /**
+     * The date of the current call shortcut that is showing on screen.
+     */
+    private long mCurrentCallShortcutDate = 0;
 
     private final ContactTileView.Listener mContactTileAdapterListener =
             new ContactTileAdapterListener();
@@ -161,8 +228,6 @@
             new ContactTileLoaderListener();
     private final ScrollListener mScrollListener = new ScrollListener();
 
-    private boolean mOptionsMenuHasFrequents;
-
     @Override
     public void onAttach(Activity activity) {
         if (DEBUG) Log.d(TAG, "onAttach()");
@@ -171,8 +236,8 @@
         // Construct two base adapters which will become part of PhoneFavoriteMergedAdapter.
         // We don't construct the resultant adapter at this moment since it requires LayoutInflater
         // that will be available on onCreateView().
-
         mContactTileAdapter = new PhoneFavoritesTileAdapter(activity, mContactTileAdapterListener,
+                this,
                 getResources().getInteger(R.integer.contact_tile_column_count_in_favorites_new),
                 1);
         mContactTileAdapter.setPhotoLoader(ContactPhotoManager.getInstance(activity));
@@ -183,54 +248,66 @@
         if (DEBUG) Log.d(TAG, "onCreate()");
         super.onCreate(savedState);
 
+        mAnimationDuration = getResources().getInteger(R.integer.fade_duration);
         mCallLogQueryHandler = new CallLogQueryHandler(getActivity().getContentResolver(),
                 this, 1);
         final String currentCountryIso = GeoUtil.getCurrentCountryIso(getActivity());
-        mCallLogAdapter = new CallLogAdapter(getActivity(), this,
-                new ContactInfoHelper(getActivity(), currentCountryIso));
+        mCallLogAdapter = ObjectFactory.newCallLogAdapter(getActivity(), this,
+                new ContactInfoHelper(getActivity(), currentCountryIso), true, false);
         setHasOptionsMenu(true);
     }
 
     @Override
     public void onResume() {
         super.onResume();
-        mCallLogQueryHandler.fetchCalls(CallLogQueryHandler.CALL_TYPE_ALL);
+        final SharedPreferences prefs = getActivity().getSharedPreferences(
+                DialtactsActivity.SHARED_PREFS_NAME, Context.MODE_PRIVATE);
+
+        mLastCallShortcutDate = prefs.getLong(KEY_LAST_DISMISSED_CALL_SHORTCUT_DATE, 0);
+
+        fetchCalls();
         mCallLogAdapter.setLoading(true);
+        getLoaderManager().getLoader(LOADER_ID_CONTACT_TILE).forceLoad();
     }
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
-        final View listLayout = inflater.inflate(
-                R.layout.phone_favorites_fragment, container, false);
+        mParentView = inflater.inflate(R.layout.phone_favorites_fragment, container, false);
 
-        mListView = (ListView) listLayout.findViewById(R.id.contact_tile_list);
+        mListView = (PhoneFavoriteListView) mParentView.findViewById(R.id.contact_tile_list);
         mListView.setItemsCanFocus(true);
         mListView.setOnItemClickListener(this);
         mListView.setVerticalScrollBarEnabled(false);
         mListView.setVerticalScrollbarPosition(View.SCROLLBAR_POSITION_RIGHT);
         mListView.setScrollBarStyle(ListView.SCROLLBARS_OUTSIDE_OVERLAY);
+        mListView.setOnItemSwipeListener(mContactTileAdapter);
+        mListView.setOnDragDropListener(mContactTileAdapter);
 
-        // TODO krelease: Don't show this header anymore
-        // Create the account filter header but keep it hidden until "all" contacts are loaded.
-        mAccountFilterHeaderContainer = new FrameLayout(getActivity(), null);
-        mAccountFilterHeader = inflater.inflate(R.layout.account_filter_header_for_phone_favorite,
-                mListView, false);
-        mAccountFilterHeaderContainer.addView(mAccountFilterHeader);
+        final ImageView dragShadowOverlay =
+                (ImageView) mParentView.findViewById(R.id.contact_tile_drag_shadow_overlay);
+        mListView.setDragShadowOverlay(dragShadowOverlay);
 
-        mLoadingView = inflater.inflate(R.layout.phone_loading_contacts, mListView, false);
+        mEmptyView = mParentView.findViewById(R.id.phone_no_favorites_view);
+
+        mShowAllContactsInEmptyViewButton = mParentView.findViewById(
+                R.id.show_all_contact_button_in_nofav);
+        prepareAllContactsButton(mShowAllContactsInEmptyViewButton);
+
         mShowAllContactsButton = inflater.inflate(R.layout.show_all_contact_button, mListView,
                 false);
-        mShowAllContactsButton.setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                showAllContacts();
-            }
-        });
 
-        mAdapter = new PhoneFavoriteMergedAdapter(getActivity(), mContactTileAdapter,
-                mAccountFilterHeaderContainer, mCallLogAdapter, mLoadingView,
-                mShowAllContactsButton);
+        prepareAllContactsButton(mShowAllContactsButton);
+
+        mContactTileFrame = mParentView.findViewById(R.id.contact_tile_frame);
+
+        mTileInteractionTeaserView = (TileInteractionTeaserView) inflater.inflate(
+                R.layout.tile_interactions_teaser_view, mListView, false);
+
+        mAdapter = new PhoneFavoriteMergedAdapter(getActivity(), this, mContactTileAdapter,
+                mCallLogAdapter, mShowAllContactsButton, mTileInteractionTeaserView);
+
+        mTileInteractionTeaserView.setAdapter(mAdapter);
 
         mListView.setAdapter(mAdapter);
 
@@ -238,34 +315,27 @@
         mListView.setFastScrollEnabled(false);
         mListView.setFastScrollAlwaysVisible(false);
 
-        mEmptyView = (TextView) listLayout.findViewById(R.id.contact_tile_list_empty);
-        mEmptyView.setText(getString(R.string.listTotalAllContactsZero));
-        mListView.setEmptyView(mEmptyView);
-
-        return listLayout;
+        return mParentView;
     }
 
-
-    // TODO krelease: update the options menu when displaying the popup menu instead. We could
-    // possibly get rid of this method entirely.
-    private boolean isOptionsMenuChanged() {
-        return mOptionsMenuHasFrequents != hasFrequents();
-    }
-
-    // TODO krelease: Configure the menu items properly. Since the menu items show up as a PopupMenu
-    // rather than a normal actionbar menu, the initialization should be done there.
-    /*
-    @Override
-    public void onPrepareOptionsMenu(Menu menu) {
-        final MenuItem clearFrequents = menu.findItem(R.id.menu_clear_frequents);
-        mOptionsMenuHasFrequents = hasFrequents();
-        clearFrequents.setVisible(mOptionsMenuHasFrequents);
-    }*/
-
-    private boolean hasFrequents() {
+    public boolean hasFrequents() {
+        if (mContactTileAdapter == null) return false;
         return mContactTileAdapter.getNumFrequents() > 0;
     }
 
+    /* package */ void setEmptyViewVisibility(final boolean visible) {
+        final int previousVisibility = mEmptyView.getVisibility();
+        final int newVisibility = visible ? View.VISIBLE : View.GONE;
+
+        if (previousVisibility != newVisibility) {
+            final RelativeLayout.LayoutParams params = (LayoutParams) mContactTileFrame
+                    .getLayoutParams();
+            params.height = visible ? LayoutParams.WRAP_CONTENT : LayoutParams.MATCH_PARENT;
+            mContactTileFrame.setLayoutParams(params);
+            mEmptyView.setVisibility(newVisibility);
+        }
+    }
+
     @Override
     public void onStart() {
         super.onStart();
@@ -273,23 +343,24 @@
         final Activity activity = getActivity();
 
         try {
-            ((OnPhoneFavoriteFragmentStartedListener) activity).onPhoneFavoriteFragmentStarted();
-        } catch (ClassCastException e) {
-            throw new ClassCastException(activity.toString()
-                    + " must implement OnPhoneFavoriteFragmentStartedListener");
-        }
-
-        try {
             mActivityScrollListener = (OnListFragmentScrolledListener) activity;
         } catch (ClassCastException e) {
             throw new ClassCastException(activity.toString()
                     + " must implement OnListFragmentScrolledListener");
         }
 
+        try {
+            mShowAllContactsListener = (OnShowAllContactsListener) activity;
+        } catch (ClassCastException e) {
+            throw new ClassCastException(activity.toString()
+                    + " must implement OnShowAllContactsListener");
+        }
+
         // Use initLoader() instead of restartLoader() to refraining unnecessary reload.
         // This method call implicitly assures ContactTileLoaderListener's onLoadFinished() will
         // be called, on which we'll check if "all" contacts should be reloaded again or not.
         getLoaderManager().initLoader(LOADER_ID_CONTACT_TILE, null, mContactTileLoaderListener);
+        getLoaderManager().initLoader(MISSED_CALL_LOADER, null, new MissedCallLogLoaderListener());
     }
 
     /**
@@ -311,30 +382,282 @@
      * Gets called when user click on the show all contacts button.
      */
     private void showAllContacts() {
-        // TODO {klp} Use interface for the fragment to communicate with the activity
-        if (getActivity() instanceof  DialtactsActivity) {
-            ((DialtactsActivity) getActivity()).showAllContactsFragment();
-        }
+        mShowAllContactsListener.onShowAllContacts();
     }
 
     public void setListener(Listener listener) {
         mListener = listener;
     }
 
-    // TODO krelease: Implement this
     @Override
     public void onVoicemailStatusFetched(Cursor statusCursor) {
+        // no-op
     }
 
     @Override
     public void onCallsFetched(Cursor cursor) {
+        animateListView();
         mCallLogAdapter.setLoading(false);
+
+        // Save the date of the most recent call log item
+        if (cursor != null && cursor.moveToFirst()) {
+            mCurrentCallShortcutDate = cursor.getLong(CallLogQuery.DATE);
+        }
+
         mCallLogAdapter.changeCursor(cursor);
         mAdapter.notifyDataSetChanged();
     }
 
-    // TODO krelease: Implement this
     @Override
     public void fetchCalls() {
+        mCallLogQueryHandler.fetchCalls(CallLogQueryHandler.CALL_TYPE_ALL, mLastCallShortcutDate);
+    }
+
+    @Override
+    public void onPause() {
+        // If there are any pending contact entries that are to be removed, remove them
+        mContactTileAdapter.removePendingContactEntry();
+        // Wipe the cache to refresh the call shortcut item. This is not that expensive because
+        // it only contains one item.
+        mCallLogAdapter.invalidateCache();
+        super.onPause();
+    }
+
+    /**
+     * Saves the current view offsets into memory
+     */
+    @SuppressWarnings("unchecked")
+    private void saveOffsets(int removedItemHeight) {
+        final int firstVisiblePosition = mListView.getFirstVisiblePosition();
+        if (DEBUG) {
+            Log.d(TAG, "Child count : " + mListView.getChildCount());
+        }
+        for (int i = 0; i < mListView.getChildCount(); i++) {
+            final View child = mListView.getChildAt(i);
+            final int position = firstVisiblePosition + i;
+            final long itemId = mAdapter.getItemId(position);
+            final int itemViewType = mAdapter.getItemViewType(position);
+            if (itemViewType == PhoneFavoritesTileAdapter.ViewTypes.TOP) {
+                // This is a tiled row, so save horizontal offsets instead
+                saveHorizontalOffsets((ContactTileRow) child, (ArrayList<ContactEntry>)
+                        mAdapter.getItem(position));
+            }
+            if (DEBUG) {
+                Log.d(TAG, "Saving itemId: " + itemId + " for listview child " + i + " Top: "
+                        + child.getTop());
+            }
+            mItemIdTopMap.put(itemId, child.getTop());
+        }
+
+        mItemIdTopMap.put(KEY_REMOVED_ITEM_HEIGHT, removedItemHeight);
+    }
+
+    private void saveHorizontalOffsets(ContactTileRow row, ArrayList<ContactEntry> list) {
+        for (int i = 0; i < list.size(); i++) {
+            final View child = row.getChildAt(i);
+            final ContactEntry entry = list.get(i);
+            final long itemId = mContactTileAdapter.getAdjustedItemId(entry.id);
+            if (DEBUG) {
+                Log.d(TAG, "Saving itemId: " + itemId + " for tileview child " + i + " Left: "
+                        + child.getTop());
+            }
+            mItemIdLeftMap.put(itemId, child.getLeft());
+        }
+    }
+
+    /*
+     * Performs a animations for a row of tiles
+     */
+    private void performHorizontalAnimations(ContactTileRow row, ArrayList<ContactEntry> list,
+            long[] idsInPlace) {
+        if (mItemIdLeftMap.isEmpty()) {
+            return;
+        }
+        final AnimatorSet animSet = new AnimatorSet();
+        final ArrayList<Animator> animators = new ArrayList<Animator>();
+        for (int i = 0; i < list.size(); i++) {
+            final View child = row.getChildAt(i);
+            final ContactEntry entry = list.get(i);
+            final long itemId = mContactTileAdapter.getAdjustedItemId(entry.id);
+
+            if (containsId(idsInPlace, itemId)) {
+                animators.add(ObjectAnimator.ofFloat(
+                        child, "alpha", 0.0f, 1.0f));
+                break;
+            } else {
+                Integer startLeft = mItemIdLeftMap.get(itemId);
+                int left = child.getLeft();
+                if (startLeft != null) {
+                    if (startLeft != left) {
+                        int delta = startLeft - left;
+                        if (DEBUG) {
+                            Log.d(TAG, "Found itemId: " + itemId + " for tileview child " + i +
+                                    " Left: " + left +
+                                    " Delta: " + delta);
+                        }
+                        animators.add(ObjectAnimator.ofFloat(
+                                child, "translationX", delta, 0.0f));
+                    }
+                } else {
+                    // In case the last square row is pushed up from the non-square section.
+                    animators.add(ObjectAnimator.ofFloat(
+                            child, "translationX", left, 0.0f));
+                }
+            }
+        }
+        if (animators.size() > 0) {
+            animSet.setDuration(mAnimationDuration).playTogether(animators);
+            animSet.start();
+        }
+    }
+
+    /*
+     * Performs animations for the list view. If the list item is a row of tiles, horizontal
+     * animations will be performed instead.
+     */
+    private void animateListView(final long... idsInPlace) {
+        if (mItemIdTopMap.isEmpty()) {
+            // Don't do animations if the database is being queried for the first time and
+            // the previous item offsets have not been cached, or the user hasn't done anything
+            // (dragging, swiping etc) that requires an animation.
+            return;
+        }
+
+        final int removedItemHeight = mItemIdTopMap.get(KEY_REMOVED_ITEM_HEIGHT);
+
+        final ViewTreeObserver observer = mListView.getViewTreeObserver();
+        observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
+            @SuppressWarnings("unchecked")
+            @Override
+            public boolean onPreDraw() {
+                observer.removeOnPreDrawListener(this);
+                final int firstVisiblePosition = mListView.getFirstVisiblePosition();
+                final AnimatorSet animSet = new AnimatorSet();
+                final ArrayList<Animator> animators = new ArrayList<Animator>();
+                for (int i = 0; i < mListView.getChildCount(); i++) {
+                    final View child = mListView.getChildAt(i);
+                    int position = firstVisiblePosition + i;
+                    final int itemViewType = mAdapter.getItemViewType(position);
+                    if (itemViewType == PhoneFavoritesTileAdapter.ViewTypes.TOP) {
+                        // This is a tiled row, so perform horizontal animations instead
+                        performHorizontalAnimations((ContactTileRow) child, (
+                                ArrayList<ContactEntry>) mAdapter.getItem(position), idsInPlace);
+                    }
+
+                    final long itemId = mAdapter.getItemId(position);
+
+                    if (containsId(idsInPlace, itemId)) {
+                        animators.add(ObjectAnimator.ofFloat(
+                                child, "alpha", 0.0f, 1.0f));
+                        break;
+                    } else {
+                        Integer startTop = mItemIdTopMap.get(itemId);
+                        final int top = child.getTop();
+                        int delta = 0;
+                        if (startTop != null) {
+                            if (startTop != top) {
+                                delta = startTop - top;
+                            }
+                        } else if (!mItemIdLeftMap.containsKey(itemId)) {
+                            // Animate new views along with the others. The catch is that they did
+                            // not exist in the start state, so we must calculate their starting
+                            // position based on neighboring views.
+
+                            final int itemHeight;
+                            if (removedItemHeight == 0) {
+                                itemHeight = child.getHeight() + mListView.getDividerHeight();
+                            } else {
+                                itemHeight = removedItemHeight;
+                            }
+                            startTop = top + (i > 0 ? itemHeight : -itemHeight);
+                            delta = startTop - top;
+                        } else {
+                            // In case the first non-square row is pushed down
+                            // from the square section.
+                            animators.add(ObjectAnimator.ofFloat(
+                                    child, "alpha", 0.0f, 1.0f));
+                        }
+                        if (DEBUG) {
+                            Log.d(TAG, "Found itemId: " + itemId + " for listview child " + i +
+                                    " Top: " + top +
+                                    " Delta: " + delta);
+                        }
+
+                        if (delta != 0) {
+                            animators.add(ObjectAnimator.ofFloat(
+                                    child, "translationY", delta, 0.0f));
+                        }
+                    }
+                }
+
+                if (animators.size() > 0) {
+                    animSet.setDuration(mAnimationDuration).playTogether(animators);
+                    animSet.start();
+                }
+
+                mItemIdTopMap.clear();
+                mItemIdLeftMap.clear();
+                return true;
+            }
+        });
+    }
+
+    private boolean containsId(long[] ids, long target) {
+        // Linear search on array is fine because this is typically only 0-1 elements long
+        for (int i = 0; i < ids.length; i++) {
+            if (ids[i] == target) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public void onDataSetChangedForAnimation(long... idsInPlace) {
+        animateListView(idsInPlace);
+    }
+
+    @Override
+    public void cacheOffsetsForDatasetChange() {
+        saveOffsets(0);
+    }
+
+    public void dismissShortcut(int height) {
+        saveOffsets(height);
+        mLastCallShortcutDate = mCurrentCallShortcutDate;
+        final SharedPreferences prefs = getActivity().getSharedPreferences(
+                DialtactsActivity.SHARED_PREFS_NAME, Context.MODE_PRIVATE);
+        prefs.edit().putLong(KEY_LAST_DISMISSED_CALL_SHORTCUT_DATE, mLastCallShortcutDate)
+                .apply();
+        fetchCalls();
+    }
+
+    /**
+     * Returns a view that is laid out and styled to look like a regular contact, with the correct
+     * click behavior (to launch the all contacts activity when it is clicked).
+     */
+    private View prepareAllContactsButton(View v) {
+        final ContactListItemView view = (ContactListItemView) v;
+        view.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                showAllContacts();
+            }
+        });
+
+        view.setPhotoPosition(ContactListItemView.PhotoPosition.LEFT);
+        final Resources resources = getResources();
+        view.setBackgroundResource(R.drawable.contact_list_item_background);
+
+        view.setPaddingRelative(
+                resources.getDimensionPixelSize(R.dimen.favorites_row_start_padding),
+                resources.getDimensionPixelSize(R.dimen.favorites_row_end_padding),
+                resources.getDimensionPixelSize(R.dimen.favorites_row_top_padding),
+                resources.getDimensionPixelSize(R.dimen.favorites_row_bottom_padding));
+
+        view.setDisplayName(resources.getString(R.string.show_all_contacts_button_text));
+        view.setDrawableResource(R.drawable.list_item_avatar_bg,
+                R.drawable.ic_menu_all_contacts_dk);
+        return view;
     }
 }
diff --git a/src/com/android/dialer/list/PhoneFavoriteListView.java b/src/com/android/dialer/list/PhoneFavoriteListView.java
new file mode 100644
index 0000000..99979dd
--- /dev/null
+++ b/src/com/android/dialer/list/PhoneFavoriteListView.java
@@ -0,0 +1,434 @@
+/*
+ * Copyright (C) 2012 Google Inc.
+ * Licensed to 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.dialer.list;
+
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.content.Context;
+import android.content.res.Configuration;
+import android.graphics.Bitmap;
+import android.os.Handler;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.DragEvent;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewConfiguration;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.ListView;
+
+import com.android.dialer.R;
+import com.android.dialer.list.PhoneFavoritesTileAdapter.ContactTileRow;
+import com.android.dialer.list.SwipeHelper.OnItemGestureListener;
+import com.android.dialer.list.SwipeHelper.SwipeHelperCallback;
+
+/**
+ * The ListView composed of {@link ContactTileRow}.
+ * This ListView handles both
+ * - Swiping, which is borrowed from packages/apps/UnifiedEmail (com.android.mail.ui.Swipeable)
+ * - Drag and drop
+ */
+public class PhoneFavoriteListView extends ListView implements SwipeHelperCallback {
+
+    public static final String LOG_TAG = PhoneFavoriteListView.class.getSimpleName();
+
+    private SwipeHelper mSwipeHelper;
+    private boolean mEnableSwipe = true;
+
+    private OnItemGestureListener mOnItemGestureListener;
+    private OnDragDropListener mOnDragDropListener;
+
+    private float mDensityScale;
+    private float mTouchSlop;
+
+    private int mTopScrollBound;
+    private int mBottomScrollBound;
+    private int mLastDragY;
+
+    private Handler mScrollHandler;
+    private final long SCROLL_HANDLER_DELAY_MILLIS = 5;
+    private final int DRAG_SCROLL_PX_UNIT = 10;
+
+    private boolean mIsDragScrollerRunning = false;
+    private int mTouchDownForDragStartX;
+    private int mTouchDownForDragStartY;
+
+    private Bitmap mDragShadowBitmap;
+    private ImageView mDragShadowOverlay;
+    private int mAnimationDuration;
+
+    // X and Y offsets inside the item from where the user grabbed to the
+    // child's left coordinate. This is used to aid in the drawing of the drag shadow.
+    private int mTouchOffsetToChildLeft;
+    private int mTouchOffsetToChildTop;
+
+    private int mDragShadowLeft;
+    private int mDragShadowTop;
+
+    private final float DRAG_SHADOW_ALPHA = 0.7f;
+
+    /**
+     * {@link #mTopScrollBound} and {@link mBottomScrollBound} will be
+     * offseted to the top / bottom by {@link #getHeight} * {@link #BOUND_GAP_RATIO} pixels.
+     */
+    private final float BOUND_GAP_RATIO = 0.2f;
+
+    private final Runnable mDragScroller = new Runnable() {
+        @Override
+        public void run() {
+            if (mLastDragY <= mTopScrollBound) {
+                smoothScrollBy(-DRAG_SCROLL_PX_UNIT, (int) SCROLL_HANDLER_DELAY_MILLIS);
+            } else if (mLastDragY >= mBottomScrollBound) {
+                smoothScrollBy(DRAG_SCROLL_PX_UNIT, (int) SCROLL_HANDLER_DELAY_MILLIS);
+            }
+            mScrollHandler.postDelayed(this, SCROLL_HANDLER_DELAY_MILLIS);
+        }
+    };
+
+    private final AnimatorListenerAdapter mDragShadowOverAnimatorListener =
+            new AnimatorListenerAdapter() {
+        @Override
+        public void onAnimationEnd(Animator animation) {
+            if (mDragShadowBitmap != null) {
+                mDragShadowBitmap.recycle();
+                mDragShadowBitmap = null;
+            }
+            mDragShadowOverlay.setVisibility(GONE);
+            mDragShadowOverlay.setImageBitmap(null);
+        }
+    };
+
+    public PhoneFavoriteListView(Context context) {
+        this(context, null);
+    }
+
+    public PhoneFavoriteListView(Context context, AttributeSet attrs) {
+        this(context, attrs, -1);
+    }
+
+    public PhoneFavoriteListView(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+        mAnimationDuration = context.getResources().getInteger(R.integer.fade_duration);
+        mDensityScale = getResources().getDisplayMetrics().density;
+        mTouchSlop = ViewConfiguration.get(context).getScaledPagingTouchSlop();
+        mSwipeHelper = new SwipeHelper(context, SwipeHelper.X, this,
+                mDensityScale, mTouchSlop);
+        setItemsCanFocus(true);
+    }
+
+    @Override
+    protected void onConfigurationChanged(Configuration newConfig) {
+        super.onConfigurationChanged(newConfig);
+        mDensityScale= getResources().getDisplayMetrics().density;
+        mTouchSlop = ViewConfiguration.get(getContext()).getScaledPagingTouchSlop();
+        mSwipeHelper.setDensityScale(mDensityScale);
+        mSwipeHelper.setPagingTouchSlop(mTouchSlop);
+    }
+
+    /**
+     * Enable swipe gestures.
+     */
+    public void enableSwipe(boolean enable) {
+        mEnableSwipe = enable;
+    }
+
+    public boolean isSwipeEnabled() {
+        return mEnableSwipe && mOnItemGestureListener.isSwipeEnabled();
+    }
+
+    public void setOnItemSwipeListener(OnItemGestureListener listener) {
+        mOnItemGestureListener = listener;
+    }
+
+    public void setOnDragDropListener(OnDragDropListener listener) {
+        mOnDragDropListener = listener;
+    }
+
+    @Override
+    public boolean onInterceptTouchEvent(MotionEvent ev) {
+        if (ev.getAction() == MotionEvent.ACTION_DOWN) {
+            mTouchDownForDragStartX = (int) ev.getX();
+            mTouchDownForDragStartY = (int) ev.getY();
+        }
+        if (isSwipeEnabled()) {
+            return mSwipeHelper.onInterceptTouchEvent(ev) || super.onInterceptTouchEvent(ev);
+        } else {
+            return super.onInterceptTouchEvent(ev);
+        }
+    }
+
+    @Override
+    public boolean onTouchEvent(MotionEvent ev) {
+        if (mOnItemGestureListener != null) {
+            mOnItemGestureListener.onTouch();
+        }
+        if (isSwipeEnabled()) {
+            return mSwipeHelper.onTouchEvent(ev) || super.onTouchEvent(ev);
+        } else {
+            return super.onTouchEvent(ev);
+        }
+    }
+
+    @Override
+    public View getChildAtPosition(MotionEvent ev) {
+        final View view = getViewAtPosition((int) ev.getX(), (int) ev.getY());
+        if (view != null &&
+                SwipeHelper.isSwipeable(view) &&
+                view.getVisibility() != GONE) {
+            // If this view is swipable in this listview, then return it. Otherwise
+            // return a null view, which will simply be ignored by the swipe helper.
+            return view;
+        }
+        return null;
+    }
+
+    @Override
+    public View getChildContentView(View view) {
+        return view.findViewById(R.id.contact_favorite_card);
+    }
+
+    @Override
+    public void onScroll() {}
+
+    @Override
+    public boolean canChildBeDismissed(View v) {
+        return SwipeHelper.isSwipeable(v);
+    }
+
+    @Override
+    public void onChildDismissed(final View v) {
+        if (v != null) {
+            if (mOnItemGestureListener != null) {
+                mOnItemGestureListener.onSwipe(v);
+            }
+        }
+    }
+
+    @Override
+    public void onDragCancelled(View v) {}
+
+    @Override
+    public void onBeginDrag(View v) {
+        final View tileRow = (View) v.getParent();
+
+        // We do this so the underlying ScrollView knows that it won't get
+        // the chance to intercept events anymore
+        requestDisallowInterceptTouchEvent(true);
+    }
+
+    @Override
+    public boolean dispatchDragEvent(DragEvent event) {
+        final int action = event.getAction();
+        final int eX = (int) event.getX();
+        final int eY = (int) event.getY();
+        switch (action) {
+            case DragEvent.ACTION_DRAG_STARTED:
+                if (!handleDragStarted(mTouchDownForDragStartX, mTouchDownForDragStartY)) {
+                    return false;
+                };
+                break;
+            case DragEvent.ACTION_DRAG_LOCATION:
+                mLastDragY = eY;
+                handleDragHovered(eX, eY);
+                // Kick off {@link #mScrollHandler} if it's not started yet.
+                if (!mIsDragScrollerRunning &&
+                        // And if the distance traveled while dragging exceeds the touch slop
+                        (Math.abs(mLastDragY - mTouchDownForDragStartY) >= 4 * mTouchSlop)) {
+                    mIsDragScrollerRunning = true;
+                    ensureScrollHandler();
+                    mScrollHandler.postDelayed(mDragScroller, SCROLL_HANDLER_DELAY_MILLIS);
+                }
+                break;
+            case DragEvent.ACTION_DRAG_ENTERED:
+                final int boundGap = (int) (getHeight() * BOUND_GAP_RATIO);
+                mTopScrollBound = (getTop() + boundGap);
+                mBottomScrollBound = (getBottom() - boundGap);
+                break;
+            case DragEvent.ACTION_DRAG_EXITED:
+            case DragEvent.ACTION_DRAG_ENDED:
+            case DragEvent.ACTION_DROP:
+                ensureScrollHandler();
+                mScrollHandler.removeCallbacks(mDragScroller);
+                mIsDragScrollerRunning = false;
+                // Either a successful drop or it's ended with out drop.
+                if (action == DragEvent.ACTION_DROP || action == DragEvent.ACTION_DRAG_ENDED) {
+                    handleDragFinished(eX, eY);
+                }
+                break;
+            default:
+                break;
+        }
+        // This ListView will consumer the drag events on behalf of its children.
+        return true;
+    }
+
+    public void setDragShadowOverlay(ImageView overlay) {
+        mDragShadowOverlay = overlay;
+    }
+
+    /**
+     * Find the view under the pointer.
+     */
+    private View getViewAtPosition(int x, int y) {
+        final int count = getChildCount();
+        View child;
+        for (int childIdx = 0; childIdx < count; childIdx++) {
+            child = getChildAt(childIdx);
+            if (y >= child.getTop() && y <= child.getBottom()) {
+                return child;
+            }
+        }
+        return null;
+    }
+
+    private void ensureScrollHandler() {
+        if (mScrollHandler == null) {
+            mScrollHandler = getHandler();
+        }
+    }
+
+    /**
+     * @return True if the drag is started.
+     */
+    private boolean handleDragStarted(int x, int y) {
+        final View child = getViewAtPosition(x, y);
+        if (!(child instanceof ContactTileRow)) {
+            // Bail early.
+            return false;
+        }
+
+        final ContactTileRow tile = (ContactTileRow) child;
+
+        if (tile.getTileAdapter().hasPotentialRemoveEntryIndex()) {
+            return false;
+        }
+
+        final int itemIndex = tile.getItemIndex(x, y);
+        if (itemIndex != -1 && mOnDragDropListener != null) {
+            final PhoneFavoriteTileView tileView =
+                    (PhoneFavoriteTileView) tile.getViewAtPosition(x, y);
+            if (mDragShadowOverlay == null) {
+                return false;
+            }
+
+            mDragShadowOverlay.clearAnimation();
+            mDragShadowBitmap = createDraggedChildBitmap(tileView);
+            if (mDragShadowBitmap == null) {
+                return false;
+            }
+
+            if (tileView instanceof PhoneFavoriteRegularRowView) {
+                mDragShadowLeft = tile.getLeft();
+                mDragShadowTop = tile.getTop();
+            } else {
+                // Square tile is relative to the contact tile,
+                // and contact tile is relative to this list view.
+                mDragShadowLeft = tileView.getLeft() + tileView.getParentRow().getLeft();
+                mDragShadowTop = tileView.getTop() + tileView.getParentRow().getTop();
+            }
+
+            mDragShadowOverlay.setImageBitmap(mDragShadowBitmap);
+            mDragShadowOverlay.setVisibility(VISIBLE);
+            mDragShadowOverlay.setAlpha(DRAG_SHADOW_ALPHA);
+
+            mDragShadowOverlay.setX(mDragShadowLeft);
+            mDragShadowOverlay.setY(mDragShadowTop);
+
+            // x and y passed in are the coordinates of where the user has touched down, calculate
+            // the offset to the top left coordinate of the dragged child.  This will be used for
+            // drawing the drag shadow.
+            mTouchOffsetToChildLeft = x - mDragShadowLeft;
+            mTouchOffsetToChildTop = y - mDragShadowTop;
+
+            // invalidate to trigger a redraw of the drag shadow.
+            invalidate();
+
+            mOnDragDropListener.onDragStarted(itemIndex);
+        }
+
+        return true;
+    }
+
+    private void handleDragHovered(int x, int y) {
+        // Update the drag shadow location.
+        mDragShadowLeft = x - mTouchOffsetToChildLeft;
+        mDragShadowTop = y - mTouchOffsetToChildTop;
+        // Draw the drag shadow at its last known location if the drag shadow exists.
+        if (mDragShadowOverlay != null) {
+            mDragShadowOverlay.setX(mDragShadowLeft);
+            mDragShadowOverlay.setY(mDragShadowTop);
+        }
+
+        final View child = getViewAtPosition(x, y);
+        if (!(child instanceof ContactTileRow)) {
+            // Bail early.
+            return;
+        }
+
+        final ContactTileRow tile = (ContactTileRow) child;
+        final int itemIndex = tile.getItemIndex(x, y);
+        if (itemIndex != -1 && mOnDragDropListener != null) {
+            mOnDragDropListener.onDragHovered(itemIndex);
+        }
+    }
+
+    private void handleDragFinished(int x, int y) {
+        // Update the drag shadow location.
+        mDragShadowLeft = x - mTouchOffsetToChildLeft;
+        mDragShadowTop = y - mTouchOffsetToChildTop;
+
+        if (mDragShadowOverlay != null) {
+            mDragShadowOverlay.clearAnimation();
+            mDragShadowOverlay.animate().alpha(0.0f)
+                    .setDuration(mAnimationDuration)
+                    .setListener(mDragShadowOverAnimatorListener)
+                    .start();
+        }
+
+        if (mOnDragDropListener != null) {
+            mOnDragDropListener.onDragFinished();
+        }
+    }
+
+    private Bitmap createDraggedChildBitmap(View view) {
+        view.setDrawingCacheEnabled(true);
+        final Bitmap cache = view.getDrawingCache();
+
+        Bitmap bitmap = null;
+        if (cache != null) {
+            try {
+                bitmap = cache.copy(Bitmap.Config.ARGB_8888, false);
+            } catch (final OutOfMemoryError e) {
+                Log.w(LOG_TAG, "Failed to copy bitmap from Drawing cache", e);
+                bitmap = null;
+            }
+        }
+
+        view.destroyDrawingCache();
+        view.setDrawingCacheEnabled(false);
+
+        return bitmap;
+    }
+
+    public interface OnDragDropListener {
+        public void onDragStarted(int itemIndex);
+        public void onDragHovered(int itemIndex);
+        public void onDragFinished();
+    }
+}
diff --git a/src/com/android/dialer/list/PhoneFavoriteMergedAdapter.java b/src/com/android/dialer/list/PhoneFavoriteMergedAdapter.java
index 0e5594e..daba39e 100644
--- a/src/com/android/dialer/list/PhoneFavoriteMergedAdapter.java
+++ b/src/com/android/dialer/list/PhoneFavoriteMergedAdapter.java
@@ -18,14 +18,21 @@
 
 import android.content.Context;
 import android.content.res.Resources;
+import android.database.Cursor;
 import android.database.DataSetObserver;
+import android.view.MotionEvent;
 import android.view.View;
+import android.view.ViewConfiguration;
 import android.view.ViewGroup;
 import android.widget.BaseAdapter;
 import android.widget.FrameLayout;
 
 import com.android.dialer.R;
 import com.android.dialer.calllog.CallLogAdapter;
+import com.android.dialer.calllog.CallLogNotificationsHelper;
+import com.android.dialer.calllog.CallLogQueryHandler;
+import com.android.dialer.list.SwipeHelper.OnItemGestureListener;
+import com.android.dialer.list.SwipeHelper.SwipeHelperCallback;
 
 /**
  * An adapter that combines items from {@link com.android.contacts.common.list.ContactTileAdapter}
@@ -42,10 +49,14 @@
 
     private static final String TAG = PhoneFavoriteMergedAdapter.class.getSimpleName();
 
+    private static final int TILE_INTERACTION_TEASER_VIEW_POSITION = 2;
+    private static final int TILE_INTERACTION_TEASER_VIEW_ID = -2;
+    private static final int ALL_CONTACTS_BUTTON_ITEM_ID = -1;
     private final PhoneFavoritesTileAdapter mContactTileAdapter;
     private final CallLogAdapter mCallLogAdapter;
-    private final View mLoadingView;
     private final View mShowAllContactsButton;
+    private final PhoneFavoriteFragment mFragment;
+    private final TileInteractionTeaserView mTileInteractionTeaserView;
 
     private final int mCallLogPadding;
 
@@ -53,33 +64,70 @@
 
     private final DataSetObserver mObserver;
 
+    private final CallLogQueryHandler mCallLogQueryHandler;
+
+    private final OnItemGestureListener mCallLogOnItemSwipeListener =
+            new OnItemGestureListener() {
+        @Override
+        public void onSwipe(View view) {
+            mCallLogQueryHandler.markNewCallsAsOld();
+            mCallLogQueryHandler.markNewVoicemailsAsOld();
+            CallLogNotificationsHelper.removeMissedCallNotifications();
+            CallLogNotificationsHelper.updateVoicemailNotifications(mContext);
+            mFragment.dismissShortcut(((View) view.getParent()).getHeight());
+        }
+
+        @Override
+        public void onTouch() {}
+
+        @Override
+        public boolean isSwipeEnabled() {
+            return true;
+        }
+    };
+
+    private final CallLogQueryHandler.Listener mCallLogQueryHandlerListener =
+            new CallLogQueryHandler.Listener() {
+        @Override
+        public void onVoicemailStatusFetched(Cursor statusCursor) {}
+
+        @Override
+        public void onCallsFetched(Cursor combinedCursor) {
+            mCallLogAdapter.invalidateCache();
+            mCallLogAdapter.changeCursor(combinedCursor);
+            mCallLogAdapter.notifyDataSetChanged();
+        }
+    };
+
     public PhoneFavoriteMergedAdapter(Context context,
+            PhoneFavoriteFragment fragment,
             PhoneFavoritesTileAdapter contactTileAdapter,
-            View accountFilterHeaderContainer,
             CallLogAdapter callLogAdapter,
-            View loadingView,
-            View showAllContactsButton) {
+            View showAllContactsButton,
+            TileInteractionTeaserView tileInteractionTeaserView) {
         final Resources resources = context.getResources();
         mContext = context;
+        mFragment = fragment;
         mCallLogPadding = resources.getDimensionPixelSize(R.dimen.recent_call_log_item_padding);
         mContactTileAdapter = contactTileAdapter;
         mCallLogAdapter = callLogAdapter;
-
         mObserver = new CustomDataSetObserver();
+        mCallLogAdapter.registerDataSetObserver(mObserver);
         mContactTileAdapter.registerDataSetObserver(mObserver);
-        mLoadingView = loadingView;
         mShowAllContactsButton = showAllContactsButton;
-    }
-
-    @Override
-    public boolean isEmpty() {
-        // This adapter will always contain at least the all contacts button
-        return false;
+        mTileInteractionTeaserView = tileInteractionTeaserView;
+        mCallLogQueryHandler = new CallLogQueryHandler(mContext.getContentResolver(),
+                mCallLogQueryHandlerListener);
     }
 
     @Override
     public int getCount() {
-        return mContactTileAdapter.getCount() + mCallLogAdapter.getCount() + 1;
+        if (mContactTileAdapter.getCount() > 0) {
+            return mContactTileAdapter.getCount() + mCallLogAdapter.getCount() + 1 +
+                    getTeaserViewCount();
+        } else {
+            return mCallLogAdapter.getCount();
+        }
     }
 
     @Override
@@ -90,20 +138,56 @@
             if (position < callLogAdapterCount) {
                 return mCallLogAdapter.getItem(position);
             }
-            // Set position to the position of the actual favorite contact in the favorites adapter
-            position = getAdjustedFavoritePosition(position, callLogAdapterCount);
         }
+        // Set position to the position of the actual favorite contact in the favorites adapter
+        position = getAdjustedFavoritePosition(position, callLogAdapterCount);
+
         return mContactTileAdapter.getItem(position);
     }
 
+    /**
+     * In order to ensure that items have stable ids (for animation purposes), we need to
+     * guarantee that every single item has a unique ID, even across data set changes.
+     *
+     * These are the ranges of IDs reserved for each item type.
+     *
+     * -(N + 1) to -3: CallLogAdapterItems, where N is equal to the number of call log items
+     * -2: Teaser
+     * -1: All contacts button
+     * 0 to (N -1): Rows of tiled contacts, where N is equal to the max rows of tiled contacts
+     * N to infinity: Rows of regular contacts. Their item id is calculated by N + contact_id,
+     * where contact_id is guaranteed to never be negative.
+     */
     @Override
     public long getItemId(int position) {
-        return position;
+        final int callLogAdapterCount = mCallLogAdapter.getCount();
+        if (position < callLogAdapterCount) {
+            // Call log items are not animated, so reusing their position for IDs is fine.
+            return ALL_CONTACTS_BUTTON_ITEM_ID - 2 - position;
+        } else if (position == TILE_INTERACTION_TEASER_VIEW_POSITION + callLogAdapterCount &&
+                mTileInteractionTeaserView.getShouldDisplayInList()){
+            return TILE_INTERACTION_TEASER_VIEW_ID;
+        } else if (position < (callLogAdapterCount + mContactTileAdapter.getCount() +
+                getTeaserViewCount())) {
+            return mContactTileAdapter.getItemId(
+                    getAdjustedFavoritePosition(position, callLogAdapterCount));
+        } else {
+            // All contacts button
+            return ALL_CONTACTS_BUTTON_ITEM_ID;
+        }
+    }
+
+    @Override
+    public boolean hasStableIds() {
+        return true;
     }
 
     @Override
     public int getViewTypeCount() {
-        return (mContactTileAdapter.getViewTypeCount() + mCallLogAdapter.getViewTypeCount() + 1);
+        return (mContactTileAdapter.getViewTypeCount() +            /* Favorite and frequent */
+                mCallLogAdapter.getViewTypeCount() +                /* Recent call log */
+                getTeaserViewCount() +                              /* Teaser */
+                1);                                                 /* Show all contacts button. */
     }
 
     @Override
@@ -114,6 +198,10 @@
             // View type of the call log adapter is the last view type of the contact tile adapter
             // + 1
             return mContactTileAdapter.getViewTypeCount();
+        } else if (position == TILE_INTERACTION_TEASER_VIEW_POSITION + callLogAdapterCount &&
+                mTileInteractionTeaserView.getShouldDisplayInList()) {
+            // View type of the teaser row is the last view type of the contact tile adapter + 3
+            return mContactTileAdapter.getViewTypeCount() + 2;
         } else if (position < getCount() - 1) {
             return mContactTileAdapter.getItemViewType(
                     getAdjustedFavoritePosition(position, callLogAdapterCount));
@@ -128,17 +216,24 @@
     public View getView(int position, View convertView, ViewGroup parent) {
         final int callLogAdapterCount = mCallLogAdapter.getCount();
 
-        if (position == getCount() - 1) {
+        if ((position == getCount() - 1) && (mContactTileAdapter.getCount() > 0)) {
             return mShowAllContactsButton;
         }
 
+        if (mTileInteractionTeaserView.getShouldDisplayInList())  {
+            if (position == TILE_INTERACTION_TEASER_VIEW_POSITION + callLogAdapterCount) {
+                return mTileInteractionTeaserView;
+            }
+        }
+
         if (callLogAdapterCount > 0) {
             if (position == 0) {
-                final FrameLayout wrapper;
+                final SwipeableCallLogRow wrapper;
                 if (convertView == null) {
-                    wrapper = new FrameLayout(mContext);
+                    wrapper = new SwipeableCallLogRow(mContext);
+                    wrapper.setOnItemSwipeListener(mCallLogOnItemSwipeListener);
                 } else {
-                    wrapper = (FrameLayout) convertView;
+                    wrapper = (SwipeableCallLogRow) convertView;
                 }
 
                 // Special case wrapper view for the most recent call log item. This allows
@@ -148,24 +243,19 @@
                 final View view = mCallLogAdapter.getView(position, convertView == null ?
                         null : wrapper.getChildAt(0), parent);
                 wrapper.removeAllViews();
-                view.setBackgroundResource(R.drawable.dialer_recent_card_bg);
-
-                final FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
-                        FrameLayout.LayoutParams.WRAP_CONTENT,
-                        FrameLayout.LayoutParams.WRAP_CONTENT);
-
-                params.setMarginsRelative(mCallLogPadding, mCallLogPadding, mCallLogPadding,
-                        mCallLogPadding);
-                view.setLayoutParams(params);
+                final View callLogItem = view.findViewById(R.id.call_log_list_item);
+                // Reset the internal call log item view if it is being recycled
+                callLogItem.setTranslationX(0);
+                callLogItem.setAlpha(1);
                 wrapper.addView(view);
-
                 return wrapper;
             }
-            // Set position to the position of the actual favorite contact in the
-            // favorites adapter
-            position = getAdjustedFavoritePosition(position, callLogAdapterCount);
         }
 
+        // Set position to the position of the actual favorite contact in the
+        // favorites adapter
+        position = getAdjustedFavoritePosition(position, callLogAdapterCount);
+
         // Favorites section
         final View view = mContactTileAdapter.getView(position, convertView, parent);
         if (position >= mContactTileAdapter.getMaxTiledRows()) {
@@ -181,9 +271,6 @@
 
     @Override
     public boolean areAllItemsEnabled() {
-        // If "all" section is being loaded we'll show mLoadingView, which is not enabled.
-        // Otherwise check the all the other components in the ListView and return appropriate
-        // result.
         return mCallLogAdapter.areAllItemsEnabled() && mContactTileAdapter.areAllItemsEnabled();
     }
 
@@ -199,6 +286,105 @@
     }
 
     private int getAdjustedFavoritePosition(int position, int callLogAdapterCount) {
-        return position - callLogAdapterCount;
+        if (position - callLogAdapterCount > TILE_INTERACTION_TEASER_VIEW_POSITION &&
+                mTileInteractionTeaserView.getShouldDisplayInList()) {
+            return position - callLogAdapterCount - 1;
+        } else {
+            return position - callLogAdapterCount;
+        }
+    }
+
+    private int getTeaserViewCount() {
+        return (mContactTileAdapter.getCount() > TILE_INTERACTION_TEASER_VIEW_POSITION &&
+                mTileInteractionTeaserView.getShouldDisplayInList() ? 1 : 0);
+    }
+
+    /**
+     * The swipeable call log row.
+     * See also {@link PhoneFavoritesTileAdapter.ContactTileRow}.
+     */
+    private class SwipeableCallLogRow extends FrameLayout implements SwipeHelperCallback {
+        private SwipeHelper mSwipeHelper;
+        private OnItemGestureListener mOnItemSwipeListener;
+
+        public SwipeableCallLogRow(Context context) {
+            super(context);
+            final float densityScale = getResources().getDisplayMetrics().density;
+            final float pagingTouchSlop = ViewConfiguration.get(context)
+                    .getScaledPagingTouchSlop();
+            mSwipeHelper = new SwipeHelper(context, SwipeHelper.X, this,
+                    densityScale, pagingTouchSlop);
+        }
+
+        @Override
+        public void addView(View view) {
+            view.setBackgroundResource(R.drawable.dialer_recent_card_bg);
+
+            final FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
+                    FrameLayout.LayoutParams.MATCH_PARENT,
+                    FrameLayout.LayoutParams.WRAP_CONTENT);
+            params.setMarginsRelative(mCallLogPadding, mCallLogPadding, mCallLogPadding,
+                    mCallLogPadding);
+            view.setLayoutParams(params);
+
+            super.addView(view);
+        }
+
+        @Override
+        public View getChildAtPosition(MotionEvent ev) {
+            return getChildCount() > 0 ? getChildAt(0) : null;
+        }
+
+        @Override
+        public View getChildContentView(View v) {
+            return v.findViewById(R.id.call_log_list_item);
+        }
+
+        @Override
+        public void onScroll() {}
+
+        @Override
+        public boolean canChildBeDismissed(View v) {
+            return true;
+        }
+
+        @Override
+        public void onBeginDrag(View v) {
+            // We do this so the underlying ScrollView knows that it won't get
+            // the chance to intercept events anymore
+            requestDisallowInterceptTouchEvent(true);
+        }
+
+        @Override
+        public void onChildDismissed(View v) {
+            if (v != null && mOnItemSwipeListener != null) {
+                mOnItemSwipeListener.onSwipe(v);
+            }
+        }
+
+        @Override
+        public void onDragCancelled(View v) {}
+
+        @Override
+        public boolean onInterceptTouchEvent(MotionEvent ev) {
+            if (mSwipeHelper != null) {
+                return mSwipeHelper.onInterceptTouchEvent(ev) || super.onInterceptTouchEvent(ev);
+            } else {
+                return super.onInterceptTouchEvent(ev);
+            }
+        }
+
+        @Override
+        public boolean onTouchEvent(MotionEvent ev) {
+            if (mSwipeHelper != null) {
+                return mSwipeHelper.onTouchEvent(ev) || super.onTouchEvent(ev);
+            } else {
+                return super.onTouchEvent(ev);
+            }
+        }
+
+        public void setOnItemSwipeListener(OnItemGestureListener listener) {
+            mOnItemSwipeListener = listener;
+        }
     }
 }
diff --git a/src/com/android/dialer/list/PhoneFavoriteRegularRowView.java b/src/com/android/dialer/list/PhoneFavoriteRegularRowView.java
index 6d9fdcb..91b09d7 100644
--- a/src/com/android/dialer/list/PhoneFavoriteRegularRowView.java
+++ b/src/com/android/dialer/list/PhoneFavoriteRegularRowView.java
@@ -16,16 +16,12 @@
 package com.android.dialer.list;
 
 import android.content.Context;
+import android.content.res.Resources;
 import android.util.AttributeSet;
-import android.view.GestureDetector;
+import android.view.View;
 
 import com.android.contacts.common.util.ViewUtil;
 import com.android.dialer.R;
-import com.android.dialer.list.PhoneFavoriteDragAndDropListeners.PhoneFavoriteDragListener;
-import com.android.dialer.list.PhoneFavoriteDragAndDropListeners.PhoneFavoriteGestureListener;
-
-import com.android.dialer.list.PhoneFavoritesTileAdapter.ContactTileRow;
-
 
 public class PhoneFavoriteRegularRowView extends PhoneFavoriteTileView {
     private static final String TAG = PhoneFavoriteRegularRowView.class.getSimpleName();
@@ -39,24 +35,35 @@
     protected void onFinishInflate() {
         super.onFinishInflate();
 
-        mFavoriteContactCard = findViewById(R.id.contact_favorite_card);
-        mRemovalDialogue = findViewById(R.id.favorite_remove_dialogue);
-        mUndoRemovalButton = findViewById(R.id.favorite_remove_undo_button);
+        final View favoriteContactCard = findViewById(R.id.contact_favorite_card);
 
-        mGestureDetector = new GestureDetector(getContext(),
-                new PhoneFavoriteGestureListener(this));
-    }
+        final int rowPaddingStart;
+        final int rowPaddingEnd;
+        final int rowPaddingTop;
+        final int rowPaddingBottom;
 
-    @Override
-    protected void onAttachedToWindow() {
-        mParentRow = (ContactTileRow) getParent();
-        mParentRow.setOnDragListener(new PhoneFavoriteDragListener(mParentRow,
-                mParentRow.getTileAdapter()));
-    }
+        final Resources resources = getResources();
+        rowPaddingStart = resources.getDimensionPixelSize(
+                R.dimen.favorites_row_start_padding);
+        rowPaddingEnd = resources.getDimensionPixelSize(
+                R.dimen.favorites_row_end_padding);
+        rowPaddingTop = resources.getDimensionPixelSize(
+                R.dimen.favorites_row_top_padding);
+        rowPaddingBottom = resources.getDimensionPixelSize(
+                R.dimen.favorites_row_bottom_padding);
 
-    @Override
-    protected boolean isDarkTheme() {
-        return false;
+        favoriteContactCard.setBackgroundResource(R.drawable.contact_list_item_background);
+
+        favoriteContactCard.setPaddingRelative(rowPaddingStart, rowPaddingTop, rowPaddingEnd,
+                rowPaddingBottom);
+
+        final View quickContactBadge = findViewById(R.id.contact_tile_quick);
+        quickContactBadge.setOnLongClickListener(new OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                return PhoneFavoriteRegularRowView.this.performLongClick();
+            }
+        });
     }
 
     @Override
diff --git a/src/com/android/dialer/list/PhoneFavoriteSquareTileView.java b/src/com/android/dialer/list/PhoneFavoriteSquareTileView.java
index fe07d18..85e7216 100644
--- a/src/com/android/dialer/list/PhoneFavoriteSquareTileView.java
+++ b/src/com/android/dialer/list/PhoneFavoriteSquareTileView.java
@@ -17,16 +17,16 @@
 package com.android.dialer.list;
 
 import android.content.Context;
-import android.content.Intent;
+import android.provider.ContactsContract.QuickContact;
+import android.text.TextUtils;
 import android.util.AttributeSet;
-import android.view.GestureDetector;
 import android.view.View;
 import android.widget.ImageButton;
 
 import com.android.contacts.common.R;
-import com.android.dialer.list.PhoneFavoriteDragAndDropListeners.PhoneFavoriteDragListener;
-import com.android.dialer.list.PhoneFavoriteDragAndDropListeners.PhoneFavoriteGestureListener;
-import com.android.dialer.list.PhoneFavoritesTileAdapter.ContactTileRow;
+import com.android.contacts.common.list.ContactEntry;
+
+import java.util.regex.Pattern;
 
 /**
  * Displays the contact's picture overlayed with their name
@@ -36,6 +36,10 @@
     private static final String TAG = PhoneFavoriteSquareTileView.class.getSimpleName();
     private ImageButton mSecondaryButton;
 
+    // TODO: Use a more expansive name token separator if needed. For now it should be fine to
+    // not split by dashes, underscore etc.
+    private static final Pattern NAME_TOKEN_SEPARATOR_PATTERN = Pattern.compile("\\s+");
+
     public PhoneFavoriteSquareTileView(Context context, AttributeSet attrs) {
         super(context, attrs);
     }
@@ -44,34 +48,7 @@
     protected void onFinishInflate() {
         super.onFinishInflate();
 
-        mFavoriteContactCard = findViewById(com.android.dialer.R.id.contact_tile_favorite_card);
-        mRemovalDialogue = findViewById(com.android.dialer.R.id.favorite_tile_remove_dialogue);
-        mUndoRemovalButton = findViewById(com.android.dialer.R.id.favorite_tile_remove_undo_button);
         mSecondaryButton = (ImageButton) findViewById(R.id.contact_tile_secondary_button);
-        mSecondaryButton.setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Intent intent = new Intent(Intent.ACTION_VIEW, getLookupUri());
-                // Secondary target will be visible only from phone's favorite screen, then
-                // we want to launch it as a separate People task.
-                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
-                getContext().startActivity(intent);
-            }
-        });
-
-        mGestureDetector = new GestureDetector(getContext(),
-                new PhoneFavoriteGestureListener(this));
-    }
-
-    @Override
-    protected void onAttachedToWindow() {
-        mParentRow = (ContactTileRow) getParent();
-        setOnDragListener(new PhoneFavoriteDragListener(mParentRow, mParentRow.getTileAdapter()));
-    }
-
-    @Override
-    protected boolean isDarkTheme() {
-        return false;
     }
 
     @Override
@@ -79,4 +56,42 @@
         // The picture is the full size of the tile (minus some padding, but we can be generous)
         return mListener.getApproximateTileWidth();
     }
+
+    private void launchQuickContact() {
+        QuickContact.showQuickContact(getContext(), PhoneFavoriteSquareTileView.this,
+                getLookupUri(), QuickContact.MODE_LARGE, null);
+    }
+
+    @Override
+    protected String getNameForView(String name) {
+        if (TextUtils.isEmpty(name)) return name;
+        final String[] tokens = NAME_TOKEN_SEPARATOR_PATTERN.split(name, 2);
+        if (tokens.length < 1) return name;
+        return tokens[0];
+    }
+
+    @Override
+    public void loadFromContact(ContactEntry entry) {
+        super.loadFromContact(entry);
+        if (entry != null) {
+            final boolean contactIsFavorite = entry.isFavorite;
+            mSecondaryButton.setVisibility(contactIsFavorite ? GONE : VISIBLE);
+
+            if (contactIsFavorite) {
+                mStarView.setOnClickListener(new OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        launchQuickContact();
+                    }
+                });
+            } else {
+                mSecondaryButton.setOnClickListener(new OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        launchQuickContact();
+                    }
+                });
+            }
+        }
+    }
 }
diff --git a/src/com/android/dialer/list/PhoneFavoriteTileView.java b/src/com/android/dialer/list/PhoneFavoriteTileView.java
index 8903e4b..371c805 100644
--- a/src/com/android/dialer/list/PhoneFavoriteTileView.java
+++ b/src/com/android/dialer/list/PhoneFavoriteTileView.java
@@ -16,8 +16,11 @@
  */
 package com.android.dialer.list;
 
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
 import android.animation.AnimatorSet;
 import android.animation.ObjectAnimator;
+import android.content.ClipData;
 import android.content.Context;
 import android.text.TextUtils;
 import android.util.AttributeSet;
@@ -25,11 +28,14 @@
 import android.view.GestureDetector;
 import android.view.MotionEvent;
 import android.view.View;
+import android.widget.ImageView;
 
 import com.android.contacts.common.MoreContactUtils;
 import com.android.contacts.common.list.ContactEntry;
 import com.android.contacts.common.list.ContactTileView;
+import com.android.dialer.R;
 import com.android.dialer.list.PhoneFavoritesTileAdapter.ContactTileRow;
+import com.android.dialer.list.PhoneFavoritesTileAdapter.ViewTypes;
 
 /**
  * A light version of the {@link com.android.contacts.common.list.ContactTileView} that is used in
@@ -44,27 +50,32 @@
     private static final boolean DEBUG = false;
 
     /** Length of all animations in miniseconds. */
-    private static final int ANIMATION_LENGTH = 300;
+    private int mAnimationDuration;
 
     /** The view that holds the front layer of the favorite contact card. */
-    protected View mFavoriteContactCard;
+    private View mFavoriteContactCard;
     /** The view that holds the background layer of the removal dialogue. */
-    protected View mRemovalDialogue;
+    private View mRemovalDialogue;
     /** Undo button for undoing favorite removal. */
-    protected View mUndoRemovalButton;
+    private View mUndoRemovalButton;
     /** The view that holds the list view row. */
     protected ContactTileRow mParentRow;
+    /** The view that indicates whether the contact is a favorate. */
+    protected ImageView mStarView;
 
     /** Users' most frequent phone number. */
     private String mPhoneNumberString;
 
     /** Custom gesture detector.*/
     protected GestureDetector mGestureDetector;
-    /** Indicator of whether a scroll has started. */
-    private boolean mInScroll;
+
+    // Dummy clip data object that is attached to drag shadows so that text views
+    // don't crash with an NPE if the drag shadow is released in their bounds
+    private static final ClipData EMPTY_CLIP_DATA = ClipData.newPlainText("", "");
 
     public PhoneFavoriteTileView(Context context, AttributeSet attrs) {
         super(context, attrs);
+        mAnimationDuration = context.getResources().getInteger(R.integer.fade_duration);
     }
 
     public ContactTileRow getParentRow() {
@@ -72,12 +83,51 @@
     }
 
     @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+        mFavoriteContactCard = findViewById(com.android.dialer.R.id.contact_favorite_card);
+        mRemovalDialogue = findViewById(com.android.dialer.R.id.favorite_remove_dialogue);
+        mUndoRemovalButton = findViewById(com.android.dialer.R.id
+                .favorite_remove_undo_button);
+        mStarView = (ImageView) findViewById(com.android.dialer.R.id.contact_favorite_star);
+
+        mUndoRemovalButton.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                undoRemove();
+            }
+        });
+
+        setOnLongClickListener(new OnLongClickListener() {
+            @Override
+            public boolean onLongClick(View v) {
+                final PhoneFavoriteTileView view = (PhoneFavoriteTileView) v;
+                // NOTE The drag shadow is handled in the ListView.
+                if (view instanceof PhoneFavoriteRegularRowView) {
+                    final ContactTileRow parent = view.getParentRow();
+                    // If the view is regular row, start drag the row view.
+                    // Drag is not available for the item exceeds the PIN_LIMIT.
+                    if (parent.getRegularRowItemIndex() < PhoneFavoritesTileAdapter.PIN_LIMIT) {
+                        parent.startDrag(EMPTY_CLIP_DATA, new View.DragShadowBuilder(), null, 0);
+                    }
+                } else {
+                    // If the view is a tile view, start drag the tile.
+                    view.startDrag(EMPTY_CLIP_DATA, new View.DragShadowBuilder(), null, 0);
+                }
+                return true;
+            }
+        });
+    }
+
+    @Override
     public void loadFromContact(ContactEntry entry) {
         super.loadFromContact(entry);
         mPhoneNumberString = null; // ... in case we're reusing the view
         if (entry != null) {
             // Grab the phone-number to call directly... see {@link onClick()}
             mPhoneNumberString = entry.phoneNumber;
+
+            mStarView.setVisibility(entry.isFavorite ? VISIBLE : GONE);
             // If this is a blank entry, don't show anything.
             // TODO krelease:Just hide the view for now. For this to truly look like an empty row
             // the entire ContactTileRow needs to be hidden.
@@ -89,74 +139,24 @@
         }
     }
 
-    /**
-     * Gets the latest scroll gesture offset.
-     */
-    public void setScrollOffset(float offset) {
-        // Sets the mInScroll variable to indicate a scroll is in progress.
-        if (!mInScroll) {
-            mInScroll = true;
-        }
+    public void displayRemovalDialog() {
+        mRemovalDialogue.setVisibility(VISIBLE);
+        mRemovalDialogue.setAlpha(0f);
+        final ObjectAnimator fadeIn = ObjectAnimator.ofFloat(mRemovalDialogue, "alpha",
+                1.f).setDuration(mAnimationDuration);
 
-        // Changes the view to follow user's scroll position.
-        shiftViewWithScroll(offset);
-    }
+        fadeIn.addListener(new AnimatorListenerAdapter() {
+            @Override
+            public void onAnimationStart(Animator animation) {
+                mParentRow.setHasTransientState(true);
+            };
 
-    /**
-     * Shifts the view to follow user's scroll position.
-     */
-    private void shiftViewWithScroll(float offset) {
-       if (mInScroll) {
-           // Shifts the foreground card to follow users' scroll gesture.
-           mFavoriteContactCard.setTranslationX(offset);
-
-           // Changes transparency of the foreground and background color
-           final float alpha = 1.f - Math.abs((offset)) / getWidth();
-           final float cappedAlpha = Math.min(Math.max(alpha, 0.f), 1.f);
-           mFavoriteContactCard.setAlpha(cappedAlpha);
-       }
-    }
-
-    /**
-     * Sets the scroll has finished.
-     *
-     * @param isUnfinishedFling True if it is triggered from the onFling method, but the fling was
-     * too short or too slow, or from the scroll that does not trigger fling.
-     */
-    public void setScrollEnd(boolean isUnfinishedFling) {
-        mInScroll = false;
-
-        if (isUnfinishedFling) {
-            // If the fling is too short or too slow, or it is from a scroll, bring back the
-            // favorite contact card.
-            final ObjectAnimator fadeIn = ObjectAnimator.ofFloat(mFavoriteContactCard, "alpha",
-                    1.f).setDuration(ANIMATION_LENGTH);
-            final ObjectAnimator moveBack = ObjectAnimator.ofFloat(mFavoriteContactCard,
-                    "translationX", 0.f).setDuration(ANIMATION_LENGTH);
-            final ObjectAnimator backgroundFadeOut = ObjectAnimator.ofInt(
-                    mParentRow.getBackground(), "alpha", 255).setDuration(ANIMATION_LENGTH);
-            final AnimatorSet animSet = new AnimatorSet();
-            animSet.playTogether(fadeIn, moveBack, backgroundFadeOut);
-            animSet.start();
-        } else {
-            // If the fling is fast and far enough, move away the favorite contact card, bring the
-            // favorite removal view to the foreground to ask user to confirm removal.
-            int animationLength = (int) ((1 - Math.abs(mFavoriteContactCard.getTranslationX()) /
-                    getWidth()) * ANIMATION_LENGTH);
-            animationLength = Math.max(0, animationLength);
-            final ObjectAnimator fadeOut = ObjectAnimator.ofFloat(mFavoriteContactCard, "alpha",
-                    0.f).setDuration(animationLength);
-            final ObjectAnimator moveAway = ObjectAnimator.ofFloat(mFavoriteContactCard,
-                    "translationX", getWidth()).setDuration(animationLength);
-            final ObjectAnimator backgroundFadeIn = ObjectAnimator.ofInt(
-                    mParentRow.getBackground(), "alpha", 0).setDuration(animationLength);
-            if (mFavoriteContactCard.getTranslationX() < 0) {
-                moveAway.setFloatValues(-getWidth());
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                mParentRow.setHasTransientState(false);
             }
-            final AnimatorSet animSet = new AnimatorSet();
-            animSet.playTogether(fadeOut, moveAway, backgroundFadeIn);
-            animSet.start();
-        }
+        });
+        fadeIn.start();
     }
 
     /**
@@ -169,32 +169,32 @@
 
         // Animates back the favorite contact card.
         final ObjectAnimator fadeIn = ObjectAnimator.ofFloat(mFavoriteContactCard, "alpha", 1.f).
-                setDuration(ANIMATION_LENGTH);
+                setDuration(mAnimationDuration);
         final ObjectAnimator moveBack = ObjectAnimator.ofFloat(mFavoriteContactCard, "translationX",
-                0.f).setDuration(ANIMATION_LENGTH);
-        final ObjectAnimator backgroundFadeOut = ObjectAnimator.ofInt(mParentRow.getBackground(),
-                "alpha", 255).setDuration(ANIMATION_LENGTH);
+                0.f).setDuration(mAnimationDuration);
+
         final AnimatorSet animSet = new AnimatorSet();
-        animSet.playTogether(fadeIn, moveBack, backgroundFadeOut);
-        animSet.start();
 
-        // Signals the PhoneFavoritesTileAdapter to undo the potential delete.
-        mParentRow.getTileAdapter().undoPotentialRemoveEntryIndex();
-    }
+        animSet.playTogether(fadeIn, moveBack);
 
-    /**
-     * Sets up the removal dialogue.
-     */
-    public void setupRemoveDialogue() {
-        mRemovalDialogue.setVisibility(VISIBLE);
-        mRemovalDialogue.setAlpha(1.0f);
-
-        mUndoRemovalButton.setOnClickListener(new OnClickListener() {
+        animSet.addListener(new AnimatorListenerAdapter() {
             @Override
-            public void onClick(View view) {
-                undoRemove();
+            public void onAnimationStart(Animator animation) {
+                mParentRow.setHasTransientState(true);
+            }
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                if (mParentRow.getItemViewType() == ViewTypes.FREQUENT) {
+                    SwipeHelper.setSwipeable(mParentRow, true);
+                } else {
+                    SwipeHelper.setSwipeable(PhoneFavoriteTileView.this, true);
+                }
+                mParentRow.setHasTransientState(false);
             }
         });
+        animSet.start();
+        // Signals the PhoneFavoritesTileAdapter to undo the potential delete.
+        mParentRow.getTileAdapter().undoPotentialRemoveEntryIndex();
     }
 
     /**
@@ -210,11 +210,22 @@
     }
 
     @Override
+    protected void onAttachedToWindow() {
+        mParentRow = (ContactTileRow) getParent();
+    }
+
+    @Override
+    protected boolean isDarkTheme() {
+        return false;
+    }
+
+    @Override
     protected OnClickListener createClickListener() {
         return new OnClickListener() {
             @Override
             public void onClick(View v) {
-                if (mListener == null) return;
+                // When the removal dialog is present, don't allow a click to call
+                if (mListener == null || mRemovalDialogue.isShown()) return;
                 if (TextUtils.isEmpty(mPhoneNumberString)) {
                     // Copy "superclass" implementation
                     mListener.onContactSelected(getLookupUri(), MoreContactUtils
@@ -230,34 +241,4 @@
             }
         };
     }
-
-    @Override
-    public boolean onTouchEvent(MotionEvent event) {
-        if (DEBUG) {
-            Log.v(TAG, event.toString());
-        }
-        switch (event.getAction()) {
-            // If the scroll has finished without triggering a fling, handles it here.
-            case MotionEvent.ACTION_UP:
-                setPressed(false);
-                if (mInScroll) {
-                    if (!mGestureDetector.onTouchEvent(event)) {
-                        setScrollEnd(true);
-                    }
-                    return true;
-                }
-                break;
-            // When user starts a new gesture, clean up the pending removals.
-            case MotionEvent.ACTION_DOWN:
-                mParentRow.getTileAdapter().removeContactEntry();
-                break;
-            // When user continues with a new gesture, cleans up all the temp variables.
-            case MotionEvent.ACTION_CANCEL:
-                mParentRow.getTileAdapter().cleanTempVariables();
-                break;
-            default:
-                break;
-        }
-        return mGestureDetector.onTouchEvent(event);
-    }
 }
diff --git a/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java b/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
index 614a0d3..e28fd73 100644
--- a/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
+++ b/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
@@ -21,13 +21,16 @@
 import android.content.Context;
 import android.content.res.Resources;
 import android.database.Cursor;
-import android.graphics.Rect;
 import android.net.Uri;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.PinnedPositions;
+import android.text.TextUtils;
 import android.util.Log;
+import android.util.LongSparseArray;
+import android.view.MotionEvent;
 import android.view.View;
+import android.view.ViewConfiguration;
 import android.view.ViewGroup;
 import android.widget.BaseAdapter;
 import android.widget.FrameLayout;
@@ -38,12 +41,15 @@
 import com.android.contacts.common.list.ContactEntry;
 import com.android.contacts.common.list.ContactTileAdapter.DisplayType;
 import com.android.contacts.common.list.ContactTileView;
+import com.android.dialer.list.SwipeHelper.OnItemGestureListener;
+import com.android.dialer.list.SwipeHelper.SwipeHelperCallback;
 import com.android.internal.annotations.VisibleForTesting;
 
 import com.google.common.collect.ComparisonChain;
 
 import java.util.ArrayList;
 import java.util.Comparator;
+import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.PriorityQueue;
@@ -54,20 +60,16 @@
  * This adapter has been rewritten to only support a maximum of one row for favorites.
  *
  */
-public class PhoneFavoritesTileAdapter extends BaseAdapter {
+public class PhoneFavoritesTileAdapter extends BaseAdapter implements
+        SwipeHelper.OnItemGestureListener, PhoneFavoriteListView.OnDragDropListener {
     private static final String TAG = PhoneFavoritesTileAdapter.class.getSimpleName();
     private static final boolean DEBUG = false;
 
     public static final int ROW_LIMIT_DEFAULT = 1;
 
-    /** Time period for an animation. */
-    private static final int ANIMATION_LENGTH = 300;
-
-    private final ObjectAnimator mTranslateHorizontalAnimation;
-    private final ObjectAnimator mTranslateVerticalAnimation;
-    private final ObjectAnimator mAlphaAnimation;
-
     private ContactTileView.Listener mListener;
+    private OnDataSetChangedForAnimationListener mDataSetChangedListener;
+
     private Context mContext;
     private Resources mResources;
 
@@ -79,8 +81,13 @@
     private int mDraggedEntryIndex = -1;
     /** New position of the temporarily removed contact in the cache. */
     private int mDropEntryIndex = -1;
+    /** New position of the temporarily entered contact in the cache. */
+    private int mDragEnteredEntryIndex = -1;
     /** Position of the contact pending removal. */
     private int mPotentialRemoveEntryIndex = -1;
+    private long mIdToKeepInPlace = -1;
+
+    private boolean mAwaitingRemove = false;
 
     private ContactPhotoManager mPhotoManager;
     protected int mNumFrequents;
@@ -97,21 +104,28 @@
     protected int mPresenceIndex;
     protected int mStatusIndex;
 
-    /**
-     * Only valid when {@link DisplayType#STREQUENT_PHONE_ONLY} is true
-     */
     private int mPhoneNumberIndex;
     private int mPhoneNumberTypeIndex;
     private int mPhoneNumberLabelIndex;
+    private int mIsDefaultNumberIndex;
     protected int mPinnedIndex;
-    protected int mContactIdForFrequentIndex;
+    protected int mContactIdIndex;
 
     private final int mPaddingInPixels;
 
     /** Indicates whether a drag is in process. */
     private boolean mInDragging = false;
 
-    private static final int PIN_LIMIT = 20;
+    public static final int PIN_LIMIT = 20;
+
+    /**
+     * The soft limit on how many contact tiles to show.
+     * NOTE This soft limit would not restrict the number of starred contacts to show, rather
+     * 1. If the count of starred contacts is less than this limit, show 20 tiles total.
+     * 2. If the count of starred contacts is more than or equal to this limit,
+     * show all starred tiles and no frequents.
+     */
+    private static final int TILES_SOFT_LIMIT = 20;
 
     final Comparator<ContactEntry> mContactEntryComparator = new Comparator<ContactEntry>() {
         @Override
@@ -123,13 +137,15 @@
         }
     };
 
-    public PhoneFavoritesTileAdapter(Context context, ContactTileView.Listener listener,
-            int numCols) {
-        this(context, listener, numCols, ROW_LIMIT_DEFAULT);
-    }
+    public interface OnDataSetChangedForAnimationListener {
+        public void onDataSetChangedForAnimation(long... idsInPlace);
+        public void cacheOffsetsForDatasetChange();
+    };
 
     public PhoneFavoritesTileAdapter(Context context, ContactTileView.Listener listener,
+            OnDataSetChangedForAnimationListener dataSetChangedListener,
             int numCols, int maxTiledRows) {
+        mDataSetChangedListener = dataSetChangedListener;
         mListener = listener;
         mContext = context;
         mResources = context.getResources();
@@ -141,15 +157,6 @@
         mPaddingInPixels = mContext.getResources()
                 .getDimensionPixelSize(R.dimen.contact_tile_divider_padding);
 
-        // Initiates all animations.
-        mAlphaAnimation = ObjectAnimator.ofFloat(null, "alpha", 1.f).setDuration(ANIMATION_LENGTH);
-
-        mTranslateHorizontalAnimation = ObjectAnimator.ofFloat(null, "translationX", 0.f).
-                setDuration(ANIMATION_LENGTH);
-
-        mTranslateVerticalAnimation = ObjectAnimator.ofFloat(null, "translationY", 0.f).setDuration(
-                ANIMATION_LENGTH);
-
         bindColumnIndices();
     }
 
@@ -195,8 +202,9 @@
         mPhoneNumberIndex = ContactTileLoaderFactory.PHONE_NUMBER;
         mPhoneNumberTypeIndex = ContactTileLoaderFactory.PHONE_NUMBER_TYPE;
         mPhoneNumberLabelIndex = ContactTileLoaderFactory.PHONE_NUMBER_LABEL;
+        mIsDefaultNumberIndex = ContactTileLoaderFactory.IS_DEFAULT_NUMBER;
         mPinnedIndex = ContactTileLoaderFactory.PINNED;
-        mContactIdForFrequentIndex = ContactTileLoaderFactory.CONTACT_ID_FOR_FREQUENT;
+        mContactIdIndex = ContactTileLoaderFactory.CONTACT_ID_FOR_DATA;
     }
 
     /**
@@ -218,11 +226,21 @@
     public void setContactCursor(Cursor cursor) {
         if (cursor != null && !cursor.isClosed()) {
             mNumStarred = getNumStarredContacts(cursor);
+            if (mAwaitingRemove) {
+                mDataSetChangedListener.cacheOffsetsForDatasetChange();
+            }
+
             saveNumFrequentsFromCursor(cursor);
             saveCursorToCache(cursor);
-
             // cause a refresh of any views that rely on this data
             notifyDataSetChanged();
+            // about to start redraw
+            if (mIdToKeepInPlace != -1) {
+                mDataSetChangedListener.onDataSetChangedForAnimation(mIdToKeepInPlace);
+            } else {
+                mDataSetChangedListener.onDataSetChangedForAnimation();
+            }
+            mIdToKeepInPlace = -1;
         }
     }
 
@@ -235,31 +253,53 @@
         mContactEntries.clear();
 
         cursor.moveToPosition(-1);
+
+        final LongSparseArray<Object> duplicates = new LongSparseArray<Object>(cursor.getCount());
+
+        // Track the length of {@link #mContactEntries} and compare to {@link #TILES_SOFT_LIMIT}.
+        int counter = 0;
+
         while (cursor.moveToNext()) {
-            final long id = cursor.getLong(mIdIndex);
+
+            final int starred = cursor.getInt(mStarredIndex);
+            final long id;
+
+            // We display a maximum of TILES_SOFT_LIMIT contacts, or the total number of starred
+            // whichever is greater.
+            if (starred < 1 && counter >= TILES_SOFT_LIMIT) {
+                break;
+            } else {
+                id = cursor.getLong(mContactIdIndex);
+            }
+
+            final ContactEntry existing = (ContactEntry) duplicates.get(id);
+            if (existing != null) {
+                // Check if the existing number is a default number. If not, clear the phone number
+                // and label fields so that the disambiguation dialog will show up.
+                if (!existing.isDefaultNumber) {
+                    existing.phoneLabel = null;
+                    existing.phoneNumber = null;
+                }
+                continue;
+            }
 
             final String photoUri = cursor.getString(mPhotoUriIndex);
             final String lookupKey = cursor.getString(mLookupIndex);
+            final int pinned = cursor.getInt(mPinnedIndex);
+            final String name = cursor.getString(mNameIndex);
+            final boolean isStarred = cursor.getInt(mStarredIndex) > 0;
+            final boolean isDefaultNumber = cursor.getInt(mIsDefaultNumberIndex) > 0;
 
             final ContactEntry contact = new ContactEntry();
 
-            final int pinned = cursor.getInt(mPinnedIndex);
-            final int starred = cursor.getInt(mStarredIndex);
-
-            final String name = cursor.getString(mNameIndex);
-
-            if (starred > 0) {
-                contact.id = id;
-            } else {
-                // The contact id for frequent contacts is stored in the .contact_id field rather
-                // than the _id field
-                contact.id = cursor.getLong(mContactIdForFrequentIndex);
-            }
-            contact.name = (name != null) ? name : mResources.getString(R.string.missing_name);
-            contact.status = cursor.getString(mStatusIndex);
+            contact.id = id;
+            contact.name = (!TextUtils.isEmpty(name)) ? name :
+                    mResources.getString(R.string.missing_name);
             contact.photoUri = (photoUri != null ? Uri.parse(photoUri) : null);
             contact.lookupKey = ContentUris.withAppendedId(
                     Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, lookupKey), id);
+            contact.isFavorite = isStarred;
+            contact.isDefaultNumber = isDefaultNumber;
 
             // Set phone number and label
             final int phoneNumberType = cursor.getInt(mPhoneNumberTypeIndex);
@@ -270,8 +310,14 @@
 
             contact.pinned = pinned;
             mContactEntries.add(contact);
+
+            duplicates.put(id, contact);
+
+            counter++;
         }
 
+        mAwaitingRemove = false;
+
         arrangeContactsByPinnedPosition(mContactEntries);
 
         notifyDataSetChanged();
@@ -346,7 +392,7 @@
         return mColumnCount * mMaxTiledRows;
     }
 
-    protected int getRowIndex(int entryIndex) {
+    public int getRowIndex(int entryIndex) {
         if (entryIndex < mMaxTiledRows * mColumnCount) {
             return entryIndex / mColumnCount;
         } else {
@@ -365,35 +411,74 @@
     @Override
     public ArrayList<ContactEntry> getItem(int position) {
         ArrayList<ContactEntry> resultList = new ArrayList<ContactEntry>(mColumnCount);
-        int contactIndex = position * mColumnCount;
-        final int maxContactsInTiles = getMaxContactsInTiles();
-        if (position < getRowCount(maxContactsInTiles)) {
-            // Contacts that appear as tiles
-            for (int columnCounter = 0; columnCounter < mColumnCount &&
-                    contactIndex != maxContactsInTiles; columnCounter++) {
-                resultList.add(getContactEntryFromCache(contactIndex));
-                contactIndex++;
-            }
+
+        final int entryIndex = getFirstContactEntryIndexForPosition(position);
+
+        final int viewType = getItemViewType(position);
+
+        final int columnCount;
+        if (viewType == ViewTypes.TOP) {
+            columnCount = mColumnCount;
         } else {
-            // Contacts that appear as rows
-            // The actual position of the contact in the cursor is simply total the number of
-            // tiled contacts + the given position
-            contactIndex = maxContactsInTiles + position - 1;
-            resultList.add(getContactEntryFromCache(contactIndex));
+            columnCount = 1;
+        }
+
+        for (int i = 0; i < columnCount; i++) {
+            final ContactEntry entry = getContactEntryFromCache(entryIndex + i);
+            if (entry == null) break; // less than mColumnCount contacts
+            resultList.add(entry);
         }
 
         return resultList;
     }
 
+    /*
+     * Given a position in the adapter, returns the index of the first contact entry that is to be
+     * in that row.
+     */
+    private int getFirstContactEntryIndexForPosition(int position) {
+        final int maxContactsInTiles = getMaxContactsInTiles();
+        if (position < getRowCount(maxContactsInTiles)) {
+            // Contacts that appear as tiles
+            return position * mColumnCount;
+        } else {
+            // Contacts that appear as rows
+            // The actual position of the contact in the cursor is simply total the number of
+            // tiled contacts + the given position
+            return maxContactsInTiles + position - mMaxTiledRows;
+        }
+    }
+
+    /**
+     * For the top row of tiled contacts, the item id is the position of the row of
+     * contacts.
+     * For frequent contacts, the item id is the maximum number of rows of tiled contacts +
+     * the actual contact id. Since contact ids are always greater than 0, this guarantees that
+     * all items within this adapter will always have unique ids.
+     */
     @Override
     public long getItemId(int position) {
-        // As we show several selectable items for each ListView row,
-        // we can not determine a stable id. But as we don't rely on ListView's selection,
-        // this should not be a problem.
-        return position;
+        if (getItemViewType(position) == ViewTypes.FREQUENT) {
+            return getAdjustedItemId(getItem(position).get(0).id);
+        } else {
+            return position;
+        }
+    }
+
+    /**
+     * Calculates the stable itemId for a particular entry based on its contactID
+     */
+    public long getAdjustedItemId(long id) {
+        return mMaxTiledRows + id;
     }
 
     @Override
+    public boolean hasStableIds() {
+        return true;
+    }
+
+    @Override
+
     public boolean areAllItemsEnabled() {
         // No dividers, so all items are enabled.
         return true;
@@ -401,7 +486,7 @@
 
     @Override
     public boolean isEnabled(int position) {
-        return true;
+        return getCount() > 0;
     }
 
     @Override
@@ -412,62 +497,19 @@
         super.notifyDataSetChanged();
     }
 
-    /**
-     * Configures the animation for each view.
-     *
-     * @param contactTileRowView The row to be animated.
-     * @param position The position of the row.
-     * @param itemViewType The type of the row.
-     */
-    private void configureAnimationToView(ContactTileRow contactTileRowView, int position,
-            int itemViewType) {
-        // No need to animate anything if we are just entering a drag, because the blank
-        // entry takes the place of the dragged entry anyway.
-        if (mInDragging) return;
-        if (mDropEntryIndex != -1) {
-            // If one item is dropped in front the row, animate all following rows to shift down.
-            // If the item is a favorite tile, animate it to appear from left.
-            if (position >= getRowIndex(mDropEntryIndex)) {
-                if (itemViewType == ViewTypes.FREQUENT) {
-                    if (position == getRowIndex(mDropEntryIndex) || position == mMaxTiledRows) {
-                        contactTileRowView.setVisibility(View.VISIBLE);
-                        mAlphaAnimation.setTarget(contactTileRowView);
-                        mAlphaAnimation.clone().start();
-                    } else {
-                        mTranslateVerticalAnimation.setTarget(contactTileRowView);
-                        mTranslateVerticalAnimation.setFloatValues(-contactTileRowView.getHeight(),
-                                0);
-                        mTranslateVerticalAnimation.clone().start();
-                    }
-                } else {
-                    contactTileRowView.animateTilesAppearRight(mDropEntryIndex + 1 -
-                            position * mColumnCount);
-                }
-            }
-        } else if (mPotentialRemoveEntryIndex != -1) {
-            // If one item is to be removed above this row, animate the row to shift up. If it is
-            // a favorite contact tile, animate it to appear from right.
-            if (position >= getRowIndex(mPotentialRemoveEntryIndex)) {
-                if (itemViewType == ViewTypes.FREQUENT) {
-                    mTranslateVerticalAnimation.setTarget(contactTileRowView);
-                    mTranslateVerticalAnimation.setFloatValues(contactTileRowView.getHeight(), 0);
-                    mTranslateVerticalAnimation.clone().start();
-                } else {
-                    contactTileRowView.animateTilesAppearLeft(
-                            mPotentialRemoveEntryIndex - position * mColumnCount);
-                }
-            }
-        }
-    }
-
     @Override
     public View getView(int position, View convertView, ViewGroup parent) {
         if (DEBUG) {
             Log.v(TAG, "get view for " + String.valueOf(position));
         }
+
         int itemViewType = getItemViewType(position);
 
-        ContactTileRow contactTileRowView  = (ContactTileRow) convertView;
+        ContactTileRow contactTileRowView = null;
+
+        if (convertView instanceof  ContactTileRow) {
+            contactTileRowView  = (ContactTileRow) convertView;
+        }
 
         ArrayList<ContactEntry> contactList = getItem(position);
 
@@ -478,8 +520,6 @@
 
         contactTileRowView.configureRow(contactList, position, position == getCount() - 1);
 
-        configureAnimationToView(contactTileRowView, position, itemViewType);
-
         return contactTileRowView;
     }
 
@@ -508,48 +548,68 @@
     }
 
     /**
-     * Returns the "frequent header" position. Only available when STREQUENT or
-     * STREQUENT_PHONE_ONLY is used for its display type.
-     *
-     * TODO krelease: We shouldn't need this method once we get rid of the frequent header
-     * in the merged adapter
-     */
-    public int getFrequentHeaderPosition() {
-        return getRowCount(mNumStarred);
-    }
-
-    /**
      * Temporarily removes a contact from the list for UI refresh. Stores data for this contact
      * in the back-up variable.
      *
      * @param index Position of the contact to be removed.
      */
     public void popContactEntry(int index) {
-        if (index >= 0 && index < mContactEntries.size()) {
+        if (isIndexInBound(index)) {
             mDraggedEntry = mContactEntries.get(index);
-            mContactEntries.set(index, ContactEntry.BLANK_ENTRY);
             mDraggedEntryIndex = index;
+            mDragEnteredEntryIndex = index;
+            markDropArea(mDragEnteredEntryIndex);
+        }
+    }
+
+    /**
+     * @param itemIndex Position of the contact in {@link #mContactEntries}.
+     * @return True if the given index is valid for {@link #mContactEntries}.
+     */
+    private boolean isIndexInBound(int itemIndex) {
+        return itemIndex >= 0 && itemIndex < mContactEntries.size();
+    }
+
+    /**
+     * Mark the tile as drop area by given the item index in {@link #mContactEntries}.
+     *
+     * @param itemIndex Position of the contact in {@link #mContactEntries}.
+     */
+    private void markDropArea(int itemIndex) {
+        if (isIndexInBound(mDragEnteredEntryIndex) && isIndexInBound(itemIndex)) {
+            mDataSetChangedListener.cacheOffsetsForDatasetChange();
+            // Remove the old placeholder item and place the new placeholder item.
+            final int oldIndex = mDragEnteredEntryIndex;
+            mContactEntries.remove(mDragEnteredEntryIndex);
+            mDragEnteredEntryIndex = itemIndex;
+            mContactEntries.add(mDragEnteredEntryIndex, ContactEntry.BLANK_ENTRY);
+            ContactEntry.BLANK_ENTRY.id = mDraggedEntry.id;
+            mDataSetChangedListener.onDataSetChangedForAnimation();
             notifyDataSetChanged();
         }
     }
 
     /**
      * Drops the temporarily removed contact to the desired location in the list.
-     *
-     * @param index Location where the contact will be dropped.
      */
-    public void dropContactEntry(int index) {
+    public void handleDrop() {
         boolean changed = false;
         if (mDraggedEntry != null) {
-            if (index >= 0 && index <= mContactEntries.size()) {
+            if (isIndexInBound(mDragEnteredEntryIndex) &&
+                    mDragEnteredEntryIndex != mDraggedEntryIndex) {
                 // Don't add the ContactEntry here (to prevent a double animation from occuring).
                 // When we receive a new cursor the list of contact entries will automatically be
                 // populated with the dragged ContactEntry at the correct spot.
-                mDropEntryIndex = index;
+                mDropEntryIndex = mDragEnteredEntryIndex;
+                mContactEntries.set(mDropEntryIndex, mDraggedEntry);
+                mIdToKeepInPlace = getAdjustedItemId(mDraggedEntry.id);
+                mDataSetChangedListener.cacheOffsetsForDatasetChange();
                 changed = true;
-            } else if (mDraggedEntryIndex >= 0 && mDraggedEntryIndex <= mContactEntries.size()) {
-                /** If the index is invalid, falls back to the original position of the contact. */
-                mContactEntries.set(mDraggedEntryIndex, mDraggedEntry);
+            } else if (isIndexInBound(mDraggedEntryIndex)) {
+                // If {@link #mDragEnteredEntryIndex} is invalid,
+                // falls back to the original position of the contact.
+                mContactEntries.remove(mDragEnteredEntryIndex);
+                mContactEntries.add(mDraggedEntryIndex, mDraggedEntry);
                 mDropEntryIndex = mDraggedEntryIndex;
                 notifyDataSetChanged();
             }
@@ -557,8 +617,7 @@
             if (changed && mDropEntryIndex < PIN_LIMIT) {
                 final ContentValues cv = getReflowedPinnedPositions(mContactEntries, mDraggedEntry,
                         mDraggedEntryIndex, mDropEntryIndex);
-                final Uri pinUri = PinnedPositions.UPDATE_URI.buildUpon().appendQueryParameter(
-                            PinnedPositions.STAR_WHEN_PINNING, "true").build();
+                final Uri pinUri = PinnedPositions.UPDATE_URI.buildUpon().build();
                 // update the database here with the new pinned positions
                 mContext.getContentResolver().update(pinUri, cv, null, null);
             }
@@ -571,7 +630,11 @@
      * contact back to where it was dragged from.
      */
     public void dropToUnsupportedView() {
-        dropContactEntry(-1);
+        if (isIndexInBound(mDragEnteredEntryIndex)) {
+            mContactEntries.remove(mDragEnteredEntryIndex);
+            mContactEntries.add(mDraggedEntryIndex, mDraggedEntry);
+            notifyDataSetChanged();
+        }
     }
 
     /**
@@ -589,13 +652,16 @@
      *
      * @return True is an item is removed. False is there is no item to be removed.
      */
-    public boolean removeContactEntry() {
-        if (mPotentialRemoveEntryIndex >= 0 && mPotentialRemoveEntryIndex < mContactEntries.size()) {
+    public boolean removePendingContactEntry() {
+        boolean removed = false;
+        if (isIndexInBound(mPotentialRemoveEntryIndex)) {
             final ContactEntry entry = mContactEntries.get(mPotentialRemoveEntryIndex);
             unstarAndUnpinContact(entry.lookupKey);
-            return true;
+            removed = true;
+            mAwaitingRemove = true;
         }
-        return false;
+        cleanTempVariables();
+        return removed;
     }
 
     /**
@@ -605,12 +671,17 @@
         mPotentialRemoveEntryIndex = -1;
     }
 
+    public boolean hasPotentialRemoveEntryIndex() {
+        return isIndexInBound(mPotentialRemoveEntryIndex);
+    }
+
     /**
      * Clears all temporary variables at a new interaction.
      */
     public void cleanTempVariables() {
         mDraggedEntryIndex = -1;
         mDropEntryIndex = -1;
+        mDragEnteredEntryIndex = -1;
         mDraggedEntry = null;
         mPotentialRemoveEntryIndex = -1;
     }
@@ -619,7 +690,9 @@
      * Acts as a row item composed of {@link ContactTileView}
      *
      */
-    public class ContactTileRow extends FrameLayout {
+    public class ContactTileRow extends FrameLayout implements SwipeHelperCallback {
+        public static final int CONTACT_ENTRY_INDEX_TAG = R.id.contact_entry_index_tag;
+
         private int mItemViewType;
         private int mLayoutResId;
         private final int mRowPaddingStart;
@@ -627,6 +700,8 @@
         private final int mRowPaddingTop;
         private final int mRowPaddingBottom;
         private int mPosition;
+        private SwipeHelper mSwipeHelper;
+        private OnItemGestureListener mOnItemSwipeListener;
 
         public ContactTileRow(Context context, int itemViewType, int position) {
             super(context);
@@ -635,22 +710,50 @@
             mPosition = position;
 
             final Resources resources = mContext.getResources();
-            mRowPaddingStart = resources.getDimensionPixelSize(
-                    R.dimen.favorites_row_start_padding);
-            mRowPaddingEnd = resources.getDimensionPixelSize(
-                    R.dimen.favorites_row_end_padding);
-            mRowPaddingTop = resources.getDimensionPixelSize(
-                    R.dimen.favorites_row_top_padding);
-            mRowPaddingBottom = resources.getDimensionPixelSize(
-                    R.dimen.favorites_row_bottom_padding);
 
-            setBackgroundResource(R.drawable.bottom_border_background);
+            if (mItemViewType == ViewTypes.TOP) {
+                // For tiled views, we still want padding to be set on the ContactTileRow.
+                // Otherwise the padding would be set around each of the tiles, which we don't want
+                mRowPaddingTop = resources.getDimensionPixelSize(
+                        R.dimen.favorites_row_top_padding);
+                mRowPaddingBottom = resources.getDimensionPixelSize(
+                        R.dimen.favorites_row_bottom_padding);
+                mRowPaddingStart = resources.getDimensionPixelSize(
+                        R.dimen.favorites_row_start_padding);
+                mRowPaddingEnd = resources.getDimensionPixelSize(
+                        R.dimen.favorites_row_end_padding);
+
+                setBackgroundResource(R.drawable.bottom_border_background);
+            } else {
+                // For row views, padding is set on the view itself.
+                mRowPaddingTop = 0;
+                mRowPaddingBottom = 0;
+                mRowPaddingStart = 0;
+                mRowPaddingEnd = 0;
+            }
 
             setPaddingRelative(mRowPaddingStart, mRowPaddingTop, mRowPaddingEnd,
                     mRowPaddingBottom);
 
             // Remove row (but not children) from accessibility node tree.
             setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
+
+            if (mItemViewType == ViewTypes.FREQUENT) {
+                // ListView handles swiping for this item
+                SwipeHelper.setSwipeable(this, true);
+            } else if (mItemViewType == ViewTypes.TOP) {
+                // The contact tile row has its own swipe helpers, that makes each individual
+                // tile swipeable.
+                final float densityScale = getResources().getDisplayMetrics().density;
+                final float pagingTouchSlop = ViewConfiguration.get(context)
+                        .getScaledPagingTouchSlop();
+                mSwipeHelper = new SwipeHelper(context, SwipeHelper.X, this, densityScale,
+                        pagingTouchSlop);
+                // Increase swipe thresholds for square tiles since they are relatively small.
+                mSwipeHelper.setChildSwipedFarEnoughFactor(0.9f);
+                mSwipeHelper.setChildSwipedFastEnoughFactor(0.1f);
+                mOnItemSwipeListener = PhoneFavoritesTileAdapter.this;
+            }
         }
 
         /**
@@ -666,8 +769,13 @@
                         columnCounter < list.size() ? list.get(columnCounter) : null;
                 addTileFromEntry(entry, columnCounter, isLastRow);
             }
-            setPressed(false);
-            getBackground().setAlpha(255);
+            if (columnCount == 1) {
+                if (list.get(0) == ContactEntry.BLANK_ENTRY) {
+                    setVisibility(View.INVISIBLE);
+                } else {
+                    setVisibility(View.VISIBLE);
+                }
+            }
         }
 
         private void addTileFromEntry(ContactEntry entry, int childIndex, boolean isLastRow) {
@@ -694,20 +802,29 @@
                 contactTile = (PhoneFavoriteTileView) getChildAt(childIndex);
             }
             contactTile.loadFromContact(entry);
-            contactTile.setId(childIndex);
+
+            int entryIndex = -1;
             switch (mItemViewType) {
                 case ViewTypes.TOP:
                     // Setting divider visibilities
                     contactTile.setPaddingRelative(0, 0,
                             childIndex >= mColumnCount - 1 ? 0 : mPaddingInPixels, 0);
+                    entryIndex = getFirstContactEntryIndexForPosition(mPosition) + childIndex;
+                    SwipeHelper.setSwipeable(contactTile, false);
                     break;
                 case ViewTypes.FREQUENT:
                     contactTile.setHorizontalDividerVisibility(
                             isLastRow ? View.GONE : View.VISIBLE);
+                    entryIndex = getFirstContactEntryIndexForPosition(mPosition);
+                    SwipeHelper.setSwipeable(this, true);
                     break;
                 default:
                     break;
             }
+            // tag the tile with the index of the contact entry it is associated with
+            if (entryIndex != -1) {
+                contactTile.setTag(CONTACT_ENTRY_INDEX_TAG, entryIndex);
+            }
             contactTile.setupFavoriteContactCard();
         }
 
@@ -733,7 +850,8 @@
 
                 // Note MeasuredWidth includes the padding.
                 final int childWidth = child.getMeasuredWidth();
-                child.layout(childLeft, 0, childLeft + childWidth, child.getMeasuredHeight());
+                child.layout(childLeft, getPaddingTop(), childLeft + childWidth,
+                        getPaddingTop() + child.getMeasuredHeight());
                 childLeft += childWidth;
             }
         }
@@ -801,18 +919,21 @@
          */
         public int getItemIndex(float itemX, float itemY) {
             if (mPosition < mMaxTiledRows) {
-                final Rect childRect = new Rect();
                 if (DEBUG) {
                     Log.v(TAG, String.valueOf(itemX) + " " + String.valueOf(itemY));
                 }
                 for (int i = 0; i < getChildCount(); ++i) {
                     /** If the row contains multiple tiles, checks each tile to see if the point
                      * is contained in the tile. */
-                    getChildAt(i).getHitRect(childRect);
-                    if (DEBUG) {
-                        Log.v(TAG, childRect.toString());
-                    }
-                    if (childRect.contains((int)itemX, (int)itemY)) {
+                    final View child = getChildAt(i);
+                    /** The coordinates passed in are based on the ListView,
+                     * translate for each child first */
+                    final int xInListView = child.getLeft() + getLeft();
+                    final int yInListView = child.getTop() + getTop();
+                    final int distanceX = (int) itemX - xInListView;
+                    final int distanceY = (int) itemY - yInListView;
+                    if ((distanceX > 0 && distanceX < child.getWidth()) &&
+                            (distanceY > 0 && distanceY < child.getHeight())) {
                         /** If the point is contained in the rectangle, computes the index of the
                          * item in the cached array. */
                         return i + (mPosition) * mColumnCount;
@@ -820,36 +941,124 @@
                 }
             } else {
                 /** If the selected item is one of the rows, compute the index. */
-                return (mPosition - mMaxTiledRows) + mColumnCount * mMaxTiledRows;
+                return getRegularRowItemIndex();
             }
             return -1;
         }
 
+        /**
+         * Gets the index of the regular row item.
+         *
+         * @return Index of the selected item in the cached array.
+         */
+        public int getRegularRowItemIndex() {
+            return (mPosition - mMaxTiledRows) + mColumnCount * mMaxTiledRows;
+        }
+
         public PhoneFavoritesTileAdapter getTileAdapter() {
             return PhoneFavoritesTileAdapter.this;
         }
 
-        public void animateTilesAppearLeft(int index) {
-            for (int i = index; i < getChildCount(); ++i) {
-                View childView = getChildAt(i);
-                mTranslateHorizontalAnimation.setTarget(childView);
-                mTranslateHorizontalAnimation.setFloatValues(childView.getWidth(), 0);
-                mTranslateHorizontalAnimation.clone().start();
-            }
-        }
-
-        public void animateTilesAppearRight(int index) {
-            for (int i = index; i < getChildCount(); ++i) {
-                View childView = getChildAt(i);
-                mTranslateHorizontalAnimation.setTarget(childView);
-                mTranslateHorizontalAnimation.setFloatValues(-childView.getWidth(), 0);
-                mTranslateHorizontalAnimation.clone().start();
-            }
-        }
-
         public int getPosition() {
             return mPosition;
         }
+
+        /**
+         * Find the view under the pointer.
+         */
+        public View getViewAtPosition(int x, int y) {
+            // find the view under the pointer, accounting for GONE views
+            final int count = getChildCount();
+            View view;
+            for (int childIdx = 0; childIdx < count; childIdx++) {
+                view = getChildAt(childIdx);
+                if (x >= view.getLeft() && x <= view.getRight()) {
+                    return view;
+                }
+            }
+            return null;
+        }
+
+        @Override
+        public View getChildAtPosition(MotionEvent ev) {
+            final View view = getViewAtPosition((int) ev.getX(), (int) ev.getY());
+            if (view != null &&
+                    SwipeHelper.isSwipeable(view) &&
+                    view.getVisibility() != GONE) {
+                // If this view is swipable, then return it. If not, because the removal
+                // dialog is currently showing, then return a null view, which will simply
+                // be ignored by the swipe helper.
+                return view;
+            }
+            return null;
+        }
+
+        @Override
+        public View getChildContentView(View v) {
+            return v.findViewById(R.id.contact_favorite_card);
+        }
+
+        @Override
+        public void onScroll() {}
+
+        @Override
+        public boolean canChildBeDismissed(View v) {
+            return true;
+        }
+
+        @Override
+        public void onBeginDrag(View v) {
+            removePendingContactEntry();
+            final int index = indexOfChild(v);
+
+            /*
+            if (index > 0) {
+                detachViewFromParent(index);
+                attachViewToParent(v, 0, v.getLayoutParams());
+            }*/
+
+            // We do this so the underlying ScrollView knows that it won't get
+            // the chance to intercept events anymore
+            requestDisallowInterceptTouchEvent(true);
+        }
+
+        @Override
+        public void onChildDismissed(View v) {
+            if (v != null) {
+                if (mOnItemSwipeListener != null) {
+                    mOnItemSwipeListener.onSwipe(v);
+                }
+            }
+        }
+
+        @Override
+        public void onDragCancelled(View v) {}
+
+        @Override
+        public boolean onInterceptTouchEvent(MotionEvent ev) {
+            if (mSwipeHelper != null && isSwipeEnabled()) {
+                return mSwipeHelper.onInterceptTouchEvent(ev) || super.onInterceptTouchEvent(ev);
+            } else {
+                return super.onInterceptTouchEvent(ev);
+            }
+        }
+
+        @Override
+        public boolean onTouchEvent(MotionEvent ev) {
+            if (mSwipeHelper != null && isSwipeEnabled()) {
+                return mSwipeHelper.onTouchEvent(ev) || super.onTouchEvent(ev);
+            } else {
+                return super.onTouchEvent(ev);
+            }
+        }
+
+        public int getItemViewType() {
+            return mItemViewType;
+        }
+
+        public void setOnItemSwipeListener(OnItemGestureListener listener) {
+            mOnItemSwipeListener = listener;
+        }
     }
 
     /**
@@ -939,40 +1148,66 @@
             ContactEntry entryToPin, int oldPos, int newPinPos) {
 
         final ContentValues cv = new ContentValues();
-
-        // Add the dragged contact at the user-requested spot.
-        cv.put(String.valueOf(entryToPin.id), newPinPos);
-
-        final int listSize = list.size();
-        if (oldPos < newPinPos && list.get(listSize - 1).pinned == (listSize - 1)) {
-            // The only time we should get here is it we are completely full - i.e. starting
-            // from the newly pinned contact to the end of the list, every single contact
-            // thereafter is pinned, and a contact is being shifted to the right by the user.
-            // Instead of trying to make room to the right, we should thus try to shift contacts
-            // to the left instead, working backwards through the list, starting from the contact
-            // which just got bumped.
-            for (int i = newPinPos; i >= 0; i--) {
-                final ContactEntry entry = list.get(i);
-                // Once we find an unpinned spot(or a blank entry), we can stop pushing contacts
-                // to the left.
-                if (entry.pinned > PIN_LIMIT) break;
-                cv.put(String.valueOf(entry.id), entry.pinned - 1);
-            }
-        } else {
-            // Shift any pinned contacts to the right as necessary, until an unpinned
-            // spot is found
-            for (int i = newPinPos; i < PIN_LIMIT && i < list.size(); i++) {
-                final ContactEntry entry = list.get(i);
-                if (entry.pinned > PIN_LIMIT) break;
-                cv.put(String.valueOf(entry.id), entry.pinned + 1);
-            }
+        final int lowerBound = Math.min(oldPos, newPinPos);
+        final int upperBound = Math.max(oldPos, newPinPos);
+        for (int i = lowerBound; i <= upperBound; i++) {
+            final ContactEntry entry = list.get(i);
+            if (entry.pinned == i) continue;
+            cv.put(String.valueOf(entry.id), i);
         }
         return cv;
     }
 
     protected static class ViewTypes {
-        public static final int COUNT = 2;
         public static final int FREQUENT = 0;
         public static final int TOP = 1;
+        public static final int COUNT = 2;
+    }
+
+    @Override
+    public void onSwipe(View view) {
+        final PhoneFavoriteTileView tileView = (PhoneFavoriteTileView) view.findViewById(
+                R.id.contact_tile);
+        // When the view is in the removal dialog, it should no longer be swipeable
+        SwipeHelper.setSwipeable(view, false);
+        tileView.displayRemovalDialog();
+
+        final Integer entryIndex = (Integer) tileView.getTag(
+                ContactTileRow.CONTACT_ENTRY_INDEX_TAG);
+
+        setPotentialRemoveEntryIndex(entryIndex);
+    }
+
+    @Override
+    public void onTouch() {
+        removePendingContactEntry();
+        return;
+    }
+
+    @Override
+    public boolean isSwipeEnabled() {
+        return !mAwaitingRemove;
+    }
+
+    @Override
+    public void onDragStarted(int itemIndex) {
+        setInDragging(true);
+        popContactEntry(itemIndex);
+    }
+
+    @Override
+    public void onDragHovered(int itemIndex) {
+        if (mInDragging &&
+                mDragEnteredEntryIndex != itemIndex &&
+                isIndexInBound(itemIndex) &&
+                itemIndex < PIN_LIMIT) {
+            markDropArea(itemIndex);
+        }
+    }
+
+    @Override
+    public void onDragFinished() {
+        setInDragging(false);
+        handleDrop();
     }
 }
diff --git a/src/com/android/dialer/list/RegularSearchFragment.java b/src/com/android/dialer/list/RegularSearchFragment.java
new file mode 100644
index 0000000..9f4e6be
--- /dev/null
+++ b/src/com/android/dialer/list/RegularSearchFragment.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.dialer.list;
+
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+
+import com.android.contacts.common.list.ContactEntryListAdapter;
+import com.android.contacts.common.list.PinnedHeaderListView;
+import com.android.dialerbind.ObjectFactory;
+import com.android.dialer.service.CachedNumberLookupService;
+
+public class RegularSearchFragment extends SearchFragment {
+
+    private static final int SEARCH_DIRECTORY_RESULT_LIMIT = 5;
+
+    private static final CachedNumberLookupService mCachedNumberLookupService =
+        ObjectFactory.newCachedNumberLookupService();
+
+    public RegularSearchFragment() {
+        configureDirectorySearch();
+    }
+
+    public void configureDirectorySearch() {
+        setDirectorySearchEnabled(true);
+        setDirectoryResultLimit(SEARCH_DIRECTORY_RESULT_LIMIT);
+    }
+
+    @Override
+    protected void onCreateView(LayoutInflater inflater, ViewGroup container) {
+        super.onCreateView(inflater, container);
+        ((PinnedHeaderListView) getListView()).setScrollToSectionOnHeaderTouch(true);
+    }
+
+    protected ContactEntryListAdapter createListAdapter() {
+        RegularSearchListAdapter adapter = new RegularSearchListAdapter(getActivity());
+        adapter.setDisplayPhotos(true);
+        adapter.setUseCallableUri(usesCallableUri());
+        return adapter;
+    }
+
+    @Override
+    protected void cacheContactInfo(int position) {
+        if (mCachedNumberLookupService != null) {
+            final RegularSearchListAdapter adapter =
+                (RegularSearchListAdapter) getAdapter();
+            mCachedNumberLookupService.addContact(getContext(),
+                    adapter.getContactInfo(mCachedNumberLookupService, position));
+        }
+    }
+}
diff --git a/src/com/android/dialer/list/RegularSearchListAdapter.java b/src/com/android/dialer/list/RegularSearchListAdapter.java
new file mode 100644
index 0000000..d0617b7
--- /dev/null
+++ b/src/com/android/dialer/list/RegularSearchListAdapter.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.dialer.list;
+
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.ContactsContract;
+import android.text.TextUtils;
+
+import com.android.contacts.common.list.DirectoryPartition;
+import com.android.contacts.common.list.PhoneNumberListAdapter;
+import com.android.dialer.calllog.ContactInfo;
+import com.android.dialer.service.CachedNumberLookupService;
+import com.android.dialer.service.CachedNumberLookupService.CachedContactInfo;
+
+/**
+ * List adapter to display regular search results.
+ */
+public class RegularSearchListAdapter extends DialerPhoneNumberListAdapter {
+
+    public RegularSearchListAdapter(Context context) {
+        super(context);
+    }
+
+    public CachedContactInfo getContactInfo(
+            CachedNumberLookupService lookupService, int position) {
+        ContactInfo info = new ContactInfo();
+        CachedContactInfo cacheInfo = lookupService.buildCachedContactInfo(info);
+        final Cursor item = (Cursor) getItem(position);
+        if (item != null) {
+            info.name = item.getString(PhoneQuery.DISPLAY_NAME);
+            info.type = item.getInt(PhoneQuery.PHONE_TYPE);
+            info.label = item.getString(PhoneQuery.PHONE_LABEL);
+            info.number = item.getString(PhoneQuery.PHONE_NUMBER);
+            final String photoUriStr = item.getString(PhoneQuery.PHOTO_URI);
+            info.photoUri = photoUriStr == null ? null : Uri.parse(photoUriStr);
+
+            cacheInfo.setLookupKey(item.getString(PhoneQuery.LOOKUP_KEY));
+
+            final int partitionIndex = getPartitionForPosition(position);
+            final DirectoryPartition partition =
+                (DirectoryPartition) getPartition(partitionIndex);
+            final long directoryId = partition.getDirectoryId();
+            final String sourceName = partition.getLabel();
+            if (isExtendedDirectory(directoryId)) {
+                cacheInfo.setExtendedSource(sourceName, directoryId);
+            } else {
+                cacheInfo.setDirectorySource(sourceName, directoryId);
+            }
+        }
+        return cacheInfo;
+    }
+
+    @Override
+    public void setQueryString(String queryString) {
+        final boolean showNumberShortcuts = !TextUtils.isEmpty(getFormattedQueryString());
+        setShortcutEnabled(SHORTCUT_DIRECT_CALL, showNumberShortcuts);
+        // Either one of the add contacts options should be enabled. If the user entered
+        // a dialable number, then clicking add to contact should add it as a number.
+        // Otherwise, it should add it to a new contact as a name.
+        setShortcutEnabled(SHORTCUT_ADD_NUMBER_TO_CONTACTS, showNumberShortcuts);
+        super.setQueryString(queryString);
+    }
+}
diff --git a/src/com/android/dialer/list/SearchFragment.java b/src/com/android/dialer/list/SearchFragment.java
new file mode 100644
index 0000000..006729b
--- /dev/null
+++ b/src/com/android/dialer/list/SearchFragment.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.dialer.list;
+
+import android.app.Activity;
+import android.content.ActivityNotFoundException;
+import android.content.Intent;
+import android.widget.AbsListView;
+import android.widget.AbsListView.OnScrollListener;
+import android.widget.Toast;
+
+import com.android.contacts.common.list.ContactEntryListAdapter;
+import com.android.contacts.common.list.ContactListItemView;
+import com.android.contacts.common.list.OnPhoneNumberPickerActionListener;
+import com.android.contacts.common.list.PhoneNumberPickerFragment;
+import com.android.dialer.DialtactsActivity;
+import com.android.dialer.R;
+import com.android.dialer.dialpad.DialpadFragment;
+import com.android.dialer.list.OnListFragmentScrolledListener;
+
+public class SearchFragment extends PhoneNumberPickerFragment {
+
+    private OnListFragmentScrolledListener mActivityScrollListener;
+
+    @Override
+    public void onAttach(Activity activity) {
+        super.onAttach(activity);
+
+        setQuickContactEnabled(true);
+        setDarkTheme(false);
+        setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(true /* opposite */));
+        setUseCallableUri(true);
+
+        try {
+            mActivityScrollListener = (OnListFragmentScrolledListener) activity;
+        } catch (ClassCastException e) {
+            throw new ClassCastException(activity.toString()
+                    + " must implement OnListFragmentScrolledListener");
+        }
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        if (isSearchMode()) {
+            getAdapter().setHasHeader(0, false);
+        }
+        getListView().setOnScrollListener(new OnScrollListener() {
+            @Override
+            public void onScrollStateChanged(AbsListView view, int scrollState) {
+                mActivityScrollListener.onListFragmentScrollStateChange(scrollState);
+            }
+
+            @Override
+            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount,
+                    int totalItemCount) {
+            }
+        });
+    }
+
+    @Override
+    protected void setSearchMode(boolean flag) {
+        super.setSearchMode(flag);
+        // This hides the "All contacts with phone numbers" header in the search fragment
+        final ContactEntryListAdapter adapter = getAdapter();
+        if (adapter != null) {
+            adapter.setHasHeader(0, false);
+        }
+    }
+
+    @Override
+    protected ContactEntryListAdapter createListAdapter() {
+        DialerPhoneNumberListAdapter adapter = new DialerPhoneNumberListAdapter(getActivity());
+        adapter.setDisplayPhotos(true);
+        adapter.setUseCallableUri(super.usesCallableUri());
+        return adapter;
+    }
+
+    @Override
+    protected void onItemClick(int position, long id) {
+        final DialerPhoneNumberListAdapter adapter = (DialerPhoneNumberListAdapter) getAdapter();
+        final int shortcutType = adapter.getShortcutTypeFromPosition(position);
+
+        if (shortcutType == DialerPhoneNumberListAdapter.SHORTCUT_INVALID) {
+            super.onItemClick(position, id);
+        } else if (shortcutType == DialerPhoneNumberListAdapter.SHORTCUT_DIRECT_CALL) {
+            final OnPhoneNumberPickerActionListener listener =
+                    getOnPhoneNumberPickerListener();
+            if (listener != null) {
+                listener.onCallNumberDirectly(getQueryString());
+            }
+        } else if (shortcutType == DialerPhoneNumberListAdapter.SHORTCUT_ADD_NUMBER_TO_CONTACTS) {
+            final String number = adapter.getFormattedQueryString();
+            final Intent intent = DialtactsActivity.getAddNumberToContactIntent(number);
+            startActivityWithErrorToast(intent);
+        }
+    }
+
+    private void startActivityWithErrorToast(Intent intent) {
+        try {
+            startActivity(intent);
+        } catch (ActivityNotFoundException e) {
+            Toast toast = Toast.makeText(getActivity(), R.string.add_contact_not_available,
+                    Toast.LENGTH_SHORT);
+            toast.show();
+        }
+    }
+}
diff --git a/src/com/android/dialer/list/ShowAllContactsFragment.java b/src/com/android/dialer/list/ShowAllContactsFragment.java
deleted file mode 100644
index 85806b6..0000000
--- a/src/com/android/dialer/list/ShowAllContactsFragment.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dialer.list;
-
-import android.app.ActionBar;
-import android.app.Activity;
-import android.os.Bundle;
-import android.text.Spannable;
-import android.text.SpannableString;
-import android.text.style.TypefaceSpan;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import com.android.contacts.common.list.ContactListItemView;
-import com.android.contacts.common.list.PhoneNumberPickerFragment;
-import com.android.dialer.R;
-
-// TODO{klp}: Wrap this fragment with an activity.
-/**
- * Fragments to show all contacts with phone numbers.
- */
-public class ShowAllContactsFragment extends PhoneNumberPickerFragment{
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-    }
-
-    @Override
-    public void onAttach(Activity activity) {
-        super.onAttach(activity);
-
-        // Customizes the listview according to the dialer specifics.
-        setQuickContactEnabled(true);
-        setDarkTheme(false);
-        setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(true /* opposite */));
-        setUseCallableUri(true);
-    }
-
-    @Override
-    public void onStart() {
-        // Displays action bar for quick navigation.
-        final ActionBar actionBar = getActivity().getActionBar();
-        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
-        actionBar.setDisplayShowHomeEnabled(true);
-        actionBar.setDisplayHomeAsUpEnabled(true);
-        actionBar.setDisplayShowTitleEnabled(true);
-
-        final SpannableString s = new SpannableString(getString(R.string.show_all_contacts_title));
-        s.setSpan(new TypefaceSpan(getString(R.string.show_all_contacts_title)), 0,
-                s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
-        actionBar.setTitle(s);
-
-        super.onStart();
-    }
-
-    @Override
-    public void onHiddenChanged(boolean hidden) {
-        // Hides the action bar as it is hidden in the main activity
-        if (getActivity() != null) {
-            if (hidden) {
-                getActivity().getActionBar().hide();
-            } else {
-                getActivity().getActionBar().show();
-            }
-        }
-    }
-
-    @Override
-    protected View inflateView(LayoutInflater inflater, ViewGroup container) {
-        return inflater.inflate(R.layout.show_all_contacts_fragment, null);
-    }
-}
diff --git a/src/com/android/dialer/list/SmartDialNumberListAdapter.java b/src/com/android/dialer/list/SmartDialNumberListAdapter.java
index c5ce59a..962d8ee 100644
--- a/src/com/android/dialer/list/SmartDialNumberListAdapter.java
+++ b/src/com/android/dialer/list/SmartDialNumberListAdapter.java
@@ -37,7 +37,7 @@
 /**
  * List adapter to display the SmartDial search results.
  */
-public class SmartDialNumberListAdapter extends PhoneNumberListAdapter{
+public class SmartDialNumberListAdapter extends DialerPhoneNumberListAdapter {
 
     private static final String TAG = SmartDialNumberListAdapter.class.getSimpleName();
     private static final boolean DEBUG = false;
diff --git a/src/com/android/dialer/list/SmartDialSearchFragment.java b/src/com/android/dialer/list/SmartDialSearchFragment.java
index 3c1e513..0efe918 100644
--- a/src/com/android/dialer/list/SmartDialSearchFragment.java
+++ b/src/com/android/dialer/list/SmartDialSearchFragment.java
@@ -15,62 +15,21 @@
  */
 package com.android.dialer.list;
 
-import android.app.Activity;
 import android.content.Loader;
 import android.database.Cursor;
 import android.net.Uri;
 import android.os.Bundle;
-import android.provider.ContactsContract.Directory;
 import android.util.Log;
-import android.widget.AbsListView;
-import android.widget.AbsListView.OnScrollListener;
 
 import com.android.contacts.common.list.ContactEntryListAdapter;
-import com.android.contacts.common.list.ContactListItemView;
-import com.android.contacts.common.list.PhoneNumberPickerFragment;
 import com.android.dialer.dialpad.SmartDialCursorLoader;
 
 /**
  * Implements a fragment to load and display SmartDial search results.
  */
-public class SmartDialSearchFragment extends PhoneNumberPickerFragment {
+public class SmartDialSearchFragment extends SearchFragment {
     private static final String TAG = SmartDialSearchFragment.class.getSimpleName();
 
-    private OnListFragmentScrolledListener mActivityScrollListener;
-
-    @Override
-    public void onAttach(Activity activity) {
-        super.onAttach(activity);
-
-        setQuickContactEnabled(true);
-        setDarkTheme(false);
-        setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(true /* opposite */));
-        setUseCallableUri(true);
-
-        try {
-            mActivityScrollListener = (OnListFragmentScrolledListener) activity;
-        } catch (ClassCastException e) {
-            throw new ClassCastException(activity.toString()
-                    + " must implement OnListFragmentScrolledListener");
-        }
-    }
-
-    @Override
-    public void onStart() {
-        super.onStart();
-        getListView().setOnScrollListener(new OnScrollListener() {
-            @Override
-            public void onScrollStateChanged(AbsListView view, int scrollState) {
-                mActivityScrollListener.onListFragmentScrollStateChange(scrollState);
-            }
-
-            @Override
-            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount,
-                    int totalItemCount) {
-            }
-        });
-    }
-
     /**
      * Creates a SmartDialListAdapter to display and operate on search results.
      */
@@ -79,6 +38,9 @@
         SmartDialNumberListAdapter adapter = new SmartDialNumberListAdapter(getActivity());
         adapter.setUseCallableUri(super.usesCallableUri());
         adapter.setQuickContactEnabled(true);
+        // Disable the direct call shortcut for the smart dial fragment, since the call button
+        // will already be showing anyway.
+        adapter.setShortcutEnabled(SmartDialNumberListAdapter.SHORTCUT_DIRECT_CALL, false);
         return adapter;
     }
 
@@ -89,10 +51,8 @@
     public Loader<Cursor> onCreateLoader(int id, Bundle args) {
         // Smart dialing does not support Directory Load, falls back to normal search instead.
         if (id == getDirectoryLoaderId()) {
-            Log.v(TAG, "Directory load");
             return super.onCreateLoader(id, args);
         } else {
-            Log.v(TAG, "Creating loader");
             final SmartDialNumberListAdapter adapter = (SmartDialNumberListAdapter) getAdapter();
             SmartDialCursorLoader loader = new SmartDialCursorLoader(super.getContext());
             adapter.configureLoader(loader);
@@ -110,11 +70,4 @@
         final SmartDialNumberListAdapter adapter = (SmartDialNumberListAdapter) getAdapter();
         return adapter.getDataUri(position);
     }
-
-    @Override
-    protected void setSearchMode(boolean flag) {
-        super.setSearchMode(flag);
-        // This hides the "All contacts with phone numbers" header in the search fragment
-        getAdapter().setHasHeader(0, false);
-    }
 }
diff --git a/src/com/android/dialer/list/SwipeHelper.java b/src/com/android/dialer/list/SwipeHelper.java
new file mode 100644
index 0000000..03300df4
--- /dev/null
+++ b/src/com/android/dialer/list/SwipeHelper.java
@@ -0,0 +1,470 @@
+/*
+ * Copyright (C) 2012 Google Inc.
+ * Licensed to 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.dialer.list;
+
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.ObjectAnimator;
+import android.animation.ValueAnimator;
+import android.animation.ValueAnimator.AnimatorUpdateListener;
+import android.content.Context;
+import android.content.res.Resources;
+import android.graphics.RectF;
+import android.util.Log;
+import android.view.MotionEvent;
+import android.view.VelocityTracker;
+import android.view.View;
+import android.view.animation.LinearInterpolator;
+
+import com.android.dialer.R;
+
+/**
+ * Copy of packages/apps/UnifiedEmail - com.android.mail.ui.SwipeHelper with changes.
+ */
+public class SwipeHelper {
+    static final String TAG = SwipeHelper.class.getSimpleName();
+    private static final boolean DEBUG_INVALIDATE = false;
+    private static final boolean CONSTRAIN_SWIPE = true;
+    private static final boolean FADE_OUT_DURING_SWIPE = true;
+    private static final boolean DISMISS_IF_SWIPED_FAR_ENOUGH = true;
+    private static final boolean LOG_SWIPE_DISMISS_VELOCITY = false; // STOPSHIP - DEBUG ONLY
+
+    public static final int IS_SWIPEABLE_TAG = R.id.is_swipeable_tag;
+    public static final Object IS_SWIPEABLE = new Object();
+
+    public static final int X = 0;
+    public static final int Y = 1;
+
+    private static LinearInterpolator sLinearInterpolator = new LinearInterpolator();
+
+    private static int SWIPE_ESCAPE_VELOCITY = -1;
+    private static int DEFAULT_ESCAPE_ANIMATION_DURATION;
+    private static int MAX_ESCAPE_ANIMATION_DURATION;
+    private static int MAX_DISMISS_VELOCITY;
+    private static int SNAP_ANIM_LEN;
+    private static int SWIPE_SCROLL_SLOP;
+    private static float MIN_SWIPE;
+    private static float MIN_VERT;
+    private static float MIN_LOCK;
+
+    public static float ALPHA_FADE_START = 0f; // fraction of thumbnail width
+                                               // where fade starts
+    static final float ALPHA_FADE_END = 0.7f; // fraction of thumbnail width
+                                              // beyond which alpha->0
+    private static final float FACTOR = 1.2f;
+
+    private static final int PROTECTION_PADDING = 50;
+
+    private float mMinAlpha = 0.3f;
+
+    private float mPagingTouchSlop;
+    private final SwipeHelperCallback mCallback;
+    private final int mSwipeDirection;
+    private final VelocityTracker mVelocityTracker;
+
+    private float mInitialTouchPosX;
+    private boolean mDragging;
+    private View mCurrView;
+    private View mCurrAnimView;
+    private boolean mCanCurrViewBeDimissed;
+    private float mDensityScale;
+    private float mLastY;
+    private float mInitialTouchPosY;
+
+    private float mStartAlpha;
+    private boolean mProtected = false;
+
+    private float mChildSwipedFarEnoughFactor = 0.4f;
+    private float mChildSwipedFastEnoughFactor = 0.05f;
+
+    public SwipeHelper(Context context, int swipeDirection, SwipeHelperCallback callback, float densityScale,
+            float pagingTouchSlop) {
+        mCallback = callback;
+        mSwipeDirection = swipeDirection;
+        mVelocityTracker = VelocityTracker.obtain();
+        mDensityScale = densityScale;
+        mPagingTouchSlop = pagingTouchSlop;
+        if (SWIPE_ESCAPE_VELOCITY == -1) {
+            Resources res = context.getResources();
+            SWIPE_ESCAPE_VELOCITY = res.getInteger(R.integer.swipe_escape_velocity);
+            DEFAULT_ESCAPE_ANIMATION_DURATION = res.getInteger(R.integer.escape_animation_duration);
+            MAX_ESCAPE_ANIMATION_DURATION = res.getInteger(R.integer.max_escape_animation_duration);
+            MAX_DISMISS_VELOCITY = res.getInteger(R.integer.max_dismiss_velocity);
+            SNAP_ANIM_LEN = res.getInteger(R.integer.snap_animation_duration);
+            SWIPE_SCROLL_SLOP = res.getInteger(R.integer.swipe_scroll_slop);
+            MIN_SWIPE = res.getDimension(R.dimen.min_swipe);
+            MIN_VERT = res.getDimension(R.dimen.min_vert);
+            MIN_LOCK = res.getDimension(R.dimen.min_lock);
+        }
+    }
+
+    public void setDensityScale(float densityScale) {
+        mDensityScale = densityScale;
+    }
+
+    public void setPagingTouchSlop(float pagingTouchSlop) {
+        mPagingTouchSlop = pagingTouchSlop;
+    }
+
+    public void setChildSwipedFarEnoughFactor(float factor) {
+        mChildSwipedFarEnoughFactor = factor;
+    }
+
+    public void setChildSwipedFastEnoughFactor(float factor) {
+        mChildSwipedFastEnoughFactor = factor;
+    }
+
+    private float getVelocity(VelocityTracker vt) {
+        return mSwipeDirection == X ? vt.getXVelocity() :
+                vt.getYVelocity();
+    }
+
+    private ObjectAnimator createTranslationAnimation(View v, float newPos) {
+        ObjectAnimator anim = ObjectAnimator.ofFloat(v,
+                mSwipeDirection == X ? "translationX" : "translationY", newPos);
+        return anim;
+    }
+
+    private ObjectAnimator createDismissAnimation(View v, float newPos, int duration) {
+        ObjectAnimator anim = createTranslationAnimation(v, newPos);
+        anim.setInterpolator(sLinearInterpolator);
+        anim.setDuration(duration);
+        return anim;
+    }
+
+    private float getPerpendicularVelocity(VelocityTracker vt) {
+        return mSwipeDirection == X ? vt.getYVelocity() :
+                vt.getXVelocity();
+    }
+
+    private void setTranslation(View v, float translate) {
+        if (mSwipeDirection == X) {
+            v.setTranslationX(translate);
+        } else {
+            v.setTranslationY(translate);
+        }
+    }
+
+    private float getSize(View v) {
+        return mSwipeDirection == X ? v.getMeasuredWidth() :
+                v.getMeasuredHeight();
+    }
+
+    public void setMinAlpha(float minAlpha) {
+        mMinAlpha = minAlpha;
+    }
+
+    private float getAlphaForOffset(View view) {
+        float viewSize = getSize(view);
+        final float fadeSize = ALPHA_FADE_END * viewSize;
+        float result = mStartAlpha;
+        float pos = view.getTranslationX();
+        if (pos >= viewSize * ALPHA_FADE_START) {
+            result = mStartAlpha - (pos - viewSize * ALPHA_FADE_START) / fadeSize;
+        } else if (pos < viewSize * (mStartAlpha - ALPHA_FADE_START)) {
+            result = mStartAlpha + (viewSize * ALPHA_FADE_START + pos) / fadeSize;
+        }
+        return Math.max(mMinAlpha, result);
+    }
+
+    // invalidate the view's own bounds all the way up the view hierarchy
+    public static void invalidateGlobalRegion(View view) {
+        invalidateGlobalRegion(
+                view,
+                new RectF(view.getLeft(), view.getTop(), view.getRight(), view.getBottom()));
+    }
+
+    // invalidate a rectangle relative to the view's coordinate system all the way up the view
+    // hierarchy
+    public static void invalidateGlobalRegion(View view, RectF childBounds) {
+        // childBounds.offset(view.getTranslationX(), view.getTranslationY());
+        if (DEBUG_INVALIDATE)
+            Log.v(TAG, "-------------");
+        while (view.getParent() != null && view.getParent() instanceof View) {
+            view = (View) view.getParent();
+            view.getMatrix().mapRect(childBounds);
+            view.invalidate((int) Math.floor(childBounds.left),
+                    (int) Math.floor(childBounds.top),
+                    (int) Math.ceil(childBounds.right),
+                    (int) Math.ceil(childBounds.bottom));
+            if (DEBUG_INVALIDATE) {
+                Log.v(TAG, "INVALIDATE(" + (int) Math.floor(childBounds.left)
+                        + "," + (int) Math.floor(childBounds.top)
+                        + "," + (int) Math.ceil(childBounds.right)
+                        + "," + (int) Math.ceil(childBounds.bottom));
+            }
+        }
+    }
+
+    public boolean onInterceptTouchEvent(MotionEvent ev) {
+        final int action = ev.getAction();
+        switch (action) {
+            case MotionEvent.ACTION_DOWN:
+                mLastY = ev.getY();
+                mDragging = false;
+                mCurrView = mCallback.getChildAtPosition(ev);
+                mVelocityTracker.clear();
+                if (mCurrView != null) {
+                    mCurrAnimView = mCallback.getChildContentView(mCurrView);
+                    mStartAlpha = mCurrAnimView.getAlpha();
+                    mCanCurrViewBeDimissed = mCallback.canChildBeDismissed(mCurrView);
+                    mVelocityTracker.addMovement(ev);
+                    mInitialTouchPosX = ev.getX();
+                    mInitialTouchPosY = ev.getY();
+                }
+                break;
+            case MotionEvent.ACTION_MOVE:
+                if (mCurrView != null) {
+                    // Check the movement direction.
+                    if (mLastY >= 0 && !mDragging) {
+                        float currY = ev.getY();
+                        float currX = ev.getX();
+                        float deltaY = Math.abs(currY - mInitialTouchPosY);
+                        float deltaX = Math.abs(currX - mInitialTouchPosX);
+                        if (deltaY > SWIPE_SCROLL_SLOP && deltaY > (FACTOR * deltaX)) {
+                            mLastY = ev.getY();
+                            mCallback.onScroll();
+                            return false;
+                        }
+                    }
+                    mVelocityTracker.addMovement(ev);
+                    float pos = ev.getX();
+                    float delta = pos - mInitialTouchPosX;
+                    if (Math.abs(delta) > mPagingTouchSlop) {
+                        mCallback.onBeginDrag(mCallback.getChildContentView(mCurrView));
+                        mDragging = true;
+                        mInitialTouchPosX = ev.getX() - mCurrAnimView.getTranslationX();
+                        mInitialTouchPosY = ev.getY();
+                    }
+                }
+                mLastY = ev.getY();
+                break;
+            case MotionEvent.ACTION_UP:
+            case MotionEvent.ACTION_CANCEL:
+                mDragging = false;
+                mCurrView = null;
+                mCurrAnimView = null;
+                mLastY = -1;
+                break;
+        }
+        return mDragging;
+    }
+
+    /**
+     * @param view The view to be dismissed
+     * @param velocity The desired pixels/second speed at which the view should
+     *            move
+     */
+    private void dismissChild(final View view, float velocity) {
+        final View animView = mCallback.getChildContentView(view);
+        final boolean canAnimViewBeDismissed = mCallback.canChildBeDismissed(view);
+        float newPos = determinePos(animView, velocity);
+        int duration = determineDuration(animView, newPos, velocity);
+
+        animView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
+        ObjectAnimator anim = createDismissAnimation(animView, newPos, duration);
+        anim.addListener(new AnimatorListenerAdapter() {
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                mCallback.onChildDismissed(view);
+                animView.setLayerType(View.LAYER_TYPE_NONE, null);
+            }
+        });
+        anim.addUpdateListener(new AnimatorUpdateListener() {
+            @Override
+            public void onAnimationUpdate(ValueAnimator animation) {
+                if (FADE_OUT_DURING_SWIPE && canAnimViewBeDismissed) {
+                    animView.setAlpha(getAlphaForOffset(animView));
+                }
+                invalidateGlobalRegion(animView);
+            }
+        });
+        anim.start();
+    }
+
+    private int determineDuration(View animView, float newPos, float velocity) {
+        int duration = MAX_ESCAPE_ANIMATION_DURATION;
+        if (velocity != 0) {
+            duration = Math
+                    .min(duration,
+                            (int) (Math.abs(newPos - animView.getTranslationX()) * 1000f / Math
+                                    .abs(velocity)));
+        } else {
+            duration = DEFAULT_ESCAPE_ANIMATION_DURATION;
+        }
+        return duration;
+    }
+
+    private float determinePos(View animView, float velocity) {
+        float newPos = 0;
+        if (velocity < 0 || (velocity == 0 && animView.getTranslationX() < 0)
+                // if we use the Menu to dismiss an item in landscape, animate up
+                || (velocity == 0 && animView.getTranslationX() == 0 && mSwipeDirection == Y)) {
+            newPos = -getSize(animView);
+        } else {
+            newPos = getSize(animView);
+        }
+        return newPos;
+    }
+
+    public void snapChild(final View view, float velocity) {
+        final View animView = mCallback.getChildContentView(view);
+        final boolean canAnimViewBeDismissed = mCallback.canChildBeDismissed(view);
+        ObjectAnimator anim = createTranslationAnimation(animView, 0);
+        int duration = SNAP_ANIM_LEN;
+        anim.setDuration(duration);
+        anim.addUpdateListener(new AnimatorUpdateListener() {
+            @Override
+            public void onAnimationUpdate(ValueAnimator animation) {
+                if (FADE_OUT_DURING_SWIPE && canAnimViewBeDismissed) {
+                    animView.setAlpha(getAlphaForOffset(animView));
+                }
+                invalidateGlobalRegion(animView);
+            }
+        });
+        anim.addListener(new AnimatorListenerAdapter() {
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                animView.setAlpha(mStartAlpha);
+                mCallback.onDragCancelled(mCurrView);
+            }
+        });
+        anim.start();
+    }
+
+    public boolean onTouchEvent(MotionEvent ev) {
+        if (!mDragging || mProtected) {
+            return false;
+        }
+        mVelocityTracker.addMovement(ev);
+        final int action = ev.getAction();
+        switch (action) {
+            case MotionEvent.ACTION_OUTSIDE:
+            case MotionEvent.ACTION_MOVE:
+                if (mCurrView != null) {
+                    float deltaX = ev.getX() - mInitialTouchPosX;
+                    float deltaY = Math.abs(ev.getY() - mInitialTouchPosY);
+                    // If the user has gone vertical and not gone horizontalish AT
+                    // LEAST minBeforeLock, switch to scroll. Otherwise, cancel
+                    // the swipe.
+                    if (!mDragging && deltaY > MIN_VERT && (Math.abs(deltaX)) < MIN_LOCK
+                            && deltaY > (FACTOR * Math.abs(deltaX))) {
+                        mCallback.onScroll();
+                        return false;
+                    }
+                    float minDistance = MIN_SWIPE;
+                    if (Math.abs(deltaX) < minDistance) {
+                        // Don't start the drag until at least X distance has
+                        // occurred.
+                        return true;
+                    }
+                    // don't let items that can't be dismissed be dragged more
+                    // than maxScrollDistance
+                    if (CONSTRAIN_SWIPE && !mCallback.canChildBeDismissed(mCurrView)) {
+                        float size = getSize(mCurrAnimView);
+                        float maxScrollDistance = 0.15f * size;
+                        if (Math.abs(deltaX) >= size) {
+                            deltaX = deltaX > 0 ? maxScrollDistance : -maxScrollDistance;
+                        } else {
+                            deltaX = maxScrollDistance
+                                    * (float) Math.sin((deltaX / size) * (Math.PI / 2));
+                        }
+                    }
+                    setTranslation(mCurrAnimView, deltaX);
+                    if (FADE_OUT_DURING_SWIPE && mCanCurrViewBeDimissed) {
+                        mCurrAnimView.setAlpha(getAlphaForOffset(mCurrAnimView));
+                    }
+                    invalidateGlobalRegion(mCallback.getChildContentView(mCurrView));
+                }
+                break;
+            case MotionEvent.ACTION_UP:
+            case MotionEvent.ACTION_CANCEL:
+                if (mCurrView != null) {
+                    float maxVelocity = MAX_DISMISS_VELOCITY * mDensityScale;
+                    mVelocityTracker.computeCurrentVelocity(1000 /* px/sec */, maxVelocity);
+                    float escapeVelocity = SWIPE_ESCAPE_VELOCITY * mDensityScale;
+                    float velocity = getVelocity(mVelocityTracker);
+                    float perpendicularVelocity = getPerpendicularVelocity(mVelocityTracker);
+
+                    // Decide whether to dismiss the current view
+                    // Tweak constants below as required to prevent erroneous
+                    // swipe/dismiss
+                    float translation = Math.abs(mCurrAnimView.getTranslationX());
+                    float currAnimViewSize = getSize(mCurrAnimView);
+                    // Long swipe = translation of {@link #mChildSwipedFarEnoughFactor} * width
+                    boolean childSwipedFarEnough = DISMISS_IF_SWIPED_FAR_ENOUGH
+                            && translation > mChildSwipedFarEnoughFactor * currAnimViewSize;
+                    // Fast swipe = > escapeVelocity and translation of
+                    // {@link #mChildSwipedFastEnoughFactor} * width
+                    boolean childSwipedFastEnough = (Math.abs(velocity) > escapeVelocity)
+                            && (Math.abs(velocity) > Math.abs(perpendicularVelocity))
+                            && (velocity > 0) == (mCurrAnimView.getTranslationX() > 0)
+                            && translation > mChildSwipedFastEnoughFactor * currAnimViewSize;
+                    if (LOG_SWIPE_DISMISS_VELOCITY) {
+                        Log.v(TAG, "Swipe/Dismiss: " + velocity + "/" + escapeVelocity + "/"
+                                + perpendicularVelocity + ", x: " + translation + "/"
+                                + currAnimViewSize);
+                    }
+
+                    boolean dismissChild = mCallback.canChildBeDismissed(mCurrView)
+                            && (childSwipedFastEnough || childSwipedFarEnough);
+
+                    if (dismissChild) {
+                        dismissChild(mCurrView, childSwipedFastEnough ? velocity : 0f);
+                    } else {
+                        snapChild(mCurrView, velocity);
+                    }
+                }
+                break;
+        }
+        return true;
+    }
+
+    public static void setSwipeable(View view, boolean swipeable) {
+        view.setTag(IS_SWIPEABLE_TAG, swipeable ? IS_SWIPEABLE : null);
+    }
+
+    public static boolean isSwipeable(View view) {
+        return IS_SWIPEABLE == view.getTag(IS_SWIPEABLE_TAG);
+    }
+
+    public interface SwipeHelperCallback {
+        View getChildAtPosition(MotionEvent ev);
+
+        View getChildContentView(View v);
+
+        void onScroll();
+
+        boolean canChildBeDismissed(View v);
+
+        void onBeginDrag(View v);
+
+        void onChildDismissed(View v);
+
+        void onDragCancelled(View v);
+
+    }
+
+    public interface OnItemGestureListener {
+        public void onSwipe(View view);
+
+        public void onTouch();
+
+        public boolean isSwipeEnabled();
+    }
+}
diff --git a/src/com/android/dialer/list/TileInteractionTeaserView.java b/src/com/android/dialer/list/TileInteractionTeaserView.java
new file mode 100644
index 0000000..6e70fd1
--- /dev/null
+++ b/src/com/android/dialer/list/TileInteractionTeaserView.java
@@ -0,0 +1,153 @@
+package com.android.dialer.list;
+
+import android.animation.Animator;
+
+import android.animation.ValueAnimator;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.res.Resources;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.View;
+import android.view.animation.DecelerateInterpolator;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.android.dialer.DialtactsActivity;
+import com.android.dialer.R;
+
+/**
+ * A teaser to introduce people to the contact photo check boxes
+ */
+public class TileInteractionTeaserView extends FrameLayout {
+    private static int sShrinkAnimationDuration;
+
+    private static final String KEY_TILE_INTERACTION_TEASER_SHOWN =
+            "key_tile_interaction_teaser_shown";
+
+    private boolean mNeedLayout;
+    private int mTextTop;
+    private int mAnimatedHeight = -1;
+
+    private PhoneFavoriteMergedAdapter mAdapter;
+
+    public TileInteractionTeaserView(final Context context) {
+        this(context, null);
+    }
+
+    public TileInteractionTeaserView(final Context context, final AttributeSet attrs) {
+        super(context, attrs);
+        final Resources resources = context.getResources();
+
+        mNeedLayout = true;
+        sShrinkAnimationDuration = resources.getInteger(R.integer.escape_animation_duration);
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        findViewById(R.id.dismiss_button).setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                startDestroyAnimation();
+            }
+        });
+    }
+
+    @Override
+    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
+        super.onLayout(changed, left, top, right, bottom);
+
+        final TextView text = (TextView) findViewById(R.id.text);
+        final ImageView arrow = (ImageView) findViewById(R.id.arrow);
+
+        // We post to avoid calling layout within layout
+        arrow.post(new Runnable() {
+            @Override
+            public void run() {
+
+                // The text top is changed when we move the arrow, so we need to
+                // do multiple passes
+                int textTop = text.getTop();
+                if (mNeedLayout || textTop != mTextTop) {
+                    mNeedLayout = false;
+                    mTextTop = textTop;
+
+                    final int lineHeight = text.getLineHeight();
+                    final LinearLayout.LayoutParams arrowParams = (LinearLayout.LayoutParams) arrow
+                            .getLayoutParams();
+                    arrowParams.topMargin = mTextTop + lineHeight / 2;
+                    arrow.setLayoutParams(arrowParams);
+                }
+                arrow.setVisibility(View.VISIBLE);
+            }
+        });
+    }
+
+    public boolean getShouldDisplayInList() {
+        final SharedPreferences prefs = getContext().getSharedPreferences(
+                DialtactsActivity.SHARED_PREFS_NAME, Context.MODE_PRIVATE);
+        return prefs.getBoolean(KEY_TILE_INTERACTION_TEASER_SHOWN, true);
+    }
+
+    public void setAdapter(PhoneFavoriteMergedAdapter adapter) {
+        mAdapter = adapter;
+    }
+
+    private void startDestroyAnimation() {
+        final int start = getHeight();
+        final int end = 0;
+        mAnimatedHeight = start;
+        Log.v("Interaction", "Start from" + start);
+
+        ValueAnimator heightAnimator = ValueAnimator.ofInt(start, end);
+        heightAnimator.setDuration(sShrinkAnimationDuration);
+        heightAnimator.setInterpolator(new DecelerateInterpolator(2.0f));
+        heightAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+            public void onAnimationUpdate(ValueAnimator animation) {
+                mAnimatedHeight = (Integer) animation.getAnimatedValue();
+                requestLayout();
+            }
+        });
+        heightAnimator.addListener(new Animator.AnimatorListener() {
+            @Override
+            public void onAnimationStart(Animator animator) {
+            }
+
+            @Override
+            public void onAnimationEnd(Animator animator) {
+                setVisibility(GONE);
+                setDismissed();
+                if (mAdapter != null) {
+                    mAdapter.notifyDataSetChanged();
+                }
+            }
+
+            @Override
+            public void onAnimationCancel(Animator animator) {
+            }
+
+            @Override
+            public void onAnimationRepeat(Animator animator) {
+            }
+        });
+
+        heightAnimator.start();
+    }
+
+    private void setDismissed() {
+        final SharedPreferences prefs = getContext().getSharedPreferences(
+                DialtactsActivity.SHARED_PREFS_NAME, Context.MODE_PRIVATE);
+        prefs.edit().putBoolean(KEY_TILE_INTERACTION_TEASER_SHOWN, false).apply();
+    }
+
+    @Override
+    protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) {
+        if (mAnimatedHeight == -1) {
+            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+        } else {
+            setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec), mAnimatedHeight);
+        }
+    }
+}
diff --git a/src/com/android/dialer/service/CachedNumberLookupService.java b/src/com/android/dialer/service/CachedNumberLookupService.java
new file mode 100644
index 0000000..5745c9d
--- /dev/null
+++ b/src/com/android/dialer/service/CachedNumberLookupService.java
@@ -0,0 +1,45 @@
+package com.android.dialer.service;
+
+import android.content.ContentValues;
+import android.content.Context;
+
+import com.android.dialer.calllog.ContactInfo;
+
+public interface CachedNumberLookupService {
+
+    public interface CachedContactInfo {
+        public ContactInfo getContactInfo();
+
+        public void setDirectorySource(String name, long directoryId);
+        public void setExtendedSource(String name, long directoryId);
+        public void setLookupKey(String lookupKey);
+    }
+
+    public CachedContactInfo buildCachedContactInfo(ContactInfo info);
+
+    /**
+     * Perform a lookup using the cached number lookup service to return contact
+     * information stored in the cache that corresponds to the given number.
+     *
+     * @param context Valid context
+     * @param number Phone number to lookup the cache for
+     * @return A {@link CachedContactInfo} containing the contact information if the phone
+     * number is found in the cache, {@link ContactInfo#EMPTY} if the phone number was
+     * not found in the cache, and null if there was an error when querying the cache.
+     */
+    public CachedContactInfo lookupCachedContactFromNumber(Context context, String number);
+
+    public void addContact(Context context, CachedContactInfo info);
+
+    public boolean isCacheUri(String uri);
+
+    public boolean addPhoto(Context context, String number, byte[] photo);
+
+    /**
+     * Remove all cached phone number entries from the cache, regardless of how old they
+     * are.
+     *
+     * @param context Valid context
+     */
+    public void clearAllCacheEntries(Context context);
+}
diff --git a/src/com/android/dialerbind/DatabaseHelperManager.java b/src/com/android/dialerbind/DatabaseHelperManager.java
new file mode 100644
index 0000000..c929932
--- /dev/null
+++ b/src/com/android/dialerbind/DatabaseHelperManager.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.dialerbind;
+
+import android.content.Context;
+
+import com.android.dialer.database.DialerDatabaseHelper;
+
+
+public class DatabaseHelperManager {
+    public static DialerDatabaseHelper getDatabaseHelper(Context context) {
+        return DialerDatabaseHelper.getInstance(context);
+    }
+}
diff --git a/src/com/android/dialerbind/ObjectFactory.java b/src/com/android/dialerbind/ObjectFactory.java
new file mode 100644
index 0000000..c43dffc
--- /dev/null
+++ b/src/com/android/dialerbind/ObjectFactory.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.dialerbind;
+
+import static com.android.dialer.calllog.CallLogAdapter.CallFetcher;
+
+import android.content.Context;
+
+import com.android.dialer.calllog.CallLogAdapter;
+import com.android.dialer.calllog.ContactInfoHelper;
+import com.android.dialer.service.CachedNumberLookupService;
+
+/**
+ * Default static binding for various objects.
+ */
+public class ObjectFactory {
+
+    public static CachedNumberLookupService newCachedNumberLookupService() {
+        // no-op
+        return null;
+    }
+
+    public static CallLogAdapter newCallLogAdapter(Context context, CallFetcher callFetcher,
+            ContactInfoHelper contactInfoHelper, boolean useCallAsPrimaryAction,
+            boolean isCallLog) {
+        return new CallLogAdapter(context, callFetcher, contactInfoHelper, useCallAsPrimaryAction,
+                isCallLog);
+    }
+}
diff --git a/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java b/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java
index 05c59a7..6a9817f 100644
--- a/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java
+++ b/tests/src/com/android/dialer/PhoneCallDetailsHelperTest.java
@@ -26,8 +26,7 @@
 import android.widget.TextView;
 
 import com.android.dialer.calllog.CallTypeHelper;
-import com.android.dialer.calllog.PhoneNumberHelper;
-import com.android.dialer.calllog.TestPhoneNumberHelper;
+import com.android.dialer.calllog.TestPhoneNumberUtilsWrapper;
 import com.android.dialer.util.LocaleTestUtils;
 
 import java.util.GregorianCalendar;
@@ -58,7 +57,6 @@
     /** The views to fill. */
     private PhoneCallDetailsViews mViews;
     private TextView mNameView;
-    private PhoneNumberHelper mPhoneNumberHelper;
     private LocaleTestUtils mLocaleTestUtils;
 
     @Override
@@ -67,8 +65,9 @@
         Context context = getContext();
         Resources resources = context.getResources();
         CallTypeHelper callTypeHelper = new CallTypeHelper(resources);
-        mPhoneNumberHelper = new TestPhoneNumberHelper(resources, TEST_VOICEMAIL_NUMBER);
-        mHelper = new PhoneCallDetailsHelper(resources, callTypeHelper, mPhoneNumberHelper);
+        final TestPhoneNumberUtilsWrapper phoneUtils = new TestPhoneNumberUtilsWrapper(
+                TEST_VOICEMAIL_NUMBER);
+        mHelper = new PhoneCallDetailsHelper(resources, callTypeHelper, phoneUtils);
         mHelper.setCurrentTimeForTest(
                 new GregorianCalendar(2011, 5, 4, 13, 0, 0).getTimeInMillis());
         mViews = PhoneCallDetailsViews.createForTest(context);
@@ -83,7 +82,6 @@
         mNameView = null;
         mViews = null;
         mHelper = null;
-        mPhoneNumberHelper = null;
         super.tearDown();
     }
 
diff --git a/tests/src/com/android/dialer/calllog/CallLogAdapterTest.java b/tests/src/com/android/dialer/calllog/CallLogAdapterTest.java
index 6811371..12cdb2b 100644
--- a/tests/src/com/android/dialer/calllog/CallLogAdapterTest.java
+++ b/tests/src/com/android/dialer/calllog/CallLogAdapterTest.java
@@ -212,11 +212,11 @@
 
         public TestCallLogAdapter(Context context, CallFetcher callFetcher,
                 ContactInfoHelper contactInfoHelper) {
-            super(context, callFetcher, contactInfoHelper);
+            super(context, callFetcher, contactInfoHelper, false, false);
         }
 
         @Override
-        void enqueueRequest(String number, String countryIso, ContactInfo callLogInfo,
+        protected void enqueueRequest(String number, String countryIso, ContactInfo callLogInfo,
                 boolean immediate) {
             requests.add(new Request(number, countryIso, callLogInfo, immediate));
         }
diff --git a/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java b/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java
index 2cc7423..bb940ed 100644
--- a/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java
+++ b/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java
@@ -57,9 +57,10 @@
         Context context = getContext();
         Resources resources = context.getResources();
         CallTypeHelper callTypeHelper = new CallTypeHelper(resources);
-        mPhoneNumberHelper = new TestPhoneNumberHelper(resources, TEST_VOICEMAIL_NUMBER);
+        final TestPhoneNumberUtilsWrapper phoneUtils = new TestPhoneNumberUtilsWrapper(
+                TEST_VOICEMAIL_NUMBER);
         PhoneCallDetailsHelper phoneCallDetailsHelper = new PhoneCallDetailsHelper(
-                resources, callTypeHelper, mPhoneNumberHelper);
+                resources, callTypeHelper, phoneUtils);
         mHelper = new CallLogListItemHelper(phoneCallDetailsHelper, mPhoneNumberHelper, resources);
         mViews = CallLogListItemViews.createForTest(context);
     }
@@ -77,21 +78,42 @@
         assertEquals(View.VISIBLE, mViews.secondaryActionView.getVisibility());
     }
 
+    public void testSetPhoneCallDetailsInFavorites() {
+        setPhoneCallDetailsWithNumberInFavorites("12125551234", Calls.PRESENTATION_ALLOWED,
+                "1-212-555-1234");
+        assertNoCallButton();
+    }
+
     public void testSetPhoneCallDetails_Unknown() {
         setPhoneCallDetailsWithNumber("", Calls.PRESENTATION_UNKNOWN, "");
         assertNoCallButton();
     }
 
+    public void testSetPhoneCallDetailsInFavorites_Unknown() {
+        setPhoneCallDetailsWithNumberInFavorites("", Calls.PRESENTATION_UNKNOWN, "");
+        assertNoCallButton();
+    }
+
     public void testSetPhoneCallDetails_Private() {
         setPhoneCallDetailsWithNumber("", Calls.PRESENTATION_RESTRICTED, "");
         assertNoCallButton();
     }
 
+    public void testSetPhoneCallDetailsInFavorites_Private() {
+        setPhoneCallDetailsWithNumberInFavorites("", Calls.PRESENTATION_RESTRICTED, "");
+        assertNoCallButton();
+    }
+
     public void testSetPhoneCallDetails_Payphone() {
         setPhoneCallDetailsWithNumber("", Calls.PRESENTATION_PAYPHONE, "");
         assertNoCallButton();
     }
 
+    public void testSetPhoneCallDetailsInFavorites_Payphone() {
+        setPhoneCallDetailsWithNumberInFavorites("", Calls.PRESENTATION_PAYPHONE, "");
+        assertNoCallButton();
+    }
+
     public void testSetPhoneCallDetails_VoicemailNumber() {
         setPhoneCallDetailsWithNumber(TEST_VOICEMAIL_NUMBER,
                 Calls.PRESENTATION_ALLOWED, TEST_VOICEMAIL_NUMBER);
@@ -114,6 +136,28 @@
         assertEquals(View.VISIBLE, mViews.secondaryActionView.getVisibility());
     }
 
+    public void testSetPhoneCallDetailsInFavorites_VoicemailNumber() {
+        setPhoneCallDetailsWithNumberInFavorites(TEST_VOICEMAIL_NUMBER,
+                Calls.PRESENTATION_ALLOWED, TEST_VOICEMAIL_NUMBER);
+        assertNoCallButton();
+    }
+
+    public void testSetPhoneCallDetailsInFavorites_ReadVoicemail() {
+        setPhoneCallDetailsWithTypesInFavorites(Calls.VOICEMAIL_TYPE);
+        assertEquals(View.VISIBLE, mViews.secondaryActionView.getVisibility());
+    }
+
+    public void testSetPhoneCallDetailsInFavorites_UnreadVoicemail() {
+        setUnreadPhoneCallDetailsWithTypesInFavorites(Calls.VOICEMAIL_TYPE);
+        assertEquals(View.VISIBLE, mViews.secondaryActionView.getVisibility());
+    }
+
+    public void testSetPhoneCallDetailsInFavorites_VoicemailFromUnknown() {
+        setPhoneCallDetailsWithNumberAndTypeInFavorites("", Calls.PRESENTATION_UNKNOWN,
+                "", Calls.VOICEMAIL_TYPE);
+        assertEquals(View.VISIBLE, mViews.secondaryActionView.getVisibility());
+    }
+
     /** Asserts that the whole call area is gone. */
     private void assertNoCallButton() {
         assertEquals(View.GONE, mViews.secondaryActionView.getVisibility());
@@ -126,6 +170,13 @@
                 formattedNumber, Calls.INCOMING_TYPE);
     }
 
+    /** Sets the details of a phone call in the favorite screen using the specified phone number. */
+    private void setPhoneCallDetailsWithNumberInFavorites(String number,
+            int presentation, String formattedNumber) {
+        setPhoneCallDetailsWithNumberAndTypeInFavorites(number, presentation,
+                formattedNumber, Calls.INCOMING_TYPE);
+    }
+
     /** Sets the details of a phone call using the specified phone number. */
     private void setPhoneCallDetailsWithNumberAndType(String number,
             int presentation, String formattedNumber, int callType) {
@@ -133,7 +184,17 @@
                 new PhoneCallDetails(number, presentation, formattedNumber,
                         TEST_COUNTRY_ISO, TEST_GEOCODE,
                         new int[]{ callType }, TEST_DATE, TEST_DURATION),
-                false);
+                false, false);
+    }
+
+    /** Sets the details of a phone call in the favorite screen using the specified phone number. */
+    private void setPhoneCallDetailsWithNumberAndTypeInFavorites(String number,
+            int presentation, String formattedNumber, int callType) {
+        mHelper.setPhoneCallDetails(mViews,
+                new PhoneCallDetails(number, presentation, formattedNumber,
+                        TEST_COUNTRY_ISO, TEST_GEOCODE,
+                        new int[]{ callType }, TEST_DATE, TEST_DURATION),
+                false, true);
     }
 
     /** Sets the details of a phone call using the specified call type. */
@@ -142,15 +203,35 @@
                 new PhoneCallDetails(TEST_NUMBER, Calls.PRESENTATION_ALLOWED,
                         TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO, TEST_GEOCODE,
                         types, TEST_DATE, TEST_DURATION),
-                false);
+                false, false);
     }
 
-    /** Sets the details of a phone call using the specified call type. */
+    /** Sets the details of a phone call in the favorite screen using the specified call type. */
+    private void setPhoneCallDetailsWithTypesInFavorites(int... types) {
+        mHelper.setPhoneCallDetails(mViews,
+                new PhoneCallDetails(TEST_NUMBER, Calls.PRESENTATION_ALLOWED,
+                        TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO, TEST_GEOCODE,
+                        types, TEST_DATE, TEST_DURATION),
+                false, true);
+    }
+
+    /** Sets the details of an unread phone call using the specified call type. */
     private void setUnreadPhoneCallDetailsWithTypes(int... types) {
         mHelper.setPhoneCallDetails(mViews,
                 new PhoneCallDetails(TEST_NUMBER, Calls.PRESENTATION_ALLOWED,
                         TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO, TEST_GEOCODE,
                         types, TEST_DATE, TEST_DURATION),
-                true);
+                true, false);
+    }
+
+    /** Sets the details of an unread phone call in the favorite screen using the specified call
+     * type.
+     */
+    private void setUnreadPhoneCallDetailsWithTypesInFavorites(int... types) {
+        mHelper.setPhoneCallDetails(mViews,
+                new PhoneCallDetails(TEST_NUMBER, Calls.PRESENTATION_ALLOWED,
+                        TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO, TEST_GEOCODE,
+                        types, TEST_DATE, TEST_DURATION),
+                true, true);
     }
 }
diff --git a/tests/src/com/android/dialer/calllog/TestPhoneNumberHelper.java b/tests/src/com/android/dialer/calllog/TestPhoneNumberUtilsWrapper.java
similarity index 68%
rename from tests/src/com/android/dialer/calllog/TestPhoneNumberHelper.java
rename to tests/src/com/android/dialer/calllog/TestPhoneNumberUtilsWrapper.java
index 1446359..0dbd914 100644
--- a/tests/src/com/android/dialer/calllog/TestPhoneNumberHelper.java
+++ b/tests/src/com/android/dialer/calllog/TestPhoneNumberUtilsWrapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -11,7 +11,7 @@
  * 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.
+ * limitations under the License
  */
 
 package com.android.dialer.calllog;
@@ -19,14 +19,13 @@
 import android.content.res.Resources;
 
 /**
- * Modified version of {@link PhoneNumberHelper} to be used in tests that allows injecting the
- * voicemail number.
+ * Modified version of {@link com.android.dialer.calllog.PhoneNumberHelper} to be used in tests
+ * that allows injecting the voicemail number.
  */
-public final class TestPhoneNumberHelper extends PhoneNumberHelper {
+public final class TestPhoneNumberUtilsWrapper extends PhoneNumberUtilsWrapper {
     private CharSequence mVoicemailNumber;
 
-    public TestPhoneNumberHelper(Resources resources, CharSequence voicemailNumber) {
-        super(resources);
+    public TestPhoneNumberUtilsWrapper(CharSequence voicemailNumber) {
         mVoicemailNumber = voicemailNumber;
     }
 
diff --git a/tests/src/com/android/dialer/database/SmartDialPrefixTest.java b/tests/src/com/android/dialer/database/SmartDialPrefixTest.java
index fe42db3..23bda7c 100644
--- a/tests/src/com/android/dialer/database/SmartDialPrefixTest.java
+++ b/tests/src/com/android/dialer/database/SmartDialPrefixTest.java
@@ -18,28 +18,26 @@
 
 import android.database.MatrixCursor;
 import android.database.sqlite.SQLiteDatabase;
-import android.provider.ContactsContract;
-import android.provider.ContactsContract.CommonDataKinds.Phone;
-import android.provider.ContactsContract.Contacts;
-import android.provider.ContactsContract.Data;
-import android.provider.ContactsContract.Directory;
 import android.test.suitebuilder.annotation.SmallTest;
 import android.test.suitebuilder.annotation.Suppress;
 import android.test.AndroidTestCase;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.Contacts;
+import android.provider.ContactsContract.Data;
 
 import com.android.dialer.database.DialerDatabaseHelper;
 import com.android.dialer.database.DialerDatabaseHelper.ContactNumber;
 import com.android.dialer.dialpad.SmartDialNameMatcher;
 import com.android.dialer.dialpad.SmartDialPrefix;
 
-import junit.framework.TestCase;
-
 import java.lang.Exception;
 import java.lang.FindBugsSuppressWarnings;
 import java.lang.Override;
 import java.lang.String;
 import java.util.ArrayList;
 
+import junit.framework.TestCase;
+
 /**
  * To run this test, use the command:
  * adb shell am instrument -w -e class com.android.dialer.dialpad.SmartDialPrefixTest /
@@ -119,32 +117,39 @@
 
     private MatrixCursor constructNewContactCursor() {
         final MatrixCursor cursor = new MatrixCursor(new String[]{
-                Phone._ID,
-                Phone.TYPE,
-                Phone.LABEL,
-                Phone.NUMBER,
-                Phone.CONTACT_ID,
-                Phone.LOOKUP_KEY,
-                Phone.DISPLAY_NAME_PRIMARY,
-                Data.LAST_TIME_USED,
-                Data.TIMES_USED,
-                Contacts.STARRED,
-                Data.IS_SUPER_PRIMARY,
-                Contacts.IN_VISIBLE_GROUP,
-                Data.IS_PRIMARY});
-
+                    Phone._ID,                          // 0
+                    Phone.TYPE,                         // 1
+                    Phone.LABEL,                        // 2
+                    Phone.NUMBER,                       // 3
+                    Phone.CONTACT_ID,                   // 4
+                    Phone.LOOKUP_KEY,                   // 5
+                    Phone.DISPLAY_NAME_PRIMARY,         // 6
+                    Phone.PHOTO_ID,                     // 7
+                    Data.LAST_TIME_USED,                // 8
+                    Data.TIMES_USED,                    // 9
+                    Contacts.STARRED,                   // 10
+                    Data.IS_SUPER_PRIMARY,              // 11
+                    Contacts.IN_VISIBLE_GROUP,          // 12
+                    Data.IS_PRIMARY});                  // 13
         return cursor;
     }
 
+    private ContactNumber constructNewContactWithDummyIds(MatrixCursor contactCursor,
+            MatrixCursor nameCursor, String number, int id, String displayName) {
+        return constructNewContact(contactCursor, nameCursor, id, number, 0, "", displayName, 0, 0,
+                0, 0, 0, 0, 0);
+    }
+
     private ContactNumber constructNewContact(MatrixCursor contactCursor, MatrixCursor nameCursor,
-            int id, String number, int contactId, String lookupKey, String displayName,
+            int id, String number, int contactId, String lookupKey, String displayName, int photoId,
             int lastTimeUsed, int timesUsed, int starred, int isSuperPrimary, int inVisibleGroup,
             int isPrimary) {
         assertNotNull(contactCursor);
         assertNotNull(nameCursor);
 
         contactCursor.addRow(new Object[]{id, "", "", number, contactId, lookupKey, displayName,
-                lastTimeUsed, timesUsed, starred, isSuperPrimary, inVisibleGroup, isPrimary});
+                photoId, lastTimeUsed, timesUsed, starred, isSuperPrimary, inVisibleGroup,
+                isPrimary});
         nameCursor.addRow(new Object[]{displayName, contactId});
 
         return new ContactNumber(contactId, id, displayName, number, lookupKey, 0);
@@ -161,12 +166,12 @@
 
         final MatrixCursor nameCursor =  constructNewNameCursor();
         final MatrixCursor contactCursor = constructNewContactCursor();
-        final ContactNumber jasonsmith = constructNewContact(contactCursor, nameCursor,
-                0, "", 0, "", "Jason Smith", 0, 0, 0, 0, 0, 0);
-        final ContactNumber jasonsmitt = constructNewContact(contactCursor, nameCursor,
-                1, "", 1, "", "Jason Smitt", 0, 0, 0, 0, 0, 0);
-        final ContactNumber alphabet = constructNewContact(contactCursor, nameCursor,
-                0, "12345678", 0, "", "abc def ghi jkl mno pqrs tuv wxyz", 0, 0, 0, 0, 0, 0);
+        final ContactNumber jasonsmith = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "", 0, "Jason Smith");
+        final ContactNumber jasonsmitt = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "", 1, "Jason Smitt");
+        final ContactNumber alphabet = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "12345678", 2, "abc def ghi jkl mno pqrs tuv wxyz");
 
         mTestHelper.insertUpdatedContactsAndNumberPrefix(db, contactCursor, Long.valueOf(0));
         mTestHelper.insertNamePrefixes(db, nameCursor);
@@ -199,12 +204,12 @@
 
         final MatrixCursor nameCursor =  constructNewNameCursor();
         final MatrixCursor contactCursor = constructNewContactCursor();
-        final ContactNumber maryjane = constructNewContact(contactCursor, nameCursor,
-                0, "", 0, "", "Mary Jane", 0, 0, 0, 0, 0, 0);
-        final ContactNumber sarahsmith = constructNewContact(contactCursor, nameCursor,
-                0, "", 1, "", "Sarah Smith", 0, 0, 0, 0, 0, 0);
-        final ContactNumber jasonsmitt = constructNewContact(contactCursor, nameCursor,
-                0, "", 2, "", "Jason Smitt", 0, 0, 0, 0, 0, 0);
+        final ContactNumber maryjane = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "", 0, "Mary Jane");
+        final ContactNumber sarahsmith = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "", 1, "Sarah Smith");
+        final ContactNumber jasonsmitt = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "", 2, "Jason Smitt");
 
         mTestHelper.insertUpdatedContactsAndNumberPrefix(db, contactCursor, Long.valueOf(0));
         mTestHelper.insertNamePrefixes(db, nameCursor);
@@ -234,8 +239,8 @@
 
         final MatrixCursor nameCursor =  constructNewNameCursor();
         final MatrixCursor contactCursor = constructNewContactCursor();
-        final ContactNumber jasonfwilliams = constructNewContact(contactCursor, nameCursor,
-                0, "", 0, "", "Jason F. Williams", 0, 0, 0, 0, 0, 0);
+        final ContactNumber jasonfwilliams = constructNewContactWithDummyIds(contactCursor,
+                nameCursor, "", 0, "Jason F. Williams");
 
         mTestHelper.insertUpdatedContactsAndNumberPrefix(db, contactCursor, Long.valueOf(0));
         mTestHelper.insertNamePrefixes(db, nameCursor);
@@ -255,8 +260,8 @@
 
         final MatrixCursor nameCursor =  constructNewNameCursor();
         final MatrixCursor contactCursor = constructNewContactCursor();
-        final ContactNumber martinjuniorharry = constructNewContact(contactCursor, nameCursor,
-                0, "", 0, "", "Martin Jr Harry", 0, 0, 0, 0, 0, 0);
+        final ContactNumber martinjuniorharry = constructNewContactWithDummyIds(contactCursor,
+                nameCursor, "", 0, "Martin Jr Harry");
 
         mTestHelper.insertUpdatedContactsAndNumberPrefix(db, contactCursor, Long.valueOf(0));
         mTestHelper.insertNamePrefixes(db, nameCursor);
@@ -298,8 +303,8 @@
 
         final MatrixCursor nameCursor =  constructNewNameCursor();
         final MatrixCursor contactCursor = constructNewContactCursor();
-        final ContactNumber alphabet = constructNewContact(contactCursor, nameCursor,
-                0, "12345678", 0, "", "abc def ghi jkl mno pqrs tuv wxyz", 0, 0, 0, 0, 0, 0);
+        final ContactNumber alphabet = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "12345678", 0, "abc def ghi jkl mno pqrs tuv wxyz");
 
         mTestHelper.insertUpdatedContactsAndNumberPrefix(db, contactCursor, Long.valueOf(0));
         mTestHelper.insertNamePrefixes(db, nameCursor);
@@ -327,14 +332,13 @@
 
         final MatrixCursor nameCursor =  constructNewNameCursor();
         final MatrixCursor contactCursor = constructNewContactCursor();
-        final ContactNumber alphabet = constructNewContact(contactCursor, nameCursor,
-                0, "1", 0, "", " aaaa bbbb cccc dddd eeee ffff gggg" +
-                " hhhh iiii jjjj kkkk llll mmmm nnnn oooo pppp qqqq rrrr ssss tttt uuuu vvvv " +
-                " wwww xxxx yyyy zzzz", 0, 0, 0, 0, 0, 0);
+        final ContactNumber alphabet = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "1", 0,  " aaaa bbbb cccc dddd eeee ffff gggg hhhh iiii jjjj kkkk llll mmmm nnnn" +
+                " oooo pppp qqqq rrrr ssss tttt uuuu vvvv wwww xxxx yyyy zzzz");
 
-        final ContactNumber alphabet2 = constructNewContact(contactCursor, nameCursor,
-                0, "1", 1, "", "aaaabbbbccccddddeeeeffffgggghhhhiiiijjjjkkkkllllmmmmnnnnoooopppp" +
-                "qqqqrrrrssssttttuuuuvvvvwwwwxxxxyyyyzzzz", 0, 0, 0, 0, 0, 0);
+        final ContactNumber alphabet2 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "1", 1, "aaaabbbbccccddddeeeeffffgggghhhhiiiijjjjkkkkllllmmmmnnnnooooppppqqqqrrrr" +
+                "ssssttttuuuuvvvvwwwwxxxxyyyyzzzz");
 
         mTestHelper.insertUpdatedContactsAndNumberPrefix(db, contactCursor, Long.valueOf(0));
         mTestHelper.insertNamePrefixes(db, nameCursor);
@@ -346,50 +350,15 @@
         assertEquals(40, mTestHelper.countPrefixTableRows(db));
     }
 
-    public void testParseInfo() {
-        final String name = "Mcdonald Jamie-Cullum";
-        final ArrayList<String> info = SmartDialPrefix.parseToIndexTokens(name);
-        assertEquals(3, info.size());
-        assertEquals(8, info.get(0).length());
-        assertEquals(5, info.get(1).length());
-        assertEquals(6, info.get(2).length());
-
-        final String name2 = "aaa bbb ccc ddd eee fff ggg hhh iii jjj kkk";
-        final ArrayList<String> info2 = SmartDialPrefix.parseToIndexTokens(name2);
-        assertEquals(11, info2.size());
-        assertEquals(3, info2.get(0).length());
-        assertEquals(3, info2.get(10).length());
-
-        final String name3 = "this  is- a,test    name";
-        final ArrayList<String> info3 = SmartDialPrefix.parseToIndexTokens(name3);
-        assertEquals(5, info3.size());
-        assertEquals(2, info3.get(1).length());
-        assertEquals(1, info3.get(2).length());
-        assertEquals(4, info3.get(3).length());
-        assertEquals(4, info3.get(4).length());
-
-        final String name4 = "M c-Donald James";
-        final ArrayList<String> info4 = SmartDialPrefix.parseToIndexTokens(name4);
-        assertEquals(4, info4.size());
-        assertEquals(1, info4.get(1).length());
-        assertEquals(6, info4.get(2).length());
-
-        final String name5 = "   Aa'Bb    c    dddd  e'e";
-        final ArrayList<String> info5 = SmartDialPrefix.parseToIndexTokens(name5);
-        assertEquals(6, info5.size());
-        assertEquals(2, info5.get(0).length());
-        assertEquals(1, info5.get(5).length());
-    }
-
     public void testAccentedCharacters() {
         final SQLiteDatabase db = mTestHelper.getWritableDatabase();
 
         final MatrixCursor nameCursor =  constructNewNameCursor();
         final MatrixCursor contactCursor = constructNewContactCursor();
-        final ContactNumber reene = constructNewContact(contactCursor, nameCursor,
-                0, "0", 0, "", "Reenée", 0, 0, 0, 0, 0, 0);
-        final ContactNumber bronte = constructNewContact(contactCursor, nameCursor,
-                0, "0", 1, "", "Brontë", 0, 0, 0, 0, 0, 0);
+        final ContactNumber reene = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "0", 0, "Reenée");
+        final ContactNumber bronte = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "0", 1, "Brontë");
 
         mTestHelper.insertUpdatedContactsAndNumberPrefix(db, contactCursor, Long.valueOf(0));
         mTestHelper.insertNamePrefixes(db, nameCursor);
@@ -406,10 +375,10 @@
 
         final MatrixCursor nameCursor =  constructNewNameCursor();
         final MatrixCursor contactCursor = constructNewContactCursor();
-        final ContactNumber contact = constructNewContact(contactCursor, nameCursor,
-                0, "0", 0, "", "12345678", 0, 0, 0, 0, 0, 0);
-        final ContactNumber teacher = constructNewContact(contactCursor, nameCursor,
-                0, "0", 1, "", "1st Grade Teacher", 0, 0, 0, 0, 0, 0);
+        final ContactNumber contact = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "0", 0, "12345678");
+        final ContactNumber teacher = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "0", 1, "1st Grade Teacher");
 
         mTestHelper.insertUpdatedContactsAndNumberPrefix(db, contactCursor, Long.valueOf(0));
         mTestHelper.insertNamePrefixes(db, nameCursor);
@@ -427,12 +396,12 @@
 
         final MatrixCursor nameCursor =  constructNewNameCursor();
         final MatrixCursor contactCursor = constructNewContactCursor();
-        final ContactNumber contactno1 = constructNewContact(contactCursor, nameCursor,
-                0, "510-527-2357", 0, "", "James", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno2 = constructNewContact(contactCursor, nameCursor,
-                0, "77212862357", 1, "", "James", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno3 = constructNewContact(contactCursor, nameCursor,
-                0, "+13684976334", 2, "", "James", 0, 0, 0, 0, 0, 0);
+        final ContactNumber contactno1 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "510-527-2357", 0,  "James");
+        final ContactNumber contactno2 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "77212862357", 1, "James");
+        final ContactNumber contactno3 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "+13684976334", 2, "James");
 
         mTestHelper.insertUpdatedContactsAndNumberPrefix(db, contactCursor, Long.valueOf(0));
         mTestHelper.insertNamePrefixes(db, nameCursor);
@@ -453,16 +422,16 @@
 
         final MatrixCursor nameCursor =  constructNewNameCursor();
         final MatrixCursor contactCursor = constructNewContactCursor();
-        final ContactNumber contactno1 = constructNewContact(contactCursor, nameCursor,
-                0, "+13684976334", 0, "", "James", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno2 = constructNewContact(contactCursor, nameCursor,
-                0, "+65 9177-6930", 1, "", "Jason", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno3 = constructNewContact(contactCursor, nameCursor,
-                0, "+85212345678", 2, "", "Mike", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno4 = constructNewContact(contactCursor, nameCursor,
-                0, "+85112345678", 3, "", "Invalid", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno5 = constructNewContact(contactCursor, nameCursor,
-                0, "+852", 4, "", "Invalid", 0, 0, 0, 0, 0, 0);
+        final ContactNumber contactno1 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "+13684976334", 0, "James");
+        final ContactNumber contactno2 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "+65 9177-6930", 1, "Jason");
+        final ContactNumber contactno3 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "+85212345678", 2, "Mike");
+        final ContactNumber contactno4 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "+85112345678", 3, "Invalid");
+        final ContactNumber contactno5 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "+852", 4, "Invalid");
 
         mTestHelper.insertUpdatedContactsAndNumberPrefix(db, contactCursor, Long.valueOf(0));
         mTestHelper.insertNamePrefixes(db, nameCursor);
@@ -493,24 +462,24 @@
 
         final MatrixCursor nameCursor =  constructNewNameCursor();
         final MatrixCursor contactCursor = constructNewContactCursor();
-        final ContactNumber contactno1 = constructNewContact(contactCursor, nameCursor,
-                0, "16503337596", 0, "", "James", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno2 = constructNewContact(contactCursor, nameCursor,
-                0, "5109921234", 1, "", "Michael", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno3 = constructNewContact(contactCursor, nameCursor,
-                0, "(415)-123-4567", 2, "", "Jason", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno4 = constructNewContact(contactCursor, nameCursor,
-                0, "1 510-284-9170", 3, "", "Mike", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno5 = constructNewContact(contactCursor, nameCursor,
-                0, "1-415-123-123", 4, "", "Invalid", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno6 = constructNewContact(contactCursor, nameCursor,
-                0, "415-123-123", 5, "", "Invalid2", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno7 = constructNewContact(contactCursor, nameCursor,
-                0, "+1-510-284-9170", 6, "", "Mike", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno8 = constructNewContact(contactCursor, nameCursor,
-                0, "+1-510-284-917", 7, "", "Invalid", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno9 = constructNewContact(contactCursor, nameCursor,
-                0, "+857-510-284-9170", 8, "", "Inv", 0, 0, 0, 0, 0, 0);
+        final ContactNumber contactno1 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "16503337596", 0, "James");
+        final ContactNumber contactno2 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "5109921234", 1, "Michael");
+        final ContactNumber contactno3 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "(415)-123-4567", 2, "Jason");
+        final ContactNumber contactno4 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "1 510-284-9170", 3, "Mike");
+        final ContactNumber contactno5 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "1-415-123-123", 4, "Invalid");
+        final ContactNumber contactno6 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "415-123-123", 5, "Invalid2");
+        final ContactNumber contactno7 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "+1-510-284-9170", 6, "Mike");
+        final ContactNumber contactno8 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "+1-510-284-917", 7, "Invalid");
+        final ContactNumber contactno9 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "+857-510-284-9170", 8, "Inv");
 
         mTestHelper.insertUpdatedContactsAndNumberPrefix(db, contactCursor, Long.valueOf(0));
         mTestHelper.insertNamePrefixes(db, nameCursor);
@@ -553,18 +522,7 @@
         assertFalse(getLooseMatchesFromDb("5102849170").contains(contactno9));
         assertFalse(getLooseMatchesFromDb("2849170").contains(contactno9));
 
-//        // If user's region is determined to be not in North America, then the NANP number
-//        // workarounds should not be applied
-//        final SmartDialTrie trieNonNANP = new SmartDialTrie();
-//
-//        trieNonNANP.put(contactno3);
-//        assertTrue(checkContains(trieNonNANP, contactno3, "4151234567"));
-//        assertFalse(checkContains(trieNonNANP, contactno3, "1234567"));
-//
-//        trieNonNANP.put(contactno4);
-//        assertTrue(checkContains(trieNonNANP, contactno4, "15102849170"));
-//        assertFalse(checkContains(trieNonNANP, contactno4, "5102849170"));
-//        assertFalse(checkContains(trieNonNANP, contactno4, "2849170"));
+        // TODO(klp) Adds test for non-NANP region number matchings.
     }
 
     // Tests special case handling for non-NANP numbers
@@ -575,10 +533,10 @@
         final MatrixCursor nameCursor =  constructNewNameCursor();
         final MatrixCursor contactCursor = constructNewContactCursor();
 
-        final ContactNumber contactno0 = constructNewContact(contactCursor, nameCursor,
-                0, "(415)-123-4567", 0, "", "Jason", 0, 0, 0, 0, 0, 0);
-        final ContactNumber contactno1 = constructNewContact(contactCursor, nameCursor,
-                0, "1 510-284-9170", 1, "", "Mike", 0, 0, 0, 0, 0, 0);
+        final ContactNumber contactno0 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "(415)-123-4567", 0, "Jason");
+        final ContactNumber contactno1 = constructNewContactWithDummyIds(contactCursor, nameCursor,
+                "1 510-284-9170", 1, "Mike");
 
 
         mTestHelper.insertUpdatedContactsAndNumberPrefix(db, contactCursor, Long.valueOf(0));
@@ -594,4 +552,39 @@
         assertFalse(getLooseMatchesFromDb("5102849170").contains(contactno1));
         assertFalse(getLooseMatchesFromDb("2849170").contains(contactno1));
     }
+
+    public void testParseInfo() {
+        final String name = "Mcdonald Jamie-Cullum";
+        final ArrayList<String> info = SmartDialPrefix.parseToIndexTokens(name);
+        assertEquals(3, info.size());
+        assertEquals(8, info.get(0).length());
+        assertEquals(5, info.get(1).length());
+        assertEquals(6, info.get(2).length());
+
+        final String name2 = "aaa bbb ccc ddd eee fff ggg hhh iii jjj kkk";
+        final ArrayList<String> info2 = SmartDialPrefix.parseToIndexTokens(name2);
+        assertEquals(11, info2.size());
+        assertEquals(3, info2.get(0).length());
+        assertEquals(3, info2.get(10).length());
+
+        final String name3 = "this  is- a,test    name";
+        final ArrayList<String> info3 = SmartDialPrefix.parseToIndexTokens(name3);
+        assertEquals(5, info3.size());
+        assertEquals(2, info3.get(1).length());
+        assertEquals(1, info3.get(2).length());
+        assertEquals(4, info3.get(3).length());
+        assertEquals(4, info3.get(4).length());
+
+        final String name4 = "M c-Donald James";
+        final ArrayList<String> info4 = SmartDialPrefix.parseToIndexTokens(name4);
+        assertEquals(4, info4.size());
+        assertEquals(1, info4.get(1).length());
+        assertEquals(6, info4.get(2).length());
+
+        final String name5 = "   Aa'Bb    c    dddd  e'e";
+        final ArrayList<String> info5 = SmartDialPrefix.parseToIndexTokens(name5);
+        assertEquals(6, info5.size());
+        assertEquals(2, info5.get(0).length());
+        assertEquals(1, info5.get(5).length());
+    }
 }
diff --git a/tests/src/com/android/dialer/list/PhoneFavoritesTileAdapterTest.java b/tests/src/com/android/dialer/list/PhoneFavoritesTileAdapterTest.java
index 40d171c..611b3f1 100644
--- a/tests/src/com/android/dialer/list/PhoneFavoritesTileAdapterTest.java
+++ b/tests/src/com/android/dialer/list/PhoneFavoritesTileAdapterTest.java
@@ -8,11 +8,11 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        mAdapter = new PhoneFavoritesTileAdapter(getContext(), null, 3, 1);
+        mAdapter = new PhoneFavoritesTileAdapter(getContext(), null, null, 3, 1);
     }
 
     /**
-     * TODO Krelease: Add tests
+     * TODO: Add tests
      *
      * Test cases (various combinations of):
      * No pinned contacts
@@ -26,7 +26,7 @@
     }
 
     /**
-     * TODO Krelease: Add tests
+     * TODO: Add tests
      *
      * This method assumes that contacts have already been reordered by
      * arrangeContactsByPinnedPosition, so we can test it with a less expansive set of test data.
