am 118b5b03: am 7b3b10b6: Merge "Clean up todos in Dialer" into klp-dev

* commit '118b5b03a9fa3d72a09945534b32a68f8e1e2394':
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 b79214a..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,10 +82,10 @@
         <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="match_parent"
@@ -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 6ea6db6..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] -->
@@ -602,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 c9c94fa..04934c7 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -20,61 +20,59 @@
 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;
@@ -85,8 +83,8 @@
 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;
@@ -101,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}.
@@ -131,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.
@@ -170,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
@@ -199,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
@@ -237,7 +280,6 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-
         mFirstLaunch = true;
 
         final Intent intent = getIntent();
@@ -247,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
@@ -343,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) {
@@ -354,26 +399,37 @@
                 }
                 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);
-                final MenuItem clearFrequents = menu.findItem(R.id.menu_clear_frequents);
-                clearFrequents.setEnabled(mPhoneFavoriteFragment.hasFrequents());
-                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:
@@ -386,6 +442,7 @@
             case R.id.search_close_button:
                 // Clear the search field
                 if (!TextUtils.isEmpty(mSearchView.getText())) {
+                    mDialpadFragment.clearDialpad();
                     mSearchView.setText("");
                 }
                 break;
@@ -431,7 +488,12 @@
         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) {
@@ -441,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);
@@ -466,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() {
@@ -490,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);
     }
@@ -502,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());
@@ -530,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
@@ -545,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);
@@ -616,9 +677,15 @@
             return;
         }
 
-        if (mDialpadFragment != null && (phoneIsInUse() || isDialIntent(intent))) {
-            mDialpadFragment.setStartedFromNewIntent(true);
-            showDialpadFragment(false);
+        if (mDialpadFragment != null) {
+            final boolean phoneIsInUse = phoneIsInUse();
+            if (phoneIsInUse || isDialIntent(intent)) {
+                mDialpadFragment.setStartedFromNewIntent(true);
+                if (phoneIsInUse && !mDialpadFragment.isVisible()) {
+                    mInCallDialpadUp = true;
+                }
+                showDialpadFragment(false);
+            }
         }
     }
 
@@ -629,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();
     }
 
@@ -757,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 */
@@ -794,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;
@@ -816,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);
         }
     }
@@ -823,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();
     }
@@ -843,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 a76d0c1..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;
 
@@ -138,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);
@@ -236,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);
     }
@@ -369,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;
             }
@@ -429,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);
@@ -455,28 +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();
+            CallLogNotificationsHelper.removeMissedCallNotifications();
+            CallLogNotificationsHelper.updateVoicemailNotifications(getActivity());
         }
     }
-
-    private void updateVoicemailNotifications() {
-        Intent serviceIntent = new Intent(getActivity(), CallLogNotificationsService.class);
-        serviceIntent.setAction(CallLogNotificationsService.ACTION_UPDATE_NOTIFICATIONS);
-        getActivity().startService(serviceIntent);
-    }
 }
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 23366e4..576a432 100644
--- a/src/com/android/dialer/calllog/CallLogListItemHelper.java
+++ b/src/com/android/dialer/calllog/CallLogListItemHelper.java
@@ -57,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 {
@@ -80,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 f3a1e99..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".
      */
@@ -327,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));
@@ -377,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);
@@ -406,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.
@@ -604,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(
@@ -615,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));
+                }
             }
         }
 
@@ -670,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());
 
@@ -731,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) {
@@ -753,7 +792,7 @@
 
         if (mClearDigitsOnStop) {
             mClearDigitsOnStop = false;
-            mDigits.getText().clear();
+            clearDialpad();
         }
     }
 
@@ -774,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);
@@ -916,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();
             }
         }
@@ -1017,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;
             }
@@ -1062,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 {
@@ -1159,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;
@@ -1680,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);
@@ -1696,6 +1718,7 @@
             activity.showSearchBar();
         } else {
             activity.hideSearchBar();
+            mDigits.requestFocus();
         }
     }
 
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 3cff901..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,26 +186,41 @@
     private Listener mListener;
 
     private OnListFragmentScrolledListener mActivityScrollListener;
+    private OnShowAllContactsListener mShowAllContactsListener;
     private PhoneFavoriteMergedAdapter mAdapter;
     private PhoneFavoritesTileAdapter mContactTileAdapter;
 
     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();
@@ -168,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));
@@ -180,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);
 
@@ -235,11 +315,7 @@
         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;
     }
 
     public boolean hasFrequents() {
@@ -247,6 +323,19 @@
         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();
@@ -254,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());
     }
 
     /**
@@ -292,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.