am 1400e609: (-s ours) am 6ea611df: (-s ours) Import translations. DO NOT MERGE

* commit '1400e609691f3bd963c28c4aac7f46e92a09224c':
  Import translations. DO NOT MERGE
diff --git a/Android.mk b/Android.mk
index 4877cdd..124549b 100644
--- a/Android.mk
+++ b/Android.mk
@@ -4,28 +4,32 @@
 LOCAL_MODULE_TAGS := optional
 
 contacts_common_dir := ../ContactsCommon
+phone_common_dir := ../PhoneCommon
 
-src_dirs := src $(contacts_common_dir)/src
-res_dirs := res $(contacts_common_dir)/res
+src_dirs := src $(contacts_common_dir)/src $(phone_common_dir)/src
+res_dirs := res $(contacts_common_dir)/res $(phone_common_dir)/res
 
 LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
-LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
+LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs)) \
+    frameworks/support/v7/cardview/res
 
 LOCAL_AAPT_FLAGS := \
     --auto-add-overlay \
-    --extra-packages com.android.contacts.common
+    --extra-packages com.android.contacts.common \
+    --extra-packages com.android.phone.common \
+    --extra-packages android.support.v7.cardview
 
 LOCAL_JAVA_LIBRARIES := telephony-common voip-common
 LOCAL_STATIC_JAVA_LIBRARIES := \
-    com.android.phone.shared \
     com.android.vcard \
     android-common \
     guava \
     android-support-v13 \
+    android-support-v7-cardview \
+    android-support-v7-palette \
     android-support-v4 \
-    android-ex-variablespeed \
-
-LOCAL_REQUIRED_MODULES := libvariablespeed
+    libphonenumber \
+    libgeocoding
 
 LOCAL_PACKAGE_NAME := Contacts
 LOCAL_CERTIFICATE := shared
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index bae0341..4175ef4 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -20,36 +20,29 @@
 
     <original-package android:name="com.android.contacts" />
 
-    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
+    <uses-permission android:name="android.permission.CALL_PHONE" />
     <uses-permission android:name="android.permission.READ_CONTACTS" />
     <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.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.READ_PROFILE" />
     <uses-permission android:name="android.permission.WRITE_PROFILE" />
-    <uses-permission android:name="android.permission.READ_SOCIAL_STREAM" />
     <uses-permission android:name="android.permission.INTERNET" />
     <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" />
-    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
     <uses-permission android:name="android.permission.WAKE_LOCK" />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
     <uses-permission android:name="android.permission.USE_CREDENTIALS" />
     <uses-permission android:name="android.permission.VIBRATE" />
     <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
-    <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" />
-    <uses-permission android:name="com.android.voicemail.permission.READ_WRITE_ALL_VOICEMAIL" />
-    <uses-permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK" />
     <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
-    <!-- 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" />
+    <!-- Following used for QuickContacts -->
+    <uses-permission android:name="android.permission.READ_CALL_LOG" />
+    <uses-permission android:name="android.permission.READ_SMS" />
+    <uses-permission android:name="android.permission.READ_CALENDAR" />
 
     <application
         android:name="com.android.contacts.ContactsApplication"
@@ -64,7 +57,6 @@
         <activity android:name=".activities.PeopleActivity"
             android:label="@string/people"
             android:theme="@style/PeopleTheme"
-            android:uiOptions="splitActionBarWhenNarrow"
             android:clearTaskOnLaunch="true"
             android:launchMode="singleTop"
         >
@@ -183,6 +175,11 @@
                 <data android:mimeType="vnd.android.cursor.item/postal-address_v2" />
                 <data android:mimeType="vnd.android.cursor.item/postal-address" />
             </intent-filter>
+
+            <intent-filter>
+                <action android:name="com.android.contacts.action.JOIN_CONTACT" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
         </activity>
 
         <!-- Backwards compatibility: somebody may have hard coded this activity name -->
@@ -202,17 +199,6 @@
             android:exported="true"
         />
 
-        <!-- An activity for joining contacts -->
-        <activity android:name=".activities.JoinContactActivity"
-            android:theme="@style/JoinContactActivityTheme"
-            android:clearTaskOnLaunch="true"
-        >
-            <intent-filter>
-                <action android:name="com.android.contacts.action.JOIN_CONTACT" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-        </activity>
-
         <!-- Used to set options -->
         <activity
             android:name=".preference.ContactsPreferenceActivity"
@@ -255,14 +241,11 @@
             android:theme="@style/EditorActivityTheme"
             android:windowSoftInputMode="adjustResize" />
 
-        <!-- Used to show QuickContact window over a translucent activity, which is a
-             temporary hack until we add better framework support. -->
         <activity
             android:name=".quickcontact.QuickContactActivity"
             android:theme="@style/Theme.QuickContact"
             android:launchMode="singleTop"
             android:excludeFromRecents="true"
-            android:noHistory="true"
             android:taskAffinity=""
             android:windowSoftInputMode="stateUnchanged">
 
@@ -272,6 +255,14 @@
                 <data android:mimeType="vnd.android.cursor.item/contact" />
                 <data android:mimeType="vnd.android.cursor.item/person" />
             </intent-filter>
+
+            <intent-filter android:label="@string/viewContactDesription">
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:mimeType="vnd.android.cursor.item/person" />
+                <data android:mimeType="vnd.android.cursor.item/contact" />
+                <data android:mimeType="vnd.android.cursor.item/raw_contact" />
+            </intent-filter>
         </activity>
 
         <receiver
@@ -317,21 +308,6 @@
 
         </activity-alias>
 
-        <!-- Views the details of a single contact -->
-        <activity android:name=".activities.ContactDetailActivity"
-            android:label="@string/viewContactTitle"
-            android:theme="@style/DetailActivityTheme"
-            android:parentActivityName=".activities.PeopleActivity">
-
-            <intent-filter android:label="@string/viewContactDesription">
-                <action android:name="android.intent.action.VIEW" />
-                <category android:name="android.intent.category.DEFAULT" />
-                <data android:mimeType="vnd.android.cursor.item/person" />
-                <data android:mimeType="vnd.android.cursor.item/contact" />
-                <data android:mimeType="vnd.android.cursor.item/raw_contact" />
-            </intent-filter>
-        </activity>
-
         <!-- Confirm that a single detail will be added to an existing contact -->
         <activity
             android:name=".activities.ConfirmAddDetailActivity"
@@ -351,7 +327,7 @@
         <activity
             android:name=".activities.ContactEditorActivity"
             android:theme="@style/EditorActivityTheme"
-            android:windowSoftInputMode="adjustResize">
+            android:windowSoftInputMode="stateHidden|adjustResize">
 
             <intent-filter android:label="@string/editContactDescription">
                 <action android:name="android.intent.action.EDIT" />
@@ -498,6 +474,13 @@
             </intent-filter>
         </service>
 
+        <!-- Broadcast receiver that passively listens to location updates -->
+        <receiver android:name="com.android.contacts.common.location.CountryDetector$LocationChangedReceiver"/>
+
+        <!-- IntentService to update the user's current country -->
+        <service android:name="com.android.contacts.common.location.UpdateCountryService"
+            android:exported="false"/>
+
         <provider
             android:name="android.support.v4.content.FileProvider"
             android:authorities="com.android.contacts.files"
diff --git a/CleanSpec.mk b/CleanSpec.mk
index b84e1b6..63f1939 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -47,3 +47,4 @@
 # ************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
 # ************************************************
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/Contacts_intermediates)
diff --git a/proguard.flags b/proguard.flags
index 3991a14..05071df 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -10,10 +10,10 @@
 }
 
 # Any class or method annotated with NeededForTesting or NeededForReflection.
--keep @com.android.contacts.common.test.NeededForTesting class *
+-keep @com.android.contacts.common.testing.NeededForTesting class *
 -keep @com.android.contacts.test.NeededForReflection class *
 -keepclassmembers class * {
-@com.android.contacts.common.test.NeededForTesting *;
+@com.android.contacts.common.testing.NeededForTesting *;
 @com.android.contacts.test.NeededForReflection *;
 }
 
diff --git a/res/drawable-hdpi/default_avatar_white.png b/res/drawable-hdpi/default_avatar_white.png
new file mode 100644
index 0000000..711286c
--- /dev/null
+++ b/res/drawable-hdpi/default_avatar_white.png
Binary files differ
diff --git a/res/drawable-hdpi/expanding_entry_card_expand_white_24.png b/res/drawable-hdpi/expanding_entry_card_expand_white_24.png
new file mode 100644
index 0000000..50ebbc5
--- /dev/null
+++ b/res/drawable-hdpi/expanding_entry_card_expand_white_24.png
Binary files differ
diff --git a/res/drawable-hdpi/fab_blue.png b/res/drawable-hdpi/fab_blue.png
new file mode 100644
index 0000000..8ff3d29
--- /dev/null
+++ b/res/drawable-hdpi/fab_blue.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_ab_search_holo_dark.png b/res/drawable-hdpi/ic_ab_search_holo_dark.png
deleted file mode 100644
index 6dff03e..0000000
--- a/res/drawable-hdpi/ic_ab_search_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_add_to_circles_black_24.png b/res/drawable-hdpi/ic_add_to_circles_black_24.png
new file mode 100644
index 0000000..6eb1fcc
--- /dev/null
+++ b/res/drawable-hdpi/ic_add_to_circles_black_24.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_call_arrow.png b/res/drawable-hdpi/ic_call_arrow.png
new file mode 100644
index 0000000..14a33e3
--- /dev/null
+++ b/res/drawable-hdpi/ic_call_arrow.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_create_24dp.png b/res/drawable-hdpi/ic_create_24dp.png
new file mode 100644
index 0000000..540ab4d
--- /dev/null
+++ b/res/drawable-hdpi/ic_create_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_directions_24dp.png b/res/drawable-hdpi/ic_directions_24dp.png
new file mode 100644
index 0000000..c378972
--- /dev/null
+++ b/res/drawable-hdpi/ic_directions_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_done_wht_24dp.png b/res/drawable-hdpi/ic_done_wht_24dp.png
new file mode 100644
index 0000000..12ce8e0
--- /dev/null
+++ b/res/drawable-hdpi/ic_done_wht_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_email_24dp.png b/res/drawable-hdpi/ic_email_24dp.png
new file mode 100644
index 0000000..231b141
--- /dev/null
+++ b/res/drawable-hdpi/ic_email_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_event_24dp.png b/res/drawable-hdpi/ic_event_24dp.png
new file mode 100644
index 0000000..023695a
--- /dev/null
+++ b/res/drawable-hdpi/ic_event_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_google_plus_24dp.png b/res/drawable-hdpi/ic_google_plus_24dp.png
new file mode 100644
index 0000000..af17f2b
--- /dev/null
+++ b/res/drawable-hdpi/ic_google_plus_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_hangout_24dp.png b/res/drawable-hdpi/ic_hangout_24dp.png
new file mode 100644
index 0000000..496a2a0
--- /dev/null
+++ b/res/drawable-hdpi/ic_hangout_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_hangout_video_24dp.png b/res/drawable-hdpi/ic_hangout_video_24dp.png
new file mode 100644
index 0000000..0825a15
--- /dev/null
+++ b/res/drawable-hdpi/ic_hangout_video_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_list_default_mime_holo_dark.png b/res/drawable-hdpi/ic_list_default_mime_holo_dark.png
deleted file mode 100644
index 4dc1c39..0000000
--- a/res/drawable-hdpi/ic_list_default_mime_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_done_holo_dark.png b/res/drawable-hdpi/ic_menu_done_holo_dark.png
deleted file mode 100644
index 750c77e..0000000
--- a/res/drawable-hdpi/ic_menu_done_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_done_holo_light.png b/res/drawable-hdpi/ic_menu_done_holo_light.png
deleted file mode 100644
index 2c07476..0000000
--- a/res/drawable-hdpi/ic_menu_done_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_message_24dp.png b/res/drawable-hdpi/ic_message_24dp.png
new file mode 100644
index 0000000..48f008a
--- /dev/null
+++ b/res/drawable-hdpi/ic_message_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_phone_24dp.png b/res/drawable-hdpi/ic_phone_24dp.png
new file mode 100644
index 0000000..a6a6448
--- /dev/null
+++ b/res/drawable-hdpi/ic_phone_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_place_24dp.png b/res/drawable-hdpi/ic_place_24dp.png
new file mode 100644
index 0000000..8e21320
--- /dev/null
+++ b/res/drawable-hdpi/ic_place_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_star_24dp.png b/res/drawable-hdpi/ic_star_24dp.png
new file mode 100644
index 0000000..b3d2f44
--- /dev/null
+++ b/res/drawable-hdpi/ic_star_24dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_star_outline_24dp.png b/res/drawable-hdpi/ic_star_outline_24dp.png
new file mode 100644
index 0000000..4d4b7c1
--- /dev/null
+++ b/res/drawable-hdpi/ic_star_outline_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/default_avatar_white.png b/res/drawable-mdpi/default_avatar_white.png
new file mode 100644
index 0000000..0983eb0
--- /dev/null
+++ b/res/drawable-mdpi/default_avatar_white.png
Binary files differ
diff --git a/res/drawable-mdpi/expanding_entry_card_expand_white_24.png b/res/drawable-mdpi/expanding_entry_card_expand_white_24.png
new file mode 100644
index 0000000..a0d4063
--- /dev/null
+++ b/res/drawable-mdpi/expanding_entry_card_expand_white_24.png
Binary files differ
diff --git a/res/drawable-mdpi/fab_blue.png b/res/drawable-mdpi/fab_blue.png
new file mode 100644
index 0000000..2ca6b4b
--- /dev/null
+++ b/res/drawable-mdpi/fab_blue.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_ab_search_holo_dark.png b/res/drawable-mdpi/ic_ab_search_holo_dark.png
deleted file mode 100644
index 5a10e93..0000000
--- a/res/drawable-mdpi/ic_ab_search_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_add_to_circles_black_24.png b/res/drawable-mdpi/ic_add_to_circles_black_24.png
new file mode 100644
index 0000000..fbffc97
--- /dev/null
+++ b/res/drawable-mdpi/ic_add_to_circles_black_24.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_call_arrow.png b/res/drawable-mdpi/ic_call_arrow.png
new file mode 100644
index 0000000..169cf29
--- /dev/null
+++ b/res/drawable-mdpi/ic_call_arrow.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_create_24dp.png b/res/drawable-mdpi/ic_create_24dp.png
new file mode 100644
index 0000000..8a2df39
--- /dev/null
+++ b/res/drawable-mdpi/ic_create_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_directions_24dp.png b/res/drawable-mdpi/ic_directions_24dp.png
new file mode 100644
index 0000000..bd171d2
--- /dev/null
+++ b/res/drawable-mdpi/ic_directions_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_done_wht_24dp.png b/res/drawable-mdpi/ic_done_wht_24dp.png
new file mode 100644
index 0000000..1032711
--- /dev/null
+++ b/res/drawable-mdpi/ic_done_wht_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_email_24dp.png b/res/drawable-mdpi/ic_email_24dp.png
new file mode 100644
index 0000000..c32d03a
--- /dev/null
+++ b/res/drawable-mdpi/ic_email_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_event_24dp.png b/res/drawable-mdpi/ic_event_24dp.png
new file mode 100644
index 0000000..f5abeb7
--- /dev/null
+++ b/res/drawable-mdpi/ic_event_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_google_plus_24dp.png b/res/drawable-mdpi/ic_google_plus_24dp.png
new file mode 100644
index 0000000..d8eacf0
--- /dev/null
+++ b/res/drawable-mdpi/ic_google_plus_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_hangout_24dp.png b/res/drawable-mdpi/ic_hangout_24dp.png
new file mode 100644
index 0000000..1b0acfd
--- /dev/null
+++ b/res/drawable-mdpi/ic_hangout_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_hangout_video_24dp.png b/res/drawable-mdpi/ic_hangout_video_24dp.png
new file mode 100644
index 0000000..b54b1cb
--- /dev/null
+++ b/res/drawable-mdpi/ic_hangout_video_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_list_default_mime_holo_dark.png b/res/drawable-mdpi/ic_list_default_mime_holo_dark.png
deleted file mode 100644
index d950b31..0000000
--- a/res/drawable-mdpi/ic_list_default_mime_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_done_holo_dark.png b/res/drawable-mdpi/ic_menu_done_holo_dark.png
deleted file mode 100644
index 7ec8c8f..0000000
--- a/res/drawable-mdpi/ic_menu_done_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_done_holo_light.png b/res/drawable-mdpi/ic_menu_done_holo_light.png
deleted file mode 100644
index d18b783..0000000
--- a/res/drawable-mdpi/ic_menu_done_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_message_24dp.png b/res/drawable-mdpi/ic_message_24dp.png
new file mode 100644
index 0000000..c18f225
--- /dev/null
+++ b/res/drawable-mdpi/ic_message_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_phone_24dp.png b/res/drawable-mdpi/ic_phone_24dp.png
new file mode 100644
index 0000000..2286bb4
--- /dev/null
+++ b/res/drawable-mdpi/ic_phone_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_place_24dp.png b/res/drawable-mdpi/ic_place_24dp.png
new file mode 100644
index 0000000..2ef1381
--- /dev/null
+++ b/res/drawable-mdpi/ic_place_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_star_24dp.png b/res/drawable-mdpi/ic_star_24dp.png
new file mode 100644
index 0000000..b8f32f8
--- /dev/null
+++ b/res/drawable-mdpi/ic_star_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_star_outline_24dp.png b/res/drawable-mdpi/ic_star_outline_24dp.png
new file mode 100644
index 0000000..22b4fb8
--- /dev/null
+++ b/res/drawable-mdpi/ic_star_outline_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/default_avatar_white.png b/res/drawable-xhdpi/default_avatar_white.png
new file mode 100644
index 0000000..f645ff2
--- /dev/null
+++ b/res/drawable-xhdpi/default_avatar_white.png
Binary files differ
diff --git a/res/drawable-xhdpi/expanding_entry_card_expand_white_24.png b/res/drawable-xhdpi/expanding_entry_card_expand_white_24.png
new file mode 100644
index 0000000..42e9f2c
--- /dev/null
+++ b/res/drawable-xhdpi/expanding_entry_card_expand_white_24.png
Binary files differ
diff --git a/res/drawable-xhdpi/fab_blue.png b/res/drawable-xhdpi/fab_blue.png
new file mode 100644
index 0000000..300b07e
--- /dev/null
+++ b/res/drawable-xhdpi/fab_blue.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_ab_search_holo_dark.png b/res/drawable-xhdpi/ic_ab_search_holo_dark.png
deleted file mode 100644
index b2d23c9..0000000
--- a/res/drawable-xhdpi/ic_ab_search_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_add_to_circles_black_24.png b/res/drawable-xhdpi/ic_add_to_circles_black_24.png
new file mode 100644
index 0000000..79116b5
--- /dev/null
+++ b/res/drawable-xhdpi/ic_add_to_circles_black_24.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_call_arrow.png b/res/drawable-xhdpi/ic_call_arrow.png
new file mode 100644
index 0000000..6f13660
--- /dev/null
+++ b/res/drawable-xhdpi/ic_call_arrow.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_create_24dp.png b/res/drawable-xhdpi/ic_create_24dp.png
new file mode 100644
index 0000000..48e75be
--- /dev/null
+++ b/res/drawable-xhdpi/ic_create_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_directions_24dp.png b/res/drawable-xhdpi/ic_directions_24dp.png
new file mode 100644
index 0000000..99cde4a
--- /dev/null
+++ b/res/drawable-xhdpi/ic_directions_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_done_wht_24dp.png b/res/drawable-xhdpi/ic_done_wht_24dp.png
new file mode 100644
index 0000000..e34b73e
--- /dev/null
+++ b/res/drawable-xhdpi/ic_done_wht_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_email_24dp.png b/res/drawable-xhdpi/ic_email_24dp.png
new file mode 100644
index 0000000..adf14ef
--- /dev/null
+++ b/res/drawable-xhdpi/ic_email_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_event_24dp.png b/res/drawable-xhdpi/ic_event_24dp.png
new file mode 100644
index 0000000..a2bd4b2
--- /dev/null
+++ b/res/drawable-xhdpi/ic_event_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_google_plus_24dp.png b/res/drawable-xhdpi/ic_google_plus_24dp.png
new file mode 100644
index 0000000..ea352d3
--- /dev/null
+++ b/res/drawable-xhdpi/ic_google_plus_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_hangout_24dp.png b/res/drawable-xhdpi/ic_hangout_24dp.png
new file mode 100644
index 0000000..0cd7795
--- /dev/null
+++ b/res/drawable-xhdpi/ic_hangout_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_hangout_video_24dp.png b/res/drawable-xhdpi/ic_hangout_video_24dp.png
new file mode 100644
index 0000000..97b984c
--- /dev/null
+++ b/res/drawable-xhdpi/ic_hangout_video_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_list_default_mime_holo_dark.png b/res/drawable-xhdpi/ic_list_default_mime_holo_dark.png
deleted file mode 100644
index 73cddd1..0000000
--- a/res/drawable-xhdpi/ic_list_default_mime_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_done_holo_dark.png b/res/drawable-xhdpi/ic_menu_done_holo_dark.png
deleted file mode 100644
index b9af04a..0000000
--- a/res/drawable-xhdpi/ic_menu_done_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_done_holo_light.png b/res/drawable-xhdpi/ic_menu_done_holo_light.png
deleted file mode 100644
index 7cde3e5..0000000
--- a/res/drawable-xhdpi/ic_menu_done_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_message_24dp.png b/res/drawable-xhdpi/ic_message_24dp.png
new file mode 100644
index 0000000..ee5021c
--- /dev/null
+++ b/res/drawable-xhdpi/ic_message_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_phone_24dp.png b/res/drawable-xhdpi/ic_phone_24dp.png
new file mode 100644
index 0000000..cd9ff60
--- /dev/null
+++ b/res/drawable-xhdpi/ic_phone_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_place_24dp.png b/res/drawable-xhdpi/ic_place_24dp.png
new file mode 100644
index 0000000..0f8bc5b
--- /dev/null
+++ b/res/drawable-xhdpi/ic_place_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_star_24dp.png b/res/drawable-xhdpi/ic_star_24dp.png
new file mode 100644
index 0000000..e1ae246
--- /dev/null
+++ b/res/drawable-xhdpi/ic_star_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_star_outline_24dp.png b/res/drawable-xhdpi/ic_star_outline_24dp.png
new file mode 100644
index 0000000..f7dacfd
--- /dev/null
+++ b/res/drawable-xhdpi/ic_star_outline_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/default_avatar_white.png b/res/drawable-xxhdpi/default_avatar_white.png
new file mode 100644
index 0000000..b92f026
--- /dev/null
+++ b/res/drawable-xxhdpi/default_avatar_white.png
Binary files differ
diff --git a/res/drawable-xxhdpi/expanding_entry_card_expand_white_24.png b/res/drawable-xxhdpi/expanding_entry_card_expand_white_24.png
new file mode 100644
index 0000000..af4d711
--- /dev/null
+++ b/res/drawable-xxhdpi/expanding_entry_card_expand_white_24.png
Binary files differ
diff --git a/res/drawable-xxhdpi/fab_blue.png b/res/drawable-xxhdpi/fab_blue.png
new file mode 100644
index 0000000..76d68ac
--- /dev/null
+++ b/res/drawable-xxhdpi/fab_blue.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_ab_search_holo_dark.png b/res/drawable-xxhdpi/ic_ab_search_holo_dark.png
deleted file mode 100644
index d56194d..0000000
--- a/res/drawable-xxhdpi/ic_ab_search_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_add_to_circles_black_24.png b/res/drawable-xxhdpi/ic_add_to_circles_black_24.png
new file mode 100644
index 0000000..23a2084
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_add_to_circles_black_24.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_call_arrow.png b/res/drawable-xxhdpi/ic_call_arrow.png
new file mode 100644
index 0000000..0364ee0
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_call_arrow.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_create_24dp.png b/res/drawable-xxhdpi/ic_create_24dp.png
new file mode 100644
index 0000000..24142c7
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_create_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_directions_24dp.png b/res/drawable-xxhdpi/ic_directions_24dp.png
new file mode 100644
index 0000000..e0d53a3
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_directions_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_done_wht_24dp.png b/res/drawable-xxhdpi/ic_done_wht_24dp.png
new file mode 100644
index 0000000..4c6a653
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_done_wht_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_email_24dp.png b/res/drawable-xxhdpi/ic_email_24dp.png
new file mode 100644
index 0000000..d1fc5fc
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_email_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_event_24dp.png b/res/drawable-xxhdpi/ic_event_24dp.png
new file mode 100644
index 0000000..f27a424
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_event_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_google_plus_24dp.png b/res/drawable-xxhdpi/ic_google_plus_24dp.png
new file mode 100644
index 0000000..933cd62
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_google_plus_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_hangout_24dp.png b/res/drawable-xxhdpi/ic_hangout_24dp.png
new file mode 100644
index 0000000..16858d1
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_hangout_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_hangout_video_24dp.png b/res/drawable-xxhdpi/ic_hangout_video_24dp.png
new file mode 100644
index 0000000..4183c76
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_hangout_video_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_list_default_mime_holo_dark.png b/res/drawable-xxhdpi/ic_list_default_mime_holo_dark.png
deleted file mode 100644
index 4f12d95..0000000
--- a/res/drawable-xxhdpi/ic_list_default_mime_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_menu_done_holo_dark.png b/res/drawable-xxhdpi/ic_menu_done_holo_dark.png
deleted file mode 100644
index 7f6919c..0000000
--- a/res/drawable-xxhdpi/ic_menu_done_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_menu_done_holo_light.png b/res/drawable-xxhdpi/ic_menu_done_holo_light.png
deleted file mode 100644
index 9a6f448..0000000
--- a/res/drawable-xxhdpi/ic_menu_done_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_message_24dp.png b/res/drawable-xxhdpi/ic_message_24dp.png
new file mode 100644
index 0000000..3b74d32
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_message_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_phone_24dp.png b/res/drawable-xxhdpi/ic_phone_24dp.png
new file mode 100644
index 0000000..3c546e5
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_phone_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_place_24dp.png b/res/drawable-xxhdpi/ic_place_24dp.png
new file mode 100644
index 0000000..0eca249
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_place_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_star_24dp.png b/res/drawable-xxhdpi/ic_star_24dp.png
new file mode 100644
index 0000000..eeb659e
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_star_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_star_outline_24dp.png b/res/drawable-xxhdpi/ic_star_outline_24dp.png
new file mode 100644
index 0000000..d1728ff
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_star_outline_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_create_24dp.png b/res/drawable-xxxhdpi/ic_create_24dp.png
new file mode 100644
index 0000000..d3ff0ec
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_create_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_directions_24dp.png b/res/drawable-xxxhdpi/ic_directions_24dp.png
new file mode 100644
index 0000000..b7e3377
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_directions_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_done_wht_24dp.png b/res/drawable-xxxhdpi/ic_done_wht_24dp.png
new file mode 100644
index 0000000..2e36684
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_done_wht_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_google_plus_24dp.png b/res/drawable-xxxhdpi/ic_google_plus_24dp.png
new file mode 100644
index 0000000..dcd6c97
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_google_plus_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_hangout_24dp.png b/res/drawable-xxxhdpi/ic_hangout_24dp.png
new file mode 100644
index 0000000..4bfdb0d
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_hangout_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_hangout_video_24dp.png b/res/drawable-xxxhdpi/ic_hangout_video_24dp.png
new file mode 100644
index 0000000..f1be2e7
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_hangout_video_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_star_24dp.png b/res/drawable-xxxhdpi/ic_star_24dp.png
new file mode 100644
index 0000000..bd1cd8d
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_star_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_star_outline_24dp.png b/res/drawable-xxxhdpi/ic_star_outline_24dp.png
new file mode 100644
index 0000000..cb90707
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_star_outline_24dp.png
Binary files differ
diff --git a/res/drawable/action_bar_tab.xml b/res/drawable/action_bar_tab.xml
deleted file mode 100644
index 2fc5c2b..0000000
--- a/res/drawable/action_bar_tab.xml
+++ /dev/null
@@ -1,22 +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.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/tab_selected_pressed" android:state_pressed="true"/>
-    <item android:drawable="@drawable/tab_selected_focused" android:state_focused="true"/>
-    <item android:drawable="@drawable/tab_selected" />
-</selector>
\ No newline at end of file
diff --git a/res/drawable/quickcontact_track_background.xml b/res/drawable/default_avatar_white.xml
similarity index 71%
copy from res/drawable/quickcontact_track_background.xml
copy to res/drawable/default_avatar_white.xml
index fcf61fd..9bc5cbf 100644
--- a/res/drawable/quickcontact_track_background.xml
+++ b/res/drawable/default_avatar_white.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -14,6 +14,8 @@
      limitations under the License.
 -->
 
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-    android:src="@drawable/quickcon_background_texture"
-    android:tileMode="repeat" />
+<inset
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:drawable="@drawable/default_avatar_white"
+    android:insetRight="102dp"
+    android:insetLeft="102dp" />
\ No newline at end of file
diff --git a/res/drawable/quickcontact_track_background.xml b/res/drawable/floating_action_button.xml
similarity index 72%
copy from res/drawable/quickcontact_track_background.xml
copy to res/drawable/floating_action_button.xml
index fcf61fd..34612d5 100644
--- a/res/drawable/quickcontact_track_background.xml
+++ b/res/drawable/floating_action_button.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!--
+     Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
      limitations under the License.
 -->
 
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-    android:src="@drawable/quickcon_background_texture"
-    android:tileMode="repeat" />
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+    android:color="@color/contacts_accent_color">
+    <item android:drawable="@drawable/fab_blue" />
+</ripple>
diff --git a/res/drawable/list_divider.xml b/res/drawable/quickcontact_card_border.xml
similarity index 79%
rename from res/drawable/list_divider.xml
rename to res/drawable/quickcontact_card_border.xml
index 81df0f5..f0daea1 100644
--- a/res/drawable/list_divider.xml
+++ b/res/drawable/quickcontact_card_border.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -15,6 +15,7 @@
 -->
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="rectangle">
-    <solid
-        android:color="@color/quickcontact_list_divider"/>
-</shape>
\ No newline at end of file
+    <stroke
+        android:width="@dimen/expanding_entry_card_border_width"
+        android:color="@color/card_margin_color"/>
+</shape>
diff --git a/res/drawable/quickcontact_list_item_divider.xml b/res/drawable/quickcontact_list_item_divider.xml
deleted file mode 100644
index 99882c4..0000000
--- a/res/drawable/quickcontact_list_item_divider.xml
+++ /dev/null
@@ -1,19 +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.
--->
-<inset xmlns:android="http://schemas.android.com/apk/res/android"
-    android:drawable="@drawable/list_divider"
-    android:insetRight="16dp"
-    android:insetLeft="16dp" />
\ No newline at end of file
diff --git a/res/drawable/tab_selected.xml b/res/drawable/tab_selected.xml
deleted file mode 100644
index 36a4175..0000000
--- a/res/drawable/tab_selected.xml
+++ /dev/null
@@ -1,24 +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.
--->
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item>
-        <shape android:shape="rectangle" >
-            <solid android:color="@color/action_bar_background" />
-        </shape>
-    </item>
-</layer-list>
\ No newline at end of file
diff --git a/res/drawable/tab_selected_focused.xml b/res/drawable/tab_selected_focused.xml
deleted file mode 100644
index 13aeb4ce..0000000
--- a/res/drawable/tab_selected_focused.xml
+++ /dev/null
@@ -1,24 +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.
--->
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item>
-        <shape android:shape="rectangle" >
-            <solid android:color="@color/action_bar_background_highlight" />
-        </shape>
-    </item>
-</layer-list>
\ No newline at end of file
diff --git a/res/drawable/tab_selected_pressed.xml b/res/drawable/tab_selected_pressed.xml
deleted file mode 100644
index 13aeb4ce..0000000
--- a/res/drawable/tab_selected_pressed.xml
+++ /dev/null
@@ -1,24 +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.
--->
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item>
-        <shape android:shape="rectangle" >
-            <solid android:color="@color/action_bar_background_highlight" />
-        </shape>
-    </item>
-</layer-list>
\ No newline at end of file
diff --git a/res/drawable/tab_unselected_focused.xml b/res/drawable/tab_unselected_focused.xml
deleted file mode 100644
index 13aeb4ce..0000000
--- a/res/drawable/tab_unselected_focused.xml
+++ /dev/null
@@ -1,24 +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.
--->
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item>
-        <shape android:shape="rectangle" >
-            <solid android:color="@color/action_bar_background_highlight" />
-        </shape>
-    </item>
-</layer-list>
\ No newline at end of file
diff --git a/res/drawable/tab_unselected_pressed.xml b/res/drawable/tab_unselected_pressed.xml
deleted file mode 100644
index 13aeb4ce..0000000
--- a/res/drawable/tab_unselected_pressed.xml
+++ /dev/null
@@ -1,24 +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.
--->
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item>
-        <shape android:shape="rectangle" >
-            <solid android:color="@color/action_bar_background_highlight" />
-        </shape>
-    </item>
-</layer-list>
\ No newline at end of file
diff --git a/res/drawable/view_pager_tab_background.xml b/res/drawable/view_pager_tab_background.xml
new file mode 100644
index 0000000..1ba6c57
--- /dev/null
+++ b/res/drawable/view_pager_tab_background.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2014 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+    android:color="@color/tab_ripple_color">
+    <item android:id="@android:id/mask">
+        <color android:color="@android:color/white" />
+    </item>
+</ripple>
\ No newline at end of file
diff --git a/res/layout-land/contact_detail_container.xml b/res/layout-land/contact_detail_container.xml
deleted file mode 100644
index fc401b7..0000000
--- a/res/layout-land/contact_detail_container.xml
+++ /dev/null
@@ -1,26 +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.
--->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <com.android.contacts.detail.ContactDetailFragmentCarousel
-        android:id="@+id/fragment_carousel"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"/>
-
-</FrameLayout>
\ No newline at end of file
diff --git a/res/layout-land/contact_detail_fragment.xml b/res/layout-land/contact_detail_fragment.xml
deleted file mode 100644
index 2d788df..0000000
--- a/res/layout-land/contact_detail_fragment.xml
+++ /dev/null
@@ -1,81 +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.
--->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/contact_detail"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <!-- "QuickFix"- button (Copy to local contact, add to group) -->
-    <Button
-        android:id="@+id/contact_quick_fix"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:visibility="gone"
-        android:layout_alignParentRight="true"
-        android:layout_alignParentEnd="true"
-        android:layout_alignParentBottom="true"
-        android:layout_marginRight="40dip"
-        android:layout_marginEnd="40dip"
-        android:layout_marginTop="20dip"
-        android:layout_marginBottom="20dip" />
-
-    <LinearLayout
-        android:orientation="horizontal"
-        android:layout_width="match_parent"
-        android:layout_above="@id/contact_quick_fix"
-        android:layout_height="match_parent"
-        android:baselineAligned="false"
-        android:background="@android:color/white">
-
-        <include android:id="@+id/static_photo_container"
-            layout="@layout/photo_selector_view"
-            android:layout_width="@dimen/detail_contact_photo_size"
-            android:layout_height="@dimen/detail_contact_photo_size"
-            android:layout_marginLeft="@dimen/detail_contact_photo_margin"
-            android:layout_marginStart="@dimen/detail_contact_photo_margin"
-            android:layout_marginTop="@dimen/detail_contact_photo_margin" />
-
-        <ListView android:id="@android:id/list"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:fadingEdge="none"
-            android:layout_weight="1"
-            android:divider="@null"/>
-
-    </LinearLayout>
-
-    <ScrollView android:id="@android:id/empty"
-        android:layout_width="match_parent"
-        android:layout_height="0px"
-        android:fadingEdge="none"
-        android:visibility="gone">
-        <TextView android:id="@+id/emptyText"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/no_contact_details"
-            android:textSize="20sp"
-            android:textColor="?android:attr/textColorSecondary"
-            android:paddingLeft="10dip"
-            android:paddingRight="10dip"
-            android:paddingStart="10dip"
-            android:paddingEnd="10dip"
-            android:paddingTop="10dip"
-            android:lineSpacingMultiplier="0.92"/>
-    </ScrollView>
-
-</RelativeLayout>
-
diff --git a/res/layout-land/contact_detail_updates_fragment.xml b/res/layout-land/contact_detail_updates_fragment.xml
deleted file mode 100644
index 801f2bb..0000000
--- a/res/layout-land/contact_detail_updates_fragment.xml
+++ /dev/null
@@ -1,30 +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.
--->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/contact_detail_updates_fragment"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@color/background_social_updates">
-
-    <ListView android:id="@android:id/list"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:fadingEdge="none"
-        android:divider="@null"
-        android:background="@android:color/transparent"/>
-
-</FrameLayout>
diff --git a/res/layout-land/detail_header_contact_with_updates.xml b/res/layout-land/detail_header_contact_with_updates.xml
deleted file mode 100644
index 588957e..0000000
--- a/res/layout-land/detail_header_contact_with_updates.xml
+++ /dev/null
@@ -1,24 +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.
--->
-
-<!--
-  This is a header entry in the contact details list for when the contact has social updates.
-  This is empty because all the information will be displayed elsewhere.
--->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="0dip"/>
\ No newline at end of file
diff --git a/res/layout-land/detail_header_contact_without_updates.xml b/res/layout-land/detail_header_contact_without_updates.xml
deleted file mode 100644
index 44ea04c..0000000
--- a/res/layout-land/detail_header_contact_without_updates.xml
+++ /dev/null
@@ -1,24 +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.
--->
-
-<!--
-  This is a header entry in the contact details list for when the contact does not have social
-  updates. This is empty because all the information will be displayed elsewhere.
--->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="0dip"/>
\ No newline at end of file
diff --git a/res/layout-land/people_activity_toolbar.xml b/res/layout-land/people_activity_toolbar.xml
new file mode 100644
index 0000000..1f86879
--- /dev/null
+++ b/res/layout-land/people_activity_toolbar.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Need to set a non null background on Toolbar in order for MenuItem ripples to be drawn on
+     this view, instead of another. This will *not* cause an additional draw since the
+     background is transparent.-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/toolbar_parent"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:background="#00000000"
+    android:elevation="@dimen/tab_elevation"
+    android:layout_height="wrap_content" >
+
+    <Toolbar
+        android:layout_width="match_parent"
+        android:layout_height="?android:attr/actionBarSize"
+        android:background="@color/actionbar_background_color"
+        android:id="@+id/toolbar"
+        style="@style/ContactsToolbarStyle" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout-land/quickcontact_activity.xml b/res/layout-land/quickcontact_activity.xml
index c398551..b22b5ef 100644
--- a/res/layout-land/quickcontact_activity.xml
+++ b/res/layout-land/quickcontact_activity.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,45 +13,50 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<view
+<com.android.contacts.widget.MultiShrinkScroller
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    class="com.android.contacts.quickcontact.FloatingChildLayout"
-    android:id="@+id/floating_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:id="@+id/multiscroller"
     android:focusable="true"
     android:focusableInTouchMode="true"
-    android:descendantFocusability="afterDescendants">
+    android:descendantFocusability="afterDescendants" >
+
     <LinearLayout
-        android:id="@android:id/content"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:padding="32dip"
-        android:orientation="horizontal">
-        <view
-            class="com.android.contacts.common.widget.ProportionalLayout"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            ex:ratio="1.0"
-            ex:direction="heightToWidth">
-            <include layout="@layout/quickcontact_photo_container" />
-        </view>
+        android:orientation="vertical">
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/quickcontact_starting_empty_height"
+            android:contentDescription="@string/quickcontact_transparent_view_description"
+            android:id="@+id/transparent_view" />
+
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:orientation="vertical">
-            <include layout="@layout/quickcontact_track" />
-            <View
-                android:id="@+id/line_after_track"
+            android:orientation="horizontal">
+
+            <!-- Needs a non null background for elevation to work on this View. This will
+                 *not* cause an additional draw since the background is transparent. -->
+            <FrameLayout
                 android:layout_width="match_parent"
-                android:layout_height="2dip"
-                android:background="@color/quickcontact_tab_indicator" />
-            <android.support.v4.view.ViewPager
-                android:id="@+id/item_list_pager"
-                android:background="@drawable/quickcontact_track_background"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent" />
+                android:layout_height="match_parent"
+                android:background="#00000000"
+                android:id="@+id/toolbar_parent">
+
+                <include layout="@layout/quickcontact_header" />
+
+                <include layout="@layout/quickcontact_title" />
+
+            </FrameLayout>
+
+            <include layout="@layout/quickcontact_content" />
+
         </LinearLayout>
+
     </LinearLayout>
-</view>
+
+</com.android.contacts.widget.MultiShrinkScroller>
\ No newline at end of file
diff --git a/res/layout-land/updates_header_contact.xml b/res/layout-land/updates_header_contact.xml
deleted file mode 100644
index 844188e..0000000
--- a/res/layout-land/updates_header_contact.xml
+++ /dev/null
@@ -1,43 +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.
--->
-
-<!--
-  This is a header entry in the contact updates list.
--->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="32dip"
-    android:paddingLeft="16dip"
-    android:paddingRight="16dip"
-    android:paddingStart="16dip"
-    android:paddingEnd="16dip"
-    android:focusable="false">
-
-    <TextView
-        style="?android:attr/listSeparatorTextViewStyle"
-        android:paddingLeft="8dip"
-        android:paddingRight="8dip"
-        android:paddingStart="8dip"
-        android:paddingEnd="8dip"
-        android:background="@drawable/list_section_divider_holo_custom"
-        android:text="@string/recent_updates"
-        android:textColor="@color/people_app_theme_color"
-        android:textAllCaps="true"
-        android:singleLine="true"
-        android:ellipsize="end" />
-
-</FrameLayout>
diff --git a/res/layout-sw600dp-land/contact_detail_container.xml b/res/layout-sw600dp-land/contact_detail_container.xml
deleted file mode 100644
index 3597d9f..0000000
--- a/res/layout-sw600dp-land/contact_detail_container.xml
+++ /dev/null
@@ -1,28 +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.
--->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <com.android.contacts.detail.ContactDetailFragmentCarousel
-        android:id="@+id/fragment_carousel"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_marginLeft="16dip"
-        android:layout_marginStart="16dip"/>
-
-</FrameLayout>
diff --git a/res/layout-sw600dp-land/contact_detail_fragment.xml b/res/layout-sw600dp-land/contact_detail_fragment.xml
deleted file mode 100644
index a48a5b5..0000000
--- a/res/layout-sw600dp-land/contact_detail_fragment.xml
+++ /dev/null
@@ -1,69 +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.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/contact_detail"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <!-- Placeholder for empty list -->
-    <include
-        android:id="@android:id/empty"
-        layout="@layout/contact_detail_empty"
-        android:visibility="gone" />
-
-    <!-- Real list -->
-    <LinearLayout
-        android:orientation="horizontal"
-        android:layout_weight="1"
-        android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:baselineAligned="false">
-
-        <include android:id="@+id/static_photo_container"
-            layout="@layout/photo_selector_view"
-            android:layout_width="@dimen/detail_contact_photo_size"
-            android:layout_height="@dimen/detail_contact_photo_size"
-            android:layout_marginTop="@dimen/detail_contact_photo_margin"
-            android:layout_marginRight="@dimen/detail_contact_photo_margin"
-            android:layout_marginEnd="@dimen/detail_contact_photo_margin" />
-
-        <ListView android:id="@android:id/list"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:paddingTop="16dip"
-            android:clipToPadding="false"
-            android:fadingEdge="none"
-            android:layout_weight="1"
-            android:divider="@null"
-            android:scrollbarStyle="outsideOverlay"
-            android:paddingRight="16dip"
-            android:paddingEnd="16dip"/>
-
-    </LinearLayout>
-
-    <!-- "QuickFix"- button (Copy to local contact, add to group) -->
-    <Button
-        android:id="@+id/contact_quick_fix"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:visibility="gone"
-        android:layout_gravity="center"
-        android:layout_marginTop="10dip"
-        android:layout_marginBottom="10dip" />
-</LinearLayout>
diff --git a/res/layout-sw600dp-land/detail_header_contact_with_updates.xml b/res/layout-sw600dp-land/detail_header_contact_with_updates.xml
deleted file mode 100644
index 6476300..0000000
--- a/res/layout-sw600dp-land/detail_header_contact_with_updates.xml
+++ /dev/null
@@ -1,65 +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.
--->
-
-<!--
-  This is a header entry in the contact details list for when the contact has social updates. The
-  entry shows the contact's basic info and maintains vertical padding to ensure that the first
-  contact detail is visible (and below the tab carousel). The photo is not displayed here
-  because it will be shown in the tab carousel.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingBottom="8dip"
-    android:orientation="horizontal">
-
-    <include layout="@layout/photo_selector_view"
-        android:layout_width="@dimen/detail_contact_photo_size"
-        android:layout_height="@dimen/detail_contact_photo_size" />
-
-    <LinearLayout
-        android:layout_width="0dip"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:orientation="vertical"
-        android:paddingLeft="16dip"
-        android:paddingRight="4dip"
-        android:paddingStart="16dip"
-        android:paddingEnd="4dip">
-
-        <TextView
-            android:id="@+id/name"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:gravity="center_vertical"
-            android:textAppearance="?android:attr/textAppearanceLarge"
-            android:textSize="@dimen/detail_header_name_text_size" />
-
-        <TextView
-            android:id="@+id/company"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:gravity="center_vertical"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:textColor="?android:attr/textColorSecondary" />
-
-    </LinearLayout>
-
-    <include
-        layout="@layout/favorites_star" />
-
-</LinearLayout>
diff --git a/res/layout-sw600dp-land/detail_header_contact_without_updates.xml b/res/layout-sw600dp-land/detail_header_contact_without_updates.xml
deleted file mode 100644
index 085b972..0000000
--- a/res/layout-sw600dp-land/detail_header_contact_without_updates.xml
+++ /dev/null
@@ -1,59 +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.
--->
-
-<!--
-  This is a header entry in the contact details list for when the contact does not have social
-  updates, which means that the contact's basic info will scroll with the list of details. The
-  photo is not included because it will be displayed in a static place elsewhere.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingLeft="8dip"
-    android:paddingStart="8dip"
-    android:paddingBottom="16dip"
-    android:orientation="vertical">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingRight="16dip"
-        android:paddingEnd="16dip">
-
-        <TextView
-            android:id="@+id/name"
-            android:layout_width="0dip"
-            android:layout_weight="1"
-            android:layout_height="wrap_content"
-            android:textAppearance="?android:attr/textAppearanceLarge"
-            android:textSize="@dimen/detail_header_name_text_size"
-            android:paddingRight="16dip"
-            android:paddingEnd="16dip" />
-
-        <include
-            layout="@layout/favorites_star" />
-
-    </LinearLayout>
-
-    <TextView
-        android:id="@+id/company"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:textAppearance="?android:attr/textAppearanceMedium"
-        android:textColor="?android:attr/textColorSecondary" />
-
-</LinearLayout>
diff --git a/res/layout-sw600dp-land/people_activity.xml b/res/layout-sw600dp-land/people_activity.xml
deleted file mode 100644
index 46f27a0..0000000
--- a/res/layout-sw600dp-land/people_activity.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<view
-    class="com.android.contacts.widget.TransitionAnimationView"
-    android:id="@+id/people_view"
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <LinearLayout
-        android:id="@+id/main_view"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="horizontal"
-        android:splitMotionEvents="true"
-        android:baselineAligned="false">
-
-        <!-- Left panel browse list for Groups or All tabs -->
-        <FrameLayout
-            android:id="@+id/browse_view"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:background="@drawable/list_background_holo"
-            android:visibility="gone">
-
-            <!-- All -->
-            <fragment
-                android:id="@+id/all_fragment"
-                class="com.android.contacts.list.DefaultContactBrowseListFragment"
-                android:layout_height="match_parent"
-                android:layout_width="match_parent" />
-
-            <!-- Groups -->
-            <fragment
-                android:id="@+id/groups_fragment"
-                class="com.android.contacts.group.GroupBrowseListFragment"
-                android:layout_height="match_parent"
-                android:layout_width="match_parent" />
-        </FrameLayout>
-
-        <!-- Right panel detail view for All tab -->
-        <view
-            class="com.android.contacts.widget.TransitionAnimationView"
-            android:id="@+id/contact_details_view"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="2"
-            android:visibility="gone">
-
-            <!-- This layout includes all possible views needed for a contact detail page -->
-            <include
-                android:id="@+id/contact_detail_container"
-                layout="@layout/contact_detail_container"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"/>
-
-            <!-- This invisible worker fragment loads the contact's details -->
-            <fragment
-                android:id="@+id/contact_detail_loader_fragment"
-                class="com.android.contacts.detail.ContactLoaderFragment"
-                android:layout_height="0dip"
-                android:layout_width="0dip"
-                android:visibility="gone"/>
-        </view>
-
-        <!-- Right panel detail view for Groups tab -->
-        <view
-            class="com.android.contacts.widget.TransitionAnimationView"
-            android:id="@+id/group_details_view"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="2"
-            android:visibility="gone">
-
-            <!-- This is the group detail page -->
-            <fragment
-                android:id="@+id/group_detail_fragment"
-                class="com.android.contacts.group.GroupDetailFragment"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:visibility="gone" />
-        </view>
-
-        <!-- Two-panel view under the Favorites tab -->
-        <LinearLayout
-            android:id="@+id/favorites_view"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="@drawable/list_background_holo"
-            android:baselineAligned="false">
-
-            <!-- Starred -->
-            <FrameLayout
-                android:layout_width="0dip"
-                android:layout_height="match_parent"
-                android:layout_weight="2"
-                android:background="@drawable/panel_favorites_holo_light">
-
-                <fragment
-                    android:id="@+id/favorites_fragment"
-                    class="com.android.contacts.list.ContactTileListFragment"
-                    android:layout_height="match_parent"
-                    android:layout_width="match_parent"
-                    android:layout_marginLeft="16dip"
-                    android:layout_marginRight="16dip"
-                    android:layout_marginStart="16dip"
-                    android:layout_marginEnd="16dip" />
-
-            </FrameLayout>
-
-            <!-- Most Frequent -->
-            <fragment
-                android:id="@+id/frequent_fragment"
-                class="com.android.contacts.list.ContactTileFrequentFragment"
-                android:layout_width="0dip"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:layout_marginTop="16dip"
-                android:layout_marginRight="16dip"
-                android:layout_marginEnd="16dip"/>
-
-        </LinearLayout>
-
-    </LinearLayout>
-
-    <com.android.contacts.widget.InterpolatingLayout
-        android:id="@+id/contacts_unavailable_view"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="@drawable/background_holo_light"
-        android:visibility="gone">
-
-        <FrameLayout
-            android:id="@+id/contacts_unavailable_container"
-            android:layout_height="match_parent"
-            android:layout_width="match_parent"
-            ex:layout_narrowParentWidth="800dip"
-            ex:layout_narrowMarginLeft="80dip"
-            ex:layout_narrowMarginRight="80dip"
-            ex:layout_wideParentWidth="1280dip"
-            ex:layout_wideMarginLeft="200dip"
-            ex:layout_wideMarginRight="200dip"
-            android:paddingBottom="20dip" />
-
-    </com.android.contacts.widget.InterpolatingLayout>
-</view>
diff --git a/res/layout-sw600dp-land/quickcontact_activity.xml b/res/layout-sw600dp-land/quickcontact_activity.xml
deleted file mode 100644
index 230c4e0..0000000
--- a/res/layout-sw600dp-land/quickcontact_activity.xml
+++ /dev/null
@@ -1,53 +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.
--->
-<view
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    class="com.android.contacts.quickcontact.FloatingChildLayout"
-    android:id="@+id/floating_layout"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:focusable="true"
-    android:focusableInTouchMode="true"
-    android:descendantFocusability="afterDescendants">
-    <LinearLayout
-        android:id="@android:id/content"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:padding="32dip"
-        android:orientation="horizontal">
-        <FrameLayout
-            android:layout_width="360dip"
-            android:layout_height="360dip">
-            <include layout="@layout/quickcontact_photo_container" />
-        </FrameLayout>
-        <LinearLayout
-            android:layout_width="360dip"
-            android:layout_height="match_parent"
-            android:orientation="vertical">
-            <include layout="@layout/quickcontact_track" />
-            <View
-                android:id="@+id/line_after_track"
-                android:layout_width="match_parent"
-                android:layout_height="2dip"
-                android:background="@color/quickcontact_tab_indicator" />
-            <android.support.v4.view.ViewPager
-                android:id="@+id/item_list_pager"
-                android:background="@drawable/quickcontact_track_background"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent" />
-        </LinearLayout>
-    </LinearLayout>
-</view>
diff --git a/res/layout-sw600dp-land/updates_header_contact.xml b/res/layout-sw600dp-land/updates_header_contact.xml
deleted file mode 100644
index eb0eee7..0000000
--- a/res/layout-sw600dp-land/updates_header_contact.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.
--->
-
-<!--
-  This is a header entry in the contact updates list.
--->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:focusable="false">
-
-    <TextView
-        style="?android:attr/listSeparatorTextViewStyle"
-        android:layout_height="32dip"
-        android:paddingLeft="8dip"
-        android:paddingRight="8dip"
-        android:paddingStart="8dip"
-        android:paddingEnd="8dip"
-        android:background="@drawable/list_section_divider_holo_custom"
-        android:text="@string/recent_updates"
-        android:textColor="@color/people_app_theme_color"
-        android:textAllCaps="true"
-        android:singleLine="true"
-        android:ellipsize="end" />
-
-</FrameLayout>
diff --git a/res/layout-sw600dp/contact_detail_container.xml b/res/layout-sw600dp/contact_detail_container.xml
deleted file mode 100644
index d7accaf..0000000
--- a/res/layout-sw600dp/contact_detail_container.xml
+++ /dev/null
@@ -1,39 +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.
--->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <android.support.v4.view.ViewPager
-        android:id="@+id/pager"
-        android:layout_alignParentTop="true"
-        android:layout_alignParentLeft="true"
-        android:layout_alignParentStart="true"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" />
-
-    <include
-        android:id="@+id/tab_carousel"
-        layout="@layout/contact_detail_tab_carousel"
-        android:layout_alignParentTop="true"
-        android:layout_alignParentLeft="true"
-        android:layout_alignParentStart="true"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:visibility="gone"/>
-
-</RelativeLayout>
\ No newline at end of file
diff --git a/res/layout-sw600dp/contact_detail_fragment.xml b/res/layout-sw600dp/contact_detail_fragment.xml
deleted file mode 100644
index 1e0f7e6..0000000
--- a/res/layout-sw600dp/contact_detail_fragment.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/contact_detail"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <!-- Placeholder for empty list -->
-    <include
-        android:id="@android:id/empty"
-        layout="@layout/contact_detail_empty"
-        android:visibility="gone" />
-
-    <!-- Real list -->
-    <ListView android:id="@android:id/list"
-        android:layout_weight="1"
-        android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:fadingEdge="none"
-        android:cacheColorHint="#00000000"
-        android:divider="@null"
-        android:scrollbarStyle="outsideOverlay"
-        android:paddingRight="12dip"
-        android:paddingEnd="12dip" />
-
-    <!-- "QuickFix"- button (Copy to local contact, add to group) -->
-    <Button
-        android:id="@+id/contact_quick_fix"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:visibility="gone"
-        android:layout_gravity="center"
-        android:layout_marginTop="10dip"
-        android:layout_marginBottom="10dip" />
-</LinearLayout>
diff --git a/res/layout-sw600dp/contact_detail_updates_fragment.xml b/res/layout-sw600dp/contact_detail_updates_fragment.xml
deleted file mode 100644
index 537d68f..0000000
--- a/res/layout-sw600dp/contact_detail_updates_fragment.xml
+++ /dev/null
@@ -1,32 +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.
--->
-
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/contact_detail_updates_fragment"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <ListView android:id="@android:id/list"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:fadingEdge="none"
-        android:divider="@null"
-        android:scrollbarStyle="outsideOverlay"
-        android:paddingRight="12dip"
-        android:paddingEnd="12dip" />
-
-</FrameLayout>
diff --git a/res/layout-sw600dp/contact_list_content.xml b/res/layout-sw600dp/contact_list_content.xml
new file mode 100644
index 0000000..1b52068
--- /dev/null
+++ b/res/layout-sw600dp/contact_list_content.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/pinned_header_list_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="horizontal">
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="@integer/people_activity_space_layout_weight"
+            android:background="@color/background_primary"/>
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:background="@color/contact_all_list_background_color"
+            android:layout_weight="@integer/people_activity_list_view_layout_weight"
+            android:elevation="@dimen/people_activity_card_elevation"/>
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="@integer/people_activity_space_layout_weight"
+            android:background="@color/background_primary"/>
+    </LinearLayout>
+    <LinearLayout
+        android:orientation="vertical"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+        <!-- Shown only when an Account filter is set.
+             - paddingTop should be here to show "shade" effect correctly. -->
+        <include
+            android:id="@+id/account_filter_header_container"
+            layout="@layout/account_filter_header" />
+
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="0dip"
+            android:layout_weight="1" >
+            <view
+                class="com.android.contacts.common.list.PinnedHeaderListView"
+                android:id="@android:id/list"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="?attr/contact_browser_list_padding_left"
+                android:layout_marginRight="?attr/contact_browser_list_padding_right"
+                android:layout_marginStart="?attr/contact_browser_list_padding_left"
+                android:layout_marginEnd="?attr/contact_browser_list_padding_right"
+                android:fastScrollEnabled="true"
+                android:fadingEdge="none" />
+            <ProgressBar
+                android:id="@+id/search_progress"
+                style="?android:attr/progressBarStyleLarge"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:visibility="gone" />
+        </FrameLayout>
+    </LinearLayout>
+</FrameLayout>
diff --git a/res/layout-sw600dp/contact_picker.xml b/res/layout-sw600dp/contact_picker.xml
deleted file mode 100644
index 558c604..0000000
--- a/res/layout-sw600dp/contact_picker.xml
+++ /dev/null
@@ -1,79 +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.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/ContactPickerLayout"
-    android:orientation="vertical"
-    android:layout_height="match_parent">
-    <!-- Right bound should be aligned to ListView's right edge. -->
-    <!--
-      The SearchView should have a max width to prevent the dialog from resizing to the
-      full screen width of the device. The precise value of the max width is not as important
-      because the SearchView can take on a smaller width than the max width, so in some cases it
-      will take on the automatically computed width of a dialog (based on the dialog contents)
-      from the framework.
-    -->
-    <view
-        class="android.widget.SearchView"
-        android:id="@+id/search_view"
-        android:layout_width="match_parent"
-        android:maxWidth="@dimen/contact_picker_search_view_max_width"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="0dip"
-        android:layout_marginRight="@dimen/list_visible_scrollbar_padding"
-        android:layout_marginStart="0dip"
-        android:layout_marginEnd="@dimen/list_visible_scrollbar_padding"
-        android:paddingRight="0dip"
-        android:paddingEnd="0dip"
-        android:iconifiedByDefault="false" />
-    <!--
-      This will contain an appropriate contacts list. Add a min height to prevent
-      the dialog from resizing too much when the search results change. The activity dialog
-      is wrap content for height in the framework, so there is no way around this.
-    -->
-    <FrameLayout
-        android:id="@+id/list_container"
-        android:layout_width="match_parent"
-        android:minHeight="@dimen/contact_picker_contact_list_min_height"
-        android:layout_height="0dip"
-        android:layout_weight="1" />
-
-    <!-- This should look like a menu on the split action bar. -->
-    <LinearLayout
-        android:id="@+id/new_contact"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:minHeight="48dip"
-        android:background="@drawable/gray_action_bar_background"
-        android:paddingLeft="16dip"
-        android:paddingRight="16dip"
-        android:paddingStart="16dip"
-        android:paddingEnd="16dip">
-        <TextView
-            android:id="@android:id/title"
-            android:layout_width="0dip"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:layout_gravity="center"
-            android:gravity="center"
-            android:duplicateParentState="true"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:textColor="@color/action_bar_button_text_color"
-            style="@android:style/Widget.Holo.Light.ActionBar.TabText"
-            android:text="@string/pickerNewContactText"/>
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout-sw600dp/contact_tile_list.xml b/res/layout-sw600dp/contact_tile_list.xml
new file mode 100644
index 0000000..102a58d
--- /dev/null
+++ b/res/layout-sw600dp/contact_tile_list.xml
@@ -0,0 +1,64 @@
+<?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.
+-->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:paddingBottom="?attr/favorites_padding_bottom">
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="horizontal">
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="@integer/people_activity_space_layout_weight"
+            android:background="@color/background_primary"/>
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:background="@color/contact_favorites_list_background_color"
+            android:layout_weight="@integer/people_activity_list_view_layout_weight"
+            android:elevation="@dimen/people_activity_card_elevation"/>
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="@integer/people_activity_space_layout_weight"
+            android:background="@color/background_primary"/>
+    </LinearLayout>
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+        <ListView
+            android:id="@+id/contact_tile_list"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:paddingTop="@dimen/contact_tile_list_padding_top"
+            android:clipToPadding="false"
+            android:fadingEdge="none"
+            android:divider="@null"
+            android:scrollbarStyle="outsideOverlay"/>
+        <TextView
+            android:id="@+id/contact_tile_list_empty"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:gravity="center_horizontal"
+            android:layout_marginTop="@dimen/empty_message_top_margin"
+            android:textColor="?android:attr/textColorSecondary"
+            android:textAppearance="?android:attr/textAppearanceLarge"/>
+    </FrameLayout>
+</FrameLayout>
diff --git a/res/layout-sw600dp/contacts_unavailable_fragment.xml b/res/layout-sw600dp/contacts_unavailable_fragment.xml
new file mode 100644
index 0000000..8727359
--- /dev/null
+++ b/res/layout-sw600dp/contacts_unavailable_fragment.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:paddingBottom="?attr/favorites_padding_bottom">
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="horizontal">
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="@integer/people_activity_space_layout_weight"
+            android:background="@color/background_primary"/>
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:background="@color/contact_favorites_list_background_color"
+            android:layout_weight="@integer/people_activity_list_view_layout_weight"
+            android:elevation="@dimen/people_activity_card_elevation"/>
+        <View
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="@integer/people_activity_space_layout_weight"
+            android:background="@color/background_primary"/>
+    </LinearLayout>
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
+        <include layout="@layout/contacts_unavailable_fragment_content"/>
+    </ScrollView>
+</FrameLayout>
diff --git a/res/layout-sw600dp/detail_header_contact_with_updates.xml b/res/layout-sw600dp/detail_header_contact_with_updates.xml
deleted file mode 100644
index 06b82dd..0000000
--- a/res/layout-sw600dp/detail_header_contact_with_updates.xml
+++ /dev/null
@@ -1,77 +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.
--->
-
-<!--
-  This is a header entry in the contact details list for when the contact has social updates. The
-  entry shows the contact's basic info and maintains vertical padding to ensure that the first
-  contact detail is visible (and below the tab carousel). The photo is not displayed here
-  because it will be shown in the tab carousel.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:layout_marginTop="30dip"
-    android:paddingBottom="16dip">
-
-    <!-- Add a first item that gives us enough space to show the carousel -->
-    <view
-        class="com.android.contacts.common.widget.ProportionalLayout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        ex:ratio="0.6667"
-        ex:direction="widthToHeight">
-
-        <!-- Put a dummy view here because the ProportionalLayout requires one -->
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="match_parent" />
-
-    </view>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:paddingTop="8dip"
-        android:paddingEnd="8dip" >
-
-        <TextView
-            android:id="@+id/name"
-            android:layout_width="0dip"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:paddingStart="8dip"
-            android:paddingEnd="24dip"
-            android:textAppearance="?android:attr/textAppearanceLarge"
-            android:textSize="@dimen/detail_header_name_text_size" />
-
-        <include
-            layout="@layout/favorites_star" />
-
-    </LinearLayout>
-
-    <TextView
-        android:id="@+id/company"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingStart="8dip"
-        android:textAppearance="?android:attr/textAppearanceMedium"
-        android:textColor="?android:attr/textColorSecondary" />
-
-</LinearLayout>
diff --git a/res/layout-sw600dp/detail_header_contact_without_updates.xml b/res/layout-sw600dp/detail_header_contact_without_updates.xml
deleted file mode 100644
index 069e0de..0000000
--- a/res/layout-sw600dp/detail_header_contact_without_updates.xml
+++ /dev/null
@@ -1,89 +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.
--->
-
-<!--
-  This is a header entry in the contact details list for when the contact does not have social
-  updates, which means that the contact's photo and basic info will scroll with the list of details.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:paddingBottom="16dip">
-
-    <!-- Ensure that the contact photo for a contact WITHOUT social updates is the same width and
-    height as a contact WITH social updates (where the photo is 2/3 of the screen width). -->
-    <view
-        class="com.android.contacts.common.widget.ProportionalLayout"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        ex:ratio="0.6667"
-        ex:direction="widthToHeight">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="horizontal">
-
-            <include layout="@layout/photo_selector_view"
-                android:layout_width="0dip"
-                android:layout_height="match_parent"
-                android:layout_weight="2" />
-
-            <!-- Empty view to fill the rest of the LinearLayout, so that a weight on its sibling
-            ImageView will work.-->
-            <View
-                android:layout_width="0dip"
-                android:layout_weight="1"
-                android:layout_height="match_parent" />
-
-        </LinearLayout>
-
-    </view>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:paddingTop="8dip"
-        android:paddingEnd="8dip" >
-
-        <TextView
-            android:id="@+id/name"
-            android:layout_width="0dip"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:paddingStart="8dip"
-            android:paddingEnd="24dip"
-            android:textAppearance="?android:attr/textAppearanceLarge"
-            android:textSize="@dimen/detail_header_name_text_size" />
-
-        <include
-            layout="@layout/favorites_star" />
-
-    </LinearLayout>
-
-    <TextView
-        android:id="@+id/company"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingStart="8dip"
-        android:textAppearance="?android:attr/textAppearanceMedium"
-        android:textColor="?android:attr/textColorSecondary" />
-
-</LinearLayout>
diff --git a/res/layout-sw600dp/join_contact_picker.xml b/res/layout-sw600dp/join_contact_picker.xml
deleted file mode 100644
index 9de85db..0000000
--- a/res/layout-sw600dp/join_contact_picker.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<view xmlns:android="http://schemas.android.com/apk/res/android"
-    class="com.android.contacts.widget.FullHeightLinearLayout"
-    style="@style/ContactPickerLayout"
-    android:orientation="vertical">
-    <!-- See also comments in contact_picker.xml -->
-    <view
-        class="android.widget.SearchView"
-        android:id="@+id/search_view"
-        android:layout_width="match_parent"
-        android:maxWidth="@dimen/contact_picker_search_view_max_width"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="0dip"
-        android:layout_marginRight="@dimen/list_visible_scrollbar_padding"
-        android:layout_marginStart="0dip"
-        android:layout_marginEnd="@dimen/list_visible_scrollbar_padding"
-        android:paddingRight="0dip"
-        android:paddingEnd="0dip"
-        android:iconifiedByDefault="false" />
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:layout_weight="1"
-        android:id="@+id/list_container" />
-</view>
diff --git a/res/layout-sw600dp/people_activity.xml b/res/layout-sw600dp/people_activity.xml
deleted file mode 100644
index f788f72..0000000
--- a/res/layout-sw600dp/people_activity.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<view
-    class="com.android.contacts.widget.TransitionAnimationView"
-    android:id="@+id/people_view"
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <LinearLayout
-        android:id="@+id/main_view"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="horizontal"
-        android:splitMotionEvents="true"
-        android:baselineAligned="false">
-
-        <!-- Left panel browse list for Groups or All tabs -->
-        <FrameLayout
-            android:id="@+id/browse_view"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:background="@drawable/list_background_holo"
-            android:visibility="gone">
-
-            <!-- All -->
-            <fragment
-                android:id="@+id/all_fragment"
-                class="com.android.contacts.list.DefaultContactBrowseListFragment"
-                android:layout_height="match_parent"
-                android:layout_width="match_parent" />
-
-            <!-- Groups -->
-            <fragment
-                android:id="@+id/groups_fragment"
-                class="com.android.contacts.group.GroupBrowseListFragment"
-                android:layout_height="match_parent"
-                android:layout_width="match_parent" />
-        </FrameLayout>
-
-        <!-- Right panel detail view for All tab -->
-        <view
-            class="com.android.contacts.widget.TransitionAnimationView"
-            android:id="@+id/contact_details_view"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="2"
-            android:visibility="gone">
-
-            <!-- This layout includes all possible views needed for a contact detail page -->
-            <include
-                android:id="@+id/contact_detail_container"
-                layout="@layout/contact_detail_container"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_marginLeft="16dip"
-                android:layout_marginRight="16dip"
-                android:layout_marginStart="16dip"
-                android:layout_marginEnd="16dip"
-                android:layout_marginTop="16dip" />
-
-            <!-- This invisible worker fragment loads the contact's details -->
-            <fragment
-                android:id="@+id/contact_detail_loader_fragment"
-                class="com.android.contacts.detail.ContactLoaderFragment"
-                android:layout_height="0dip"
-                android:layout_width="0dip"
-                android:visibility="gone" />
-        </view>
-
-        <!-- Right panel detail view for Groups tab -->
-        <view
-            class="com.android.contacts.widget.TransitionAnimationView"
-            android:id="@+id/group_details_view"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="2"
-            android:visibility="gone">
-
-            <!-- This is the group detail page -->
-            <fragment
-                android:id="@+id/group_detail_fragment"
-                class="com.android.contacts.group.GroupDetailFragment"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:visibility="gone" />
-        </view>
-
-        <!-- Single panel view under the Favorites tab (Strequent) -->
-        <FrameLayout
-            android:id="@+id/favorites_view"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="@color/background_primary">
-
-            <fragment
-                android:id="@+id/favorites_fragment"
-                class="com.android.contacts.list.ContactTileListFragment"
-                android:layout_height="match_parent"
-                android:layout_width="match_parent"
-                android:layout_marginLeft="16dip"
-                android:layout_marginRight="16dip"
-                android:layout_marginStart="16dip"
-                android:layout_marginEnd="16dip" />
-
-        </FrameLayout>
-
-    </LinearLayout>
-
-    <com.android.contacts.widget.InterpolatingLayout
-        android:id="@+id/contacts_unavailable_view"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="@drawable/background_holo_light"
-        android:visibility="gone">
-
-        <FrameLayout
-            android:id="@+id/contacts_unavailable_container"
-            android:layout_height="match_parent"
-            android:layout_width="match_parent"
-            ex:layout_narrowParentWidth="800dip"
-            ex:layout_narrowMarginLeft="80dip"
-            ex:layout_narrowMarginRight="80dip"
-            ex:layout_wideParentWidth="1280dip"
-            ex:layout_wideMarginLeft="200dip"
-            ex:layout_wideMarginRight="200dip"
-            android:paddingBottom="20dip" />
-
-    </com.android.contacts.widget.InterpolatingLayout>
-</view>
diff --git a/res/layout-sw600dp/quickcontact_activity.xml b/res/layout-sw600dp/quickcontact_activity.xml
deleted file mode 100644
index 229974b..0000000
--- a/res/layout-sw600dp/quickcontact_activity.xml
+++ /dev/null
@@ -1,49 +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.
--->
-<view
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    class="com.android.contacts.quickcontact.FloatingChildLayout"
-    android:id="@+id/floating_layout"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:focusable="true"
-    android:focusableInTouchMode="true"
-    android:descendantFocusability="afterDescendants">
-    <LinearLayout
-        android:id="@android:id/content"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:padding="32dip"
-        android:orientation="vertical" >
-        <FrameLayout
-            android:layout_width="360dip"
-            android:layout_height="@dimen/quick_contact_photo_container_height">
-            <include layout="@layout/quickcontact_photo_container" />
-        </FrameLayout>
-        <include layout="@layout/quickcontact_track" />
-        <View
-            android:id="@+id/line_after_track"
-            android:layout_width="match_parent"
-            android:layout_height="2dip"
-            android:background="@color/quickcontact_tab_indicator" />
-        <android.support.v4.view.ViewPager
-            android:id="@+id/item_list_pager"
-            android:background="@drawable/quickcontact_track_background"
-            android:layout_width="match_parent"
-            android:layout_height="160dip" />
-    </LinearLayout>
-</view>
diff --git a/res/layout-sw600dp/updates_header_contact.xml b/res/layout-sw600dp/updates_header_contact.xml
deleted file mode 100644
index e95f1dd..0000000
--- a/res/layout-sw600dp/updates_header_contact.xml
+++ /dev/null
@@ -1,58 +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.
--->
-
-<!--
-  This is a header entry in the contact updates list.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical">
-
-    <!-- This blank view pushes the other content down because of the tab carousel -->
-    <view
-        class="com.android.contacts.common.widget.ProportionalLayout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="8dip"
-        ex:ratio="0.6667"
-        ex:direction="widthToHeight">
-
-        <!-- Put a dummy view here because the ProportionalLayout requires one -->
-        <FrameLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
-
-    </view>
-
-    <!-- "Recent updates" header text -->
-    <TextView
-        style="?android:attr/listSeparatorTextViewStyle"
-        android:layout_height="32dip"
-        android:paddingLeft="8dip"
-        android:paddingRight="8dip"
-        android:paddingStart="8dip"
-        android:paddingEnd="8dip"
-        android:background="@drawable/list_section_divider_holo_custom"
-        android:text="@string/recent"
-        android:textColor="@color/people_app_theme_color"
-        android:textAllCaps="true"
-        android:singleLine="true"
-        android:ellipsize="end" />
-
-</LinearLayout>
diff --git a/res/layout-sw720dp-land/contact_detail_container.xml b/res/layout-sw720dp-land/contact_detail_container.xml
deleted file mode 100644
index 8180e92..0000000
--- a/res/layout-sw720dp-land/contact_detail_container.xml
+++ /dev/null
@@ -1,60 +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.
--->
-
-<!--
-  Two-column layout for a contact with social updates. If the contact does not
-  have social updates, then the second fragment container will just be hidden.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:scrollbars="none"
-    android:orientation="horizontal"
-    android:baselineAligned="false">
-
-    <!--
-      Container for the "About" fragment on the contact card for a contact
-      with social updates. This view ID must match with a view ID in the layout
-      that is used after an orientation change.
-    -->
-    <FrameLayout
-        android:id="@+id/about_fragment_container"
-        android:layout_width="0dip"
-        android:layout_height="match_parent"
-        android:layout_weight="3" />
-
-    <!-- Vertical divider -->
-    <View
-        android:layout_width="2dip"
-        android:layout_height="match_parent"
-        android:background="?android:attr/listDivider"
-        />
-
-    <!--
-      Container for the "Updates" fragment on the contact card for a contact
-      with social updates. This view ID must match with a view ID in the layout
-      that is used after an orientation change.
-    -->
-    <FrameLayout
-        android:id="@+id/updates_fragment_container"
-        android:layout_width="0dip"
-        android:layout_weight="2"
-        android:layout_height="match_parent"
-        android:visibility="gone" />
-
-</LinearLayout>
diff --git a/res/layout-sw720dp-land/contact_detail_empty.xml b/res/layout-sw720dp-land/contact_detail_empty.xml
deleted file mode 100644
index 0ff9960..0000000
--- a/res/layout-sw720dp-land/contact_detail_empty.xml
+++ /dev/null
@@ -1,36 +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.
--->
-
-<!-- Placeholder for empty details for a contact -->
-
-<com.android.contacts.widget.InterpolatingLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content">
-    <TextView android:id="@+id/emptyText"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/no_contact_details"
-        android:textSize="20sp"
-        android:textColor="?android:attr/textColorSecondary"
-        ex:layout_wideParentWidth="800dip"
-        ex:layout_wideMarginLeft="80dip"
-        ex:layout_narrowParentWidth="500dip"
-        ex:layout_narrowMarginLeft="44dip"
-        android:paddingTop="10dip"
-        android:lineSpacingMultiplier="0.92"/>
-</com.android.contacts.widget.InterpolatingLayout>
diff --git a/res/layout-sw720dp-land/contact_detail_fragment.xml b/res/layout-sw720dp-land/contact_detail_fragment.xml
deleted file mode 100644
index 4eee458..0000000
--- a/res/layout-sw720dp-land/contact_detail_fragment.xml
+++ /dev/null
@@ -1,71 +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.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/contact_detail"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:paddingLeft="16dip"
-    android:paddingStart="16dip">
-
-    <!-- Placeholder for empty list -->
-    <include
-        android:id="@android:id/empty"
-        layout="@layout/contact_detail_empty"
-        android:visibility="gone" />
-
-    <!-- Real list -->
-    <LinearLayout
-        android:orientation="horizontal"
-        android:layout_weight="1"
-        android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:baselineAligned="false">
-
-        <include android:id="@+id/static_photo_container"
-            layout="@layout/photo_selector_view"
-            android:layout_width="@dimen/detail_contact_photo_size"
-            android:layout_height="@dimen/detail_contact_photo_size"
-            android:layout_marginTop="@dimen/detail_contact_photo_margin"
-            android:layout_marginRight="@dimen/detail_contact_photo_margin"
-            android:layout_marginEnd="@dimen/detail_contact_photo_margin" />
-
-        <ListView android:id="@android:id/list"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:paddingTop="16dip"
-            android:clipToPadding="false"
-            android:fadingEdge="none"
-            android:layout_weight="1"
-            android:divider="@null"
-            android:paddingRight="16dip"
-            android:paddingEnd="16dip"
-            android:scrollbarStyle="outsideOverlay"/>
-
-    </LinearLayout>
-
-    <!-- "QuickFix"- button (Copy to local contact, add to group) -->
-    <Button
-        android:id="@+id/contact_quick_fix"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:visibility="gone"
-        android:layout_gravity="center"
-        android:layout_marginTop="10dip"
-        android:layout_marginBottom="10dip" />
-</LinearLayout>
diff --git a/res/layout-sw720dp-land/contact_detail_list_item.xml b/res/layout-sw720dp-land/contact_detail_list_item.xml
deleted file mode 100644
index a5af1dd..0000000
--- a/res/layout-sw720dp-land/contact_detail_list_item.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<!-- Note: padding might be controlled programatically -->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingLeft="16dip"
-    android:paddingStart="16dip">
-
-    <com.android.contacts.detail.ActionsViewContainer
-        android:id="@+id/actions_view_container"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:minHeight="@dimen/detail_min_line_item_height"
-        android:gravity="center_vertical"
-        android:orientation="horizontal"
-        android:focusable="true"
-        android:background="?android:attr/selectableItemBackground"
-        android:nextFocusRight="@+id/secondary_action_view_container">
-
-        <!-- Note: padding might be controlled programatically -->
-        <LinearLayout
-            android:id="@+id/primary_action_view"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical"
-            android:layout_weight="1"
-            android:paddingLeft="8dip"
-            android:paddingStart="8dip"
-            android:orientation="vertical">
-
-            <TextView
-                android:id="@+id/data"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textAppearance="?android:attr/textAppearanceMedium" />
-        </LinearLayout>
-
-        <ImageView
-            android:id="@+id/presence_icon"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="1dip"
-            android:layout_marginRight="4dip"
-            android:layout_marginEnd="4dip"
-            android:layout_gravity="center_vertical"
-            android:scaleType="centerInside" />
-
-        <TextView
-            android:id="@+id/kind"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical"
-            android:visibility="gone" />
-
-        <View
-            android:id="@+id/primary_indicator"
-            android:layout_width="16dip"
-            android:layout_height="16dip"
-            android:visibility="gone"
-            android:layout_gravity="center_vertical"
-            android:background="@drawable/ic_list_default_mime_holo_dark"
-            android:layout_marginRight="8dip"
-            android:layout_marginEnd="8dip" />
-
-        <TextView
-            android:id="@+id/type"
-            style="@style/ContactDetailItemType"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical"
-            android:paddingRight="16dip"
-            android:paddingEnd="16dip" />
-
-        <View
-            android:id="@+id/vertical_divider"
-            android:layout_width="1px"
-            android:layout_height="match_parent"
-            android:layout_marginTop="@dimen/detail_vertical_divider_vertical_margin"
-            android:layout_marginBottom="@dimen/detail_vertical_divider_vertical_margin"
-            android:background="?android:attr/dividerVertical" />
-
-        <!-- Note: padding might be controlled programatically -->
-        <FrameLayout
-            android:id="@+id/secondary_action_view_container"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:paddingLeft="@dimen/detail_item_icon_margin"
-            android:paddingRight="@dimen/detail_item_icon_margin"
-            android:paddingStart="@dimen/detail_item_icon_margin"
-            android:paddingEnd="@dimen/detail_item_icon_margin"
-            android:duplicateParentState="false"
-            android:focusable="true"
-            android:background="?android:attr/selectableItemBackground"
-            android:nextFocusLeft="@id/actions_view_container">
-            <ImageView
-                android:id="@+id/secondary_action_button"
-                android:layout_width="32dip"
-                android:layout_height="match_parent"
-                android:layout_centerVertical="true"
-                android:gravity="center"
-                android:scaleType="center"
-                android:duplicateParentState="false" />
-        </FrameLayout>
-    </com.android.contacts.detail.ActionsViewContainer>
-</FrameLayout>
diff --git a/res/layout-sw720dp-land/detail_header_contact_with_updates.xml b/res/layout-sw720dp-land/detail_header_contact_with_updates.xml
deleted file mode 100644
index 268b51a..0000000
--- a/res/layout-sw720dp-land/detail_header_contact_with_updates.xml
+++ /dev/null
@@ -1,63 +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.
--->
-
-<!--
-  This is a header entry in the contact details list for when the contact has social updates. The
-  entry shows the contact's basic info and maintains vertical padding to ensure that the first
-  contact detail is visible (and below the tab carousel). The photo is not displayed here
-  because it will be shown in the tab carousel.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingBottom="8dip"
-    android:orientation="horizontal">
-
-    <include layout="@layout/photo_selector_view"
-        android:layout_width="@dimen/detail_contact_photo_size"
-        android:layout_height="@dimen/detail_contact_photo_size" />
-
-    <LinearLayout
-        android:layout_width="0dip"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:orientation="vertical"
-        android:paddingStart="16dip"
-        android:paddingEnd="4dip">
-
-        <TextView
-            android:id="@+id/name"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:gravity="center_vertical"
-            android:textAppearance="?android:attr/textAppearanceLarge"
-            android:textSize="@dimen/detail_header_name_text_size" />
-
-        <TextView
-            android:id="@+id/company"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:gravity="center_vertical"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:textColor="?android:attr/textColorSecondary" />
-
-    </LinearLayout>
-
-    <include
-        layout="@layout/favorites_star" />
-
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout-sw720dp-land/detail_header_contact_without_updates.xml b/res/layout-sw720dp-land/detail_header_contact_without_updates.xml
deleted file mode 100644
index bc3f16c..0000000
--- a/res/layout-sw720dp-land/detail_header_contact_without_updates.xml
+++ /dev/null
@@ -1,56 +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.
--->
-
-<!--
-  This is a header entry in the contact details list for when the contact does not have social
-  updates, which means that the contact's basic info will scroll with the list of details. The
-  photo is not included because it will be displayed in a static place elsewhere.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingStart="8dip"
-    android:paddingBottom="16dip"
-    android:orientation="vertical">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingEnd="16dip">
-
-        <TextView
-            android:id="@+id/name"
-            android:layout_width="0dip"
-            android:layout_weight="1"
-            android:layout_height="wrap_content"
-            android:textAppearance="?android:attr/textAppearanceLarge"
-            android:textSize="@dimen/detail_header_name_text_size"
-            android:paddingStart="16dip" />
-
-        <include
-            layout="@layout/favorites_star" />
-
-    </LinearLayout>
-
-    <TextView
-        android:id="@+id/company"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:textAppearance="?android:attr/textAppearanceMedium"
-        android:textColor="?android:attr/textColorSecondary" />
-
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout-sw720dp-land/people_activity.xml b/res/layout-sw720dp-land/people_activity.xml
deleted file mode 100644
index c33f0fa..0000000
--- a/res/layout-sw720dp-land/people_activity.xml
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<view
-    class="com.android.contacts.widget.TransitionAnimationView"
-    android:id="@+id/people_view"
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <LinearLayout
-        android:id="@+id/main_view"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="horizontal"
-        android:splitMotionEvents="true">
-
-        <FrameLayout
-            android:id="@+id/browse_view"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:background="@drawable/list_background_holo"
-            android:visibility="gone">
-
-            <!-- All -->
-            <fragment
-                android:id="@+id/all_fragment"
-                class="com.android.contacts.list.DefaultContactBrowseListFragment"
-                android:layout_height="match_parent"
-                android:layout_width="match_parent" />
-
-            <!-- Groups -->
-            <fragment
-                android:id="@+id/groups_fragment"
-                class="com.android.contacts.group.GroupBrowseListFragment"
-                android:layout_height="match_parent"
-                android:layout_width="match_parent" />
-        </FrameLayout>
-
-        <view
-            class="com.android.contacts.widget.TransitionAnimationView"
-            android:id="@+id/contact_details_view"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="2"
-            android:visibility="gone">
-
-            <!-- This layout includes all possible views needed for a contact detail page -->
-            <include
-                android:id="@+id/contact_detail_container"
-                layout="@layout/contact_detail_container"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"/>
-
-            <!-- This invisible worker fragment loads the contact's details -->
-            <fragment
-                android:id="@+id/contact_detail_loader_fragment"
-                class="com.android.contacts.detail.ContactLoaderFragment"
-                android:layout_height="0dip"
-                android:layout_width="0dip"
-                android:visibility="gone"/>
-        </view>
-
-        <view
-            class="com.android.contacts.widget.TransitionAnimationView"
-            android:id="@+id/group_details_view"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="2"
-            android:visibility="gone">
-
-            <!-- This is the group detail page -->
-            <fragment
-                android:id="@+id/group_detail_fragment"
-                class="com.android.contacts.group.GroupDetailFragment"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:visibility="gone" />
-        </view>
-
-        <LinearLayout
-            android:id="@+id/favorites_view"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="@drawable/list_background_holo"
-            android:baselineAligned="false">
-
-            <!-- Starred -->
-            <FrameLayout
-                android:layout_width="0dip"
-                android:layout_height="match_parent"
-                android:layout_weight="7"
-                android:background="@drawable/panel_favorites_holo_light">
-
-                <fragment
-                    android:id="@+id/favorites_fragment"
-                    class="com.android.contacts.list.ContactTileListFragment"
-                    android:layout_height="match_parent"
-                    android:layout_width="match_parent"
-                    android:layout_marginLeft="32dip"
-                    android:layout_marginRight="32dip"
-                    android:layout_marginStart="32dip"
-                    android:layout_marginEnd="32dip"/>
-
-            </FrameLayout>
-
-            <!-- Most Frequent -->
-            <fragment
-                android:id="@+id/frequent_fragment"
-                class="com.android.contacts.list.ContactTileFrequentFragment"
-                android:layout_width="0dip"
-                android:layout_height="match_parent"
-                android:layout_weight="3"
-                android:layout_marginTop="32dip"
-                android:layout_marginRight="16dip"
-                android:layout_marginEnd="16dip"/>
-
-        </LinearLayout>
-
-    </LinearLayout>
-
-    <com.android.contacts.widget.InterpolatingLayout
-        android:id="@+id/contacts_unavailable_view"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="@drawable/background_holo_light"
-        android:visibility="gone">
-
-        <FrameLayout
-            android:id="@+id/contacts_unavailable_container"
-            android:layout_height="match_parent"
-            android:layout_width="match_parent"
-            ex:layout_narrowParentWidth="800dip"
-            ex:layout_narrowMarginLeft="80dip"
-            ex:layout_narrowMarginRight="80dip"
-            ex:layout_wideParentWidth="1280dip"
-            ex:layout_wideMarginLeft="200dip"
-            ex:layout_wideMarginRight="200dip"
-            android:paddingBottom="20dip" />
-
-    </com.android.contacts.widget.InterpolatingLayout>
-</view>
diff --git a/res/layout-sw720dp-land/quickcontact_activity.xml b/res/layout-sw720dp-land/quickcontact_activity.xml
deleted file mode 100644
index 230c4e0..0000000
--- a/res/layout-sw720dp-land/quickcontact_activity.xml
+++ /dev/null
@@ -1,53 +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.
--->
-<view
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    class="com.android.contacts.quickcontact.FloatingChildLayout"
-    android:id="@+id/floating_layout"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:focusable="true"
-    android:focusableInTouchMode="true"
-    android:descendantFocusability="afterDescendants">
-    <LinearLayout
-        android:id="@android:id/content"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:padding="32dip"
-        android:orientation="horizontal">
-        <FrameLayout
-            android:layout_width="360dip"
-            android:layout_height="360dip">
-            <include layout="@layout/quickcontact_photo_container" />
-        </FrameLayout>
-        <LinearLayout
-            android:layout_width="360dip"
-            android:layout_height="match_parent"
-            android:orientation="vertical">
-            <include layout="@layout/quickcontact_track" />
-            <View
-                android:id="@+id/line_after_track"
-                android:layout_width="match_parent"
-                android:layout_height="2dip"
-                android:background="@color/quickcontact_tab_indicator" />
-            <android.support.v4.view.ViewPager
-                android:id="@+id/item_list_pager"
-                android:background="@drawable/quickcontact_track_background"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent" />
-        </LinearLayout>
-    </LinearLayout>
-</view>
diff --git a/res/layout-sw720dp-land/updates_header_contact.xml b/res/layout-sw720dp-land/updates_header_contact.xml
deleted file mode 100644
index 8173f81..0000000
--- a/res/layout-sw720dp-land/updates_header_contact.xml
+++ /dev/null
@@ -1,40 +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.
--->
-
-<!--
-  This is a header entry in the contact updates list.
--->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:focusable="false">
-
-    <TextView
-        style="?android:attr/listSeparatorTextViewStyle"
-        android:layout_height="32dip"
-        android:paddingLeft="8dip"
-        android:paddingRight="8dip"
-        android:paddingStart="8dip"
-        android:paddingEnd="8dip"
-        android:background="@drawable/list_section_divider_holo_custom"
-        android:text="@string/recent_updates"
-        android:textColor="@color/people_app_theme_color"
-        android:textAllCaps="true"
-        android:singleLine="true"
-        android:ellipsize="end" />
-
-</FrameLayout>
diff --git a/res/layout-sw720dp/people_activity.xml b/res/layout-sw720dp/people_activity.xml
deleted file mode 100644
index d8b4026..0000000
--- a/res/layout-sw720dp/people_activity.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<view
-    class="com.android.contacts.widget.TransitionAnimationView"
-    android:id="@+id/people_view"
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <LinearLayout
-        android:id="@+id/main_view"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="horizontal"
-        android:splitMotionEvents="true"
-        android:baselineAligned="false">
-
-        <!-- Left panel browse list for Groups or All tabs -->
-        <FrameLayout
-            android:id="@+id/browse_view"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:background="@drawable/list_background_holo"
-            android:visibility="gone">
-
-            <!-- All -->
-            <fragment
-                android:id="@+id/all_fragment"
-                class="com.android.contacts.list.DefaultContactBrowseListFragment"
-                android:layout_height="match_parent"
-                android:layout_width="match_parent" />
-
-            <!-- Groups -->
-            <fragment
-                android:id="@+id/groups_fragment"
-                class="com.android.contacts.group.GroupBrowseListFragment"
-                android:layout_height="match_parent"
-                android:layout_width="match_parent" />
-        </FrameLayout>
-
-        <!-- Right panel detail view for All tab -->
-        <view
-            class="com.android.contacts.widget.TransitionAnimationView"
-            android:id="@+id/contact_details_view"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="2"
-            android:visibility="gone">
-
-            <!-- This layout includes all possible views needed for a contact detail page -->
-            <include
-                android:id="@+id/contact_detail_container"
-                layout="@layout/contact_detail_container"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_marginLeft="16dip"
-                android:layout_marginRight="16dip"
-                android:layout_marginStart="16dip"
-                android:layout_marginEnd="16dip"
-                android:layout_marginTop="16dip" />
-
-            <!-- This invisible worker fragment loads the contact's details -->
-            <fragment
-                android:id="@+id/contact_detail_loader_fragment"
-                class="com.android.contacts.detail.ContactLoaderFragment"
-                android:layout_height="0dip"
-                android:layout_width="0dip"
-                android:visibility="gone"/>
-        </view>
-
-        <!-- Right panel detail view for Groups tab -->
-        <view
-            class="com.android.contacts.widget.TransitionAnimationView"
-            android:id="@+id/group_details_view"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="2"
-            android:visibility="gone">
-
-            <!-- This is the group detail page -->
-            <fragment
-                android:id="@+id/group_detail_fragment"
-                class="com.android.contacts.group.GroupDetailFragment"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:visibility="gone" />
-        </view>
-
-        <!-- Two-panel view under the Favorites tab -->
-        <LinearLayout
-            android:id="@+id/favorites_view"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="@drawable/list_background_holo"
-            android:baselineAligned="false">
-
-            <!-- Starred -->
-            <FrameLayout
-                android:layout_width="0dip"
-                android:layout_height="match_parent"
-                android:layout_weight="10"
-                android:background="@drawable/panel_favorites_holo_light">
-
-                <fragment
-                    android:id="@+id/favorites_fragment"
-                    class="com.android.contacts.list.ContactTileListFragment"
-                    android:layout_height="match_parent"
-                    android:layout_width="match_parent"
-                    android:layout_marginLeft="16dip"
-                    android:layout_marginRight="16dip"
-                    android:layout_marginStart="16dip"
-                    android:layout_marginEnd="16dip" />
-
-            </FrameLayout>
-
-            <!-- Most Frequent -->
-            <fragment
-                android:id="@+id/frequent_fragment"
-                class="com.android.contacts.list.ContactTileFrequentFragment"
-                android:layout_width="0dip"
-                android:layout_height="match_parent"
-                android:layout_weight="8"
-                android:layout_marginTop="16dip"
-                android:layout_marginRight="16dip"
-                android:layout_marginEnd="16dip"/>
-
-        </LinearLayout>
-
-    </LinearLayout>
-
-    <com.android.contacts.widget.InterpolatingLayout
-        android:id="@+id/contacts_unavailable_view"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="@drawable/background_holo_light"
-        android:visibility="gone">
-
-        <FrameLayout
-            android:id="@+id/contacts_unavailable_container"
-            android:layout_height="match_parent"
-            android:layout_width="match_parent"
-            ex:layout_narrowParentWidth="800dip"
-            ex:layout_narrowMarginLeft="80dip"
-            ex:layout_narrowMarginRight="80dip"
-            ex:layout_wideParentWidth="1280dip"
-            ex:layout_wideMarginLeft="200dip"
-            ex:layout_wideMarginRight="200dip"
-            android:paddingBottom="20dip" />
-
-    </com.android.contacts.widget.InterpolatingLayout>
-</view>
diff --git a/res/layout/carousel_about_tab.xml b/res/layout/carousel_about_tab.xml
deleted file mode 100644
index 8026f37..0000000
--- a/res/layout/carousel_about_tab.xml
+++ /dev/null
@@ -1,80 +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.
--->
-
-<view
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    class="com.android.contacts.detail.CarouselTab"
-    android:layout_width="0dip"
-    android:layout_height="match_parent"
-    android:layout_weight="1">
-
-    <RelativeLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" >
-
-        <ImageView android:id="@+id/photo"
-            android:scaleType="centerCrop"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_alignParentTop="true"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentStart="true"/>
-
-        <View android:id="@+id/photo_overlay"
-            android:background="?android:attr/selectableItemBackground"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_alignParentTop="true"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentStart="true"/>
-
-        <!-- Transparent view to overlay on the contact's photo
-        (to allow white text to appear over a white photo). -->
-        <View android:id="@+id/label_background"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/detail_tab_carousel_tab_label_height"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentStart="true"
-            android:layout_alignParentBottom="true"
-            android:background="#7F000000" />
-
-        <View
-            android:id="@+id/alpha_overlay"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentStart="true"
-            android:layout_alignParentTop="true"
-            android:layout_marginBottom="@dimen/detail_tab_carousel_tab_label_height"/>
-
-        <TextView
-            android:id="@+id/label"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/detail_tab_carousel_tab_label_height"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentStart="true"
-            android:layout_alignParentBottom="true"
-            android:paddingLeft="@dimen/detail_tab_carousel_tab_label_indent"
-            android:paddingStart="@dimen/detail_tab_carousel_tab_label_indent"
-            android:singleLine="true"
-            android:gravity="left|center_vertical"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:textColor="@color/detail_tab_carousel_tab_label_color"
-            style="@android:style/Widget.Holo.ActionBar.TabView" />
-
-    </RelativeLayout>
-
-</view>
diff --git a/res/layout/carousel_updates_tab.xml b/res/layout/carousel_updates_tab.xml
deleted file mode 100644
index 0bd5cbd..0000000
--- a/res/layout/carousel_updates_tab.xml
+++ /dev/null
@@ -1,98 +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.
--->
-
-<!--
-  TODO: Collapse carousel_about_tab with carousel_updates_tab into 1 XML that
-  handles all cases when updates fragment is more finalized.
--->
-<view
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    class="com.android.contacts.detail.CarouselTab"
-    android:layout_width="0dip"
-    android:layout_height="match_parent"
-    android:layout_weight="1"
-    android:background="@drawable/bg_people_updates_holo">
-
-    <RelativeLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" >
-
-        <ImageView android:id="@+id/status_photo"
-            android:scaleType="centerCrop"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_alignParentTop="true"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentStart="true"
-            android:visibility="gone" />
-
-        <!-- Transparent view to overlay on the update photo
-        (to allow white text to appear over a white photo). -->
-        <View android:id="@+id/label_background"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/detail_tab_carousel_tab_label_height"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentStart="true"
-            android:layout_alignParentBottom="true"
-            android:layout_above="@id/status_photo"
-            android:background="#7F000000" />
-
-        <TextView android:id="@+id/status"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:layout_alignParentTop="true"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentStart="true"
-            android:layout_above="@id/label"
-            android:gravity="center_vertical"
-            android:paddingLeft="@dimen/detail_update_tab_side_padding"
-            android:paddingRight="@dimen/detail_update_tab_side_padding"
-            android:paddingStart="@dimen/detail_update_tab_side_padding"
-            android:paddingEnd="@dimen/detail_update_tab_side_padding"
-            android:textAppearance="?android:attr/textAppearanceLarge"
-            android:textColor="@color/detail_update_tab_text_color"
-            android:textStyle="bold"
-            android:maxLines="@integer/updates_tab_snippet_max_lines"
-            android:ellipsize="end" />
-
-        <View
-            android:id="@+id/alpha_overlay"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentStart="true"
-            android:layout_alignParentTop="true"
-            android:layout_marginBottom="@dimen/detail_tab_carousel_tab_label_height"/>
-
-        <TextView
-            android:id="@+id/label"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/detail_tab_carousel_tab_label_height"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentStart="true"
-            android:layout_alignParentBottom="true"
-            android:layout_above="@id/status_photo"
-            android:paddingLeft="@dimen/detail_tab_carousel_tab_label_indent"
-            android:paddingStart="@dimen/detail_tab_carousel_tab_label_indent"
-            android:singleLine="true"
-            android:gravity="start|center_vertical"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:textColor="@color/detail_tab_carousel_tab_label_color"
-            style="@android:style/Widget.Holo.ActionBar.TabView" />
-
-    </RelativeLayout>
-
-</view>
diff --git a/res/layout/contact_detail_about_fragment_container.xml b/res/layout/contact_detail_about_fragment_container.xml
deleted file mode 100644
index 6fc9fe2..0000000
--- a/res/layout/contact_detail_about_fragment_container.xml
+++ /dev/null
@@ -1,25 +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.
--->
-
-<!--
-  Container for the "About" page fragment on the contact card for a contact with social updates.
-  This view ID must match with a view ID in the layout that is used after an orientation change.
--->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/about_fragment_container"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"/>
\ No newline at end of file
diff --git a/res/layout/contact_detail_activity.xml b/res/layout/contact_detail_activity.xml
deleted file mode 100644
index 9765a71..0000000
--- a/res/layout/contact_detail_activity.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/contact_detail_view"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <!-- This fragment is an invisible worker fragment that loads the contact details. -->
-    <fragment
-        android:id="@+id/loader_fragment"
-        class="com.android.contacts.detail.ContactLoaderFragment"
-        android:layout_height="0dip"
-        android:layout_width="0dip"
-        android:visibility="gone"/>
-
-    <!-- This layout includes all possible views needed for a contact detail page -->
-    <include
-        android:id="@+id/contact_detail_container"
-        layout="@layout/contact_detail_container"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"/>
-
-</FrameLayout>
diff --git a/res/layout/contact_detail_container.xml b/res/layout/contact_detail_container.xml
deleted file mode 100644
index f6b3438..0000000
--- a/res/layout/contact_detail_container.xml
+++ /dev/null
@@ -1,48 +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.
--->
-
-<!--
-  Layout for the contact card page. If the contact has social updates, then
-  the ViewPager and ContactDetailTabCarousel are shown together. If there
-  aren't any social updates, then just the ContactDetailFragment will be
-  shown. We include all 3 views even though they are never shown
-  simultaneously because this layout is reused but set with different data
-  each time (i.e. on a tablet).
--->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <android.support.v4.view.ViewPager
-        android:id="@+id/pager"
-        android:layout_alignParentTop="true"
-        android:layout_alignParentLeft="true"
-        android:layout_alignParentStart="true"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" />
-
-    <include
-        android:id="@+id/tab_carousel"
-        layout="@layout/contact_detail_tab_carousel"
-        android:layout_alignParentTop="true"
-        android:layout_alignParentLeft="true"
-        android:layout_alignParentStart="true"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:visibility="gone"/>
-
-</RelativeLayout>
\ No newline at end of file
diff --git a/res/layout/contact_detail_empty.xml b/res/layout/contact_detail_empty.xml
deleted file mode 100644
index cdb8feb..0000000
--- a/res/layout/contact_detail_empty.xml
+++ /dev/null
@@ -1,29 +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.
--->
-
-<!-- Placeholder for empty details for a contact -->
-
-<TextView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:text="@string/no_contact_details"
-    android:textSize="20sp"
-    android:textColor="?android:attr/textColorSecondary"
-    android:layout_marginLeft="15dip"
-    android:layout_marginStart="15dip"
-    android:paddingTop="10dip"
-    android:lineSpacingMultiplier="0.92"/>
\ No newline at end of file
diff --git a/res/layout/contact_detail_fragment.xml b/res/layout/contact_detail_fragment.xml
deleted file mode 100644
index 4d53310..0000000
--- a/res/layout/contact_detail_fragment.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/contact_detail_about_fragment"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <ListView android:id="@android:id/list"
-        android:layout_width="match_parent"
-        android:layout_height="0px"
-        android:layout_weight="1"
-        android:fadingEdge="none"
-        android:divider="@null"/>
-
-    <ScrollView android:id="@android:id/empty"
-        android:layout_width="match_parent"
-        android:layout_height="0px"
-        android:layout_weight="1"
-        android:fadingEdge="none"
-        android:visibility="gone">
-
-        <TextView android:id="@+id/emptyText"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/no_contact_details"
-            android:textSize="20sp"
-            android:textColor="?android:attr/textColorSecondary"
-            android:paddingLeft="10dip"
-            android:paddingRight="10dip"
-            android:paddingStart="10dip"
-            android:paddingEnd="10dip"
-            android:paddingTop="10dip"
-            android:lineSpacingMultiplier="0.92"/>
-
-    </ScrollView>
-
-    <!-- "QuickFix"- button (Copy to local contact, add to group) -->
-    <Button
-        android:id="@+id/contact_quick_fix"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:visibility="gone"
-        android:layout_gravity="center"
-        android:layout_marginTop="20dip"
-        android:layout_marginBottom="20dip" />
-</LinearLayout>
-
diff --git a/res/layout/contact_detail_fragment_carousel.xml b/res/layout/contact_detail_fragment_carousel.xml
deleted file mode 100644
index 0695511..0000000
--- a/res/layout/contact_detail_fragment_carousel.xml
+++ /dev/null
@@ -1,54 +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.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:scrollbars="none"
-    android:orientation="horizontal"
-    android:baselineAligned="false">
-
-    <!--
-      Container for the "About" page fragment on the contact card for a contact
-      with social updates. This view ID must match with a view ID in the layout
-      that is used after an orientation change.
-    -->
-    <view
-        class="com.android.contacts.widget.FrameLayoutWithOverlay"
-        android:id="@+id/about_fragment_container"
-        android:layout_width="0dip"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:focusable="true"
-        android:focusableInTouchMode="true" />
-
-    <!--
-      Container for the "Updates" page fragment on the contact card for a contact
-      with social updates. This view ID must match with a view ID in the layout
-      that is used after an orientation change.
-    -->
-    <view
-        class="com.android.contacts.widget.FrameLayoutWithOverlay"
-        android:id="@+id/updates_fragment_container"
-        android:layout_width="0dip"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:focusable="true"
-        android:focusableInTouchMode="true"
-        android:visibility="gone" />
-
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/contact_detail_list_item.xml b/res/layout/contact_detail_list_item.xml
deleted file mode 100644
index fb24caa..0000000
--- a/res/layout/contact_detail_list_item.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2009, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<!-- Note: padding might be controlled programatically -->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingStart="16dip">
-
-    <com.android.contacts.detail.ActionsViewContainer
-        android:id="@+id/actions_view_container"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:focusable="true"
-        android:background="?android:attr/selectableItemBackground"
-        android:nextFocusRight="@+id/secondary_action_view_container"
-        android:minHeight="@dimen/detail_min_line_item_height">
-
-        <!-- Note: padding might be controlled programatically -->
-        <LinearLayout
-            android:id="@+id/primary_action_view"
-            android:layout_width="0dip"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:orientation="vertical"
-            android:paddingStart="8dip" >
-
-            <TextView
-                android:id="@+id/data"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textAppearance="?android:attr/textAppearanceMedium" />
-
-            <LinearLayout
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal">
-
-                <ImageView
-                    android:id="@+id/presence_icon"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="1dip"
-                    android:layout_marginRight="4dip"
-                    android:layout_marginEnd="4dip"
-                    android:layout_gravity="center_vertical"
-                    android:gravity="center"
-                    android:scaleType="centerInside" />
-
-                <TextView
-                    android:id="@+id/type"
-                    style="@style/ContactDetailItemType"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content" />
-
-                <View
-                    android:id="@+id/primary_indicator"
-                    android:layout_width="16dip"
-                    android:layout_height="16dip"
-                    android:visibility="gone"
-                    android:layout_gravity="center_vertical"
-                    android:background="@drawable/ic_list_default_mime_holo_dark" />
-
-            </LinearLayout>
-
-        </LinearLayout>
-
-        <View
-            android:id="@+id/vertical_divider"
-            android:layout_width="1dip"
-            android:layout_height="match_parent"
-            android:layout_marginTop="@dimen/detail_vertical_divider_vertical_margin"
-            android:layout_marginBottom="@dimen/detail_vertical_divider_vertical_margin"
-            android:background="?android:attr/dividerVertical" />
-
-        <!-- Note: padding might be controlled programatically -->
-        <FrameLayout
-            android:id="@+id/secondary_action_view_container"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:paddingStart="@dimen/detail_item_icon_margin"
-            android:paddingEnd="@dimen/detail_item_icon_margin"
-            android:focusable="true"
-            android:background="?android:attr/selectableItemBackground"
-            android:nextFocusLeft="@id/actions_view_container">
-            <ImageView
-                android:id="@+id/secondary_action_button"
-                android:layout_width="32dip"
-                android:layout_height="32dip"
-                android:layout_gravity="center_vertical"
-                android:duplicateParentState="false" />
-        </FrameLayout>
-    </com.android.contacts.detail.ActionsViewContainer>
-</FrameLayout>
diff --git a/res/layout/contact_detail_loader_fragment.xml b/res/layout/contact_detail_loader_fragment.xml
deleted file mode 100644
index 62edb3d..0000000
--- a/res/layout/contact_detail_loader_fragment.xml
+++ /dev/null
@@ -1,26 +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.
--->
-
-<!--
-    Invisible view.
-    Note we show/hide the fragment at runtime with FragmentTransaction.show()/hide() in order to
-    change the visibility of the options menu.  This means the visibility of the view will be
-    changed at runtime, so we use width/height to make it invisible, rather than using
-    visibility.
--->
-<View xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="0dip"
-    android:layout_height="0dip"/>
\ No newline at end of file
diff --git a/res/layout/contact_detail_tab_carousel.xml b/res/layout/contact_detail_tab_carousel.xml
deleted file mode 100644
index 711a6c3..0000000
--- a/res/layout/contact_detail_tab_carousel.xml
+++ /dev/null
@@ -1,71 +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.
--->
-
-<view
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    class="com.android.contacts.detail.ContactDetailTabCarousel"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:scrollbars="none"
-    android:fadingEdge="none">
-
-    <LinearLayout
-        android:id="@+id/tab_and_shadow_container"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="vertical">
-
-        <LinearLayout
-            android:id="@+id/tab_container"
-            android:layout_width="match_parent"
-            android:layout_height="0dip"
-            android:layout_weight="1"
-            android:orientation="horizontal"
-            android:baselineAligned="false">
-
-            <!-- "About" tab -->
-            <include
-                android:id="@+id/tab_about"
-                layout="@layout/carousel_about_tab" />
-
-            <!-- Vertical divider -->
-            <View
-                android:id="@+id/tab_divider"
-                android:layout_width="1dip"
-                android:layout_height="match_parent"
-                android:background="@android:color/white"/>
-
-            <!-- "Updates" tab -->
-            <include
-                android:id="@+id/tab_update"
-                layout="@layout/carousel_updates_tab" />
-
-        </LinearLayout>
-
-        <!--
-          Shadow below the carousel. The ContactDetailTabCarousel increases its height to
-          account for this shadow, and the class assumes the height of this shadow to be
-          @dimen/detail_contact_photo_shadow_height.
-        -->
-        <View
-            android:id="@+id/shadow"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/detail_contact_photo_shadow_height"
-            android:background="?android:attr/windowContentOverlay"/>
-
-    </LinearLayout>
-
-</view>
diff --git a/res/layout/contact_picker.xml b/res/layout/contact_picker.xml
index 2752b0c..2efe471 100644
--- a/res/layout/contact_picker.xml
+++ b/res/layout/contact_picker.xml
@@ -14,26 +14,9 @@
      limitations under the License.
 -->
 
-<view
+<FrameLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    class="com.android.contacts.widget.FullHeightLinearLayout"
     style="@style/ContactPickerLayout"
-    android:orientation="vertical"
-    android:layout_height="match_parent">
-    <view
-        class="android.widget.SearchView"
-        android:id="@+id/search_view"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="0dip"
-        android:layout_marginRight="32dip"
-        android:layout_marginStart="0dip"
-        android:layout_marginEnd="32dip"
-        android:iconifiedByDefault="false" />
-    <!-- will contain an appropriate contacts list -->
-    <FrameLayout
-        android:id="@+id/list_container"
-        android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:layout_weight="1" />
-</view>
+    android:id="@+id/list_container"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent" />
diff --git a/res/layout/contact_tile_list.xml b/res/layout/contact_tile_list.xml
index 35c04c1..1b5ec9d 100644
--- a/res/layout/contact_tile_list.xml
+++ b/res/layout/contact_tile_list.xml
@@ -18,7 +18,8 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:paddingBottom="?attr/favorites_padding_bottom">
+    android:paddingBottom="?attr/favorites_padding_bottom"
+    android:background="@color/background_primary">
 
     <ListView
         android:id="@+id/contact_tile_list"
diff --git a/res/layout/contacts_unavailable_fragment.xml b/res/layout/contacts_unavailable_fragment.xml
index d0edc26..239693c 100644
--- a/res/layout/contacts_unavailable_fragment.xml
+++ b/res/layout/contacts_unavailable_fragment.xml
@@ -17,79 +17,7 @@
 <ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:fillViewport="true">
-    <LinearLayout
-        android:orientation="vertical"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center_horizontal"
-        android:background="@drawable/panel_message">
-        <TextView
-            android:id="@+id/message"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="48dip"
-            android:textAppearance="?android:attr/textAppearanceLarge"
-            android:textColor="?android:attr/textColorSecondary" />
-
-        <TextView
-            android:id="@+id/secondary_message"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textAppearance="?android:attr/textAppearanceSmall"
-            android:textColor="?android:attr/textColorSecondary"
-            android:layout_gravity="center_horizontal"
-            android:layout_marginBottom="@dimen/no_accounts_message_margin" />
-
-        <LinearLayout
-            android:orientation="vertical"
-            android:layout_marginLeft="48dip"
-            android:layout_marginRight="48dip"
-            android:layout_marginStart="48dip"
-            android:layout_marginEnd="48dip"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent">
-            <Button
-                android:id="@+id/create_contact_button"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginBottom="15dip"
-                android:text="@string/contacts_unavailable_create_contact" />
-
-            <Button
-                android:id="@+id/add_account_button"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginBottom="15dip"
-                android:text="@string/contacts_unavailable_add_account" />
-
-            <Button
-                android:id="@+id/import_contacts_button"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginBottom="15dip"
-                android:text="@string/contacts_unavailable_import_contacts" />
-
-            <Button
-                android:id="@+id/import_failure_uninstall_button"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginBottom="15dip"
-                android:text="@string/upgrade_out_of_memory_uninstall" />
-
-            <Button
-                android:id="@+id/import_failure_retry_button"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginBottom="15dip"
-                android:text="@string/upgrade_out_of_memory_retry" />
-
-            <ProgressBar
-                android:id="@+id/progress"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_horizontal"
-                android:layout_marginBottom="15dip" />
-        </LinearLayout>
-    </LinearLayout>
-</ScrollView>
\ No newline at end of file
+    android:fillViewport="true"
+    android:background="@color/background_primary">
+    <include layout="@layout/contacts_unavailable_fragment_content"/>
+</ScrollView>
diff --git a/res/layout/contacts_unavailable_fragment_content.xml b/res/layout/contacts_unavailable_fragment_content.xml
new file mode 100644
index 0000000..c36d038
--- /dev/null
+++ b/res/layout/contacts_unavailable_fragment_content.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:gravity="center_horizontal">
+    <TextView
+        android:id="@+id/message"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="48dip"
+        android:textAppearance="?android:attr/textAppearanceLarge"
+        android:textColor="?android:attr/textColorSecondary" />
+
+    <TextView
+        android:id="@+id/secondary_message"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:textColor="?android:attr/textColorSecondary"
+        android:layout_gravity="center_horizontal"
+        android:layout_marginBottom="@dimen/no_accounts_message_margin" />
+
+    <LinearLayout
+        android:orientation="vertical"
+        android:layout_marginLeft="48dip"
+        android:layout_marginRight="48dip"
+        android:layout_marginStart="48dip"
+        android:layout_marginEnd="48dip"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent">
+        <Button
+            android:id="@+id/create_contact_button"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="15dip"
+            android:text="@string/contacts_unavailable_create_contact" />
+
+        <Button
+            android:id="@+id/add_account_button"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="15dip"
+            android:text="@string/contacts_unavailable_add_account" />
+
+        <Button
+            android:id="@+id/import_contacts_button"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="15dip"
+            android:text="@string/contacts_unavailable_import_contacts" />
+
+        <Button
+            android:id="@+id/import_failure_uninstall_button"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="15dip"
+            android:text="@string/upgrade_out_of_memory_uninstall" />
+
+        <Button
+            android:id="@+id/import_failure_retry_button"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="15dip"
+            android:text="@string/upgrade_out_of_memory_retry" />
+
+        <ProgressBar
+            android:id="@+id/progress"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginBottom="15dip" />
+    </LinearLayout>
+</LinearLayout>
diff --git a/res/layout/detail_header_contact_with_updates.xml b/res/layout/detail_header_contact_with_updates.xml
deleted file mode 100644
index dc4cf8b..0000000
--- a/res/layout/detail_header_contact_with_updates.xml
+++ /dev/null
@@ -1,39 +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.
--->
-
-<!--
-  This is a header entry in the contact details list for when the contact has social updates. The
-  entry maintains vertical padding to ensure that the first contact detail is visible (and below
-  the tab carousel). No information has to be displayed in this header.
-  The FrameLayout is used to apply additional padding which is needed for the shadow
--->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content">
-    <view
-        class="com.android.contacts.common.widget.ProportionalLayout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="@dimen/detail_contact_photo_shadow_height"
-        ex:ratio="0.5"
-        ex:direction="widthToHeight">
-        <FrameLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
-    </view>
-</FrameLayout>
diff --git a/res/layout/detail_header_contact_without_updates.xml b/res/layout/detail_header_contact_without_updates.xml
deleted file mode 100644
index 27f6288..0000000
--- a/res/layout/detail_header_contact_without_updates.xml
+++ /dev/null
@@ -1,46 +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.
--->
-
-<!--
-  This is a header entry in the contact details list for when the contact does not have social
-  updates, which means that the contact's photo will scroll with the list of details.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <!-- Contact photo -->
-    <view
-        class="com.android.contacts.common.widget.ProportionalLayout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        ex:ratio="0.5"
-        ex:direction="widthToHeight">
-
-        <include layout="@layout/photo_selector_view" />
-
-    </view>
-
-    <!-- Shadow -->
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/detail_contact_photo_shadow_height"
-        android:background="?android:attr/windowContentOverlay"/>
-
-</LinearLayout>
diff --git a/res/layout/edit_date_picker.xml b/res/layout/edit_date_picker.xml
index b84a8d5..e2c4278 100644
--- a/res/layout/edit_date_picker.xml
+++ b/res/layout/edit_date_picker.xml
@@ -20,7 +20,7 @@
 <Button
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/date_view"
-    style="?android:attr/spinnerStyle"
+    style="@style/SpinnerButtonStyle"
     android:layout_width="0dip"
     android:layout_height="@dimen/editor_min_line_item_height"
     android:layout_weight="1"
@@ -30,5 +30,5 @@
     android:layout_marginStart="@dimen/editor_field_left_padding"
     android:layout_marginEnd="@dimen/editor_field_right_padding"
     android:textAppearance="?android:attr/textAppearanceMedium"
-    android:paddingLeft="12dip"
-    android:paddingStart="12dip" />
+    android:paddingStart="12dip"
+    android:paddingEnd="@dimen/editor_spinner_end_padding_workaround" />
diff --git a/res/layout/edit_kind_title.xml b/res/layout/edit_kind_title.xml
index 1392ac4..b7de66f 100644
--- a/res/layout/edit_kind_title.xml
+++ b/res/layout/edit_kind_title.xml
@@ -28,7 +28,7 @@
     android:focusable="false">
     <TextView
         android:id="@+id/kind_title"
-        style="@style/ContactListSeparatorTextViewStyle"
+        style="@style/EditKindSeparatorTextViewStyle"
         android:paddingLeft="8dip"
         android:paddingRight="8dip"
         android:paddingStart="8dip"
diff --git a/res/layout/editor_custom_action_bar.xml b/res/layout/editor_custom_action_bar.xml
index e8d9287..7764674 100644
--- a/res/layout/editor_custom_action_bar.xml
+++ b/res/layout/editor_custom_action_bar.xml
@@ -14,52 +14,32 @@
      limitations under the License.
 -->
 
-<FrameLayout
+<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    android:orientation="horizontal">
 
-    <LinearLayout
+    <ImageView
         android:id="@+id/save_menu_item"
-        android:layout_width="wrap_content"
-        android:layout_height="match_parent"
-        android:divider="?android:attr/dividerVertical"
-        android:showDividers="end"
-        android:dividerPadding="12dip"
-        android:orientation="horizontal"
         android:focusable="true"
-        android:clickable="true">
+        android:clickable="true"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_vertical"
+        android:layout_marginEnd="8dip"
+        android:src="@drawable/ic_done_wht_24dp"
+        style="?android:attr/actionButtonStyle"
+        android:contentDescription="@string/menu_done" />
 
-        <LinearLayout
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:orientation="horizontal"
-            android:duplicateParentState="true"
-            style="?android:attr/actionButtonStyle">
+    <TextView
+        android:id="@+id/title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_vertical"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:textColor="@color/actionbar_text_color"
+        android:text="@string/menu_done"
+        style="@android:style/TextAppearance.Material.Widget.ActionBar.Title" />
 
-            <ImageView
-                android:id="@+id/icon"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_vertical"
-                android:layout_marginRight="8dip"
-                android:layout_marginEnd="8dip"
-                android:src="@drawable/ic_menu_done_holo_light"
-                android:description="@string/menu_done" />
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_vertical"
-                android:layout_marginRight="20dip"
-                android:layout_marginEnd="20dip"
-                android:textAppearance="?android:attr/textAppearanceMedium"
-                android:textColor="@color/people_app_theme_color"
-                android:text="@string/menu_done"
-                style="@android:style/Widget.Holo.ActionBar.TabText" />
-
-        </LinearLayout>
-
-    </LinearLayout>
-
-</FrameLayout>
\ No newline at end of file
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/expanding_entry_card_item.xml b/res/layout/expanding_entry_card_item.xml
new file mode 100644
index 0000000..138a3a5
--- /dev/null
+++ b/res/layout/expanding_entry_card_item.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<view
+    class="com.android.contacts.quickcontact.ExpandingEntryCardView$EntryView"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    style="@style/SelectableItem"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingStart="@dimen/expanding_entry_card_item_padding_start"
+    android:paddingEnd="@dimen/expanding_entry_card_item_padding_end"
+    android:paddingTop="@dimen/expanding_entry_card_item_padding_top"
+    android:paddingBottom="@dimen/expanding_entry_card_item_padding_bottom">
+
+    <ImageView
+        android:id="@+id/icon"
+        android:layout_width="@dimen/expanding_entry_card_item_icon_height"
+        android:layout_height="@dimen/expanding_entry_card_item_icon_width"
+        android:layout_alignParentStart="true"
+        android:layout_alignParentTop="true"
+        android:layout_marginEnd="@dimen/expanding_entry_card_item_image_spacing"
+        android:scaleType="fitCenter"
+        android:layout_marginTop="@dimen/expanding_entry_card_item_icon_margin_top" />
+
+    <TextView
+        android:id="@+id/header"
+        android:textSize="@dimen/expanding_entry_card_title_text_size"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentTop="true"
+        android:layout_toEndOf="@+id/icon"
+        android:layout_toStartOf="@+id/icon_alternate"
+        android:textColor="@color/quickcontact_entry_header_text_color"
+        android:layout_marginBottom="@dimen/expanding_entry_card_header_margin_bottom" />
+
+    <TextView
+        android:id="@+id/sub_header"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@+id/header"
+        android:layout_toEndOf="@+id/icon_sub_header"
+        android:layout_toStartOf="@+id/icon_alternate"
+        android:textColor="@color/quickcontact_entry_sub_header_text_color" />
+
+    <ImageView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:id="@+id/icon_sub_header"
+        android:layout_below="@+id/header"
+        android:layout_toEndOf="@+id/icon"
+        android:layout_marginEnd="@dimen/expanding_entry_card_item_sub_header_icon_margin_right"
+        android:layout_marginBottom="@dimen/expanding_entry_card_item_sub_header_icon_margin_bottom" />
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:id="@+id/text"
+        android:layout_below="@+id/sub_header"
+        android:layout_toEndOf="@+id/icon_text"
+        android:layout_toStartOf="@+id/icon_alternate"
+        android:textColor="@color/quickcontact_entry_sub_header_text_color" />
+
+    <ImageView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:id="@+id/icon_text"
+        android:layout_toEndOf="@+id/icon"
+        android:layout_below="@+id/sub_header"
+        android:layout_marginTop="@dimen/expanding_entry_card_item_text_icon_margin_top"
+        android:layout_marginEnd="@dimen/expanding_entry_card_item_text_icon_margin_right" />
+
+    <ImageView
+        android:id="@+id/icon_alternate"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentEnd="true"
+        android:layout_alignParentTop="true"
+        android:visibility="gone"
+        android:background="?android:attr/selectableItemBackgroundBorderless"
+        android:layout_marginEnd="@dimen/expanding_entry_card_item_alternate_icon_margin_end"
+        android:layout_marginTop="@dimen/expanding_entry_card_item_icon_margin_top"
+        android:layout_marginBottom="@dimen/expanding_entry_card_item_alternate_icon_margin_bottom" />
+
+</view>
diff --git a/res/layout/expanding_entry_card_view.xml b/res/layout/expanding_entry_card_view.xml
new file mode 100644
index 0000000..6b89759
--- /dev/null
+++ b/res/layout/expanding_entry_card_view.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:id="@+id/container">
+
+    <TextView
+        android:id="@+id/title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:ellipsize="end"
+        android:lines="1"
+        android:padding="@dimen/expanding_entry_card_title_padding"
+        android:singleLine="true"
+        android:textSize="@dimen/expanding_entry_card_title_text_size"
+        android:visibility="gone" />
+
+    <View
+        android:id="@+id/title_separator"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/expanding_entry_card_item_separator_height"
+        android:background="@color/expanding_entry_card_item_separator_color"
+        android:visibility="gone" />
+
+    <LinearLayout
+        android:id="@+id/content_area_linear_layout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/floating_action_button.xml b/res/layout/floating_action_button.xml
new file mode 100644
index 0000000..1541d42
--- /dev/null
+++ b/res/layout/floating_action_button.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- This expects to be included inside a RelativeLayout -->
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/floating_action_button_container"
+    android:layout_width="@dimen/floating_action_button_width"
+    android:layout_height="@dimen/floating_action_button_height"
+    android:layout_marginEnd="@dimen/floating_action_button_margin_right"
+    android:layout_marginBottom="@dimen/floating_action_button_margin_bottom"
+    android:layout_alignParentEnd="true"
+    android:layout_alignParentBottom="true">
+
+    <ImageButton
+        android:id="@+id/floating_action_button"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@drawable/floating_action_button"
+        android:tint="@color/floating_action_button_icon_color"
+        android:contentDescription="@string/action_menu_add_new_contact_button"
+        android:src="@drawable/ic_person_add_24dp"/>
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/group_account_header_horizontal.xml b/res/layout/group_account_header_horizontal.xml
index 918fd9f..cbfb555 100644
--- a/res/layout/group_account_header_horizontal.xml
+++ b/res/layout/group_account_header_horizontal.xml
@@ -33,7 +33,7 @@
         android:layout_gravity="center_vertical"
         android:paddingLeft="?attr/list_item_header_text_indent"
         android:paddingStart="?attr/list_item_header_text_indent"
-        android:textAppearance="@style/SectionHeaderStyle"
+        android:textAppearance="@style/DirectoryHeaderStyle"
         android:singleLine="true"
         android:textAlignment="viewStart" />
 
@@ -44,7 +44,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center_vertical"
-        android:textAppearance="@style/SectionHeaderStyle"
+        android:textAppearance="@style/DirectoryHeaderStyle"
         android:textAllCaps="false"
         android:textSize="12sp"
         android:singleLine="true"
diff --git a/res/layout/group_account_header_vertical.xml b/res/layout/group_account_header_vertical.xml
index dc03b22..c5b9d76 100644
--- a/res/layout/group_account_header_vertical.xml
+++ b/res/layout/group_account_header_vertical.xml
@@ -33,7 +33,7 @@
         android:layout_height="wrap_content"
         android:paddingLeft="?attr/list_item_header_text_indent"
         android:paddingStart="?attr/list_item_header_text_indent"
-        android:textAppearance="@style/SectionHeaderStyle"
+        android:textAppearance="@style/DirectoryHeaderStyle"
         android:singleLine="true"/>
 
     <!-- TODO: Should use correct color with a correct name (content should be same).
@@ -44,7 +44,7 @@
         android:layout_height="wrap_content"
         android:paddingLeft="?attr/list_item_header_text_indent"
         android:paddingStart="?attr/list_item_header_text_indent"
-        android:textAppearance="@style/SectionHeaderStyle"
+        android:textAppearance="@style/DirectoryHeaderStyle"
         android:textAllCaps="false"
         android:textSize="12sp"
         android:singleLine="true"
diff --git a/res/layout/item_group_membership.xml b/res/layout/item_group_membership.xml
index 84d1afe..fa447bb 100644
--- a/res/layout/item_group_membership.xml
+++ b/res/layout/item_group_membership.xml
@@ -25,7 +25,7 @@
         layout="@layout/edit_kind_title" />
 
     <Button
-        style="?android:attr/spinnerStyle"
+        style="@style/SpinnerButtonStyle"
         android:id="@+id/group_list"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
@@ -37,7 +37,7 @@
         android:textAppearance="?android:attr/textAppearanceMedium"
         android:gravity="start|center_vertical"
         android:focusable="true"
-        android:paddingLeft="12dip"
-        android:paddingStart="12dip" />
+        android:paddingStart="12dip"
+        android:paddingEnd="@dimen/editor_spinner_end_padding_workaround"/>
 
 </com.android.contacts.editor.GroupMembershipView>
diff --git a/res/layout/join_contact_picker.xml b/res/layout/join_contact_picker.xml
deleted file mode 100644
index ee30525..0000000
--- a/res/layout/join_contact_picker.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<view xmlns:android="http://schemas.android.com/apk/res/android"
-    class="com.android.contacts.widget.FullHeightLinearLayout"
-    style="@style/ContactPickerLayout"
-    android:orientation="vertical">
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:layout_weight="1"
-        android:id="@+id/list_container" />
-</view>
diff --git a/res/layout/people_activity.xml b/res/layout/people_activity.xml
index 589e4a9..ce995cb 100644
--- a/res/layout/people_activity.xml
+++ b/res/layout/people_activity.xml
@@ -14,11 +14,15 @@
      limitations under the License.
 -->
 
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/list_container"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
+    <include
+        layout="@layout/people_activity_toolbar"
+        android:id="@+id/toolbar_parent" />
+
     <!--
         ViewPager for swiping between tabs.  We put StrequentContactListFragment,
         DefaultContactBrowseListFragment and GroupBrowseListFragment at runtime.
@@ -30,16 +34,20 @@
         android:id="@+id/tab_pager"
         android:layout_height="match_parent"
         android:layout_width="match_parent"
+        android:layout_below="@id/toolbar_parent"
         />
 
     <FrameLayout
         android:id="@+id/contacts_unavailable_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
+        android:layout_below="@id/toolbar_parent"
         android:visibility="gone">
         <FrameLayout
             android:id="@+id/contacts_unavailable_container"
             android:layout_height="match_parent"
             android:layout_width="match_parent" />
     </FrameLayout>
-</FrameLayout>
+
+    <include layout="@layout/floating_action_button" />
+</RelativeLayout>
diff --git a/res/layout/people_activity_tabs_lands.xml b/res/layout/people_activity_tabs_lands.xml
new file mode 100644
index 0000000..525ac3c
--- /dev/null
+++ b/res/layout/people_activity_tabs_lands.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<com.android.contacts.common.list.ViewPagerTabs
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/lists_pager_header"
+    android:layout_width="@dimen/people_activity_landscape_tabs_width"
+    android:layout_height="match_parent"
+    android:textAllCaps="true"
+    android:orientation="horizontal"
+    android:layout_gravity="top"
+    android:layout_weight="0"
+    android:textSize="@dimen/people_activity_landscape_tabs_text_size"
+    style="@style/ContactsActionBarTabTextStyle" />
diff --git a/res/layout/people_activity_toolbar.xml b/res/layout/people_activity_toolbar.xml
new file mode 100644
index 0000000..e69728b
--- /dev/null
+++ b/res/layout/people_activity_toolbar.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/toolbar_parent"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:elevation="@dimen/tab_elevation"
+    android:layout_height="wrap_content" >
+
+    <Toolbar
+        android:layout_width="match_parent"
+        android:layout_height="?android:attr/actionBarSize"
+        android:background="@color/actionbar_background_color"
+        android:id="@+id/toolbar"
+        style="@style/ContactsToolbarStyle" />
+
+    <com.android.contacts.common.list.ViewPagerTabs
+        android:id="@+id/lists_pager_header"
+        android:layout_width="match_parent"
+        android:layout_height="?android:attr/actionBarSize"
+        android:textAllCaps="true"
+        android:orientation="horizontal"
+        android:layout_gravity="top"
+        android:layout_weight="0"
+        android:layout_below="@id/toolbar"
+        style="@style/ContactsActionBarTabTextStyle" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/photo_selector_view.xml b/res/layout/photo_selector_view.xml
deleted file mode 100644
index 1a21c30..0000000
--- a/res/layout/photo_selector_view.xml
+++ /dev/null
@@ -1,39 +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.
--->
-
-<!--
-  View for displaying photos that show a photo selector when clicked.
--->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <ImageView
-        android:id="@+id/photo"
-        android:scaleType="centerCrop"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" />
-
-    <View
-        android:id="@+id/photo_touch_intercept_overlay"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="?android:attr/selectableItemBackground"
-        android:visibility="gone"
-        android:contentDescription="@string/contact_detail_picture_description"/>
-
-</FrameLayout>
diff --git a/res/layout/quickcontact_activity.xml b/res/layout/quickcontact_activity.xml
index 36bdd50..6d94fcc 100644
--- a/res/layout/quickcontact_activity.xml
+++ b/res/layout/quickcontact_activity.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!--
+     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.
@@ -13,44 +14,41 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<view
+<com.android.contacts.widget.MultiShrinkScroller
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    class="com.android.contacts.quickcontact.FloatingChildLayout"
-    android:id="@+id/floating_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:id="@+id/multiscroller"
     android:focusable="true"
     android:focusableInTouchMode="true"
-    android:descendantFocusability="afterDescendants">
+    android:descendantFocusability="afterDescendants" >
+
     <LinearLayout
-        android:id="@android:id/content"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingLeft="15dip"
-        android:paddingRight="15dip"
-        android:paddingStart="15dip"
-        android:paddingEnd="15dip"
-        android:paddingTop="8dip"
+        android:layout_height="match_parent"
         android:orientation="vertical">
-        <view
-            class="com.android.contacts.common.widget.ProportionalLayout"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            ex:ratio="0.5"
-            ex:direction="widthToHeight">
-            <include layout="@layout/quickcontact_photo_container" />
-        </view>
-        <include layout="@layout/quickcontact_track" />
+
         <View
-            android:id="@+id/line_after_track"
             android:layout_width="match_parent"
-            android:layout_height="2dip"
-            android:background="@color/quickcontact_tab_indicator" />
-        <android.support.v4.view.ViewPager
-            android:id="@+id/item_list_pager"
+            android:layout_height="@dimen/quickcontact_starting_empty_height"
+            android:contentDescription="@string/quickcontact_transparent_view_description"
+            android:id="@+id/transparent_view" />
+
+        <FrameLayout
             android:layout_width="match_parent"
-            android:layout_height="156dip"
-            android:background="@color/quickcontact_activity_background"/>
+            android:layout_height="match_parent"
+            android:id="@+id/toolbar_parent">
+            <include layout="@layout/quickcontact_header" />
+        </FrameLayout>
+
+        <include layout="@layout/quickcontact_content" />
+
     </LinearLayout>
-</view>
+
+    <!-- This title's maximum height must be less than the minimum size of its
+         parent ViewGroup because of an oddity in the way View#setScaleY() works. As a result,
+         this title can not be inside @style/quickcontact_header. -->
+    <include layout="@layout/quickcontact_title" />
+
+</com.android.contacts.widget.MultiShrinkScroller>
\ No newline at end of file
diff --git a/res/layout/quickcontact_content.xml b/res/layout/quickcontact_content.xml
new file mode 100644
index 0000000..5ead702
--- /dev/null
+++ b/res/layout/quickcontact_content.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<com.android.contacts.widget.TouchlessScrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:cardview="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:fillViewport="true"
+    android:id="@+id/content_scroller"
+    android:background="@color/card_margin_color">
+
+    <!-- All the cards should be inserted into this LinearLayout -->
+    <view class="com.android.contacts.common.widget.ActivityTouchLinearLayout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:paddingTop="@dimen/first_card_marginTop"
+        android:id="@+id/card_container" >
+
+        <com.android.contacts.quickcontact.ExpandingEntryCardView
+            style="@style/ExpandingEntryCardStyle"
+            android:id="@+id/no_contact_data_card"
+            android:visibility="gone"
+            cardview:cardCornerRadius="@dimen/expanding_entry_card_card_corner_radius" />
+
+        <com.android.contacts.quickcontact.ExpandingEntryCardView
+            style="@style/ExpandingEntryCardStyle"
+            android:id="@+id/communication_card"
+            android:visibility="gone"
+            cardview:cardCornerRadius="@dimen/expanding_entry_card_card_corner_radius" />
+
+        <com.android.contacts.quickcontact.ExpandingEntryCardView
+            style="@style/ExpandingEntryCardStyle"
+            android:id="@+id/recent_card"
+            android:visibility="gone"
+            cardview:cardCornerRadius="@dimen/expanding_entry_card_card_corner_radius" />
+
+        <com.android.contacts.quickcontact.ExpandingEntryCardView
+            style="@style/ExpandingEntryCardStyle"
+            android:id="@+id/about_card"
+            android:visibility="gone"
+            cardview:cardCornerRadius="@dimen/expanding_entry_card_card_corner_radius" />
+
+    </view>
+
+</com.android.contacts.widget.TouchlessScrollView>
\ No newline at end of file
diff --git a/res/layout/quickcontact_expanding_entry_card_button.xml b/res/layout/quickcontact_expanding_entry_card_button.xml
new file mode 100644
index 0000000..1f0c724
--- /dev/null
+++ b/res/layout/quickcontact_expanding_entry_card_button.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    style="@style/SelectableItem"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical" >
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/expanding_entry_card_item_separator_height"
+        android:background="@color/expanding_entry_card_item_separator_color" />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal" >
+
+        <ImageView
+            android:id="@+id/arrow"
+            android:src="@drawable/expanding_entry_card_expand_white_24"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/expanding_entry_card_item_padding_start"
+            android:paddingBottom="@dimen/expanding_entry_card_button_padding_vertical"
+            android:paddingTop="@dimen/expanding_entry_card_button_padding_vertical"
+            android:layout_weight="0" />
+
+        <TextView
+            android:id="@+id/text"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingStart="@dimen/expanding_entry_card_item_image_spacing"
+            android:gravity="center_vertical"
+            android:layout_weight="0"
+            android:paddingBottom="@dimen/expanding_entry_card_button_padding_vertical"
+            android:paddingTop="@dimen/expanding_entry_card_button_padding_vertical"
+            android:textColor="@color/expanding_entry_card_button_text_color"
+            android:textSize="@dimen/expanding_entry_card_title_text_size" />
+
+        <LinearLayout
+            android:id="@+id/badge_container"
+            android:gravity="end"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginRight="11dp"
+            android:layout_marginTop="@dimen/expanding_entry_card_button_padding_vertical"
+            android:layout_weight="1"
+            android:alpha=".3"
+            android:orientation="horizontal" />
+    </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/quickcontact_header.xml b/res/layout/quickcontact_header.xml
new file mode 100644
index 0000000..bb89dda
--- /dev/null
+++ b/res/layout/quickcontact_header.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <com.android.contacts.widget.QuickContactImageView
+        android:id="@+id/photo"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:clickable="false"
+        android:scaleType="centerCrop" />
+
+    <View
+        android:id="@+id/photo_touch_intercept_overlay"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@drawable/item_background_material_dark"
+        android:contentDescription="@string/description_contact_photo" />
+
+    <!-- Overlays/gradients that can be used to make white text/buttons visible -->
+    <View
+        android:id="@+id/title_gradient"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        android:layout_gravity="bottom" />
+    <View
+        android:id="@+id/action_bar_gradient"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        android:layout_gravity="top" />
+
+    <!-- Need to set a non null background on Toolbar in order for MenuItem ripples to be drawn on
+         this view, instead of another. This will *not* cause an additional draw since the
+         background is transparent.-->
+    <Toolbar
+        android:layout_width="match_parent"
+        android:layout_height="?android:attr/actionBarSize"
+        android:background="#00000000"
+        android:id="@+id/toolbar"/>
+
+</merge>
diff --git a/res/layout/quickcontact_list_fragment.xml b/res/layout/quickcontact_list_fragment.xml
deleted file mode 100755
index 712f116..0000000
--- a/res/layout/quickcontact_list_fragment.xml
+++ /dev/null
@@ -1,34 +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.
--->
-
-<RelativeLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content">
-    <ListView
-        android:id="@+id/list"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:divider="@drawable/quickcontact_list_item_divider"
-        android:dividerHeight="1dip"
-        android:background="@color/quickcontact_list_background"
-        android:cacheColorHint="@null"
-        android:layout_alignParentTop="true"
-    />
-    <View
-        android:layout_alignBottom="@+id/list"
-        style="@style/QuickContactListBottomStyle"/>
-</RelativeLayout>
diff --git a/res/layout/quickcontact_list_item.xml b/res/layout/quickcontact_list_item.xml
deleted file mode 100755
index 615895f..0000000
--- a/res/layout/quickcontact_list_item.xml
+++ /dev/null
@@ -1,54 +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.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/actions_view_container"
-    android:nextFocusRight="@+id/secondary_action_button"
-    style="@style/QuickContactListItemStyle">
-    <LinearLayout style="@style/QuickContactListItemTextWrapperStyle">
-        <TextView
-            android:id="@android:id/text1"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textColor="@color/primary_text_color"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:singleLine="true"
-            android:ellipsize="end" />
-        <LinearLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal">
-            <ImageView
-                android:id="@+id/presence_icon"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="1dip"
-                android:layout_marginRight="4dip"
-                android:layout_marginEnd="4dip"
-                android:layout_gravity="center_vertical"
-                android:gravity="center"
-                android:scaleType="centerInside" />
-            <TextView
-                android:id="@android:id/text2"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textColor="@color/secondary_text_color"
-                android:textAllCaps="true"
-                android:textAppearance="?android:attr/textAppearanceSmall" />
-        </LinearLayout>
-    </LinearLayout>
-    <include layout="@layout/quickcontact_list_item_base"/>
-</LinearLayout>
diff --git a/res/layout/quickcontact_list_item_address.xml b/res/layout/quickcontact_list_item_address.xml
deleted file mode 100755
index c55c339..0000000
--- a/res/layout/quickcontact_list_item_address.xml
+++ /dev/null
@@ -1,55 +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.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/actions_view_container"
-    android:nextFocusRight="@+id/secondary_action_button"
-    style="@style/QuickContactListItemStyle">
-    <LinearLayout style="@style/QuickContactListItemTextWrapperStyle"
-        android:layout_marginTop="12dip"
-        android:layout_marginBottom="12dip">
-        <TextView
-            android:id="@android:id/text1"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textColor="@color/primary_text_color"
-            android:textAppearance="?android:attr/textAppearanceMedium" />
-        <LinearLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal">
-            <ImageView
-                android:id="@+id/presence_icon"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="1dip"
-                android:layout_marginRight="4dip"
-                android:layout_marginEnd="4dip"
-                android:layout_gravity="center_vertical"
-                android:gravity="center"
-                android:scaleType="centerInside" />
-            <TextView
-                android:id="@android:id/text2"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textColor="@color/secondary_text_color"
-                android:textAllCaps="true"
-                android:textAppearance="?android:attr/textAppearanceSmall" />
-        </LinearLayout>
-    </LinearLayout>
-    <include layout="@layout/quickcontact_list_item_base"/>
-</LinearLayout>
diff --git a/res/layout/quickcontact_list_item_base.xml b/res/layout/quickcontact_list_item_base.xml
deleted file mode 100644
index 80a3422..0000000
--- a/res/layout/quickcontact_list_item_base.xml
+++ /dev/null
@@ -1,42 +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.
--->
-
-<merge xmlns:android="http://schemas.android.com/apk/res/android">
-    <View
-        android:id="@+id/vertical_divider"
-        android:layout_width="1dip"
-        android:layout_height="match_parent"
-        android:layout_gravity="center_vertical"
-        android:layout_marginTop="@dimen/detail_vertical_divider_vertical_margin"
-        android:layout_marginBottom="@dimen/detail_vertical_divider_vertical_margin"
-        android:background="?android:attr/dividerVertical" />
-    <ImageView
-        android:id="@+id/secondary_action_button"
-        android:layout_width="wrap_content"
-        android:layout_height="match_parent"
-        android:paddingLeft="8dip"
-        android:paddingRight="14dip"
-        android:paddingStart="8dip"
-        android:paddingEnd="14dip"
-        android:background="?android:attr/selectableItemBackground"
-        android:duplicateParentState="false"
-        android:nextFocusLeft="@id/actions_view_container"/>
-    <View
-        android:layout_width="1dip"
-        android:layout_height="match_parent"
-        android:layout_gravity="center_vertical"
-        android:background="?android:attr/dividerVertical" />
-</merge>
diff --git a/res/layout/quickcontact_photo_container.xml b/res/layout/quickcontact_photo_container.xml
deleted file mode 100644
index 723665f..0000000
--- a/res/layout/quickcontact_photo_container.xml
+++ /dev/null
@@ -1,88 +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.
--->
-<merge
-    xmlns:android="http://schemas.android.com/apk/res/android">
-    <RelativeLayout
-        android:id="@+id/photo_container"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:gravity="center_vertical">
-        <ImageView
-            android:id="@+id/photo"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:scaleType="centerCrop"
-            android:clickable="true"
-            android:contentDescription="@string/description_contact_photo" />
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1dip"
-            android:layout_alignParentTop="true"
-            android:background="#4CFFFFFF" />
-        <View
-            android:id="@+id/photo_text_bar"
-            android:layout_width="0dip"
-            android:layout_height="42dip"
-            android:layout_alignBottom="@id/photo"
-            android:layout_alignLeft="@id/photo"
-            android:layout_alignRight="@id/photo"
-            android:layout_alignStart="@id/photo"
-            android:layout_alignEnd="@id/photo"
-            android:background="@color/quickcontact_name_detail_background" />
-        <ImageView
-            android:id="@+id/contact_details_image"
-            android:src="@drawable/ic_contacts_holo_dark"
-            android:layout_height="wrap_content"
-            android:layout_width="wrap_content"
-            android:layout_marginRight="16dip"
-            android:layout_marginEnd="16dip"
-            android:layout_marginBottom="5dip"
-            android:layout_alignBottom="@id/photo_text_bar"
-            android:layout_alignRight="@id/photo_text_bar"
-            android:layout_alignEnd="@id/photo_text_bar"
-            android:clickable="true"
-            android:contentDescription="@string/viewContactDesription" />
-        <ImageView
-            android:id="@+id/quickcontact_star_button"
-            android:src="@drawable/ic_favorite_off_lt"
-            android:layout_height="wrap_content"
-            android:layout_width="wrap_content"
-            android:layout_marginBottom="5dip"
-            android:layout_marginRight="16dip"
-            android:layout_marginEnd="16dip"
-            android:layout_alignBottom="@id/photo_text_bar"
-            android:layout_toLeftOf="@id/contact_details_image"
-            android:layout_toStartOf="@id/contact_details_image"
-            android:clickable="true"
-            android:contentDescription="@string/menu_addStar" />
-        <TextView
-            android:id="@+id/name"
-            android:layout_width="match_parent"
-            android:layout_height="42dip"
-            android:layout_alignBottom="@id/photo"
-            android:layout_alignLeft="@id/photo"
-            android:layout_alignStart="@id/photo"
-            android:layout_toLeftOf="@id/quickcontact_star_button"
-            android:layout_toStartOf="@id/quickcontact_star_button"
-            android:gravity="center_vertical"
-            android:paddingLeft="8dip"
-            android:paddingStart="8dip"
-            android:singleLine="true"
-            android:ellipsize="end"
-            android:textColor="@android:color/white"
-            android:textAppearance="?android:attr/textAppearanceMedium" />
-    </RelativeLayout>
-</merge>
diff --git a/res/layout/quickcontact_title.xml b/res/layout/quickcontact_title.xml
new file mode 100644
index 0000000..9b23a86
--- /dev/null
+++ b/res/layout/quickcontact_title.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<TextView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginStart="@dimen/quickcontact_title_initial_margin"
+    android:layout_marginEnd="@dimen/quickcontact_title_initial_margin"
+    android:layout_marginBottom="@dimen/quickcontact_title_initial_margin"
+    android:layout_gravity="top|start"
+    android:textColor="@color/actionbar_text_color"
+    android:maxLines="@integer/quickcontact_title_lines"
+    android:textSize="@dimen/quickcontact_maximum_title_size"
+    android:ellipsize="end"
+    android:id="@+id/large_title"/>
\ No newline at end of file
diff --git a/res/layout/quickcontact_title_placeholder.xml b/res/layout/quickcontact_title_placeholder.xml
new file mode 100644
index 0000000..31d83ff
--- /dev/null
+++ b/res/layout/quickcontact_title_placeholder.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2014 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="match_parent" >
+
+    <!-- Marks the location and size of the Activity title -->
+    <TextView
+        android:id="@+id/placeholder_textview"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        style="@android:style/TextAppearance.Material.Widget.ActionBar.Title" />
+
+</FrameLayout>
+
+
diff --git a/res/layout/quickcontact_track.xml b/res/layout/quickcontact_track.xml
deleted file mode 100644
index 83a771c..0000000
--- a/res/layout/quickcontact_track.xml
+++ /dev/null
@@ -1,43 +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.
--->
-<merge
-    xmlns:android="http://schemas.android.com/apk/res/android">
-    <HorizontalScrollView
-        android:id="@+id/track_scroller"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:fadingEdgeLength="0dip"
-        android:background="@color/quickcontact_track_background"
-        android:scrollbars="none">
-        <RelativeLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content">
-            <LinearLayout
-                android:id="@+id/track"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal" />
-            <View
-                android:id="@+id/selected_tab_rectangle"
-                android:layout_width="60dip"
-                android:layout_height="6dip"
-                android:layout_alignBottom="@id/track"
-                android:layout_alignParentLeft="true"
-                android:layout_alignParentStart="true"
-                android:background="@color/quickcontact_tab_indicator" />
-        </RelativeLayout>
-    </HorizontalScrollView>
-</merge>
diff --git a/res/layout/quickcontact_track_button.xml b/res/layout/quickcontact_track_button.xml
deleted file mode 100644
index f9dcd1d..0000000
--- a/res/layout/quickcontact_track_button.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<com.android.contacts.quickcontact.CheckableImageView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="60dip"
-    android:layout_height="60dip"
-    android:paddingLeft="12dip"
-    android:paddingRight="12dip"
-    android:paddingStart="12dip"
-    android:paddingEnd="12dip"
-    android:paddingTop="8dip"
-    android:paddingBottom="8dip"
-    android:scaleType="centerInside"
-    android:focusable="true"
-    android:clickable="true"
-    android:background="?android:attr/selectableItemBackground" />
diff --git a/res/layout/social_widget.xml b/res/layout/social_widget.xml
deleted file mode 100644
index 1267bd9..0000000
--- a/res/layout/social_widget.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="#00000000">
-    <LinearLayout
-        android:id="@+id/widget_container"
-        android:orientation="horizontal"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-        <FrameLayout
-            android:layout_width="70dp"
-            android:layout_height="70dp"
-            android:layout_gravity="center_vertical">
-            <ImageView
-                android:id="@+id/image"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent" />
-            <ImageButton
-                android:id="@+id/border"
-                android:background="@drawable/frame_thumbnail_contact_widget_holo"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent" />
-        </FrameLayout>
-        <RelativeLayout
-            android:id="@+id/name_and_snippet_container"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:paddingLeft="43dp"
-            android:paddingRight="4dp"
-            android:paddingStart="43dp"
-            android:paddingEnd="4dp"
-            android:paddingTop="4dp"
-            android:paddingBottom="4dp"
-            android:background="@drawable/bg_status_contact_widget">
-            <TextView
-                android:id="@+id/name_and_snippet"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_alignParentLeft="true"
-                android:layout_alignParentStart="true"
-                android:layout_alignParentTop="true"
-                android:maxLines="3"
-                android:lineSpacingExtra="2sp"
-                android:textColor="#FFFFFFFF"
-                android:textSize="@dimen/widget_text_size_snippet" />
-            <TextView
-                android:id="@+id/name"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:gravity="center"
-                android:textColor="#FFFFFFFF"
-                android:textSize="@dimen/widget_text_size_name" />
-        </RelativeLayout>
-    </LinearLayout>
-</FrameLayout>
diff --git a/res/layout/stream_item_container.xml b/res/layout/stream_item_container.xml
deleted file mode 100644
index 33840b6..0000000
--- a/res/layout/stream_item_container.xml
+++ /dev/null
@@ -1,93 +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.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:paddingLeft="@dimen/detail_update_section_side_padding"
-    android:paddingRight="@dimen/detail_update_section_side_padding"
-    android:paddingStart="@dimen/detail_update_section_side_padding"
-    android:paddingEnd="@dimen/detail_update_section_side_padding">
-
-    <!-- Clickable area -->
-    <LinearLayout
-        android:id="@+id/stream_item_content"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingLeft="@dimen/detail_update_section_item_horizontal_padding"
-        android:paddingRight="@dimen/detail_update_section_item_horizontal_padding"
-        android:paddingStart="@dimen/detail_update_section_item_horizontal_padding"
-        android:paddingEnd="@dimen/detail_update_section_item_horizontal_padding"
-        android:paddingTop="@dimen/detail_update_section_item_vertical_padding"
-        android:paddingBottom="@dimen/detail_update_section_item_vertical_padding"
-        android:background="?android:attr/selectableItemBackground"
-        android:orientation="vertical"
-        >
-
-        <!-- Images -->
-        <LinearLayout
-            android:id="@+id/stream_item_image_rows"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:paddingBottom="@dimen/detail_update_section_between_items_vertical_padding"
-            android:layout_gravity="center_vertical"
-            android:orientation="vertical"
-            >
-        </LinearLayout>
-
-        <!-- Text -->
-        <TextView android:id="@+id/stream_item_html"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:textSize="16sp"
-            android:textColor="?android:attr/textColorPrimary"
-            android:textAlignment="viewStart" />
-        <!--
-        Attribution (e.g. timestamp) and comments (e.g. +1, like) should align horizontally.
-        Can't merge this with the parent list view.
-        -->
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            >
-            <TextView android:id="@+id/stream_item_attribution"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textAppearance="?android:attr/textAppearanceSmall"
-                android:textColor="?android:attr/textColorSecondary"
-                android:ellipsize="end"
-                android:maxLines="1" />
-            <TextView android:id="@+id/stream_item_comments"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/detail_update_section_attribution_comments_padding"
-                android:layout_marginStart="@dimen/detail_update_section_attribution_comments_padding"
-                android:textAppearance="?android:attr/textAppearanceSmall"
-                android:textColor="?android:attr/textColorSecondary"
-                android:maxLines="1"/>
-        </LinearLayout>
-    </LinearLayout>
-
-    <View
-        android:id="@+id/horizontal_divider"
-        android:layout_width="match_parent"
-        android:layout_height="1px"
-        android:background="?android:attr/dividerHorizontal"
-        android:layout_gravity="bottom" />
-
-</LinearLayout>
diff --git a/res/layout/stream_item_photo.xml b/res/layout/stream_item_photo.xml
deleted file mode 100644
index 9e27d2a..0000000
--- a/res/layout/stream_item_photo.xml
+++ /dev/null
@@ -1,27 +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.
--->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android">
-    <com.android.contacts.common.widget.LayoutSuppressingImageView
-        android:id="@+id/image"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"/>
-    <View
-        android:id="@+id/push_layer"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="?android:attr/selectableItemBackground"/>
-</FrameLayout>
diff --git a/res/layout/stream_item_row_images.xml b/res/layout/stream_item_row_images.xml
deleted file mode 100644
index a3f1325..0000000
--- a/res/layout/stream_item_row_images.xml
+++ /dev/null
@@ -1,57 +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.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_marginTop="@dimen/detail_update_section_between_items_padding">
-
-    <view
-        class="com.android.contacts.common.widget.ProportionalLayout"
-        android:layout_width="0dip"
-        android:layout_height="wrap_content"
-        android:layout_marginRight="@dimen/detail_update_section_between_items_padding"
-        android:layout_marginEnd="@dimen/detail_update_section_between_items_padding"
-        android:layout_weight="1"
-        ex:ratio="1"
-        ex:direction="widthToHeight">
-        <include
-            android:id="@+id/stream_item_first_image"
-            layout="@layout/stream_item_photo"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
-    </view>
-
-    <view
-        android:id="@+id/second_image_container"
-        class="com.android.contacts.common.widget.ProportionalLayout"
-        android:layout_width="0dip"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/detail_update_section_between_items_padding"
-        android:layout_marginStart="@dimen/detail_update_section_between_items_padding"
-        android:layout_weight="1"
-        ex:ratio="1"
-        ex:direction="widthToHeight">
-        <include
-            android:id="@+id/stream_item_second_image"
-            layout="@layout/stream_item_photo"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
-    </view>
-
-</LinearLayout>
diff --git a/res/layout/updates_header_contact.xml b/res/layout/updates_header_contact.xml
deleted file mode 100644
index 66cdac4..0000000
--- a/res/layout/updates_header_contact.xml
+++ /dev/null
@@ -1,68 +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.
--->
-
-<!--
-  This is a header entry in the contact updates list.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical">
-
-    <!-- This blank view pushes the other content down because of the tab carousel -->
-    <view
-        class="com.android.contacts.common.widget.ProportionalLayout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="@dimen/detail_contact_photo_shadow_height"
-        ex:ratio="0.5"
-        ex:direction="widthToHeight">
-
-        <!-- Put a dummy view here because the ProportionalLayout requires one -->
-        <FrameLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
-
-    </view>
-
-    <!-- "Recent" header text -->
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="32dip"
-        android:paddingLeft="16dip"
-        android:paddingRight="16dip"
-        android:paddingStart="16dip"
-        android:paddingEnd="16dip"
-        android:focusable="false">
-
-        <TextView
-            style="?android:attr/listSeparatorTextViewStyle"
-            android:paddingLeft="8dip"
-            android:paddingRight="8dip"
-            android:paddingStart="8dip"
-            android:paddingEnd="8dip"
-            android:background="@drawable/list_section_divider_holo_custom"
-            android:text="@string/recent"
-            android:textColor="@color/people_app_theme_color"
-            android:textAllCaps="true"
-            android:singleLine="true"
-            android:ellipsize="end" />
-
-    </FrameLayout>
-
-</LinearLayout>
diff --git a/res/layout/user_profile_button.xml b/res/layout/user_profile_button.xml
deleted file mode 100644
index 6a7c3b4..0000000
--- a/res/layout/user_profile_button.xml
+++ /dev/null
@@ -1,33 +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.
--->
-
-<Button
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:minHeight="@dimen/contact_browser_list_item_photo_size"
-    android:layout_marginLeft="?attr/list_item_padding_left"
-    android:layout_marginRight="?attr/list_item_padding_right"
-    android:layout_marginStart="?attr/list_item_padding_left"
-    android:layout_marginEnd="?attr/list_item_padding_right"
-    android:paddingLeft="?attr/list_item_header_text_indent"
-    android:paddingStart="?attr/list_item_header_text_indent"
-    android:background="?android:attr/selectableItemBackground"
-    android:singleLine="true"
-    android:text="@string/profile_display_name"
-    android:ellipsize="end"
-    android:gravity="start|center_vertical"
-    android:textAppearance="?android:attr/textAppearanceMedium" />
diff --git a/res/layout/user_profile_header.xml b/res/layout/user_profile_header.xml
index 1d08298..5a07313 100644
--- a/res/layout/user_profile_header.xml
+++ b/res/layout/user_profile_header.xml
@@ -25,31 +25,32 @@
     android:paddingStart="?attr/list_item_padding_left"
     android:paddingEnd="?attr/list_item_padding_right"
     android:paddingTop="4dp"
-    android:paddingBottom="8dp"
-    android:background="@drawable/list_section_divider_holo_custom"
-    android:gravity="center_vertical"
-    >
+    android:paddingBottom="8dp" >
 
-    <TextView
-        android:id="@+id/profile_title"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+    <TextView android:id="@+id/profile_title"
+        android:layout_width="@dimen/contact_list_section_header_width"
+        android:layout_height="?android:attr/listPreferredItemHeight"
         android:singleLine="true"
         android:text="@string/user_profile_contacts_list_header"
         android:ellipsize="end"
-        android:layout_weight="1"
-        android:textAppearance="@style/DirectoryHeaderStyle"
-        android:paddingLeft="?attr/list_item_text_indent"
-        android:paddingStart="?attr/list_item_text_indent" />
+        android:textAppearance="@style/SectionHeaderStyle"
+        android:gravity="start|center_vertical" />
 
-    <TextView
-        android:id="@+id/contacts_count"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+    <Button android:id="@+id/user_profile_button"
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="?android:attr/listPreferredItemHeight"
+        android:layout_marginLeft="?attr/list_item_padding_left"
+        android:layout_marginRight="?attr/list_item_padding_right"
+        android:layout_marginStart="?attr/list_item_padding_left"
+        android:layout_marginEnd="?attr/list_item_padding_right"
+        android:paddingLeft="?attr/list_item_gap_between_image_and_text"
+        android:paddingStart="?attr/list_item_gap_between_image_and_text"
+        android:background="?android:attr/selectableItemBackground"
         android:singleLine="true"
+        android:text="@string/profile_display_name"
         android:ellipsize="end"
-        android:textAppearance="?android:attr/textAppearanceSmall"
-        android:textSize="12sp"
-        android:textColor="@color/people_app_theme_color" />
+        android:gravity="start|center_vertical"
+        android:textAppearance="?android:attr/textAppearanceMedium" />
 
 </LinearLayout>
diff --git a/res/menu-sw600dp/people_options.xml b/res/menu-sw600dp/people_options.xml
deleted file mode 100644
index 891c1b4..0000000
--- a/res/menu-sw600dp/people_options.xml
+++ /dev/null
@@ -1,75 +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_search"
-        android:icon="@drawable/ic_search_dk"
-        android:title="@string/menu_search"
-        android:showAsAction="ifRoom" />
-
-    <item
-        android:id="@+id/menu_add_contact"
-        android:icon="@drawable/ic_add_person_dk"
-        android:title="@string/menu_new_contact_action_bar"
-        android:showAsAction="ifRoom" />
-
-    <item
-        android:id="@+id/menu_add_group"
-        android:icon="@drawable/ic_add_person_dk"
-        android:title="@string/menu_new_group_action_bar"
-        android:showAsAction="ifRoom" />
-
-    <!-- Added orderInCategory to keep the following buttons at the end of the menu
-         Buttons will be added in the order added/inflated. Ordered buttons will be added
-         at the end according to the orderInCategory. This setup insures that the buttons below
-         will be the last buttons in the menu regardless of how many buttons are added
-    -->
-    <item
-        android:id="@+id/menu_contacts_filter"
-        android:orderInCategory="1"
-        android:title="@string/menu_contacts_filter" />
-
-    <item
-        android:id="@+id/menu_import_export"
-        android:orderInCategory="2"
-        android:title="@string/menu_import_export" />
-
-    <item
-        android:id="@+id/menu_clear_frequents"
-        android:orderInCategory="3"
-        android:title="@string/menu_clear_frequents" />
-
-    <item
-        android:id="@+id/menu_accounts"
-        android:orderInCategory="4"
-        android:title="@string/menu_accounts" />
-
-    <item
-        android:id="@+id/menu_settings"
-        android:orderInCategory="5"
-        android:title="@string/menu_settings" />
-
-    <item
-        android:id="@+id/menu_help"
-        android:orderInCategory="6"
-        android:title="@string/menu_help" />
-
-    <item
-        android:id="@+id/export_database"
-        android:title="@string/menu_export_database"
-        android:visible="false"
-        android:showAsAction="never" />
-</menu>
diff --git a/res/menu-sw600dp/view_group.xml b/res/menu-sw600dp/view_group.xml
deleted file mode 100644
index b61588c..0000000
--- a/res/menu-sw600dp/view_group.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_edit_group"
-        android:icon="@drawable/ic_menu_compose_holo_light"
-        android:title="@string/menu_editGroup"
-        android:alphabeticShortcut="e"
-        android:showAsAction="always" />
-
-    <item
-        android:id="@+id/menu_delete_group"
-        android:title="@string/menu_deleteGroup" />
-</menu>
diff --git a/res/menu/edit_contact.xml b/res/menu/edit_contact.xml
index 51d9ab0..fe6d2b9 100644
--- a/res/menu/edit_contact.xml
+++ b/res/menu/edit_contact.xml
@@ -34,6 +34,19 @@
         android:title="@string/menu_discard" />
 
     <item
+        android:id="@+id/menu_delete"
+        android:title="@string/menu_deleteContact" />
+
+    <item
+        android:id="@+id/menu_set_ringtone"
+        android:title="@string/menu_set_ring_tone" />
+
+    <item
+        android:id="@+id/menu_send_to_voicemail"
+        android:checkable="true"
+        android:title="@string/menu_redirect_calls_to_vm" />
+
+    <item
         android:id="@+id/menu_help"
         android:title="@string/menu_help" />
 </menu>
diff --git a/res/menu/people_options.xml b/res/menu/people_options.xml
index 2c7eedb..a7802f0 100644
--- a/res/menu/people_options.xml
+++ b/res/menu/people_options.xml
@@ -16,23 +16,11 @@
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
     <item
         android:id="@+id/menu_search"
-        android:icon="@drawable/ic_search_dk"
+        android:icon="@drawable/ic_ab_search"
         android:title="@string/menu_search"
         android:showAsAction="ifRoom" />
 
     <item
-        android:id="@+id/menu_add_contact"
-        android:icon="@drawable/ic_add_person_dk"
-        android:title="@string/menu_new_contact_action_bar"
-        android:showAsAction="ifRoom" />
-
-    <item
-        android:id="@+id/menu_add_group"
-        android:icon="@drawable/ic_add_group_dk"
-        android:title="@string/menu_new_group_action_bar"
-        android:showAsAction="ifRoom" />
-
-    <item
         android:id="@+id/menu_contacts_filter"
         android:title="@string/menu_contacts_filter" />
 
diff --git a/res/menu-sw600dp/view_contact.xml b/res/menu/quickcontact.xml
similarity index 74%
rename from res/menu-sw600dp/view_contact.xml
rename to res/menu/quickcontact.xml
index 5437dec..13caa59 100644
--- a/res/menu-sw600dp/view_contact.xml
+++ b/res/menu/quickcontact.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -15,12 +15,15 @@
 -->
 
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- Icon and titles are set in code for menu_star and menu_edit -->
+
+    <item
+        android:id="@+id/menu_star"
+        android:showAsAction="always" />
+
     <item
         android:id="@+id/menu_edit"
-        android:icon="@drawable/ic_menu_compose_holo_light"
-        android:title="@string/menu_editContact"
-        android:alphabeticShortcut="e"
-        android:showAsAction="always"/>
+        android:showAsAction="always" />
 
     <item
         android:id="@+id/menu_share"
@@ -28,11 +31,6 @@
         android:alphabeticShortcut="s" />
 
     <item
-        android:id="@+id/menu_delete"
-        android:title="@string/menu_deleteContact" />
-
-    <item
         android:id="@+id/menu_create_contact_shortcut"
         android:title="@string/menu_create_contact_shortcut" />
-
 </menu>
diff --git a/res/menu/contact_picker_options.xml b/res/menu/search_menu.xml
similarity index 73%
rename from res/menu/contact_picker_options.xml
rename to res/menu/search_menu.xml
index 89196ba..355442e 100644
--- a/res/menu/contact_picker_options.xml
+++ b/res/menu/search_menu.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,10 +13,10 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<!-- Used with DialtactsActivity's search mode. -->
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
     <item
-        android:id="@+id/create_new_contact"
-        android:title="@string/pickerNewContactText"
-        android:showAsAction="ifRoom" />
+        android:id="@+id/menu_search"
+        android:icon="@drawable/ic_ab_search"
+        android:title="@string/menu_search"
+        android:showAsAction="always" />
 </menu>
diff --git a/res/mipmap-hdpi/ic_launcher_shortcut_directmessage.png b/res/mipmap-hdpi/ic_launcher_shortcut_directmessage.png
index c8eb467..3256f8d 100644
--- a/res/mipmap-hdpi/ic_launcher_shortcut_directmessage.png
+++ b/res/mipmap-hdpi/ic_launcher_shortcut_directmessage.png
Binary files differ
diff --git a/res/mipmap-mdpi/ic_launcher_shortcut_directmessage.png b/res/mipmap-mdpi/ic_launcher_shortcut_directmessage.png
index 698971b..88ba718 100644
--- a/res/mipmap-mdpi/ic_launcher_shortcut_directmessage.png
+++ b/res/mipmap-mdpi/ic_launcher_shortcut_directmessage.png
Binary files differ
diff --git a/res/mipmap-xhdpi/ic_launcher_shortcut_directmessage.png b/res/mipmap-xhdpi/ic_launcher_shortcut_directmessage.png
index 3222dc8..4664ea6 100644
--- a/res/mipmap-xhdpi/ic_launcher_shortcut_directmessage.png
+++ b/res/mipmap-xhdpi/ic_launcher_shortcut_directmessage.png
Binary files differ
diff --git a/res/mipmap-xxhdpi/ic_launcher_shortcut_directmessage.png b/res/mipmap-xxhdpi/ic_launcher_shortcut_directmessage.png
index 524d2b9..579a100 100644
--- a/res/mipmap-xxhdpi/ic_launcher_shortcut_directmessage.png
+++ b/res/mipmap-xxhdpi/ic_launcher_shortcut_directmessage.png
Binary files differ
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 88a9b89..d6decd4 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Mense"</string>
+    <string name="people" msgid="1190841469952343354">"Kontakte"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kontakte"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kontak"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Direk skakel"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Kies \'n nommer om te bel"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Kies \'n nommer om te stuur"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Kies \'n kontak"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Kies nuwe kontak"</string>
     <string name="starredList" msgid="4817256136413959463">"Gester"</string>
     <string name="frequentList" msgid="7154768136473953056">"Gereeld"</string>
     <string name="strequentList" msgid="5640192862059373511">"Gunstelinge"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Kontakbesonderhede"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Bekyk kontak"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Redigeer kontak"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Skep kontak"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Redigeer groep"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Bekyk kontak"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Voeg by gunstelinge"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Verwyder van gunstelinge"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Verwyder uit gunstelinge"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"By gunstelinge gevoeg"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Redigeer"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Vee uit"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Plaas op tuisskerm"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Hierdie kontak bevat inligting uit meerdere rekeninge. Inligting uit leesalleen-rekeninge sal in jou kontaklyste versteek word, nie verwyder word nie."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"As jy hierdie kontak uitvee, sal dit inligting uit meerdere rekeninge uitvee."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Hierdie kontak sal uitgevee word."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Gooi weg"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Verwerp wysigings"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Die kontak bestaan ​​nie."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Kontak-legstuk by tuisskerm gevoeg."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Skep nuwe kontak"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontakte met foonnommers"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Geen kontakte met foonnommers nie"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 kontak"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> kontakte"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 gevind"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> gevind"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 gevind"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> gevind"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Alle kontakte"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Groepe"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Alle kontakte"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Gunstelinge"</string>
     <string name="callBack" msgid="5498224409038809224">"Bel terug"</string>
     <string name="callAgain" msgid="3197312117049874778">"Bel weer"</string>
     <string name="returnCall" msgid="8171961914203617813">"Bel terug"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> van <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakte"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Name van jou kontakte"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Geen program is gevind om hierdie aksie te hanteer nie."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Klik om na die vorige skerm terug te keer"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Voeg foonnommer by"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Voeg e-pos by"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Geen program is gevind om hierdie handeling te behartig nie."</string>
     <string name="menu_share" msgid="943789700636542260">"Deel"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Voeg by kontakte"</string>
     <string name="share_via" msgid="563121028023030093">"Deel kontak met"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Skep groep onder rekening"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Stemklets"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Gebruik hierdie foto"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Nie redigeerbaar vanuit hierdie program nie."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Geen bykomende inligting vir hierdie kontak nie."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Nie redigeerbaar op hierdie toestel nie"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Rangskik lys volgens"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Voornaam"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Van"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Bekyk kontakname"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Voornaam eerste"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Van eerste"</string>
     <string name="take_photo" msgid="7496128293167402354">"Neem foto"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Neem nuwe foto"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Kies foto ui die galery"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Kies nuwe foto uit galery"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Kies foto"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Kies nuwe foto"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Kontaklys word tans opgedateer om die taalverandering te weerspieël."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Kontaklys word opgedateer."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontakte word tans opgradeer. \n\nDie opgraderingsproses benodig interne geheue van omtrent <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MG. \n\nKies een van die volgende opsies:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Voeg organisasie by"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Datum"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Groepnaam"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"via <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> via <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"gunsteling"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Redigeer kontak"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopieer na My kontakte"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Voeg by My kontakte"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Gids <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Skep tans \'n persoonlike kopie..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Gepasmaak"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Instellings"</string>
     <string name="menu_settings" msgid="377929915873428211">"Instellings"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"My plaaslike profiel"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"My <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>profiel"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Vertoon alle kontakte"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"People werk beter met \'n Google-rekening.\n\n•Verkry toegang vanaf enige webblaaier.\n•Rugsteun jou kontakte veilig."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kontakte werk beter met \'n Google-rekening.\n\n• Verkry toegang vanaf enige webblaaier.\n• Rugsteun jou kontakte veilig."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Hou jou kontakte veilig, selfs al verloor jy jou selfoon: sinkroniseer met \'n aanlyn diens."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Voeg \'n rekening by"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Jou nuwe kontak sal nie gerugsteun word nie. Voeg \'n rekening by wat kontakte aanlyn rugsteun?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Jou nuwe kontak sal gesinchroniseer word met <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> ."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Jy kan jou nuwe kontak sinchroniseer met een van die volgende rekeninge. Wat wil jy gebruik?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Voeg nuwe kontak by"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Wysig kontak"</string>
     <string name="keep_local" msgid="1258761699192993322">"Hou plaaslik"</string>
     <string name="add_account" msgid="8201790677994503186">"Voeg rekening by"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Voeg nuwe rekening by"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Voer databasislêers uit"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Foto. Kies om te verander"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"voeg nuwe kontak by"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Sien meer"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Sien minder"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Sien alles"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Onlangs"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Meer oor"</string>
+    <string name="send_message" msgid="8938418965550543196">"Stuur boodskap"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Skep tans \'n persoonlike kopie …"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Gister"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Môre"</string>
+    <string name="today" msgid="8041090779381781781">"Vandag"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Vandag om <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Môre om <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Titellose geleentheid)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Stel"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Kitsboodskappe"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisasie"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Bynaam"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Nota"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Webwerf"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Geleentheid"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Verwantskap"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"rigtingaanwysings na ligging"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 3b450e9..29cf720 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"ሰዎች"</string>
+    <string name="people" msgid="1190841469952343354">"ዕውቂያዎች"</string>
     <string name="contactsList" msgid="8661624236494819731">"እውቅያዎች"</string>
     <string name="shortcutContact" msgid="749243779392912958">"እውቅያ"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"ቀጥታ ደውል"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"ለመደወል ቁጥር ምረጥ"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"መልዕክትለመላክ ቁጥር ምረጥ"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"ዕውቅያ ምረጥ"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"አዲስ እውቂያ ይምረጡ"</string>
     <string name="starredList" msgid="4817256136413959463">"ኮከብ የተደረገባቸው"</string>
     <string name="frequentList" msgid="7154768136473953056">"ተደጋጋሚ"</string>
     <string name="strequentList" msgid="5640192862059373511">"ተወዳጆች"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"የእውቅያ ዝርዝሮች"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"ዕውቂያ ዕይ"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"ዕውቅያ አርትዕ"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"ዕውቅያ ፍጠር"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"ቡድን አርትዕ"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"ዕውቂያ ዕይ"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"ወደ ተወዳጅ አክል"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"ከተወዳጆች አስወግድ"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"ከተወዳጆች ውስጥ ተወግዷል"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"ወደ ተወዳጆች ታክሏል"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"አርትዕ"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"ሰርዝ"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"መነሻ የማያ ገጽ ላይ አስቀምጥ"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"ይህ ዕውቂያ ከብዙ መለያዎች መረጃ ይዟል።ከንባብ-ብቻ መለያዎች ውስጥ ያሉ ዕውቂያዎች ይደበቃሉ፣አይሰረዙም።"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ይህን ዕውቂያ መሰረዝ ከብዙ መለያዎች ውስጥ መረጃ ይሰርዛል።"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"ይህ ማንቂያ ይሰረዛል።"</string>
-    <string name="menu_discard" msgid="6456087569315685632">"አስወግድ"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"ለውጦችን አስወግድ"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"ዕውቅያው የለም።"</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"የእውቂያ መግብር መነሻ ማያ ገጽ ላይ ታክሏል።"</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"አዲስ ዕውቂያ ፍጠር"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> ዕውቂያዎች ከስልክ ቁጥሮች ጋር"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"ከስልክ ቁጥር ጋር የሚታዩ ዕውቂያዎች የሉም"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 እውቅያ"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> እውቅያዎች"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 ተገኝቷል"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> ተገኝቷል"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 ተገኝቷል"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> ተገኝቷል"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"ሁሉም እውቂያዎች"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"ቡድኖች"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"ሁሉም ዕውቂያዎች"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"ተወዳጆች"</string>
     <string name="callBack" msgid="5498224409038809224">"የኋላ ጥሪ"</string>
     <string name="callAgain" msgid="3197312117049874778">"እንደገና ደውል"</string>
     <string name="returnCall" msgid="8171961914203617813">"ጥሪ መልስ"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> ከ <xliff:g id="TOTAL_NUMBER">%s</xliff:g> እውቂያዎች"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"የዕውቂያዎችዎ ስሞች"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"ይህን እርምጃ ለማስተናገድ ምንም መተግበሪያ አልተገኘም፡፡"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"ወደ ቀዳሚው ማያ ገጽ ለመመለስ ጠቅ ያድርጉ"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"የስልክ ቁጥር ያክሉ"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"ኢሜይል ያክሉ"</string>
+    <string name="missing_app" msgid="1466111003546611387">"ይህን እርምጃ የሚያከናውን ምንም መተግበሪያ አልተገኘም።"</string>
     <string name="menu_share" msgid="943789700636542260">"መጋሪያ"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"ወደ እውቂያዎች ያክሉ"</string>
     <string name="share_via" msgid="563121028023030093">"ዕውቂያበ በኩል አጋራ"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"በመለያ ስር ቡድን ፍጠር"</string>
     <string name="audio_chat" msgid="2535716629358298691">"የድምፅ ውይይት"</string>
@@ -133,21 +136,14 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"ይህን ፎቶ ተጠቀም"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"ከዚህ መተግበሪያ አርትዕ ሊደረግ አይችልም፡፡"</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"ለእዚህ ዕውቂያ ምንም ተጨማሪ መረጃ የለም"</string>
     <string name="group_read_only" msgid="1061762906115697637">"በዚህ መሣሪያ ላይ አርትዕ መደረግ የሚችል አይደለም።"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"ዝርዝር በ  ለይ"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"መጠሪያ ስም"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"የቤተሰብ ስም"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"የእውቂያ ስሞችን እይ"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"መጠሪያ ስም መጀመሪያ"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"የቤተሰብ መነሻስም"</string>
     <string name="take_photo" msgid="7496128293167402354">"ፎቶ አንሳ"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"አዲስ ፎቶ አንሳ"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"ፎቶ ከማዕከለ ስዕላት ምረጥ"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"ከማዕከለ ስእላት አዲስ ፎቶ ምረጥ"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"ፎቶ ምረጥ"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"አዲስ ፎቶ ይምረጡ"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"የቋንቋ ለውጥ ለማንፀባረቅ የዕውቂያ ዝርዝር ዘምኗል።"</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"የዕውቂያ ዝርዝር ዘምኗል"</string>
-    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"ዕውቂያዎች በአልቅ ሂደት ውስጥ ናቸው።\n\nየአልቁ ሂደት ወደ <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g>ሜባ አካባቢ የውስጥ ማከማቻ \n\nይጠይቃል።ከሚከተሉት አማራጮች አንዱን ምረጥ፡"</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"ዕውቂያዎች በአልቅ ሂደት ውስጥ ናቸው።\n\nየአልቁ ሂደት ወደ <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g>ሜባ አካባቢ የውስጥ ማከማቻ \n\nይጠይቃል።ከሚከተሉት አማራጮች አንዱን ይምረጡ፡"</string>
     <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"አንዳንድ ትግበራዎችን አለመጫን"</string>
     <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"አልቅ ድጋሚ ሞክር"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"በመፈለግ ላይ…"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"ድርጅት አክል"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"ቀን"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"የቡድን ስም"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"በ<xliff:g id="SOURCE">%1$s</xliff:g> በኩል"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g>በ<xliff:g id="SOURCE">%2$s</xliff:g> በኩል"</string>
     <string name="description_star" msgid="2605854427360036550">"ተወዳጅ"</string>
     <string name="edit_contact" msgid="7529281274005689512">"እውቅያ አርትዕ"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"ወደ ዕውቂያዎቼ ቅዳ"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"ወደ እኔ ዕውቂያዎች አክል"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"ማውጫ <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"የግል ቅጂ በመፍጠር ላይ..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"ብጁ"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"ቅንብሮች"</string>
     <string name="menu_settings" msgid="377929915873428211">"ቅንብሮች"</string>
@@ -209,7 +202,7 @@
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"ሌላ ዕውቂያ ከመቀላቀልህ በፊት የዕውቂያ ስም ተይብ።"</string>
     <string name="copy_text" msgid="3257145021583508761">"ወደ ቅንጥብ ሰሌዳ ገልብጥ"</string>
     <string name="set_default" msgid="4417505153468300351">"ነባሪ አዘጋጅ"</string>
-    <string name="clear_default" msgid="7193185801596678067">"ነባሪ አጥራ"</string>
+    <string name="clear_default" msgid="7193185801596678067">"ነባሪ አጽዳ"</string>
     <string name="toast_text_copied" msgid="5143776250008541719">"ፅሁፍ ገልብጧል"</string>
     <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">" ለውጦችህ ይወገዱ?"</string>
     <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"በአካባቢው ምንም መገለጫ የለም"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"የእኔ የ<xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> መገለጫ"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"ሁሉንም ዕውቂያዎች በማሳየት ላይ"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"ሰዎች በGoogle መለያ የተሻለ ይሰራሉ።\n\n• ከማንኛውም የድረ ማሰሻ ላይ ይድረሱበት።\n• ዝግጅቶችዎን በደንብ ያስጠብቁ"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"ዕውቂያዎች በGoogle መለያ የተሻለ ይሰራሉ።\n\n• ከማንኛውም የድረ አሳሽ ላይ ይድረሱበት።\n• እውቂያዎችዎን ደህንነቱ በተጠበቀ ሁኔታ ምትክ ያስቀምጡ።"</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"ስልክህ ቢጠፋብህ እንኳን  ዕውቂያዎችህን ደህንነታቸው እንደተጠበቀ እንዲቆዩ አድርግ ከመስመር ላይ አገልገሎት ጋር አመሳስለው::"</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"መለያ አክል"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"አዲሱ  ዕውቅያ ምትክ አይቀመጥለትም:: በመስመር ላይ ዕውቅያዎች በምትክ የሚያስቀምጥ መለያ አክል?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"አዲሱ ዕውቅያህ ከ <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> ጋር ይመሳሰላል፡፡"</string>
-    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"አዲስ ዕውቅያህን ከሚከተሉት መለያዎች ከአንዱ ጋር ማመሳሰል ትችላለህ፡፡ የትኛውን መጠቀም ትፈልጋለህ?"</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"አዲስ ዕውቅያዎን ከሚከተሉት መለያዎች ከአንዱ ጋር ማመሳሰል ይችላሉ። የትኛውን መጠቀም ይፈልጋሉ?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"አዲስ እውቂያ ያክሉ"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"እውቂያ ያርትዑ"</string>
     <string name="keep_local" msgid="1258761699192993322">"በአካባቢው አቆይ"</string>
     <string name="add_account" msgid="8201790677994503186">"መለያ አክል"</string>
     <string name="add_new_account" msgid="5748627740680940264">"አዲስ መለያ አክል"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"የውሂብ ጎታ ፋይሎችን ወደ ውጭ ላክ"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"ስዕል። ለመቀየር ይምረጡ"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"አዲስ እውቂያ ያክሉ"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"ተጨማሪ ይመልከቱ"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"ያነሰ ይመልከቱ"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"ሁሉንም ይመልከቱ"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"የቅርብ ጊዜ"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"ስለ"</string>
+    <string name="send_message" msgid="8938418965550543196">"መልዕክት ላክ"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"የግል ቅጂ በመፍጠር ላይ..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"ትላንት"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"ነገ"</string>
+    <string name="today" msgid="8041090779381781781">"ዛሬ"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"ዛሬ <xliff:g id="TIME_INTERVAL">%s</xliff:g> ላይ"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"ነገ <xliff:g id="TIME_INTERVAL">%s</xliff:g> ላይ"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>፣ <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(ርዕስ-አልባ ክስተት)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"አዘጋጅ"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"ፈጣን መልዕክት"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"ድርጅት"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"ቅጽል ስም"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"ማስታወሻ"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"ድር ጣቢያ"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"ክስተት"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"ዝምድና"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"ወደ አካባቢ የሚወስዱ አቅጣጫዎች"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index e081867..2ebfeb4 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"أشخاص"</string>
+    <string name="people" msgid="1190841469952343354">"جهات الاتصال"</string>
     <string name="contactsList" msgid="8661624236494819731">"جهات الاتصال"</string>
     <string name="shortcutContact" msgid="749243779392912958">"الاتصال بـ"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"طلب مباشر"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"اختيار رقم للاتصال به"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"اختيار رقم لإرسال رسالة له"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"اختيار جهة اتصال"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"تحديد جهة اتصال جديدة"</string>
     <string name="starredList" msgid="4817256136413959463">"مميّزة بنجمة"</string>
     <string name="frequentList" msgid="7154768136473953056">"متكررة"</string>
     <string name="strequentList" msgid="5640192862059373511">"المفضلة"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"تفاصيل جهة الاتصال"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"عرض جهة الاتصال"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"تعديل جهة الاتصال"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"إنشاء جهة اتصال"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"تعديل المجموعة"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"عرض جهة الاتصال"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"إضافة إلى المفضلة"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"إزالة من المفضلة"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"تمت الإزالة من المفضلة"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"تمت الإضافة إلى المفضلة"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"تعديل"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"حذف"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"وضع على الشاشة الرئيسية"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"تحتوي جهة الاتصال هذه على معلومات من عدة حسابات. وسيتم إخفاء المعلومات من الحسابات التي للقراءة فقط في قوائم جهات الاتصال، وليس حذفها."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"سيؤدي حذف جهة الاتصال هذه إلى حذف المعلومات من عدة حسابات."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"سيتم حذف جهة الاتصال هذه."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"تجاهل"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"إلغاء التغييرات"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"جهة الاتصال غير موجودة."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"تمت إضافة أداة جهات الاتصال إلى الشاشة الرئيسية."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"إنشاء جهة اتصال جديدة"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> من جهات الاتصال التي تشتمل على أرقام هواتف"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"ليس هناك جهات اتصال تشتمل على أرقام هواتف"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"جهة اتصال واحدة"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> من جهات الاتصال"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"تم العثور على جهة اتصال واحدة"</item>
     <item quantity="other" msgid="3852668542926965042">"تم العثور على <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"تم العثور على جهة اتصال واحدة"</item>
     <item quantity="other" msgid="7988132539476575389">"تم العثور على <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"جميع جهات الاتصال"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"المجموعات"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"كل جهات الاتصال"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"المفضلة"</string>
     <string name="callBack" msgid="5498224409038809224">"معاودة الاتصال"</string>
     <string name="callAgain" msgid="3197312117049874778">"الاتصال مرة أخرى"</string>
     <string name="returnCall" msgid="8171961914203617813">"معاودة اتصال بمكالمة فائتة"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> من <xliff:g id="TOTAL_NUMBER">%s</xliff:g> من جهات الاتصال"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"أسماء جهات الاتصال"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"لم يتم العثور على تطبيق يمكنه مباشرة هذا الإجراء."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"انقر للرجوع إلى الشاشة السابقة"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"إضافة رقم الهاتف"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"إضافة بريد إلكتروني"</string>
+    <string name="missing_app" msgid="1466111003546611387">"لم يتم العثور على تطبيق يمكنه مباشرة هذا الإجراء."</string>
     <string name="menu_share" msgid="943789700636542260">"مشاركة"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"إضافة إلى جهات الاتصال"</string>
     <string name="share_via" msgid="563121028023030093">"مشاركة جهة الاتصال عبر"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"إنشاء مجموعة ضمن حساب"</string>
     <string name="audio_chat" msgid="2535716629358298691">"دردشة صوتية"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"استخدام هذه الصورة"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"غير قابلة للتعديل من هذا التطبيق."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"ليس هناك أية معلومات إضافية لجهة الاتصال هذه."</string>
     <string name="group_read_only" msgid="1061762906115697637">"غير قابلة للتعديل على هذا الجهاز."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"تصنيف القائمة بحسب"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"الاسم الأول"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"اسم العائلة"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"عرض أسماء جهات الاتصال"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"الاسم الأول أولاً"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"اسم العائلة أولاً"</string>
     <string name="take_photo" msgid="7496128293167402354">"التقاط صورة"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"التقاط صورة جديدة"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"اختيار صورة من المعرض"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"تحديد صورة جديدة من المعرض"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"اختيار صورة"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"تحديد صورة جديدة"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"يجري تحديث قائمة جهات الاتصال لتعكس التغير في اللغة."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"يجري تحديث قائمة جهات الاتصال."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"جهات الاتصال قيد الترقية.\n\nتتطلب عملية الترقية مساحة تبلغ حوالي <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> ميغابايت من سعة التخزين الداخلية.\n\nاختر أحد الخيارات التالية:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"إضافة مؤسسة"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"التاريخ"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"اسم المجموعة"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"عبر <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> عبر <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"مفضل"</string>
     <string name="edit_contact" msgid="7529281274005689512">"تعديل جهة الاتصال"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"نسخ إلى جهات الاتصال الخاصة بي"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"إضافة إلى \"جهات الاتصال الخاصة بي\""</string>
     <string name="contact_directory_description" msgid="683398073603909119">"الدليل <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"جارٍ إنشاء نسخة شخصية..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"مخصص"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"الإعدادات"</string>
     <string name="menu_settings" msgid="377929915873428211">"الإعدادات"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"ملفي الشخصي المحلي"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"ملفي الشخصي في <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"عرض جميع جهات الاتصال"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"يعمل تطبيق \"الأشخاص\" بشكل أفضل مع حساب Google.‏\n\n• يمكنك الدخول من أي متصفح ويب.\n• يمكنك نسخ جهات اتصالك احتياطيًا بشكل آمن."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"‏تعمل جهات الاتصال بشكلٍ أفضل من خلال حساب Google.\n\n• يمكنك الدخول من أي متصفح ويب.\n• يمكنك الاحتفاظ بنسخة احتياطية من جهات اتصالك بشكلٍ آمن."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"يمكنك الاحتفاظ بجهات اتصالك في أمان حتى إذا فقدت هاتفك: من خلال المزامنة مع خدمة عبر الإنترنت."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"إضافة حساب"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"لن يتم الاحتفاظ بنسخة احتياطية من جهة الاتصال الجديدة. هل تريد إضافة حساب يحتفظ بنسخة احتياطية من جهات الاتصال على الإنترنت؟"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"ستتم مزامنة جهة الاتصال الجديدة مع <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"يمكنك مزامنة جهة الاتصال الجديدة مع أحد الحسابات التالية. ما الذي تريد استخدامه منها؟"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"إضافة جهة اتصال جديدة"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"تعديل جهة الاتصال"</string>
     <string name="keep_local" msgid="1258761699192993322">"الاحتفاظ بها محليًا"</string>
     <string name="add_account" msgid="8201790677994503186">"إضافة حساب"</string>
     <string name="add_new_account" msgid="5748627740680940264">"إضافة حساب جديد"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"تصدير ملفات قاعدة البيانات"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"الصورة. حدد للتغيير"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"إضافة جهة اتصال جديدة"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"الاطلاع على المزيد"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"عرض أقل"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"عرض الكل"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"الأخيرة"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"حول"</string>
+    <string name="send_message" msgid="8938418965550543196">"إرسال رسالة"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"جارٍ إنشاء نسخة شخصية..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"أمس"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"غدًا"</string>
+    <string name="today" msgid="8041090779381781781">"اليوم"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"اليوم في <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"غدًا في <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>، <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(حدث بدون اسم)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"تعيين"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"المراسلة الفورية"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"المؤسسة"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"اللقب"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"ملاحظة"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"موقع الويب"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"الحدث"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"العلاقة"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"الاتجاهات إلى الموقع"</string>
 </resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
new file mode 100644
index 0000000..7092f8c
--- /dev/null
+++ b/res/values-az-rAZ/strings.xml
@@ -0,0 +1,233 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1048457247435785074">"Camaat"</string>
+    <string name="contactsList" msgid="8661624236494819731">"Kontaktlar"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"Kontakt"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"Birbaşa nömrə yığımı"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"Birbaşa mesaj"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Kontakt qısayolunu seçin"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Zəng üçün nömrə seçin"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Mesaj göndərmək üçün nömrə seçin"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Kontakt seçin"</string>
+    <string name="starredList" msgid="4817256136413959463">"Ulduzlu"</string>
+    <string name="frequentList" msgid="7154768136473953056">"Tez-tez"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Seçilmişlər"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"Kontakt detalları"</string>
+    <string name="viewContactDesription" msgid="214186610887547860">"Kontakta baxın"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"Kontakta düzəliş edin"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"Kontakt yaradın"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"Qrupa düzəliş edin"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"Qrup yaradın"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"Haqqında"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"Güncəlləşdirmələr"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Kontakt axtarın"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"Kontakta baxın"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Favoritlərə əlavə edin"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Favoritlərdən yığışdırın"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Düzəliş edin"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"Silin"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Əsas ekranda yer"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Kontakta zəng edin"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Mətn kontaktı"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Ayrılıqda"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Düzəliş edin"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"Silin"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Kontakt əlavə edin"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Qrupu əlavə edin"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Kontakt bölünsün?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Bu kontakt çoxsaylı kontaktlara bölünəcək."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Qoşulun"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Kontaktları birləşdirin"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g> ilə birləşdirmək istədiyiniz kontaktı seçin:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Bütün kontaktları göstərin"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Təklif edilmiş kontaktlar"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Bütün kontaktlar"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontaktlar birləşdirildi"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Zəng səsi seçin"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Bütün zənglər səsli poçta"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Yalnız oxunmaq üçün olan hesablardan kontaktları silə bilməzsiniz, lakin onları kontakt siyahınızda gizlədə bilərsiniz."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Bu kontakt çoxsaylı hesablardan olan məlumatlardan ibarətdir. Yalnız oxunmaq üçün olan hesablardan məlumatlar Sizin kontakt siyahınızda gizlədiləcək, silinməyəcək."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Bu kontaktın silinməsi çoxsaylı hesablardan məlumatların silinməsi ilə nəticələnəcək."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"Bu kontakt silinəcək."</string>
+    <string name="menu_discard" msgid="6456087569315685632">"İmtina edin"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"Kontakt mövcud deyil."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Kontakt vidceti Əsas ekrana əlavə edildi."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Yeni kontakt yaradın"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Yeni kontakt yaradın"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"Təşkilat"</item>
+    <item msgid="7196592230748086755">"Qeyd"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Planşetdə şəkillər əlçatımlı deyil."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Telefonda heç bir şəkil əlçatımlı deyil."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Kontakt fotosu"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Fərdi etiket adı"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Səsləri birbaşa səsli poçta göndərin"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"Fotonu yığışdırın"</string>
+    <string name="noContacts" msgid="8579310973261953559">"Kontakt yoxdur."</string>
+    <string name="noGroups" msgid="8614664663561385253">"Qrup yoxdur."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"Qrup yaratmaq üçün hesaba ehtiyacınız var."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"Bu qrupda adam yoxdur."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"Bəzilərini əlavə etmək üçün qrupu redaktə edin"</string>
+    <string name="savingContact" msgid="4075751076741924939">"Kontakt yadda saxlanır..."</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Kontakt yadda saxlanıldı."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Kontakt dəyişiklikləri saxlanıla bilmədi."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"Qrup yadda saxlanıldı."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Qrup dəyişiklikləri yadda saxlanılmadı."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"Telefon nömrəsi olan 1 kontakt"</item>
+    <item quantity="other" msgid="3299954047880968205">"Telefon nömrəsi olan <xliff:g id="COUNT">%d</xliff:g> kontakt"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Telefon nömrəsi olan kontakt yoxdur"</string>
+  <plurals name="listTotalAllContacts">
+    <item quantity="one" msgid="3405747744700823280">"1 kontakt"</item>
+    <item quantity="other" msgid="3578469907265375314">"(<xliff:g id="COUNT">%d</xliff:g> kontakt)"</item>
+  </plurals>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 tapıldı"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> tapıldı"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Kontakt yoxdur"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 tapılmış"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> tapıldı"</item>
+  </plurals>
+    <string name="contactsAllLabel" msgid="6479708629170672169">"Bütün kontaktlar"</string>
+    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Qruplar"</string>
+    <string name="callBack" msgid="5498224409038809224">"Geriyə zəng"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Yenidən zəng edin"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Zəngi qaytarın"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" kontaktlara əlavə olunsun?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"Kontakt şəkli"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"plus"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktdan <xliff:g id="CURRENT_NUMBER">%s</xliff:g> kontakt"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"Kontaktlarınızın adları"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Bu əməliyyatı idarə etmək üçün heç bir tətbiq tapılmadı."</string>
+    <string name="menu_share" msgid="943789700636542260">"Paylaşın"</string>
+    <string name="share_via" msgid="563121028023030093">"Kontaktı bu vasitə ilə paylaşın:"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"Hesab altında qrup yaradın"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"Səsli çat"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Video çat"</string>
+    <string name="connections" msgid="8098440723172028350">"Əlaqələr"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Bağlantı əlavə edin"</string>
+    <string name="recent" msgid="2659189233141493004">"Son"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"Son güncəlləşmələr"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> kontakt"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"Bu fotonu istifadə edin"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"Bu tətbiqdən düzəliş edilə bilən deyil."</string>
+    <string name="no_contact_details" msgid="6636856378019344497">"Bu kontakt üçün heç bir əlavə məlumat yoxdur."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Bu cihaz üçün redaktəolunmazdır."</string>
+    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Siyahını sırala"</string>
+    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Verilmiş ad"</string>
+    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Soyad"</string>
+    <string name="display_options_view_names_as" msgid="4386932036180428374">"Kontakt adlarına baxın"</string>
+    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Birinci verilmiş ad yazılsın"</string>
+    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Birinci soyad yazılsın"</string>
+    <string name="take_photo" msgid="7496128293167402354">"Fotoşəkil çəkin"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"Yeni foto çəkin"</string>
+    <string name="pick_photo" msgid="3746334626214970837">"Qalereyadan şəkil seçin"</string>
+    <string name="pick_new_photo" msgid="7962368009197147617">"Qalereyadan yeni foto seçin"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Kontakt siyahısı dil dəyişikliyini əks etmək üçün yenilənir."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"Kontakt siyahısı güncəlləşdirilir."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontaktlar təkmilləşmə prosesindədir. \n\nTəkmilləşmə prosesi təxminən <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB daxili yaddaş tələb edir.\n\nAşağıdakı variantlardan birini seçin:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Bəzi tətbiqləri sistemdən silin"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Təkmilləşdirməyə yenidən cəhd edin"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"Axtarılır..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"Seçilmişləri göstər"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"Hamısını göstər"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Hamısını seçin"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"Heç birini seçməyin"</string>
+    <string name="add_field" msgid="2384260056674995230">"Digər sahə əlavə edin"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Yenisini əlavə edin"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Təşkilat əlavə edin"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Tarix"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Qrup adı"</string>
+    <string name="contact_status_update_attribution" msgid="752179367353018597">"<xliff:g id="SOURCE">%1$s</xliff:g> vasitəsilə"</string>
+    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="SOURCE">%2$s</xliff:g> vasitəsilə <xliff:g id="DATE">%1$s</xliff:g>"</string>
+    <string name="description_star" msgid="2605854427360036550">"sevimli"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Kontaktı redaktə edin"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"qovuşdurulmayıb"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> mənbədən qovuşduruldu"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Cari kontakt seçilmiş kontakta birləşdirilsin?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Seçilmiş kontaktın redaktəsinə keçirilsin? Hazırda daxil etdiyiniz informasiya kopyalanacaq."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"Kontaktlarıma Kopyalayın"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"Kontaktlarıma Əlavə Edin"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"Kataloq <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="toast_making_personal_copy" msgid="288549957278065542">"Şəxsi nüsxə yaradılır..."</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"Adət"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"Ayarlar"</string>
+    <string name="menu_settings" msgid="377929915873428211">"Ayarlar"</string>
+    <string name="menu_help" msgid="5123887102216637725">"Yardım"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"Displey seçənəkləri"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"Telefon nömrəsi"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Kontaktlara əlavə edin"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Kontakta əlavə edin"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"Qapadın"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"İli yazın"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"Kontakt"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"Yüklənir…"</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Yeni kontakt yaradın"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Hesabınıza daxil olun"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Kontaktları import edin"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"Yeni qrup yarat"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"Yeni qrup yarat"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 qrup"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> qrup"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" qrupu silinsin? (Kontaktlar silinməyəcək.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> hesabından <xliff:g id="COUNT_0">%1$d</xliff:g> nəfər"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> hesabından <xliff:g id="COUNT_0">%1$d</xliff:g> nəfər"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> şəxs"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> nəfər"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Digəri ilə birləşmədən öncə kontakt adı yazın."</string>
+    <string name="copy_text" msgid="3257145021583508761">"Panoya kopyalayın"</string>
+    <string name="set_default" msgid="4417505153468300351">"Defolt ayarlayın"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Defoltu təmizləyin"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"Mətn kopyalandı"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Dəyişiklikləriniz kənarlaşdırılsın?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Profilimi quraşdırın"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Şəxsin adını yazın"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Qrup adı"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"Yerli profilim"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"Mənim <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> profilim"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Bütün kontaktlar göstərilir"</string>
+    <string name="no_account_prompt" msgid="7061052512446855192">"Adamlar Google Hesabı ile daha yaxşı işləyir. \n \n • Hər hansı bir veb brauzer ilə daxil olun \n • Kontaktlarınızı güvənli şəkildə yedəkləyin."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Telefonunuzu itirsəniz belə, kontaktlarınızı təhlükəsiz saxlayın: onlayn xidmət ilə sinxronlaşdırın."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Hesab əlavə edin"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Yeni kontaktınız yedəklənməyəcək. Kontaktları onlayn yedəkləyən hesab əlavə olunsun?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Yeni kontaktınız <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> ilə sinxronlaşacaq."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Kontaktlarınızı aşağıdakı hesablardan biri ilə sinxronlaşdıra bilərsiniz. Hansını istifadə etmək istəyirsiniz?"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Lokal olaraq saxlayın"</string>
+    <string name="add_account" msgid="8201790677994503186">"Hesab əlavə edin"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Yeni hesab əlavə edin"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Data baza fayllarını eksport edin"</string>
+    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Şəkil. Dəyişmək üçün seçin."</string>
+</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
deleted file mode 100644
index 21fdf10..0000000
--- a/res/values-be/strings.xml
+++ /dev/null
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2006 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="people" msgid="1048457247435785074">"Людзі"</string>
-    <string name="contactsList" msgid="8661624236494819731">"Кантакты"</string>
-    <string name="shortcutContact" msgid="749243779392912958">"Кантакт"</string>
-    <string name="shortcutDialContact" msgid="746622101599186779">"Хуткі выклік"</string>
-    <string name="shortcutMessageContact" msgid="2460337253595976198">"Прамое паведамленне"</string>
-    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Выберыце кантакт для хуткага доступу"</string>
-    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Выберыце нумар для выкліку"</string>
-    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Выберыце нумар для адпраўкi паведамлення"</string>
-    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Выберыце кантакт"</string>
-    <string name="starredList" msgid="4817256136413959463">"Пазначана"</string>
-    <string name="frequentList" msgid="7154768136473953056">"Частыя"</string>
-    <string name="strequentList" msgid="5640192862059373511">"Любімыя"</string>
-    <string name="viewContactTitle" msgid="7989394521836644384">"Дадзеныя кантакта"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Прагледзець кантакт"</string>
-    <string name="editContactDescription" msgid="2947202828256214947">"Рэдагаваць кантакт"</string>
-    <string name="insertContactDescription" msgid="4709878105452681987">"Стварыць кантакт"</string>
-    <string name="editGroupDescription" msgid="6321161304201540561">"Рэдагаваць групу"</string>
-    <string name="insertGroupDescription" msgid="5658512271662210139">"Стварыць групу"</string>
-    <string name="contactDetailAbout" msgid="5430408883907061400">"Інфармацыя"</string>
-    <string name="contactDetailUpdates" msgid="3780588624763446941">"Абнаўленні"</string>
-    <string name="searchHint" msgid="8482945356247760701">"Пошук кантактаў"</string>
-    <string name="menu_viewContact" msgid="2795575601596468581">"Прагледзець кантакт"</string>
-    <string name="menu_addStar" msgid="2908478235715404876">"Дадаць да любімых"</string>
-    <string name="menu_removeStar" msgid="5844227078364227030">"Выдаліць з Выбранага"</string>
-    <string name="menu_editContact" msgid="9042415603857662633">"Рэдагаваць"</string>
-    <string name="menu_deleteContact" msgid="6788644058868189393">"Выдаліць"</string>
-    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Размясціць на галоўным экране"</string>
-    <string name="menu_call" msgid="3992595586042260618">"Выклікаць кантакт"</string>
-    <string name="menu_sendSMS" msgid="5535886767547006515">"Паведамленне кантакту"</string>
-    <string name="menu_splitAggregate" msgid="8368636463748691868">"Падзяліць"</string>
-    <string name="menu_editGroup" msgid="5062005185370983720">"Рэдагаваць"</string>
-    <string name="menu_deleteGroup" msgid="3486380004411482874">"Выдаліць"</string>
-    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Дадаць кантакт"</string>
-    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Дадаць групу"</string>
-    <string name="splitConfirmation_title" msgid="633640935430370530">"Раздзяліць кантакт?"</string>
-    <string name="splitConfirmation" msgid="740190210499587175">"Гэты кантакт будзе падзелены на некалькі кантактаў."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Аб\'яднаць"</string>
-    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Аб\'яднаць кантакты"</string>
-    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Выберыце кантакт, які хочаце звязаць з iмем <xliff:g id="NAME">%s</xliff:g>:"</string>
-    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Паказаць усе кантакты"</string>
-    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Прапанаваныя кантакты"</string>
-    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Усе кантакты"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Кантакты аб\'яднаныя"</string>
-    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Устал. рынгтон"</string>
-    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Усе выклікі на гал. пошту"</string>
-    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Вы не можаце выдаляць кантакты з улiковых запiсаў толькі для чытання, але вы можаце хаваць іх у спісах кантактаў."</string>
-    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Гэты кантакт змяшчае інфармацыю з некалькіх уліковых запісаў. Інфармацыя з уліковых запісаў, даступных толькі для чытання, будзе схаваная ў спісах кантактаў, а не выдаленая."</string>
-    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Выдаленне гэтага кантакту выдаліць інфармацыю з некалькіх уліковых запісаў."</string>
-    <string name="deleteConfirmation" msgid="811706994761610640">"Гэты кантакт будзе выдалены."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Адхіліць"</string>
-    <string name="invalidContactMessage" msgid="8215051456181842274">"Кантакт не існуе."</string>
-    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Звязацца з віджэтам, даданым на галоўны экран."</string>
-    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Стварыць новы кантакт"</string>
-    <string name="pickerNewContactText" msgid="6166997164401048211">"Стварыць новы кантакт"</string>
-  <string-array name="otherLabels">
-    <item msgid="8287841928119937597">"Установа"</item>
-    <item msgid="7196592230748086755">"Нататкі"</item>
-  </string-array>
-    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"На планшэце няма фатаграфій."</string>
-    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"На тэлефоне няма даступных малюнкаў."</string>
-    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Фота кантакта"</string>
-    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Імя карыстальніцкага цэтліка"</string>
-    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Адпраўляць выклікі непасрэдна на галасавую пошту"</string>
-    <string name="removePhoto" msgid="4898105274130284565">"Выдаліць фота"</string>
-    <string name="noContacts" msgid="8579310973261953559">"Няма кантактаў."</string>
-    <string name="noGroups" msgid="8614664663561385253">"Няма груп."</string>
-    <string name="noAccounts" msgid="7768267764545265909">"Для стварэння групы патрабуецца ўліковы запіс."</string>
-    <string name="emptyGroup" msgid="7502116218697177370">"У гэтай групе няма карыстальнiкаў."</string>
-    <string name="addPeopleToGroup" msgid="7879585947222263516">"Каб дадаць, змянiце групу."</string>
-    <string name="savingContact" msgid="4075751076741924939">"Захаванне кантакту..."</string>
-    <string name="contactSavedToast" msgid="7152589189385441091">"Кантакт захаваны."</string>
-    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Немагчыма захаваць змены кантакта."</string>
-    <string name="groupSavedToast" msgid="1168756874239833756">"Група захаваная."</string>
-    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Немагчыма захаваць змены групы."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 кантакт з нумарам тэлефона"</item>
-    <item quantity="other" msgid="3299954047880968205">"Кантактаў з нумарамі тэлефонаў: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
-    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Няма кантактаў з нумарамі тэлефонаў"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 кантакт"</item>
-    <item quantity="other" msgid="3578469907265375314">"Кантактаў: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
-  <plurals name="listFoundAllContacts">
-    <item quantity="one" msgid="5517063038754171134">"знойдзены 1"</item>
-    <item quantity="other" msgid="3852668542926965042">"Знойдзеныя: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
-    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Кантактаў няма"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"знойдзены 1"</item>
-    <item quantity="other" msgid="7988132539476575389">"Знойдзеныя: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Усе кантакты"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Групы"</string>
-    <string name="callBack" msgid="5498224409038809224">"Зваротны выклік"</string>
-    <string name="callAgain" msgid="3197312117049874778">"Выклікаць зноў"</string>
-    <string name="returnCall" msgid="8171961914203617813">"Зваротны выклік"</string>
-    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Дадаць адрас \"<xliff:g id="EMAIL">%s</xliff:g>\" у кантакты?"</string>
-    <string name="description_contact_photo" msgid="3387458082667894062">"фатаграфія кантакта"</string>
-    <string name="description_plus_button" msgid="515164827856229880">"плюс"</string>
-    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> з <xliff:g id="TOTAL_NUMBER">%s</xliff:g> кантактаў"</string>
-    <string name="search_settings_description" msgid="2675223022992445813">"Імёны вашых кантактаў"</string>
-    <string name="quickcontact_missing_app" msgid="358168575340921552">"Не знойдзена прыкладанне для гэтага дзеяння."</string>
-    <string name="menu_share" msgid="943789700636542260">"Апублікаваць"</string>
-    <string name="share_via" msgid="563121028023030093">"Апублікаваць кантакт з дапамогай"</string>
-    <string name="dialog_new_group_account" msgid="2318032089273496830">"Стварыць групу ва ўліковым запісе"</string>
-    <string name="audio_chat" msgid="2535716629358298691">"Галасавы чат"</string>
-    <string name="video_chat" msgid="1872255818640336072">"Відэачат"</string>
-    <string name="connections" msgid="8098440723172028350">"Сувязi"</string>
-    <string name="add_connection_button" msgid="4861308615789601727">"Дадаць кантакт"</string>
-    <string name="recent" msgid="2659189233141493004">"Апошнія"</string>
-    <string name="recent_updates" msgid="4267258535615860710">"Апошнія абнаўленні"</string>
-    <string name="account_type_format" msgid="718948015590343010">"Кантакт <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <!-- no translation found for from_account_format (4469138575127580203) -->
-    <skip />
-    <string name="use_photo_as_primary" msgid="8807110122951157246">"Выкарыстоўваць гэтую фатаграфію"</string>
-    <string name="contact_read_only" msgid="7421346527289472273">"Не рэдагуецца гэтым прыкладаннем."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Для гэтага кантакта няма дадатковай інфармацыі."</string>
-    <string name="group_read_only" msgid="1061762906115697637">"Нельга рэдагаваць на гэтай прыладзе."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Сартаваць спіс па"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Імя"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Прозвішча"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Прагляд імёнаў кантактаў"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Спачатку імя"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Спачатку прозвішча"</string>
-    <string name="take_photo" msgid="7496128293167402354">"Зрабіць фота"</string>
-    <string name="take_new_photo" msgid="7341354729436576304">"Зрабiце новую фатаграфію"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Выберыце фатаграфію з галерэі"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Выберыце новую фатаграфію з Галерэі"</string>
-    <string name="locale_change_in_progress" msgid="7583992153091537467">"Абнаўляецца спіс кантактаў для адлюстравання змены мовы."</string>
-    <string name="upgrade_in_progress" msgid="474511436863451061">"Спiс кантактаў абнаўляецца."</string>
-    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Кантакты зараз абнаўляюцца. \n\nПрацэс абнаўлення патрабуе прыкладна <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> Мб унутранай памяці.\n\nВыберыце адзін з наступных варыянтаў."</string>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Выдаліць ​​некаторыя прыкладанні"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Паўтарыць абнаўленне"</string>
-    <string name="search_results_searching" msgid="3984833028938569930">"Пошук..."</string>
-    <string name="menu_display_selected" msgid="6470001164297969034">"Паказаць выбраныя"</string>
-    <string name="menu_display_all" msgid="8887488642609786198">"Паказаць усіх"</string>
-    <string name="menu_select_all" msgid="621719255150713545">"Выбраць усе"</string>
-    <string name="menu_select_none" msgid="7093222469852132345">"Адмяніць выбар для ўсіх"</string>
-    <string name="add_field" msgid="2384260056674995230">"Дадаць яшчэ адно поле"</string>
-    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Дадаць новы"</string>
-    <string name="add_organization" msgid="7311893231158291197">"Дадаць арганізацыю"</string>
-    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Дата"</string>
-    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Назва групы"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"праз <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> праз <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
-    <string name="description_star" msgid="2605854427360036550">"выбранае"</string>
-    <string name="edit_contact" msgid="7529281274005689512">"Рэдагаваць кантакт"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"не аб\'яднаны"</item>
-    <item quantity="other" msgid="425683718017380845">"аб\'яднаныя з розных крыніц (<xliff:g id="COUNT">%0$d</xliff:g>)"</item>
-  </plurals>
-    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Аб\'яднаць бягучы кантакт з выбраным кантактам?"</string>
-    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Пераключыцца ў рэжым рэдагавання выбранага кантакту? Інфармацыя, якую вы ўвялі да гэтага часу, будзе скапіявана."</string>
-    <string name="menu_copyContact" msgid="1573960845106822639">"Капіяваць у мае кантакты"</string>
-    <string name="add_to_my_contacts" msgid="1068274916793627723">"Дадаць да Маіх кантактаў"</string>
-    <string name="contact_directory_description" msgid="683398073603909119">"Каталог <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Стварэнне асабістай копіі..."</string>
-    <string name="list_filter_custom" msgid="8910173055702057002">"Карыстальніцкі"</string>
-    <string name="activity_title_settings" msgid="5464130076132770781">"Налады"</string>
-    <string name="menu_settings" msgid="377929915873428211">"Налады"</string>
-    <string name="menu_help" msgid="5123887102216637725">"Даведка"</string>
-    <string name="preference_displayOptions" msgid="1341720270148252393">"Паказаць параметры"</string>
-    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
-    <string name="non_phone_caption" msgid="1541655052330027380">"Нумар тэлефону"</string>
-    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Дадаць у кантакты"</string>
-    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Дадаць у кантакт"</string>
-    <string name="non_phone_close" msgid="7608506439725515667">"Закрыць"</string>
-    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
-    <string name="date_year_toggle" msgid="7356532842767854606">"Показваць год"</string>
-    <string name="social_widget_label" msgid="6378905543028924592">"Кантакт"</string>
-    <string name="social_widget_loading" msgid="5327336597364074608">"Загрузка..."</string>
-    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Стварыць новы кантакт"</string>
-    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Увайсці ва ўліковы запіс"</string>
-    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Імпартаваць кантакты"</string>
-    <string name="create_group_dialog_title" msgid="6874527142828424475">"Стварыць новую групу"</string>
-    <string name="create_group_item_label" msgid="4411981763169654825">"Стварыць новую групу"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 група"</item>
-    <item quantity="other" msgid="1276758425904917367">"Груп: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
-  </plurals>
-    <string name="delete_group_dialog_message" msgid="7586856514337560529">"Выдаліць групу \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Кантакты не будуць выдалены.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> чал. з <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> чал. з <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-  </plurals>
-  <plurals name="group_list_num_contacts_in_group">
-    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> чал."</item>
-    <item quantity="other" msgid="6251996206137048525">"Людзей: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
-    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Перад аб\'яднаннем з іншым кантактам увядзіце імя кантакта."</string>
-    <string name="copy_text" msgid="3257145021583508761">"Скапіраваць у буфер абмену"</string>
-    <string name="set_default" msgid="4417505153468300351">"Усталяваць па змаўчанні"</string>
-    <string name="clear_default" msgid="7193185801596678067">"Скінуць налады па змаўчанні"</string>
-    <string name="toast_text_copied" msgid="5143776250008541719">"Тэкст скапіяваны"</string>
-    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Адмяніць змены?"</string>
-    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
-    <string name="profile_display_name" msgid="4127389543625918771">"Наладзіць мой профіль"</string>
-    <string name="enter_contact_name" msgid="1738391320566349924">"Тып імя чалавека"</string>
-    <string name="group_name_hint" msgid="238359485263401293">"Назва групы"</string>
-    <string name="local_profile_title" msgid="2021416826991393684">"Мой лакальны профіль"</string>
-    <string name="external_profile_title" msgid="8034998767621359438">"Мой профіль у <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
-    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Адлюстраванне ўсіх кантактаў"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Прыкладанне People лепш працуе з уліковым запісам Google.\n\n•Доступ да яго можна атрымаць з любога вэб-браўзэра\n•Выканайце рэзервовае капіяванне сваiх кантактаў."</string>
-    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Абаранiце свае кантакты, нават калі страціце тэлефон: сінхранізуйце iх з вэб-службай."</string>
-    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Дадаць уліковы запіс"</string>
-    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Рэзервовая копiя вашага новага кантакту не будзе створана. Дадаць улiковы запiс, у якiм будуць захоўвацца рэзервовыя копii кантактаў у Iнтэрнэце?"</string>
-    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Ваш новы кантакт будзе сінхранізаваны з улiковым запiсам <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
-    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Вы можаце сінхранізаваць новы кантакт з адным з наступных улiковых запiсаў. Якi вы хочаце выкарыстоўваць?"</string>
-    <string name="keep_local" msgid="1258761699192993322">"Захоўваць лакальна"</string>
-    <string name="add_account" msgid="8201790677994503186">"Дадаць уліковы запіс"</string>
-    <string name="add_new_account" msgid="5748627740680940264">"Дадаць новы ўліковы запіс"</string>
-    <string name="menu_export_database" msgid="2659719297530170820">"Экспарт базы дадзеных файлаў"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Выява. Выберыце, каб змяніць"</string>
-</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 948ec30..cb42ac1 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Хора"</string>
+    <string name="people" msgid="1190841469952343354">"Контакти"</string>
     <string name="contactsList" msgid="8661624236494819731">"Контакти"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Контакт"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Директно набиране"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Избор на номер за обаждане"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Избор на номер за изпращане на съобщение"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Избор на контакт"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Избиране на нов контакт"</string>
     <string name="starredList" msgid="4817256136413959463">"Със звезда"</string>
     <string name="frequentList" msgid="7154768136473953056">"Често"</string>
     <string name="strequentList" msgid="5640192862059373511">"Любими"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Подробности за контакта"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Преглед на контакт"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Редактиране на контакт"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Създаване на контакт"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Редактиране на групата"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Преглед на контакт"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Добавяне към предпочитани"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Премахване от любими"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Премахнато от любимите"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Добавено към любимите"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Редактиране"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Изтриване"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Поставяне на началния екран"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Този контакт съдържа информация от няколко профила. Тази от профили само за четене ще бъде скрита, а не изтрита."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Изтриването на този контакт ще премахна информация от няколко профила."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Този контакт ще бъде изтрит."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Отхвърляне"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Отхвърляне на промените"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Контактът не съществува."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Приспособлението за контакти е добавено към началния екран."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Създаване на нов контакт"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> контакта с телефонни номера"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Няма контакти с телефонни номера"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 контакт"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> контакта"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 намерен"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> намерени"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 намерен"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> намерени"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Всички контакти"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Групи"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Всички контакти"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Любими"</string>
     <string name="callBack" msgid="5498224409038809224">"Обратно обаждане"</string>
     <string name="callAgain" msgid="3197312117049874778">"Повторно обаждане"</string>
     <string name="returnCall" msgid="8171961914203617813">"Отговаряне на обаждане"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> от <xliff:g id="TOTAL_NUMBER">%s</xliff:g> контакта"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Имена на контактите ви"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Не бе намерено приложение за извършване на това действие."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Кликнете за връщане към предишния екран"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Добавяне на телефонен номер"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Добавяне на имейл"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Не бе намерено приложение за извършване на това действие."</string>
     <string name="menu_share" msgid="943789700636542260">"Споделяне"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Добавяне към контактите"</string>
     <string name="share_via" msgid="563121028023030093">"Споделяне на контакт чрез"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Създаване на група в профил"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Гласов разговор"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Използване на тази снимка"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Не може да се редактира от приложението."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Няма допълнителна информация за този контакт."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Не може да се редактира на това у-во."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Подреждане на списък по"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Собствено име"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Фамилия"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Преглед на имената на контактите"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Първо собственото име"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Първо фамилията"</string>
     <string name="take_photo" msgid="7496128293167402354">"Снимане"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Заснемане на нова снимка"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Избор на снимка от галерията"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Избор на нова снимка от галерията"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Избор на снимка"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Избор на нова снимка"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Списъкът с контакти се актуализира, за да отрази промяната на езика."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Списъкът с контакти се актуализира."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Контактите се надстройват. \n\nПроцесът се нуждае от приблизително <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> МБ вътрешно хранилище.\n\nИзберете една от следните опции:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Организация: Добавяне"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Дата"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Име на групата"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"чрез <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> чрез <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"любимо"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Редактиране на контакта"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Копиране в моите контакти"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Добавяне в „Моите контакти“"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Директория „<xliff:g id="TYPE">%1$s</xliff:g>“"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Създава се лично копие..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"По избор"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Настройки"</string>
     <string name="menu_settings" msgid="377929915873428211">"Настройки"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Моят локален потр. профил"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Потр. ми профил <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Показват се всички контакти"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Приложението Хора работи по-добре с профил в Google.\n\n• Осъществявайте достъп от всеки уеб браузър.\n• Създавайте надеждни резервни копия на контактите си."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Приложението Контакти работи по-добре с профил в Google.\n\n• Осъществявайте достъп от всеки уеб браузър.\n• Създавайте сигурни резервни копия на контактите си."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Погрижете се за безопасността на контактите си, ако загубите своя телефон: синхронизирайте с онлайн услуга."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Добавяне на профил"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"За новия ви контакт няма да бъде създадено резервно копие. Да се добави ли профил, в който да се създават такива копия на контактите онлайн?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Новият ви контакт ще бъде синхронизиран със: <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Можете да синхронизирате новия си контакт с един от следните профили. Кой от тях искате да използвате?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Нов контакт: Добав."</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Контакт: Редактиране"</string>
     <string name="keep_local" msgid="1258761699192993322">"Съхраняване локално"</string>
     <string name="add_account" msgid="8201790677994503186">"Добавяне на профил"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Добавяне на нов профил"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Експортиране на файловете на базата от данни"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Снимка. Изберете, за да промените"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"добавяне на нов контакт"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Преглед на още"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Преглед на по-малко"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Преглед на всичко"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Скорошни"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Информация"</string>
+    <string name="send_message" msgid="8938418965550543196">"Изпращане на съобщение"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Създава се лично копие..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Вчера"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Утре"</string>
+    <string name="today" msgid="8041090779381781781">"Днес"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Днес от <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Утре от <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Неозаглавено събитие)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Задаване"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Незабавно съобщение"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Организация"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Псевдоним"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Бележка"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Уебсайт"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Събитие"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Отношение"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"упътвания до местоположението"</string>
 </resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
new file mode 100644
index 0000000..2086a16
--- /dev/null
+++ b/res/values-bn-rBD/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"পরিচিতিগুলি"</string>
+    <string name="contactsList" msgid="8661624236494819731">"পরিচিতিগুলি"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"পরিচিতি"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"সরাসরি ডায়াল"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"সরাসরি বার্তা"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"শর্টকার্ট করতে একটি পরিচিতি চয়ন করুন"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"কল করার জন্য একটি নম্বর চয়ন করুন"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"বার্তা পাঠানোর জন্য একটি নম্বর চয়ন করুন"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"একটি পরিচিতি চয়ন করুন"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"নতুন পরিচিতি নির্বাচন করুন"</string>
+    <string name="starredList" msgid="4817256136413959463">"তারকা চিহ্নিত"</string>
+    <string name="frequentList" msgid="7154768136473953056">"ঘন ঘন"</string>
+    <string name="strequentList" msgid="5640192862059373511">"পছন্দগুলি"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"পরিচিতির বিবরণগুলি"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"পরিচিতি সম্পাদনা করুন"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"পরিচিতি তৈরি করুন"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"গোষ্ঠী সম্পাদনা করুন"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"গোষ্ঠী তৈরি করুন"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"সম্পর্কে"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"আপডেটগুলি"</string>
+    <string name="searchHint" msgid="8482945356247760701">"পরিচিতিগুলি খুঁজুন"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"পরিচিতি দেখুন"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"পছন্দগুলিতে জুড়ুন"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"পছন্দসই থেকে সরান"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"পছন্দসই থেকে সরানো হয়েছে"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"পছন্দসই এ জোড়া হয়েছে"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"সম্পাদনা করুন"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"মুছুন"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"হোম স্ক্রীনে রাখুন"</string>
+    <string name="menu_call" msgid="3992595586042260618">"পরিচিতিকে কল করুন"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"পরিচিতিকে পাঠ্য বার্তা পাঠান"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"পৃথক"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"সম্পাদনা করুন"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"মুছুন"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"পরিচিতি যুক্ত করুন"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"গোষ্ঠী যোগ করুন"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"পরিচিতি বিভক্ত করবেন?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"এই পরিচিতি একাধিক পরিচিতিগুলির মধ্যে বিভক্ত করা হবে৷"</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"যুক্ত হন"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"পরিচিতিগুলিকে যোগ করুন"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g> এর সাথে যোগ করতে চান সেই পরিচিতিটি চয়ন করুন:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"সকল পরিচিতি দেখান"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"প্রস্তাবিত পরিচিতিগুলি"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"সকল পরিচিতি"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"পরিচিতিগুলিকে যুক্ত করা হযেছে"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"রিংটোন সেট করুন"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"ভয়েসমেলে সকল কল"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"আপনি শুধুমাত্র-পাঠযোগ্য অ্যাকাউন্টগুলির পরিচিতিগুলিকে মুছতে পারবেন না, কিন্তু আপনি আপনার পরিচিতি তালিকায় তাদের লুকিয়ে রাখতে পারেন৷"</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"এই পরিচিতিটিতে একাধিক অ্যাকাউন্ট থেকে তথ্য উপস্থিত রয়েছে৷ শুধুমাত্র-পাঠযোগ্য অ্যাকাউন্টগুলির তথ্য আপনার পরিচিতিগুলির তালিকাতে লুকানো থাকবে,  মুছে ফেলা হবে না৷"</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"এই পরিচিতিটি মোছা হলে সেটি একাধিক অ্যাকাউন্ট থেকে তথ্য মুছবে৷"</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"এই পরিচিতিটিকে মুছে ফেলা হবে৷"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"পরিবর্তনগুলি খারিজ করুন"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"এই পরিচিতিটি বিদ্যমান নয়৷"</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"হোম স্ক্রীনে পরিচিতি উইজেট যোগ করা হযেছে৷"</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"নতুন পরিচিতি তৈরি করুন"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"নতুন পরিচিতি তৈরি করুন"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"সংগঠন"</item>
+    <item msgid="7196592230748086755">"টিকা"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"ট্যাবলেটে কোনো ছবি উপলব্ধ নয়৷"</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"ফোনে কোনো ছবি উপলব্ধ নয়৷"</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"পরিচিতির ফটো"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"কাস্টম লেবেল নাম"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"কলগুলিকে সরাসরি ভয়েসমেলে পাঠান"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"ফটো সরান"</string>
+    <string name="noContacts" msgid="8579310973261953559">"কোনো পরিচিতি নেই৷"</string>
+    <string name="noGroups" msgid="8614664663561385253">"কোনো গোষ্ঠী নেই৷"</string>
+    <string name="noAccounts" msgid="7768267764545265909">"গোষ্ঠীগুলি তৈরি করার জন্য আপনার একটি অ্যাকাউন্টের প্রয়োজন৷"</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"এই গোষ্ঠীতে কেউ নেই৷"</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"কিছু যোগ করতে, গোষ্ঠী সম্পাদনা করুন৷"</string>
+    <string name="savingContact" msgid="4075751076741924939">"পরিচিতি সংরক্ষণ করা হচ্ছে…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"পরিচিতি সংরক্ষিত হয়েছে৷"</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"পরিচিতির পরিবর্তনগুলি সংরক্ষণ করা যায়নি৷"</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"গোষ্ঠী সংরক্ষিত হয়েছে৷"</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"গোষ্ঠীর পরিবর্তনগুলি সংরক্ষণ করা যায়নি৷"</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"ফোন নম্বর সহ ১টি পরিচিতি"</item>
+    <item quantity="other" msgid="3299954047880968205">"ফোন নম্বর সহ <xliff:g id="COUNT">%d</xliff:g>টি পরিচিতি"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"ফোন নম্বর সহ কোনো পরিচিতি নেই"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"১টি খুঁজে পাওয়া গেছে"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g>টি খুঁজে পাওয়া গেছে"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"কোনো পরিচিতি নেই"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"১টি খুঁজে পাওয়া গেছে"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g>টি খুঁজে পাওয়া গেছে"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"সকল পরিচিতি"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"পছন্দসইগুলি"</string>
+    <string name="callBack" msgid="5498224409038809224">"কল ব্যাক করুন"</string>
+    <string name="callAgain" msgid="3197312117049874778">"আবার কল করুন"</string>
+    <string name="returnCall" msgid="8171961914203617813">"মিস হয়ে যওয়া নম্বরে পুনরায় কল করুন"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"পরিচিতিগুলিতে <xliff:g id="EMAIL">%s</xliff:g> যোগ করবেন?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"পরিচিতির ফটো"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"যোগ চিহ্ন"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="TOTAL_NUMBER">%s</xliff:g>টির মধ্যে <xliff:g id="CURRENT_NUMBER">%s</xliff:g>টি পরিচিতি"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"আপনার পরিচিতিগুলির নামগুলি"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"এই ক্রিয়াটিকে চালনা করার জন্য কোনো অ্যাপ্লিকেশান পাওয়া যায়নি৷"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"পূর্ববর্তী স্ক্রীনে প্রত্যাবর্তন করার জন্য ক্লিক করুন"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"ফোন নম্বর জুড়ুন"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"ইমেল জুড়ুন"</string>
+    <string name="missing_app" msgid="1466111003546611387">"এই ক্রিয়াটিকে চালনা করার জন্য কোনো অ্যাপ্লিকেশান পাওয়া যায়নি৷"</string>
+    <string name="menu_share" msgid="943789700636542260">"ভাগ করুন"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"পরিচিতিগুলিতে জুড়ুন"</string>
+    <string name="share_via" msgid="563121028023030093">"এর মাধ্যমে পরিচিতি ভাগ করুন"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"অ্যাকাউন্টের অধীনে গোষ্ঠী তৈরি করুন"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"ভয়েস চ্যাট"</string>
+    <string name="video_chat" msgid="1872255818640336072">"ভিডিও চ্যাট"</string>
+    <string name="connections" msgid="8098440723172028350">"সংযোগগুলি"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"সংযোগ যোগ করুন"</string>
+    <string name="recent" msgid="2659189233141493004">"সাম্প্রতিক"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"সাম্প্রতিক আপডেটগুলি"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g>টি পরিচিতি"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"এই ফটোটি ব্যবহার করুন"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"এই অ্যাপ্লিকেশন থেকে সম্পাদনাযোগ্য নয়৷"</string>
+    <string name="group_read_only" msgid="1061762906115697637">"এই ডিভাইসে সম্পাদনযোগ্য নয়৷"</string>
+    <string name="take_photo" msgid="7496128293167402354">"ফটো তুলুন"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"নতুন ফটো তুলুন"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"ফটো চয়ন করুন"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"নতুন ফটো নির্বাচন করুন"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"যোগাযোগ তালিকার ভাষা পরিবর্তন প্রতিফলিত করতে আপডেট করা হচ্ছে৷"</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"পরিচিতি তালিকা আপডেট করা হচ্ছে৷"</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"পরিচিতিগুলি আপগ্রেড হওয়ার প্রক্রিয়ায় রয়েছে৷ \n\nআপগ্রেড প্রক্রিয়াটির জন্য আনুমানিক <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB অভ্যন্তরীণ সঞ্চয়স্থানের প্রয়োজন৷\n\nনিম্নলিখিত যেকোনো একটি বিকল্প চয়ন করুন:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"কিছু অ্যাপ্লিকেশান আনইনস্টল করুন"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"পুনরায় আপগ্রেডের চেষ্টা করুন"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"অনুসন্ধান করছে..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"নির্বাচিত দেখান"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"সকল দেখান"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"সবগুলি নির্বাচন করুন"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"সবগুলি নির্বাচন মুক্ত করুন"</string>
+    <string name="add_field" msgid="2384260056674995230">"আরেকটি ক্ষেত্র যোগ করুন"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"নতুন যোগ করুন"</string>
+    <string name="add_organization" msgid="7311893231158291197">"সংগঠন যোগ করুন"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"তারিখ"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"গোষ্ঠী নাম"</string>
+    <string name="description_star" msgid="2605854427360036550">"পছন্দসই"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"পরিচিতি সম্পাদনা করুন"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"মার্জ করা হয়নি"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g>টি উৎস থেকে মার্জ করা হয়েছে"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"নির্বাচিত পরিচিতির সঙ্গে বর্তমান পরিচিতিগুলি যোগ করবেন?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"নির্বাচিত পরিচিতি সম্পাদনায় নিয়ে যাবেন? আপনার এ পর্যন্ত প্রবেশ করানো তথ্য অনুলিপি করা হবে৷"</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"আমার পরিচিতিগুলিতে অনুলিপি করুন"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"আমার পরিচিতিগুলিতে যুক্ত করুন"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"ডিরেক্টরি <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"কাস্টম"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"সেটিংস"</string>
+    <string name="menu_settings" msgid="377929915873428211">"সেটিংস"</string>
+    <string name="menu_help" msgid="5123887102216637725">"সহায়তা"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"প্রদর্শনের বিকল্পগুলি"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"ফোন নম্বর"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"পরিচিতিগুলিতে যোগ করুন"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"পরিচিতিতে যুক্ত করুন"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"বন্ধ"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"বছর লিখুন"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"পরিচিতি"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"লোড হচ্ছে..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"একটি নতুন পরিচিতি তৈরি করুন"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"একটি অ্যাকাউন্টে সাইন ইন করুন"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"পরিচিতিগুলি আমদানি করুন"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"নতুন গোষ্ঠী তৈরি করুন"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"নতুন গোষ্ঠী তৈরি করুন"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"১টি গোষ্ঠী"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g>টি গোষ্ঠী"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"গোষ্ঠী \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" মুছবেন? (পরিচিতিগুলি নিজে থেকে মুছে যাবে না৷)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> থেকে <xliff:g id="COUNT_0">%1$d</xliff:g> জন"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> থেকে <xliff:g id="COUNT_0">%1$d</xliff:g> জন"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> জন"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> জন"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"অন্য একটির সাথে যোগ করার আগে পরিচিতির নাম লিখুন৷"</string>
+    <string name="copy_text" msgid="3257145021583508761">"ক্লিপবোর্ডে অনুলিপি করুন"</string>
+    <string name="set_default" msgid="4417505153468300351">"ডিফল্ট সেট করুন"</string>
+    <string name="clear_default" msgid="7193185801596678067">"ডিফল্ট সাফ করুন"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"পাঠ্য অনুলিপি হয়েছে"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"আপনার পরিবর্তনগুলি বাতিল করতে চান?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"আমার প্রোফাইল সেট আপ করুন"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"ব্যক্তির নাম লিখুন"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"গোষ্ঠীর নাম"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"আমার স্থানীয় প্রোফাইল"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"আমার <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> প্রোফাইল"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"সমস্ত পরিচিতি দেখানো হচ্ছে"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Google অ্যাকাউন্টের সাথে পরিচিতিগুলি ভাল কাজ করে।\n \n যে কোনো ওয়েব ব্রাউজার থেকে অ্যাক্সেস করুন।\n • নিরাপদভাবে আপনার পরিচিতিগুলির ব্যাক আপ নিন।"</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"আপনার ফোন হারিয়ে গেলেও আপনার পরিচিতিগুলিকে নিরাপদ রাখুন: একটি অনলাইন পরিষেবার সাথে সিংক্রোনাইজ করুন৷"</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"একটি অ্যাকাউন্ট যোগ করুন"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"আপনার নতুন পরিচিতিটির ব্যাকআপ নেওয়া হবে না৷ পরিচিতিগুলিকে অনলাইনে ব্যাকআপ নেওয়ার জন্য একটি অ্যাকাউন্ট যুক্ত করবেন?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"আপনার নতুন পরিচিতি <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> এর সাথে সিংক্রোনাইজ করা হবে৷"</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"আপনি নিম্নলিখিত অ্যাকাউন্টগুলির মধ্যে যেকোনো একটির সাথে আপনার নতুন পরিচিতি সিংক্রোনাইজ করতে পারেন৷ আপনি কোনটি ব্যবহার করতে চান?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"নতুন পরিচিতি যোগ করুন"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"পরিচিতি সম্পাদনা করুন"</string>
+    <string name="keep_local" msgid="1258761699192993322">"স্থানীয় ভাবে রাখুন"</string>
+    <string name="add_account" msgid="8201790677994503186">"অ্যাকাউন্ট জুড়ুন"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"নতুন অ্যাকাউন্ট যোগ করুন"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"ডেটাবেস ফাইলগুলি রপ্তানি করুন"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"নতুন পরিচিতি যোগ করুন"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"আরো দেখুন"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"আরো কম"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"সবগুলো দেখুন"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"সাম্প্রতিক"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"সম্পর্কে"</string>
+    <string name="send_message" msgid="8938418965550543196">"বার্তা পাঠান"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"একটি ব্যক্তিগত প্রতিলিপি তৈরি করা হচ্ছে..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"গতকাল"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"আগামীকাল"</string>
+    <string name="today" msgid="8041090779381781781">"আজ"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"আজ <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"আগামীকাল <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(শিরোনামহীন ইভেন্ট)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"সেট করুন"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"সংগঠন"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"ডাকনাম"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"টীকা"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"ওয়েবসাইট"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"ইভেন্ট"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"সম্পর্ক"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"অবস্থান জানার দিকনির্দেশ"</string>
+</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 25bf946..d9041ec 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Persones"</string>
+    <string name="people" msgid="1190841469952343354">"Contactes"</string>
     <string name="contactsList" msgid="8661624236494819731">"Contactes"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Contacte"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Marcatge directe"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Trieu un número per trucar-hi"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Trieu un número per enviar-hi un missatge"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Tria un contacte"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Selecció d\'un contacte nou"</string>
     <string name="starredList" msgid="4817256136413959463">"Destacats"</string>
     <string name="frequentList" msgid="7154768136473953056">"Freqüent"</string>
     <string name="strequentList" msgid="5640192862059373511">"Preferits"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Dades de contacte"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Visualitza el contacte"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Edita el contacte"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Crea un contacte"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Edita el grup"</string>
@@ -40,9 +40,11 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Visualitza el contacte"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Afegeix als preferits"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Elimina dels preferits"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Eliminat dels preferits"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Afegit als preferits"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Edita"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Suprimeix"</string>
-    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Posa-ho a la pantalla d\'inici"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Afegeix a la pantalla d\'inici"</string>
     <string name="menu_call" msgid="3992595586042260618">"Truca al contacte"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Envia un SMS al contacte"</string>
     <string name="menu_splitAggregate" msgid="8368636463748691868">"Separa"</string>
@@ -59,13 +61,13 @@
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contactes suggerits"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Tots els contactes"</string>
     <string name="contactsJoinedMessage" msgid="7208148163607047389">"Contactes units"</string>
-    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Est. to trucada"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Estableix so"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Trucades a la bústia de veu"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"No pots suprimir cap contacte dels comptes de només lectura, però pots amagar-los a les llistes de contactes."</string>
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Aquest contacte inclou informació de diversos comptes. La informació dels comptes només de lectura s\'ocultarà a les llistes de contactes, però no se suprimirà."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Si suprimiu aquest contacte se suprimirà informació de diversos comptes."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Aquest contacte se suprimirà."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Descarta"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Descarta els canvis"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"El contacte no existeix."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"El widget de contacte s\'ha afegit a la pantalla d\'inici."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Crea un contacte nou"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contactes amb números de telèfon"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"No hi ha cap contacte amb número de telèfon"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 contacte"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> contactes"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 contacte"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> contactes"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 contacte"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> contactes"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Tots els contactes"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grups"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Tots contactes"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Preferits"</string>
     <string name="callBack" msgid="5498224409038809224">"Torna la trucada"</string>
     <string name="callAgain" msgid="3197312117049874778">"Torna a trucar"</string>
     <string name="returnCall" msgid="8171961914203617813">"Retorna la trucada"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactes"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Noms dels contactes"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"No s\'ha trobat cap aplicació per processar aquesta acció."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Fes clic per tornar a la pantalla anterior"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Afegeix un número de telèfon."</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Afegeix una adreça electrònica."</string>
+    <string name="missing_app" msgid="1466111003546611387">"No s\'ha trobat cap aplicació per processar aquesta acció."</string>
     <string name="menu_share" msgid="943789700636542260">"Comparteix"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Afegeix als contactes"</string>
     <string name="share_via" msgid="563121028023030093">"Comparteix el contacte mitjançant"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Creació d\'un grup al compte"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Xat de veu"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Utilitza aquesta foto"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"No es pot editar des d\'aquesta aplicació."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"No hi ha informació addicional per a aquest contacte."</string>
     <string name="group_read_only" msgid="1061762906115697637">"No es pot editar en aquest dispositiu."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Ordena la llista per"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Nom"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Cognom"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Mostra els noms dels contactes"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Nom primer"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Cognoms primer"</string>
     <string name="take_photo" msgid="7496128293167402354">"Fes una foto"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Fes una foto nova"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Selecciona una foto de la galeria"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Selecciona una foto nova de la galeria"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Tria una foto"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Selecciona una foto nova"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"S\'actualitza la llista de contactes per reflectir el canvi d\'idioma."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"S\'actualitza la llista de contactes."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"S\'estan actualitzant els contactes. \n\nEl procés d\'actualització requereix aproximadament <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB de l\'emmagatzematge intern.\n\nTria una de les opcions següents:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Afegeix organització"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Data"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nom del grup"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"mitjançant <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> mitjançant <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"preferit"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Edita el contacte"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Copia a Els meus contactes"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Afegeix a Els meus contactes"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Directori <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"S\'està creant una còpia personal..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Personalitzada"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Configuració"</string>
     <string name="menu_settings" msgid="377929915873428211">"Configuració"</string>
@@ -181,7 +174,7 @@
     <string name="preference_displayOptions" msgid="1341720270148252393">"Opcions de visualització"</string>
     <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
     <string name="non_phone_caption" msgid="1541655052330027380">"Número de telèfon"</string>
-    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Afegeix-ho als contactes"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Afegeix als contactes"</string>
     <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Afegeix al contacte"</string>
     <string name="non_phone_close" msgid="7608506439725515667">"Tanca"</string>
     <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"El meu perfil local"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"El meu perfil de <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"S\'estan mostrant tots els contactes"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Contactes funciona millor amb un Compte de Google.\n\n• Accedeix-hi des de qualsevol navegador web.\n• Fes una còpia de seguretat dels teus contactes."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"La funció Contactes funciona millor amb un compte de Google.\n\n• Accedeix-hi des de qualsevol navegador.\n• Fes còpies de seguretat dels contactes de manera segura."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Mantén els contactes segurs encara que perdis el telèfon: sincronitza\'ls amb un servidor en línia."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Afegeix un compte"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"No es farà una còpia de seguretat del teu contacte nou. Vols afegir un compte que faci còpies de seguretat dels contactes en línia?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"El teu contacte nou se sincronitzarà amb <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Pots sincronitzar el teu contacte nou amb un dels comptes següents. Quin vols utilitzar?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Afegir un contacte"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Editar un contacte"</string>
     <string name="keep_local" msgid="1258761699192993322">"Conserva localment"</string>
     <string name="add_account" msgid="8201790677994503186">"Afegeix un compte"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Afegeix un compte nou"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Exporta els fitxers de la base de dades"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Imatge. Selecciona-la per canviar-la"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"afegeix un contacte nou"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Mostra\'n més"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Mostra\'n menys"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Mostra-ho tot"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Recents"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Quant a"</string>
+    <string name="send_message" msgid="8938418965550543196">"Envia el missatge"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"S\'està creant una còpia personal..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Ahir"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Demà"</string>
+    <string name="today" msgid="8041090779381781781">"Avui"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Avui a les <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Demà a les <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Esdeveniment sense títol)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Configura"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"MI"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organització"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Àlies"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Nota"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Lloc web"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Esdeveniment"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relació"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"indicacions cap a la ubicació"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 801a4a0..30d4d71 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Lidé"</string>
+    <string name="people" msgid="1190841469952343354">"Kontakty"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kontakty"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kontakt"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Přímé vytáčení"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Výběr čísla pro hovor"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Výběr čísla pro zprávu"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Vyberte kontakt"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Výběr nového kontaktu"</string>
     <string name="starredList" msgid="4817256136413959463">"Označené hvězdičkou"</string>
     <string name="frequentList" msgid="7154768136473953056">"Časté"</string>
     <string name="strequentList" msgid="5640192862059373511">"Oblíbené"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Kontaktní údaje"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Zobrazit kontakt"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Upravit kontakt"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Vytvořit kontakt"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Upravit skupinu"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Zobrazit kontakt"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Přidat k oblíbeným položkám"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Odebrat z oblíbených položek"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Odstraněno z oblíbených"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Přidáno mezi oblíbené"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Upravit"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Smazat"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Umístit na plochu"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Tento kontakt obsahuje informace z několika účtů. Informace z účtů pouze pro čtení budou v seznamech kontaktů skryty, ale nebudou smazány."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Smazáním tohoto kontaktu smažete informace z více účtů."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Tento kontakt bude smazán."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Zahodit"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Zahodit změny"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Kontakt neexistuje."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widget Kontakt byl přidán na plochu."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Vytvořit nový kontakt"</string>
@@ -86,7 +88,7 @@
     <string name="emptyGroup" msgid="7502116218697177370">"Skupina nemá žádné členy."</string>
     <string name="addPeopleToGroup" msgid="7879585947222263516">"Chcete-li někoho přidat, upravte skupinu."</string>
     <string name="savingContact" msgid="4075751076741924939">"Ukládání kontaktu…"</string>
-    <string name="contactSavedToast" msgid="7152589189385441091">"Kontakt byl uložen."</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Kontakt byl uložen"</string>
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Změny kontaktů nelze uložit."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Skupina byla uložena."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Změny skupiny nelze uložit."</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"Kontakty s telefonními čísly: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ke kontaktům nejsou přiřazena žádná telefonní čísla"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 kontakt"</item>
-    <item quantity="other" msgid="3578469907265375314">"Kontakty: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Nalezeno: 1"</item>
     <item quantity="other" msgid="3852668542926965042">"Nalezeno: <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"Nalezeno: 1"</item>
     <item quantity="other" msgid="7988132539476575389">"Nalezeno: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Všechny kontakty"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Skupiny"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Všechny kontakty"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Oblíbené"</string>
     <string name="callBack" msgid="5498224409038809224">"Zavolat zpět"</string>
     <string name="callAgain" msgid="3197312117049874778">"Zavolat znovu"</string>
     <string name="returnCall" msgid="8171961914203617813">"Zpětné volání"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktů"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Jména vašich kontaktů"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Aplikace potřebná k provedení této akce nebyla nalezena."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Kliknutím se vrátíte na předchozí obrazovku"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Přidat telefonní číslo"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Přidat e-mail"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Aplikace potřebná k provedení této akce nebyla nalezena."</string>
     <string name="menu_share" msgid="943789700636542260">"Sdílet"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Přidat do kontaktů"</string>
     <string name="share_via" msgid="563121028023030093">"Sdílet kontakt pomocí"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Vytvořit skupinu v účtu"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Hlasový chat"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Použít tuto fotografii"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Nelze upravit v této aplikaci."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"U tohoto kontaktu nejsou uvedeny dodatečné informace."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Nelze upravit v tomto zařízení."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Seřadit seznam podle"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Křestní jméno"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Příjmení"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Zobrazit jména kontaktů"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Nejprve křestní jméno"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Nejprve příjmení"</string>
     <string name="take_photo" msgid="7496128293167402354">"Vyfotit"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Pořídit novou fotografii"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Vybrat fotografii z Galerie"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Vybrat novou fotografii z Galerie"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Vybrat fotku"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Vybrat novou fotku"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Probíhá aktualizace seznamu kontaktů související se změnou jazyka."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Probíhá aktualizace seznamu kontaktů."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Probíhá upgrade kontaktů. \n\nUpgrade vyžaduje přibližně <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB interní paměti.\n\nZvolte jednu z následujících možností:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Přidat organizaci"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Datum"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Název skupiny"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"pomocí služby <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> prostřednictvím služby <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"oblíbené"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Upravit kontakt"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Zkopírovat do kontaktů"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Přidat do skupiny Moje kontakty"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Adresář <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Vytváření osobní kopie..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Vlastní"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Nastavení"</string>
     <string name="menu_settings" msgid="377929915873428211">"Nastavení"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Můj místní profil"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Můj profil <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Zobrazují se všechny kontakty"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Služba Lidé funguje lépe s účtem Google.\n\n• Můžete k ní přistupovat z libovolného webového prohlížeče\n• Kontakty lze bezpečně zálohovat."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"S účtem Google fungují Kontakty lépe:\n\n• Je k nim možné přistupovat z každého webového prohlížeče.\n• Bezpečně se zálohují."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Mějte kontakty v bezpečí, i když telefon ztratíte: synchronizujte je s některou online službou."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Přidat účet"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Nový kontakt nebude zálohován. Chcete přidat účet pro zálohování kontaktů online?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Nový kontakt bude synchronizován s účtem <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
-    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Nový kontakt můžete synchronizovat s jedním z následujících účtů. Který z nich chcete použít?"</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Nový kontakt můžete synchronizovat s jedním z následujících účtů. Který z nich chcete použít?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Přidat nový kontakt"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Upravit kontakt"</string>
     <string name="keep_local" msgid="1258761699192993322">"Zachovat jako místní"</string>
     <string name="add_account" msgid="8201790677994503186">"Přidat účet"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Přidat nový účet"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Exportovat soubory databáze"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Chcete-li obrázek změnit, vyberte jej"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"přidat nový kontakt"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Zobrazit více"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Zobrazit méně"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Zobrazit vše"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Nedávné"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"O kartě"</string>
+    <string name="send_message" msgid="8938418965550543196">"Odeslat zprávu"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Vytváření osobní kopie..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Včera"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Zítra"</string>
+    <string name="today" msgid="8041090779381781781">"Dnes"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Dnes v <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Zítra v <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Událost bez názvu)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Nastavit"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Chat"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organizace"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Přezdívka"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Poznámka"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Web"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Událost"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Vztah"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"trasy k místům"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 603cc38..ce8ea91 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Personer"</string>
+    <string name="people" msgid="1190841469952343354">"Kontaktpersoner"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kontakter"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kontakt"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Direkte opkald"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Vælg et nummer at ringe til"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Vælg et nummer, som beskeden skal sendes til"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Vælg en kontaktperson"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Vælg en ny kontaktperson"</string>
     <string name="starredList" msgid="4817256136413959463">"Stjernemarkerede"</string>
     <string name="frequentList" msgid="7154768136473953056">"Ofte"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favorit"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Kontaktoplysninger"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Vis kontakt"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Rediger kontakt"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Opret kontakt"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Rediger gruppe"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Vis kontakt"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Føj til favoritter"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Fjern fra favoritter"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Fjernet fra foretrukne"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Føjet til foretrukne"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Rediger"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Slet"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Placer på startskærmen"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Denne kontakt indeholder oplysninger fra flere konti. Oplysningerne fra skrivebeskyttede konti vil blive skjult i dine lister over kontakter, men ikke slettet."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Sletning af denne kontakt sletter oplysninger fra flere konti."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Denne kontakt slettes."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Kassér"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Kassér ændringer"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Kontaktpersonen findes ikke."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Kontaktwidgetten føjes til startskærmen."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Opret ny kontakt"</string>
@@ -78,7 +80,7 @@
     <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Der er ingen tilgængelige billeder på telefonen."</string>
     <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Billede af kontaktperson"</string>
     <string name="customLabelPickerTitle" msgid="1081475101983255212">"Navn på tilpasset etiket"</string>
-    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Send opkald direkte til voicemail"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Send opkald direkte til telefonsvarer"</string>
     <string name="removePhoto" msgid="4898105274130284565">"Fjern billede"</string>
     <string name="noContacts" msgid="8579310973261953559">"Der er ingen kontakter."</string>
     <string name="noGroups" msgid="8614664663561385253">"Ingen grupper."</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontaktpersoner med telefonnumre"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Der er ingen kontakter med telefonnumre"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 kontaktperson"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> kontaktpersoner"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 fundet"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> fundet"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 fundet"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> fundet"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Alle kontaktpersoner"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupper"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Alle kontakter"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoritter"</string>
     <string name="callBack" msgid="5498224409038809224">"Ring tilbage"</string>
     <string name="callAgain" msgid="3197312117049874778">"Ring op igen"</string>
     <string name="returnCall" msgid="8171961914203617813">"Ring tilbage"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> af <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakter"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Navne på dine kontakter"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Der blev ikke fundet nogen app, der kan håndtere denne handling."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Klik for at gå tilbage til forrige skærmbillede"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Tilføj mobiltelefonnummer"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Tilføj e-mail"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Der blev ikke fundet nogen app, der kan håndtere denne handling."</string>
     <string name="menu_share" msgid="943789700636542260">"Del"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Føj til kontaktpersoner"</string>
     <string name="share_via" msgid="563121028023030093">"Del kontakt via"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Opret gruppe på konto"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Talechat"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Brug dette billede"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Kan ikke redigeres fra denne app."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Der er ikke flere oplysninger om denne kontaktperson."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Kan ikke redigeres på denne enhed."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Sorter liste efter"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Fornavn"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Efternavn"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Se kontaktnavne"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Fornavn først"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Efternavn først"</string>
     <string name="take_photo" msgid="7496128293167402354">"Tag billede"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Tag nyt billede"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Vælg billede fra Galleri"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Vælg nyt billede fra Galleri"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Vælg billede"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Vælg et nyt billede"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Listen over kontaktpersoner opdateres for at afspejle det nye sprog."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Listen over kontaktpersoner opdateres."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontaktpersonerne er ved at blive opgraderet. \n\nOpgraderingen kræver ca. <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB intern lagerplads.\n\nVælg et af følgende:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Tilføj organisation"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Dato"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Gruppenavn"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"via <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> via <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"foretrukken"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Rediger kontaktperson"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopier til Mine kontaktpersoner"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Føj til mine kontaktpersoner"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Indeks <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Opretter en privat kopi..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Tilpasset"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Indstillinger"</string>
     <string name="menu_settings" msgid="377929915873428211">"Indstillinger"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Min lokale profil"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Min <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>-profil"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Viser alle kontaktpersoner"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Personer fungerer bedre med en Google-konto.\n\n• Få adgang fra enhver webbrowser.\n• Sikkerhedskopier dine kontaktpersoner sikkert."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kontaktpersoner fungerer bedre med en Google-konto.\n\n• Få adgang fra enhver webbrowser. \n• Sikkerhedskopiér dine kontaktpersoner på sikker vis."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Behold dine kontaktpersoner, selv hvis du mister din telefon: Synkroniser med en onlinetjeneste."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Tilføj en konto"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Din nye kontaktperson bliver ikke sikkerhedskopieret. Vil du tilføje en konto, der sikkerhedskopierer kontaktpersoner online?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Din nye kontaktperson vil blive synkroniseret med <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Du kan synkronisere din nye kontaktperson med en af de ​​følgende konti. Hvilken vil du bruge?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Tilføj ny kontaktperson"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Rediger kontaktperson"</string>
     <string name="keep_local" msgid="1258761699192993322">"Gem lokalt"</string>
     <string name="add_account" msgid="8201790677994503186">"Tilføj konto"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Tilføj ny konto"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Eksportér databasefiler"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Billede. Vælg for at ændre"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"tilføj ny kontaktperson"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Se mere"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Se mindre"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Se alle"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Seneste"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Om"</string>
+    <string name="send_message" msgid="8938418965550543196">"Send besked"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Opretter en personlig kopi..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"I går"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"I morgen"</string>
+    <string name="today" msgid="8041090779381781781">"I dag"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"I dag kl. <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"I morgen kl. <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Ikke-navngiven begivenhed)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Indstil"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Chatbesked"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisation"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Kaldenavn"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Note"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Website"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Begivenhed"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relation"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"rutevejledning til placering"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 3331f2b..c582aef 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Kontakte"</string>
+    <string name="people" msgid="1190841469952343354">"Kontakte"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kontakte"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kontakt"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Direktwahl"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Nummer für den Anruf auswählen"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Nummer für Nachricht auswählen"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Kontakt auswählen"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Neuen Kontakt auswählen"</string>
     <string name="starredList" msgid="4817256136413959463">"Markiert"</string>
     <string name="frequentList" msgid="7154768136473953056">"Häufig"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favoriten"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Kontaktinformationen"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Kontakt anzeigen"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Kontakt bearbeiten"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Kontakt erstellen"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Gruppe bearbeiten"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Kontakt anzeigen"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Zu Favoriten hinzufügen"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Aus Favoriten entfernen"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Aus Favoriten entfernt"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Zu Favoriten hinzugefügt"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Bearbeiten"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Löschen"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Auf Startbildschirm platzieren"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Dieser Kontakt enthält Informationen aus mehreren Konten. Informationen aus schreibgeschützten Konten werden nicht gelöscht, sondern in Ihren Kontaktlisten ausgeblendet."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Wenn Sie diesen Kontakt löschen, werden Informationen aus mehreren Konten gelöscht."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Dieser Kontakt wird gelöscht."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Verwerfen"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Änderungen verwerfen"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Dieser Kontakt existiert nicht."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Kontakt-Widget zum Startbildschirm hinzugefügt"</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Neuen Kontakt erstellen"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> Kontakte mit Telefonnummern"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Keine sichtbaren Kontakte mit Telefonnummern"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 Kontakt"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> Kontakte"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 gefunden"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> gefunden"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 gefunden"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> gefunden"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Alle Kontakte"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Gruppen"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Alle Kontakte"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoriten"</string>
     <string name="callBack" msgid="5498224409038809224">"Rückruf"</string>
     <string name="callAgain" msgid="3197312117049874778">"Erneut anrufen"</string>
     <string name="returnCall" msgid="8171961914203617813">"Zurückrufen"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> von <xliff:g id="TOTAL_NUMBER">%s</xliff:g> Kontakten"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Namen meiner Kontakte"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Für diese Aktion wurde keine App gefunden."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Klicken Sie hier, um zum vorherigen Bildschirm zurückzukehren."</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Telefonnummer hinzufügen"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"E-Mail-Adresse hinzufügen"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Für diese Aktion wurde keine App gefunden."</string>
     <string name="menu_share" msgid="943789700636542260">"Teilen"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Zu Kontakten hinzufügen"</string>
     <string name="share_via" msgid="563121028023030093">"Kontakt teilen über"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Konto für Gruppenerstellung"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Sprach-Chat"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Dieses Foto verwenden"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"In dieser App nicht bearbeitbar"</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Keine Zusatzinformationen zu diesem Kontakt"</string>
     <string name="group_read_only" msgid="1061762906115697637">"Auf diesem Gerät nicht bearbeitbar"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Liste sortieren nach"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Vorname"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Nachname"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Kontaktnamen anzeigen"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Vorname zuerst"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Nachname zuerst"</string>
     <string name="take_photo" msgid="7496128293167402354">"Foto machen"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Neues Foto aufnehmen"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Foto aus Galerie auswählen"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Neues Foto aus Galerie auswählen"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Foto auswählen"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Neues Foto auswählen"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Kontaktliste wird an die geänderte Sprache angepasst..."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Kontaktliste wird aktualisiert..."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontakte werden gerade aktualisiert. \n\nDas Upgrade erfordert etwa <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB des internen Speichers.\n\nWählen Sie eine der folgenden Optionen:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Unternehmen hinzufügen"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Datum"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Gruppenname"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"über <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> über <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"Favorit"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Kontakt bearbeiten"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"In meine Kontakte kopieren"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Zu meinen Kontakten hinzufügen"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Verzeichnis <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Persönliche Kopie wird erstellt..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Benutzerdefiniert"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Einstellungen"</string>
     <string name="menu_settings" msgid="377929915873428211">"Einstellungen"</string>
@@ -214,20 +207,45 @@
     <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Sollen die Änderungen verworfen werden?"</string>
     <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
     <string name="profile_display_name" msgid="4127389543625918771">"Mein Profil einrichten"</string>
-    <string name="enter_contact_name" msgid="1738391320566349924">"Name der Person eingeben"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Namen der Person eingeben"</string>
     <string name="group_name_hint" msgid="238359485263401293">"Gruppenname"</string>
     <string name="local_profile_title" msgid="2021416826991393684">"Mein lokales Profil"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Mein <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>-Profil"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Alle Kontakte werden angezeigt."</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Die Personenfunktion funktioniert besser mit einem Google-Konto.\n\n• Zugriff über einen beliebigen Browser\n• Sichern von Kontakten mit Schutzfunktion"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Die App \"Kontakte\" funktioniert am besten mit einem Google-Konto.\n\n• Sie können über alle Webbrowser darauf zugreifen.\n• Sichern und schützen Sie Ihre Kontakte."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Synchronisierung mit einem Online-Service: Ihre Kontakte sind dann auch sicher, wenn Sie Ihr Telefon verlieren."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Konto hinzufügen"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Ihr neuer Kontakt wird nicht gesichert. Konto für die Online-Sicherung von Kontakten hinzufügen?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Ihr neuer Kontakt wird mit <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> synchronisiert."</string>
-    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Sie können Ihren neuen Kontakt mit einem der folgenden Konten synchronisieren. Welches möchten Sie verwenden?"</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Sie können Ihren neuen Kontakt mit einem der folgenden Konten synchronisieren. Welches Konto möchten Sie verwenden?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Kontakt hinzufügen"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Kontakt bearbeiten"</string>
     <string name="keep_local" msgid="1258761699192993322">"Lokal speichern"</string>
     <string name="add_account" msgid="8201790677994503186">"Konto hinzufügen"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Neues Konto hinzufügen"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Datenbankdateien exportieren"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Bild. Zum Ändern auswählen"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"Neuen Kontakt hinzufügen"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Mehr anzeigen"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Weniger anzeigen"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Alle anzeigen"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Letzte"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Info"</string>
+    <string name="send_message" msgid="8938418965550543196">"Nachricht senden"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Persönliche Kopie wird erstellt…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Gestern"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Morgen"</string>
+    <string name="today" msgid="8041090779381781781">"Heute"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Heute um <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Morgen um <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Unbenannter Termin)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Festlegen"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Chat"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisation"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Nickname"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Notiz"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Website"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Termin"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Beziehung"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"Wegbeschreibung"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 1ef4817..2ed8f38 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Άτομα"</string>
+    <string name="people" msgid="1190841469952343354">"Επαφές"</string>
     <string name="contactsList" msgid="8661624236494819731">"Επαφές"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Επαφή"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Άμεση κλήση"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Επιλογή ενός αριθμού για κλήση"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Επιλογή ενός αριθμού για μήνυμα"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Επιλέξτε μια επαφή"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Επιλογή νέας επαφής"</string>
     <string name="starredList" msgid="4817256136413959463">"Με αστέρι"</string>
     <string name="frequentList" msgid="7154768136473953056">"Συχνές"</string>
     <string name="strequentList" msgid="5640192862059373511">"Αγαπ."</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Λεπτομέρειες επαφής"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Προβολή επαφής"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Επεξεργασία επαφής"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Δημιουργία επαφής"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Επεξεργασία ομάδας"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Προβολή επαφής"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Προσθήκη στα αγαπημένα"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Κατάργηση από τα αγαπημένα"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Καταργήθηκε από τα αγαπημένα"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Προστέθηκε στα αγαπημένα"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Επεξεργασία"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Διαγραφή"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Τοποθέτηση στην αρχική οθόνη"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Αυτή η επαφή περιέχει πληροφορίες από πολλούς λογαριασμούς. Θα γίνει απόκρυψη και όχι διαγραφή των πληροφοριών που προέρχονται από λογαριασμούς μόνο για ανάγνωση στις λίστες επαφών σας."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Εάν διαγράψετε αυτήν την επαφή, θα γίνει διαγραφή των πληροφοριών από πολλούς λογαριασμούς."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Αυτή η επαφή θα διαγραφεί."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Απόρριψη"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Απόρριψη αλλαγών"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Η επαφή δεν υπάρχει."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Το γραφικό στοιχείο επαφών προστέθηκε στην αρχική οθόνη."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Δημιουργία νέας επαφής"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> επαφές με αριθμούς τηλεφώνου"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Δεν υπάρχουν επαφές με αριθμούς τηλεφώνου"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 επαφή"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> επαφές"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Βρέθηκε 1"</item>
     <item quantity="other" msgid="3852668542926965042">"Βρέθηκαν <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"Βρέθηκε 1"</item>
     <item quantity="other" msgid="7988132539476575389">"Βρέθηκαν <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Όλες οι επαφές"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Ομάδες"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Όλες οι επαφές"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Αγαπημένα"</string>
     <string name="callBack" msgid="5498224409038809224">"Επανάκληση"</string>
     <string name="callAgain" msgid="3197312117049874778">"Επανάληψη κλήσης"</string>
     <string name="returnCall" msgid="8171961914203617813">"Επιστροφή κλήσης"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> από <xliff:g id="TOTAL_NUMBER">%s</xliff:g> επαφές"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Ονόματα των επαφών σας"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Δεν βρέθηκε εφαρμογή για τη διαχείριση αυτής της ενέργειας."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Κάντε κλικ για να επιστρέψετε στην προηγούμενη οθόνη"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Προσθήκη αριθμού τηλεφώνου"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Προσθήκη email"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Δεν βρέθηκε εφαρμογή για τη διαχείριση αυτής της ενέργειας."</string>
     <string name="menu_share" msgid="943789700636542260">"Κοινή χρήση"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Προσθήκη στις επαφές"</string>
     <string name="share_via" msgid="563121028023030093">"Κοινή χρήση μέσω"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Δημιουργία ομάδας στο λογαριασμό"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Φωνητική συνομιλία"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Χρήση αυτής της φωτογραφίας"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Αδυναμία επεξεργασ. από αυτήν την εφαρμ."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Δεν υπάρχουν πρόσθετες πληροφορίες για αυτήν την επαφή."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Αδυναμία επεξεργασίας στη συσκευή."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Ταξινόμηση λίστας κατά"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Όνομα"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Επίθετο"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Προβολή ονομάτων επαφών"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Πρώτα το όνομα"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Πρώτα το επίθετο"</string>
     <string name="take_photo" msgid="7496128293167402354">"Λήψη φωτογραφίας"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Λήψη νέας φωτογραφίας"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Επιλογή φωτογραφιών από τη Συλλογή"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Επιλογή νέας φωτογραφίας από το Gallery"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Επιλογή φωτογραφίας"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Επιλογή νέας φωτογραφίας"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Γίνεται ενημέρωση της λίστας επαφών για να αντικατοπτριστεί η αλλαγή γλώσσας."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Γίνεται ενημέρωση της λίστας επαφών."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Γίνεται αναβάθμιση των επαφών. \n\nΗ διαδικασία αναβάθμισης απαιτεί περίπου <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB από τον εσωτερικό χώρο αποθήκευσης.\n\nΟρίστε μία από τις παρακάτω επιλογές:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Προσθήκη οργανισμού"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Ημερομηνία"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Όν. ομάδ."</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"μέσω <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> μέσω <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"αγαπημένο"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Επεξεργασία επαφής"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Αντιγραφή στις Επαφές μου"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Προσθήκη στις Επαφές μου"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Κατάλογος <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Δημιουργία προσωπικού αντιγράφου..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Προσαρμοσμένη"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Ρυθμίσεις"</string>
     <string name="menu_settings" msgid="377929915873428211">"Ρυθμίσεις"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Τοπικό προφίλ"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Προφίλ μου <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Εμφάνιση όλων των επαφών"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Η εφαρμογή \"Άτομα\" λειτουργεί καλύτερα με έναν Λογαριασμό Google.\n\n• Αποκτήστε πρόσβαση από οποιοδήποτε πρόγραμμα περιήγησης.\n• Δημιουργήστε αντίγραφα ασφαλείας των επαφών σας."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Οι Επαφές λειτουργούν καλύτερα με έναν Λογαριασμό Google.\n\n• Πρόσβαση από οποιοδήποτε πρόγραμμα περιήγησης.\n• Δημιουργία αντιγράφων ασφαλείας των επαφών σας με ασφάλεια."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Διατηρήστε τις επαφές σας ασφαλείς ακόμα και αν χάσετε το τηλέφωνό σας: συγχρονισμός με άλλη συσκευή στο διαδίκτυο."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Προσθήκη λογαριασμού"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Δεν θα δημιουργηθεί αντίγραφο ασφαλείας για τη νέα επαφή σας. Θέλετε να προσθέσετε ένα λογαριασμό που δημιουργεί αντίγραφα ασφαλείας επαφών στο διαδίκτυο;"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Η νέα επαφή σας θα συγχρονιστεί με <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Μπορείτε να συγχρονίσετε τη νέα επαφή με έναν από τους παρακάτω λογαριασμούς. Ποιον θέλετε να χρησιμοποιήσετε;"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Προσθήκης επαφής"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Επεξεργασία επαφής"</string>
     <string name="keep_local" msgid="1258761699192993322">"Αποθήκευση τοπικά"</string>
     <string name="add_account" msgid="8201790677994503186">"Προσθήκη λογαριασμού"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Προσθήκη νέου λογαριασμού"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Εξαγωγή αρχείων βάσης δεδομένων"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Εικόνα. Επιλέξτε για αλλαγή"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"προσθήκη νέας επαφής"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Δείτε περισσότερα"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Δείτε λιγότερα"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Εμφάνιση όλων"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Πρόσφατα"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Σχετικά με"</string>
+    <string name="send_message" msgid="8938418965550543196">"Αποστολή μηνύματος"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Δημιουργία προσωπικού αντιγράφου…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Χθες"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Αύριο"</string>
+    <string name="today" msgid="8041090779381781781">"Σήμερα"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Σήμερα στις <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Αύριο στις <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Εκδήλωση χωρίς τίτλο)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Ορισμός"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Ανταλλαγή άμεσων μηνυμάτων (IM)"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Οργανισμός"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Ψευδώνυμο"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Σημείωση"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Ιστότοπος"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Συμβάν"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Σχέση"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"οδηγίες προς την τοποθεσία"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 85199a6..eae62ce 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"People"</string>
+    <string name="people" msgid="1190841469952343354">"Contacts"</string>
     <string name="contactsList" msgid="8661624236494819731">"Contacts"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Contact"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Direct dial"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Choose a number to call"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Choose a number to message"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Choose a contact"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Select new contact"</string>
     <string name="starredList" msgid="4817256136413959463">"Starred"</string>
     <string name="frequentList" msgid="7154768136473953056">"Frequent"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favourites"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Contact details"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"View contact"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Edit contact"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Create contact"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Edit group"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"View contact"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Add to favourites"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Remove from favourites"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Removed from favourites"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Added to favourites"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Edit"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Delete"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Place on Home screen"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"This contact contains information from multiple accounts. Information from read-only accounts will be hidden in your contacts lists, not deleted."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Deleting this contact will delete information from multiple accounts."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"This contact will be deleted."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Discard"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Discard changes"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"The contact doesn\'t exist."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Contact widget added to Home screen."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Create new contact"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contacts with phone numbers"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"No contacts with phone numbers"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 contact"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> contacts"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 found"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> found"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 found"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> found"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"All contacts"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Groups"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"All contacts"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favourites"</string>
     <string name="callBack" msgid="5498224409038809224">"Call back"</string>
     <string name="callAgain" msgid="3197312117049874778">"Call again"</string>
     <string name="returnCall" msgid="8171961914203617813">"Return call"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> of <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacts"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Names of your contacts"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"No app was found to handle this action."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Click to return to previous screen"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Add phone number"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Add email"</string>
+    <string name="missing_app" msgid="1466111003546611387">"No app was found to handle this action."</string>
     <string name="menu_share" msgid="943789700636542260">"Share"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Add to contacts"</string>
     <string name="share_via" msgid="563121028023030093">"Share contact via"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Create group under account"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Voice chat"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Use this photo"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Not editable from this app."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"No additional information for this contact."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Not editable on this device"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Sort list by"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"First name"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Surname"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"View contact names"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"First name first"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Surname first"</string>
     <string name="take_photo" msgid="7496128293167402354">"Take photo"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Take new photo"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Choose photo from Gallery"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Select new photo from Gallery"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Choose photo"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Select new photo"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Contact list is being updated to reflect the change of language."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Contact list is being updated."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Contacts are in the process of being upgraded. \n\nThe upgrade process requires approximately <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB of internal storage.\n\nChoose one of the following options:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Add organisation"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Date"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Group name"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"via <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> via <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favourite"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Edit contact"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Copy to My Contacts"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Add to My Contacts"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Directory <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Creating a personal copy…"</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Customised"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Settings"</string>
     <string name="menu_settings" msgid="377929915873428211">"Settings"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"My local profile"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"My <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> profile"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Displaying all contacts"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"People works better with a Google Account.\n\n• Access from any web browser.\n• Back up your contacts securely."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Contacts works better with a Google Account.\n\n• Access from any web browser.\n• Back up your contacts securely."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Keep your contacts safe even if you lose your phone: synchronise with an online service."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Add an account"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Your new contact won\'t be backed up. Add an account that backs up contacts online?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Your new contact will be synchronised with <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"You can synchronise your new contact with one of the following accounts. Which do you want to use?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Add new contact"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Edit contact"</string>
     <string name="keep_local" msgid="1258761699192993322">"Keep locally"</string>
     <string name="add_account" msgid="8201790677994503186">"Add account"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Add new account"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Export database files"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Picture. Select to change"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"add new contact"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"See more"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"See less"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"See all"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Recent"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"About"</string>
+    <string name="send_message" msgid="8938418965550543196">"Send message"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Creating a personal copy..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Yesterday"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Tomorrow"</string>
+    <string name="today" msgid="8041090779381781781">"Today"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Today at <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Tomorrow at <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Untitled event)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Set"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisation"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Nickname"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Note"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Website"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Event"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relation"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"directions to location"</string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..eae62ce
--- /dev/null
+++ b/res/values-en-rIN/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"Contacts"</string>
+    <string name="contactsList" msgid="8661624236494819731">"Contacts"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"Contact"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"Direct dial"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"Direct message"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Choose a contact short cut"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Choose a number to call"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Choose a number to message"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Choose a contact"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Select new contact"</string>
+    <string name="starredList" msgid="4817256136413959463">"Starred"</string>
+    <string name="frequentList" msgid="7154768136473953056">"Frequent"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Favourites"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"Contact details"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"Edit contact"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"Create contact"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"Edit group"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"Create group"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"About"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"Updates"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Search contacts"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"View contact"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Add to favourites"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Remove from favourites"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Removed from favourites"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Added to favourites"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Edit"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"Delete"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Place on Home screen"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Call contact"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Text contact"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Separate"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Edit"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"Delete"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Add Contact"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Add Group"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Separate contact?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"This contact will be separated into multiple contacts."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Join"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Join contacts"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Choose the contact that you want to join with <xliff:g id="NAME">%s</xliff:g>:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Show all  contacts"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Suggested Contacts"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"All contacts"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Contacts joined"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Set ringtone"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"All calls to voicemail"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"You can\'t delete contacts from read-only accounts, but you can hide them in your contacts lists."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"This contact contains information from multiple accounts. Information from read-only accounts will be hidden in your contacts lists, not deleted."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Deleting this contact will delete information from multiple accounts."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"This contact will be deleted."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Discard changes"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"The contact doesn\'t exist."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Contact widget added to Home screen."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Create new contact"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Create new contact"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"Organisation"</item>
+    <item msgid="7196592230748086755">"Note"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"No pictures are available on the tablet."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"No pictures are available on the phone."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Contact photo"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Custom label name"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Send calls directly to voicemail"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"Remove photo"</string>
+    <string name="noContacts" msgid="8579310973261953559">"No contacts."</string>
+    <string name="noGroups" msgid="8614664663561385253">"No groups."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"To create groups you need an account."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"No people in this group."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"To add some, edit the group."</string>
+    <string name="savingContact" msgid="4075751076741924939">"Saving contact…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Contact saved."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Couldn\'t save contact changes."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"Group saved."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Couldn\'t save group changes."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"1 contact with phone number"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contacts with phone numbers"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"No contacts with phone numbers"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 found"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> found"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"No contacts"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 found"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> found"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"All contacts"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favourites"</string>
+    <string name="callBack" msgid="5498224409038809224">"Call back"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Call again"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Return call"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Add \"<xliff:g id="EMAIL">%s</xliff:g>\" to contacts?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"contact photo"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"plus"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> of <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacts"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"Names of your contacts"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"No app was found to handle this action."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Click to return to previous screen"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Add phone number"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Add email"</string>
+    <string name="missing_app" msgid="1466111003546611387">"No app was found to handle this action."</string>
+    <string name="menu_share" msgid="943789700636542260">"Share"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Add to contacts"</string>
+    <string name="share_via" msgid="563121028023030093">"Share contact via"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"Create group under account"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"Voice chat"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Video chat"</string>
+    <string name="connections" msgid="8098440723172028350">"Connections"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Add connection"</string>
+    <string name="recent" msgid="2659189233141493004">"Recent"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"Recent updates"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> contact"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"Use this photo"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"Not editable from this app."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Not editable on this device"</string>
+    <string name="take_photo" msgid="7496128293167402354">"Take photo"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"Take new photo"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Choose photo"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Select new photo"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Contact list is being updated to reflect the change of language."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"Contact list is being updated."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Contacts are in the process of being upgraded. \n\nThe upgrade process requires approximately <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB of internal storage.\n\nChoose one of the following options:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Uninstall some applications"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Retry upgrade"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"Searching…"</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"Show selected"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"Show all"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Select all"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"Unselect all"</string>
+    <string name="add_field" msgid="2384260056674995230">"Add another field"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Add new"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Add organisation"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Date"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Group name"</string>
+    <string name="description_star" msgid="2605854427360036550">"favourite"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Edit contact"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"not merged"</item>
+    <item quantity="other" msgid="425683718017380845">"merged from <xliff:g id="COUNT">%0$d</xliff:g> sources"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Join the current contact with the selected contact?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Switch to editing the selected contact? Information that you\'ve entered so far will be copied."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"Copy to My Contacts"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"Add to My Contacts"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"Directory <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"Customised"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"Settings"</string>
+    <string name="menu_settings" msgid="377929915873428211">"Settings"</string>
+    <string name="menu_help" msgid="5123887102216637725">"Help"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"Display options"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"Phone number"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Add to contacts"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Add to contact"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"Close"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"Provide a year"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"Contact"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"Loading…"</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Create a new contact"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Sign in to an account"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Import contacts"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"Create new group"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"Create new group"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 group"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> groups"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"Delete the group \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Contacts themselves will not be deleted.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> person from <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> people from <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> person"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> people"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Type contact name before joining with another."</string>
+    <string name="copy_text" msgid="3257145021583508761">"Copy to clipboard"</string>
+    <string name="set_default" msgid="4417505153468300351">"Set default"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Clear default"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"Text copied"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Discard your changes?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Set up my profile"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Type person\'s name"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Group\'s name"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"My local profile"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"My <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> profile"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Displaying all contacts"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Contacts works better with a Google Account.\n\n• Access from any web browser.\n• Back up your contacts securely."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Keep your contacts safe even if you lose your phone: synchronise with an online service."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Add an account"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Your new contact won\'t be backed up. Add an account that backs up contacts online?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Your new contact will be synchronised with <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"You can synchronise your new contact with one of the following accounts. Which do you want to use?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Add new contact"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Edit contact"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Keep locally"</string>
+    <string name="add_account" msgid="8201790677994503186">"Add account"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Add new account"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Export database files"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"add new contact"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"See more"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"See less"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"See all"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Recent"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"About"</string>
+    <string name="send_message" msgid="8938418965550543196">"Send message"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Creating a personal copy..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Yesterday"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Tomorrow"</string>
+    <string name="today" msgid="8041090779381781781">"Today"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Today at <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Tomorrow at <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Untitled event)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Set"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisation"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Nickname"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Note"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Website"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Event"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relation"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"directions to location"</string>
+</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 6925bef..2adaa64 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Personas"</string>
+    <string name="people" msgid="1190841469952343354">"Contactos"</string>
     <string name="contactsList" msgid="8661624236494819731">"Contactos"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Contacto"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Marcado directo"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Seleccionar un número para la llamada"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Seleccionar un número para el mensaje"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Seleccionar un contacto"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Seleccionar nuevo contacto"</string>
     <string name="starredList" msgid="4817256136413959463">"Destacados"</string>
     <string name="frequentList" msgid="7154768136473953056">"Frecuente"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favoritos"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Detalles de contacto"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Ver contacto"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Editar contacto"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Crear contacto"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Editar grupo"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Ver contacto"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Agregar a favoritos"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Eliminar de favoritos"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Eliminado de favoritos"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Agregado a favoritos"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Editar"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Eliminar"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Colocar en pantalla principal"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Este contacto contiene información de varias cuentas. La información de las cuentas de solo lectura se ocultará en tus listas de contactos, pero no se eliminará."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Eliminar este contacto suprimirá la información de mútliples cuentas."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Este contacto se eliminará."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Descartar"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Descartar cambios"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"El contacto no existe."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"El widget de contactos se agregó a la pantalla principal."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Crear nuevo contacto"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contactos con números de teléfono"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"No hay contactos con números de dispositivo"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 contacto"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> contactos"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Se encontró uno (1)"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> encontrado(s)"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"Se encontró uno (1)"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> encontrado(s)"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Todos los contactos"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupos"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Todos los contactos"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoritos"</string>
     <string name="callBack" msgid="5498224409038809224">"Volver a llamar"</string>
     <string name="callAgain" msgid="3197312117049874778">"Llamar nuevamente"</string>
     <string name="returnCall" msgid="8171961914203617813">"Regresar llamada"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Nombres de tus contactos"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"No se encontró ninguna aplicación que pueda realizar esta acción."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Haz clic para volver a la pantalla anterior."</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Agregar número de teléfono"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Agregar correo electrónico"</string>
+    <string name="missing_app" msgid="1466111003546611387">"No se encontró ninguna aplicación que pueda realizar esta acción."</string>
     <string name="menu_share" msgid="943789700636542260">"Compartir"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Agregar a contactos"</string>
     <string name="share_via" msgid="563121028023030093">"Compartir un contacto a través de"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Crear un grupo en la cuenta"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Chat de voz"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Usar esta foto"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"No se puede editar desde esta aplicación"</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"No hay información adicional para este contacto."</string>
     <string name="group_read_only" msgid="1061762906115697637">"No se puede editar en este dispositivo."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Ordenar listas por"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Nombre"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Apellido"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Ver nombres de contactos"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Nombre Apellido"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Apellido Nombre"</string>
     <string name="take_photo" msgid="7496128293167402354">"Tomar foto"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Tomar nueva foto"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Elige una foto de la Galería."</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Seleccionar nueva foto de galería"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Elegir una foto"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Seleccionar una foto nueva"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"La lista de contactos se está actualizando para reflejar el cambio de idioma."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"La lista de contactos se está actualizando."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"La actualización de los contactos está en proceso. \n\nEl proceso de actualización requiere aproximadamente <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB de almacenamiento interno en el dispositivo.\n\nElige una de las siguientes opciones:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Agregar organización"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Fecha"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nombre de grupo"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"a través de <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> a través de <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favorito"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Editar contacto"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Copiar en Mis contactos"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Agregar a Mis contactos"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Directorio <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Creando una copia personal..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Personalizado"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Configuración"</string>
     <string name="menu_settings" msgid="377929915873428211">"Configuración"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Mi perfil local"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Mi perfil de <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Mostrar todos los contactos"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"People funciona mejor con una cuenta de Google.\n\n Accede desde cualquier navegador web.\n Crea copias de seguridad de tus contactos de manera segura."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"La aplicación Contactos funciona mejor con una cuenta de Google.\n\n• Accede desde cualquier navegador web.\n• Haz copias de seguridad de tus contactos de forma segura."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Mantén tus contactos a salvo aunque pierdas el dispositivo: sincronízalos con un servicio online."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Agregar una cuenta"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"No se hará una copia de seguridad del nuevo contacto. ¿Quieres agregar una cuenta para hacer copias de seguridad en línea de los contactos?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Tu nuevo contacto se sincronizará con <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Puedes sincronizar tu nuevo contacto con una de las siguientes cuentas. ¿Cuál quieres usar?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Agregar contacto"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Editar contacto"</string>
     <string name="keep_local" msgid="1258761699192993322">"Guardar localmente"</string>
     <string name="add_account" msgid="8201790677994503186">"Agregar una cuenta"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Agregar una cuenta nueva"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Exportar archivos de base de datos"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Fotografía. Seleccionar para cambiar"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"agregar contacto nuevo"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Ver más"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Ver menos"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Ver todo"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Reciente"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Información"</string>
+    <string name="send_message" msgid="8938418965550543196">"Enviar mensaje"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Creando una copia personal…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Ayer"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Mañana"</string>
+    <string name="today" msgid="8041090779381781781">"Hoy"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Hoy a la hora <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Mañana a la hora <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Evento sin título)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Establecer"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"MI"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organización"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Apodo"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Nota"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Sitio web"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Evento"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relación"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"instrucciones sobre cómo llegar a la ubicación"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index e5e6bd3..a0e408c 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Contactos"</string>
+    <string name="people" msgid="1190841469952343354">"Contactos"</string>
     <string name="contactsList" msgid="8661624236494819731">"Contactos"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Contacto"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Llamada directa"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Elegir un número para la llamada"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Elegir un número para el mensaje"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Seleccionar un contacto"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Seleccionar nuevo contacto"</string>
     <string name="starredList" msgid="4817256136413959463">"Destacados"</string>
     <string name="frequentList" msgid="7154768136473953056">"Frecuentes"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favoritos"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Detalles del contacto"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Ver contacto"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Editar contacto"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Crear contacto"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Editar grupo"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Ver contacto"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Añadir a \"Favoritos\""</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Eliminar de \"Favoritos\""</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Eliminado de favoritos"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Añadido a favoritos"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Editar"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Eliminar"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Añadir a la pantalla de inicio"</string>
@@ -65,11 +67,11 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Este contacto contiene información de varias cuentas. La información de las cuentas de solo lectura se ocultará en las listas de contactos, pero no se eliminará."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Si se elimina este contacto, se eliminará la información de varias cuentas."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"El contacto se eliminará."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Descartar"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Descartar cambios"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Este contacto no existe."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"El widget de contactos se ha añadido a la pantalla de inicio."</string>
-    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Crear contacto nuevo"</string>
-    <string name="pickerNewContactText" msgid="6166997164401048211">"Crear contacto nuevo"</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Crear nuevo contacto"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Crear nuevo contacto"</string>
   <string-array name="otherLabels">
     <item msgid="8287841928119937597">"Organización"</item>
     <item msgid="7196592230748086755">"Nota"</item>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contactos con números de teléfono"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ningún contacto con número de teléfono"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"Un (1) contacto"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> contactos"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 encontrado"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> encontrados"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 encontrado"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> encontrados"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Todos los contactos"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupos"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Todos los contactos"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoritos"</string>
     <string name="callBack" msgid="5498224409038809224">"Llamar"</string>
     <string name="callAgain" msgid="3197312117049874778">"Volver a llamar"</string>
     <string name="returnCall" msgid="8171961914203617813">"Devolver llamada"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Nombres de tus contactos"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"No se ha detectado ninguna aplicación que pueda hacer esta acción."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Haz clic para volver a la pantalla anterior"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Añadir número de teléfono"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Añadir correo electrónico"</string>
+    <string name="missing_app" msgid="1466111003546611387">"No se ha detectado ninguna aplicación que pueda hacer esta acción."</string>
     <string name="menu_share" msgid="943789700636542260">"Compartir"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Añadir a contactos"</string>
     <string name="share_via" msgid="563121028023030093">"Compartir contacto a través de"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Crear grupo en cuenta"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Chat de voz"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Utilizar esta foto"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"No se puede editar desde la aplicación."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"No hay información adicional para este contacto."</string>
     <string name="group_read_only" msgid="1061762906115697637">"No se puede editar en este dispositivo."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Ordenar lista por"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Nombre"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Apellidos"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Ver nombres de contactos"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Nombre primero"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Apellidos primero"</string>
     <string name="take_photo" msgid="7496128293167402354">"Hacer una foto"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Hacer una foto nueva"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Seleccionar foto de la galería"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Seleccionar nueva foto de la galería"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Elegir foto"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Seleccionar nueva foto"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"La lista de contactos se está actualizando para reflejar el cambio de idioma."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"La lista de contactos se está actualizando."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Los contactos se están actualizando. \n\nSe necesitan aproximadamente <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB de almacenamiento interno para el proceso de actualización.\n\nSelecciona una de las siguientes opciones:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Añadir organización"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Fecha"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nombre del grupo"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"con <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> con <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favoritos"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Editar contacto"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Copiar en mis contactos"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Añadir a Mis contactos"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Directorio <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Creando una copia personal..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Personalizar"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Ajustes"</string>
     <string name="menu_settings" msgid="377929915873428211">"Ajustes"</string>
@@ -188,7 +181,7 @@
     <string name="date_year_toggle" msgid="7356532842767854606">"Introducir año"</string>
     <string name="social_widget_label" msgid="6378905543028924592">"Contacto"</string>
     <string name="social_widget_loading" msgid="5327336597364074608">"Cargando..."</string>
-    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Crear contacto nuevo"</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Crear nuevo contacto"</string>
     <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Iniciar sesión en una cuenta"</string>
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importar contactos"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Crear grupo nuevo"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Mi perfil local"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Mi perfil de <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Mostrando todos los contactos"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"La aplicación Contactos funciona mejor con una cuenta de Google.\n\n• Accede a tu lista de contactos desde cualquier navegador web.\n• Haz copias de seguridad de tus contactos de forma segura."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"La aplicación Contactos funciona mejor con una cuenta de Google.\n\n• Accede a tu lista de contactos desde cualquier navegador web.\n• Haz copias de seguridad de tus contactos de forma segura."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Mantén tus contactos a salvo aunque pierdas el teléfono: sincronízalos con un servicio online."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Añadir una cuenta"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"No se hará una copia de seguridad del nuevo contacto. ¿Quieres añadir una cuenta para hacer copias de seguridad online de los contactos?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Tu nuevo contacto se sincronizará con <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Puedes sincronizar tu nuevo contacto con una de las siguientes cuentas. ¿Cuál quieres usar?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Añadir nuevo contacto"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Editar contacto"</string>
     <string name="keep_local" msgid="1258761699192993322">"Guardar localmente"</string>
     <string name="add_account" msgid="8201790677994503186">"Añadir cuenta"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Añadir una cuenta"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Exportar archivos de base de datos"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Imagen. Seleccionar para cambiar"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"añadir nuevo contacto"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Ver más"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Ver menos"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Ver todo"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Recientes"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Información"</string>
+    <string name="send_message" msgid="8938418965550543196">"Enviar mensaje"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Creando una copia personal..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Ayer"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Mañana"</string>
+    <string name="today" msgid="8041090779381781781">"Hoy"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Hoy a las <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Mañana a las <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Evento sin título)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Establecer"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"MI"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organización"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Apodo"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Nota"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Sitio web"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Evento"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relación"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"indicaciones para llegar a la ubicación"</string>
 </resources>
diff --git a/res/values-et/strings.xml b/res/values-et-rEE/strings.xml
similarity index 82%
rename from res/values-et/strings.xml
rename to res/values-et-rEE/strings.xml
index 5a7449d..14582df 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Inimesed"</string>
+    <string name="people" msgid="1190841469952343354">"Kontaktid"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kontaktid"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kontakt"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Otsevalimine"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Valige helistamiseks number"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Valige sõnumi jaoks number"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Kontakti valimine"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Uue kontakti valimine"</string>
     <string name="starredList" msgid="4817256136413959463">"Tärniga"</string>
     <string name="frequentList" msgid="7154768136473953056">"Sagedane"</string>
     <string name="strequentList" msgid="5640192862059373511">"Lemmikud"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Kontakti üksikasjad"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Kuva kontakt"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Muuda kontakti"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Looge kontakt"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Grupi muutmine"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Kuva kontakt"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Lisa lemmikutesse"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Eemalda lemmikutest"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Lemmikutest eemaldatud"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Lemmikutesse lisatud"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Muuda"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Kustuta"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Paiguta avalehele"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"See kontakt sisaldab teavet mitmelt kontolt. Kirjutuskaitstud teabega kontod peidetakse teie kontaktiloendites, mitte ei kustutata."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Selle kontakti kustutamisel kustutatakse andmed mitmelt kontolt."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"See kontakt kustutatakse."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Loobu"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Loobu muudatustest"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Kontakti ei ole olemas."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Kontaktividin lisati avalehele."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Loo uus kontakt"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> telefoninumbriga kontakti"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Telefoninumbritega kontakte pole"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 kontakt"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> kontakti"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 leitud"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> leitud"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 leitud"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> leitud"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Kõik kontaktid"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupid"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Kõik kontaktid"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Lemmikud"</string>
     <string name="callBack" msgid="5498224409038809224">"Helista tagasi"</string>
     <string name="callAgain" msgid="3197312117049874778">"Helista uuesti"</string>
     <string name="returnCall" msgid="8171961914203617813">"Tagasihelistamine"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktist"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Teie kontaktide nimed"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Selle toimingu käsitsemiseks ei leitud ühtegi rakendust."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Klõpsake eelmisele ekraanikuvale naasmiseks"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Lisage telefoninumber"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Lisage e-posti aadress"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Selle toimingu käsitlemiseks ei leitud ühtegi rakendust."</string>
     <string name="menu_share" msgid="943789700636542260">"Jaga"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Lisa kontaktide hulka"</string>
     <string name="share_via" msgid="563121028023030093">"Kontakti jagamisvalikud"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Kontopõhise grupi loomine"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Häälvestlus"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Kasuta seda fotot"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Ei saa muuta selles rakenduses."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Selle kontakti kohta pole täiendavat teavet."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Ei saa muuta selles seadmes."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Loendi sortimisalus"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Eesnimi"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Perekonnanimi"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Kuva kontaktid"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Eesnimi kõigepealt"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Perekonnanimi kõigepealt"</string>
     <string name="take_photo" msgid="7496128293167402354">"Tee foto"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Tee uus foto"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Vali foto galeriist"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Valige galeriist uus foto"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Vali foto"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Vali uus foto"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Kontaktiloendit värskendatakse keele muutmise kajastamiseks."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Kontaktiloendit värskendatakse."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontakte uuendatakse. \n\nUuendusprotsessiks on vaja umbes <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB sisemälu.\n\nValige üks järgmistest valikutest."</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Lisa organisatsioon"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Kuupäev"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Grupi nimi"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"allika <xliff:g id="SOURCE">%1$s</xliff:g> kaudu"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> allika <xliff:g id="SOURCE">%2$s</xliff:g> kaudu"</string>
     <string name="description_star" msgid="2605854427360036550">"lemmik"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Muuda kontakti"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopeeri valikusse Minu kontaktid"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Lisa lehele Minu kontaktid"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Kataloog <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Isikliku koopia loomine ..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Kohandatud"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Seaded"</string>
     <string name="menu_settings" msgid="377929915873428211">"Seaded"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Minu kohalik profiil"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Minu profiil: <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Kõigi kontaktide kuvamine"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Teenus People töötab Google\'i kontoga paremini.\n\n• Pääsete selle juurde igast veebibrauserist.\n• Varundage oma kontaktid turvaliselt."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Teenus Kontaktid töötab Google\'i kontoga paremini.\n\n• Pääsete sellele juurde igast veebibrauserist.\n• Varundage oma kontaktid turvaliselt."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Hoidke oma kontaktid turvalisena ka siis, kui kaotate telefoni: sünkroonige need võrguteenusega."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Konto lisamine"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Teie uut kontakti ei varundata. Kas lisada konto, mis varundab kontakte veebis?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Teie uut kontakti sünkroonitakse kontoga <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Saate sünkroonida oma uue kontakti ühega järgmistest kontodest. Millist soovite kasutada?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Kontakti lisamine"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Kontakti muutmine"</string>
     <string name="keep_local" msgid="1258761699192993322">"Hoia kohalikuna"</string>
     <string name="add_account" msgid="8201790677994503186">"Lisa konto"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Lisa uus konto"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Andmebaasi failide eksportimine"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Pilt. Muutmiseks valige"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"uue kontakti lisamine"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Lisateave"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Kuva vähem"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Kuva kõik"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Hiljutine"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Teave"</string>
+    <string name="send_message" msgid="8938418965550543196">"Saada sõnum"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Isikliku koopia loomine ..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Eile"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Homme"</string>
+    <string name="today" msgid="8041090779381781781">"Täna"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Täna kell <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Homme kell <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Pealkirjata sündmus)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Määra"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisatsioon"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Hüüdnimi"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Märge"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Veebisait"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Sündmus"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Seos"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"juhised asukohta"</string>
 </resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
new file mode 100644
index 0000000..5675b39
--- /dev/null
+++ b/res/values-eu-rES/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"Kontaktuak"</string>
+    <string name="contactsList" msgid="8661624236494819731">"Kontaktuak"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"Kontaktua"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"Markatze zuzena"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"Mezu zuzena"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Aukeratu kontakturako lasterbidea"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Aukeratu deitzeko zenbaki bat"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Aukeratu testu-mezua bidaltzeko zenbaki bat"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Aukeratu kontaktu bat"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Hautatu kontaktu berria"</string>
+    <string name="starredList" msgid="4817256136413959463">"Izardunak"</string>
+    <string name="frequentList" msgid="7154768136473953056">"Sarri"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Gogokoak"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"Kontaktuaren xehetasunak"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"Editatu kontaktua"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"Sortu kontaktua"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"Editatu taldea"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"Sortu taldea"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"Honi buruz"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"Eguneratzeak"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Bilatu kontaktuetan"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"Ikusi kontaktua"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Gehitu gogokoetan"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Kendu gogokoetatik"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Gogokoetatik kendu da"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Gogokoetan gehitu da"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Editatu"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"Ezabatu"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Jarri hasierako pantailan"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Deitu kontaktuari"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Bidali testu-mezua kontaktuari"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Banandu"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Editatu"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"Ezabatu"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Gehitu kontaktua"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Gehitu taldea"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Kontaktua banandu?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Kontaktua hainbat kontaktutan bananduko da."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Batu"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Batu kontaktuak"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Aukeratu <xliff:g id="NAME">%s</xliff:g> kontaktuarekin batu nahi duzun kontaktua:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Erakutsi kontaktu guztiak"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Gomendatutako kontaktuak"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Kontaktu guztiak"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Batu diren kontaktuak"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Ezarri tonua"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Erantzungailuko dei guztiak"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Ezin dituzu irakurtzeko soilik diren kontuetako kontaktuak ezabatu, baina zure kontaktuen zerrendatik ezkuta ditzakezu."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Kontaktu honek hainbat kontutako informazioa du. Irakurtzeko soilik diren kontuetako informazioa kontaktuen zerrendatik ezkutatuko da, baina ez da ezabatuko."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Kontaktua ezabatzen baduzu, hainbat kontutako informazioa ezabatuko da."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"Kontaktua ezabatu egingo da."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Baztertu aldaketak"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"Ez dago horrelako kontakturik."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Kontaktuen widgeta hasierako pantailan gehitu da."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Sortu kontaktua"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Sortu kontaktua"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"Erakundea"</item>
+    <item msgid="7196592230748086755">"Oharra"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Ez dago irudi erabilgarririk tabletan."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Ez dago irudi erabilgarririk telefonoan."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Kontaktuaren argazkia"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Etiketa pertsonalizatuaren izena"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Bidali deiak zuzenean erantzungailura"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"Kendu argazkia"</string>
+    <string name="noContacts" msgid="8579310973261953559">"Ez dago kontakturik."</string>
+    <string name="noGroups" msgid="8614664663561385253">"Ez dago talderik."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"Taldeak sortzeko, kontu bat behar duzu."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"Ez dago jenderik talde honetan."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"Batzuk gehitzeko, editatu taldea."</string>
+    <string name="savingContact" msgid="4075751076741924939">"Kontaktua gordetzen…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Kontaktua gorde da."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Ezin izan dira gorde kontaktuari egindako aldaketak."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"Taldea gorde da."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Ezin izan dira gorde taldeari egindako aldaketak."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"1 kontaktuk telefono-zenbakia du"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontaktuk telefono-zenbakiak dituzte"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ez dago telefono-zenbakirik duen kontakturik"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 aurkitu da"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> aurkitu dira"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Ez dago kontakturik"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 aurkitu da"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> aurkitu dira"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Kontaktu guztiak"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Gogokoak"</string>
+    <string name="callBack" msgid="5498224409038809224">"Itzuli deia"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Deitu berriro"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Itzuli deia"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" kontaktuetan gehitu?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"kontaktuaren argazkia"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"gehi"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktu"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"Kontaktuen izenak"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Ez da ekintza kudeatzeko aplikaziorik aurkitu."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Egin klik hemen aurreko pantailara itzultzeko"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Gehitu telefono-zenbakia"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Gehitu helbide elektronikoa"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Ez da ekintza kudeatzeko aplikaziorik aurkitu."</string>
+    <string name="menu_share" msgid="943789700636542260">"Partekatu"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Gehitu kontaktuetan"</string>
+    <string name="share_via" msgid="563121028023030093">"Partekatu kontaktua honen bidez:"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"Sortu taldea kontuaren barruan"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"Ahots-txata"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Bideo-txata"</string>
+    <string name="connections" msgid="8098440723172028350">"Konexioak"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Gehitu konexioa"</string>
+    <string name="recent" msgid="2659189233141493004">"Azkenak"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"Azken berritasunak"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> iturburuko kontaktua"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"Erabili argazki hau"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"Ezin da aplikazio honen bidez editatu."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Ezin da gailu honetan editatu."</string>
+    <string name="take_photo" msgid="7496128293167402354">"Atera argazkia"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"Atera beste argazki bat"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Aukeratu argazkia"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Hautatu argazki berria"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Kontaktuen zerrenda hizkuntza-aldaketa islatzeko eguneratzen ari da."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"Kontaktuen zerrenda eguneratzen ari da."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontaktuak bertsio-berritzeko prozesuan daude. \n\nBertsio-berritzeko prozesua osatzeko, barneko memoriako <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB behar izaten dira gutxi gorabehera.\n\nHautatu aukera hauetako bat:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Desinstalatu aplikazio batzuk"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Saiatu berriro bertsio-berritzen"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"Bilatzen…"</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"Erakutsi hautatutakoak"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"Erakutsi guztiak"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Hautatu guztiak"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"Desautatu guztiak"</string>
+    <string name="add_field" msgid="2384260056674995230">"Gehitu beste eremu bat"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Gehitu beste bat"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Gehitu erakundea"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Data"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Taldearen izena"</string>
+    <string name="description_star" msgid="2605854427360036550">"gogokoa"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Editatu kontaktua"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"ez da bateratu"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> iturburutatik bateratuta"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Uneko kontaktua eta hautatutako kontaktua batu nahi dituzu?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Hautatutako kontaktua editatu nahi duzu? Orain arte idatzi duzun informazioa kopiatu egingo da."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"Kopiatu Nire kontaktuetan"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"Gehitu Nire kontaktuak atalean"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"<xliff:g id="TYPE">%1$s</xliff:g> direktorioa"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"Pertsonalizatua"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"Ezarpenak"</string>
+    <string name="menu_settings" msgid="377929915873428211">"Ezarpenak"</string>
+    <string name="menu_help" msgid="5123887102216637725">"Laguntza"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"Bistaratze-aukerak"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"Telefono-zenbakia"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Gehitu kontaktuetan"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Gehitu kontaktuan"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"Itxi"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"Eman urte bat"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"Kontaktua"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"Kargatzen…"</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Sortu kontaktua"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Hasi saioa kontu batean"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Inportatu kontaktuak"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"Sortu taldea"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"Sortu taldea"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 talde"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> talde"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" taldea ezabatu nahi duzu? (Ez dira kontaktuak ezabatuko.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> pertsona <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> taldetik"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> pertsona <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> taldetik"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> pertsona"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> pertsona"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Idatzi kontaktuaren izena beste batekin batu aurretik."</string>
+    <string name="copy_text" msgid="3257145021583508761">"Kopiatu arbelean"</string>
+    <string name="set_default" msgid="4417505153468300351">"Ezarri lehenetsi gisa"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Garbitu metodo lehenetsia"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"Testua kopiatu da"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Aldaketak baztertu nahi dituzu?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> (<xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>)"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Konfiguratu nire profila"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Idatzi pertsonaren izena"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Taldearen izena"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"Gailuko profila"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"Nire <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> profila"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Kontaktu guztiak bistaratzen"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kontaktuak atalak hobeto funtzionatzen du Google kontu bat estekatzen badiozu.\n\n• Atzitu edozein web-arakatzailetatik.\n• Gorde kontaktuen babeskopiak toki seguru batean."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Izan kontaktuak seguru telefonoa galduta ere: sinkronizatu sareko zerbitzu batekin."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Gehitu kontu bat"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Ez da kontaktu berriaren babeskopiarik egingo. Kontaktuen babeskopia sarean gordetzeko kontua gehitu nahi duzu?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Kontaktu berria <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> kontuarekin sinkronizatuko da."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Kontaktu berria kontu hauetako batekin sinkroniza dezakezu. Zein erabili nahi duzu?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Gehitu kontaktu berria"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Editatu kontaktua"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Mantendu gailuan"</string>
+    <string name="add_account" msgid="8201790677994503186">"Gehitu kontua"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Gehitu beste kontu bat"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Esportatu datu-baseko fitxategiak"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"gehitu kontaktu berri bat"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Ikusi gehiago"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Ikusi gutxiago"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Ikusi guztiak"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Azkenak"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Honi buruz"</string>
+    <string name="send_message" msgid="8938418965550543196">"Bidali mezua"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Kopia pertsonala sortzen…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Atzo"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Bihar"</string>
+    <string name="today" msgid="8041090779381781781">"Gaur"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Gaur (<xliff:g id="TIME_INTERVAL">%s</xliff:g>)"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Bihar (<xliff:g id="TIME_INTERVAL">%s</xliff:g>)"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g> (<xliff:g id="TIME_INTERVAL">%s</xliff:g>)"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Izenik gabeko gertaera)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Ezarri"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Erakundea"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Goitizena"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Oharra"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Webgunea"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Gertaera"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Erlazioa"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"kokapenerako jarraibideak"</string>
+</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index f78f65b..fac17f7 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"افراد"</string>
+    <string name="people" msgid="1190841469952343354">"مخاطبین"</string>
     <string name="contactsList" msgid="8661624236494819731">"مخاطبین"</string>
     <string name="shortcutContact" msgid="749243779392912958">"مخاطب"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"شماره گیری مستقیم"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"انتخاب یک شماره برای تماس"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"انتخاب یک شماره برای پیام"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"انتخاب یک مخاطب"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"انتخاب مخاطب جدید"</string>
     <string name="starredList" msgid="4817256136413959463">"ستاره‌دار"</string>
     <string name="frequentList" msgid="7154768136473953056">"مکرر"</string>
     <string name="strequentList" msgid="5640192862059373511">"موارد دلخواه"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"اطلاعات تماس"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"مشاهده مخاطب"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"ویرایش مخاطب"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"ایجاد مخاطب"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"ویرایش گروه"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"مشاهده مخاطب"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"افزودن به موارد دلخواه"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"حذف از موارد دلخواه"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"از موارد دلخواه حذف می‌شود"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"به موارد دلخواه افزوده می‌شود"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"ویرایش"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"حذف"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"محل بر روی صفحهٔ اصلی"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"این مخاطب دارای اطلاعاتی از چند حساب است. اطلاعات حساب‌های فقط خواندنی در لیست‌های مخاطبین پنهان می‌شوند اما حذف نمی‌شوند."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"حذف این مخاطب اطلاعات را از حساب‌های متعدد حذف می‌کند."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"این مخاطب حذف می‌شود."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"صرفنظر"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"صرفنظر از تغییرات"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"مخاطبی موجود نیست."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"ابزارک مخاطب به صفحهٔ اصلی شما اضافه شد."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"ایجاد مخاطب جدید"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> مخاطب دارای شماره تلفن"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"مخاطبی با شماره تلفن موجود نیست"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"۱ مخاطب"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> مخاطب"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 مورد پیدا شد"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> یافت شد"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 مورد پیدا شد"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> یافت شد"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"همه مخاطبین"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"گروه‌ها"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"همه مخاطبین"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"موارد دلخواه"</string>
     <string name="callBack" msgid="5498224409038809224">"بازگرداندن تماس"</string>
     <string name="callAgain" msgid="3197312117049874778">"تماس مجدد"</string>
     <string name="returnCall" msgid="8171961914203617813">"برگشت تماس"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> از <xliff:g id="TOTAL_NUMBER">%s</xliff:g> مخاطب"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"نام‌های مخاطبین شما"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"برنامه‌ای برای انجام این عملکرد یافت نشد."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"برای بازگشت به صفحه قبلی کلیک کنید"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"افزودن شماره تلفن"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"افزودن ایمیل"</string>
+    <string name="missing_app" msgid="1466111003546611387">"برنامه‌ای برای انجام این عملکرد یافت نشد."</string>
     <string name="menu_share" msgid="943789700636542260">"اشتراک‌گذاری"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"افزودن به مخاطبین"</string>
     <string name="share_via" msgid="563121028023030093">"اشتراک‌گذاری مخاطب از طریق"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"ایجاد گروه تحت حساب کاربری"</string>
     <string name="audio_chat" msgid="2535716629358298691">"گپ صوتی"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"استفاده از این عکس"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"از این برنامه قابل ویرایش نیست."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"اطلاعات دیگری برای این مخاطب موجود نیست."</string>
     <string name="group_read_only" msgid="1061762906115697637">"در این دستگاه قابل ویرایش نیست."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"مرتب سازی لیست بر اساس"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"نام"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"نام خانوادگی"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"مشاهده نام مخاطبین"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"ابتدا نام"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"ابتدا نام خانوادگی"</string>
     <string name="take_photo" msgid="7496128293167402354">"عکسبرداری"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"گرفتن عکس جدید"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"انتخاب عکس از گالری"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"انتخاب عکس جدید از گالری"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"انتخاب عکس"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"انتخاب عکس جدید"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"لیست مخاطبین در حال به‌روزرسانی برای منعکس کردن تغییرات زبان است."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"لیست مخاطبین در حال به‌روزرسانی است."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"مخاطبین در حال ارتقا هستند. \n\nفرآیند ارتقا به تقریباً <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> مگابایت از حافظهٔ داخلی نیاز دارد. \n\nیکی از گزینه‌های زیر را انتخاب کنید:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"افزودن سازمان"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"تاریخ"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"نام گروه"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"از طریق <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> از طریق <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"مورد دلخواه"</string>
     <string name="edit_contact" msgid="7529281274005689512">"ویرایش مخاطب"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"کپی در مخاطبین من"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"افزودن به مخاطبین من"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"دایرکتوری <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"ایجاد یک کپی شخصی..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"سفارشی"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"تنظیمات"</string>
     <string name="menu_settings" msgid="377929915873428211">"تنظیمات"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"نمایه محلی من"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"نمایه <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> من"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"نمایش همه مخاطبان"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"People با یک حساب Google بهتر کار می‌کند.\n\n• از هر مرورگر وب به آن دسترسی دارید\n• از رویدادهای خود به طور امن پشتیبان تهیه کنید"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"‏مخاطبین با حساب Google بهتر کار می‌کند.\n\n‏• از هر مرورگر وبی به آن دسترسی داشته باشید.\n‏• به صورت ایمن از مخاطبینتان پشتیبان‌گیری کنید."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"مخاطبین خود را ایمن نگهدارید حتی اگر گوشی شما گم شود: با یک سرویس آنلاین همگام‌سازی کنید."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"افزودن یک حساب"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"از مخاطب جدید شما نسخه پشتبان تهیه نمی‌شود. حسابی را اضافه می‌کنید که از مخاطبین به‌صورت آنلاین نسخه پشتبان تهیه کند؟"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"مخاطب جدید شما با <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> همگام‌سازی خواهد شد."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"شما می‌توانید مخاطب جدید خود را با یکی از حساب‌های زیر همگام‌سازی کنید. از کدام‌یک می‌خواهید استفاده کنید؟"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"افزودن مخاطب جدید"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"ویرایش مخاطب"</string>
     <string name="keep_local" msgid="1258761699192993322">"ذخیره به‌صورت محلی"</string>
     <string name="add_account" msgid="8201790677994503186">"افزودن حساب"</string>
     <string name="add_new_account" msgid="5748627740680940264">"اافزودن حساب جدید"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"صدور فایل‌های پایگاه داده"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"عکس. جهت تغییر انتخاب کنید"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"افزودن مخاطب جدید"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"مشاهده موارد بیشتر"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"مشاهده موارد کمتر"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"مشاهده همه"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"اخیر"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"درباره"</string>
+    <string name="send_message" msgid="8938418965550543196">"ارسال پیام"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"در حال ایجاد یک کپی شخصی..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"دیروز"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"فردا"</string>
+    <string name="today" msgid="8041090779381781781">"امروز"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"امروز در <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"فردا در <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>، ‏<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(رویداد بدون عنوان)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"تنظیم"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"پیام‌رسانی فوری"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"سازمان"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"نام مستعار"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"یادداشت"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"وب‌سایت"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"رویداد"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"رابطه"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"مسیرها به مکان"</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 70f3328..4ed0be4 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Henkilöt"</string>
+    <string name="people" msgid="1190841469952343354">"Yhteystiedot"</string>
     <string name="contactsList" msgid="8661624236494819731">"Yhteystiedot"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Yhteystieto"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Puhelu"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Valitse vastaanottajan numero"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Valitse vastaanottajan numero"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Valitse yhteystieto"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Valitse uusi kontakti"</string>
     <string name="starredList" msgid="4817256136413959463">"Tähdelliset"</string>
     <string name="frequentList" msgid="7154768136473953056">"Usein käytetyt"</string>
     <string name="strequentList" msgid="5640192862059373511">"Suosikit"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Yhteystiedot"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Näytä yhteystieto"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Muokkaa yhteystietoa"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Luo yhteystieto"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Muokkaa ryhmää"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Näytä yhteystieto"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Lisää suosikkeihin"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Poista suosikeista"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Poistettu suosikeista"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Lisätty suosikkeihin"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Muokkaa"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Poista"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Paikka aloitusruudussa"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Tämä yhteystieto sisältää tietoja useista tileistä. Vain luku -tilassa olevien tilien tietoja ei poisteta, mutta ne piilotetaan yhteystietoluettelosta."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Kun tämä yhteystieto poistetaan, tietoja poistetaan useilta tileiltä."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Tämä yhteystieto poistetaan."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Hylkää"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Hylkää muutokset"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Yhteystietoa ei ole olemassa."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Yhteystiedot-widget lisätty aloitusruutuun."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Luo uusi yhteystieto"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> yhteystietoa, joissa puhelinnumero"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ei yhteystietoja, joissa on puhelinnumero"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 yhteystieto"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> yhteystietoa"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Löytyi 1"</item>
     <item quantity="other" msgid="3852668542926965042">"Löytyi <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"Löytyi 1"</item>
     <item quantity="other" msgid="7988132539476575389">"Löytyi <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Kaikki kontaktit"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Ryhmät"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Yhteystiedot"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Suosikit"</string>
     <string name="callBack" msgid="5498224409038809224">"Soita takaisin"</string>
     <string name="callAgain" msgid="3197312117049874778">"Soita uudelleen"</string>
     <string name="returnCall" msgid="8171961914203617813">"Soita takaisin"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> / <xliff:g id="TOTAL_NUMBER">%s</xliff:g> yhteystietoa"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Yhteystietojen nimet"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Tätä toimintoa käsittelevää sovellusta ei löydy."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Palaa edelliseen näyttöön klikkaamalla"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Lisää puhelinnumero"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Lisää sähköposti"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Tätä toimintoa käsittelevää sovellusta ei löydy."</string>
     <string name="menu_share" msgid="943789700636542260">"Jaa"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Lisää yhteystietoihin"</string>
     <string name="share_via" msgid="563121028023030093">"Jaa yhteystieto"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Luo ryhmä tilissä"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Äänikeskustelu"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Käytä valokuvaa"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Ei muokattavissa tästä sovelluksesta."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Tässä yhteystiedossa ei ole muita tietoja."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Ei muokattavissa tällä laitteella."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Luettelon lajittelutapa"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Etunimi"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Sukunimi"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Näytä kontaktien nimet"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Etunimi ensin"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Sukunimi ensin"</string>
     <string name="take_photo" msgid="7496128293167402354">"Ota valokuva"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Ota uusi kuva"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Valitse valokuva galleriasta"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Valitse uusi kuva galleriasta"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Valitse valokuva"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Valitse uusi valokuva"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Yhteystietoluettelo on päivitetty vastaamaan kielen muutosta."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Yhteystietoluetteloa päivitetään."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Yhteystietoja päivitetään. \n\nPäivitysprosessiin tarvitaan noin <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> Mt sisäistä tallennustilaa.\n\nValitse yksi seuraavista vaihtoehdoista:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Lisää organisaatio"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Päivämäärä"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Ryhmän nimi"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"lähteestä: <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> lähteestä: <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"lisää suosikkeihin"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Muokkaa yhteystietoa"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopioi yhteystietoihini"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Lisää kontakteihin"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Hakemisto <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Luodaan kopio..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Oma"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Asetukset"</string>
     <string name="menu_settings" msgid="377929915873428211">"Asetukset"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Oma paikallinen profiili"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Oma <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>-profiili"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Kaikki kontaktit"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Ihmiset-sovellus toimii paremmin Google-tilin kanssa.\n\n• Käytä sovellusta millä tahansa selaimella.\n• Varmuuskopioi yhteystietosi turvallisesti."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Yhteystiedot toimivat paremmin Google-tilin kanssa.\n\n• Käytä millä tahansa selaimella.\n• Varmuuskopioi turvallisesti."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Pidä kontaktisi turvassa, vaikka puhelimesi katoaisi: synkronoi ne verkkopalvelun avulla."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Lisää tili"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Uutta kontaktiasi ei varmuuskopioida. Lisätäänkö tili, joka varmuuskopioi uudet kontaktit verkossa?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Uusi kontaktisi synkronoidaan tilillä <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Voit synkronoida uuden kontaktisi jollakin seuraavista tileistä. Mitä niistä haluat käyttää?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Lisää uusi yhteystieto"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Muokkaa yhteystietoa"</string>
     <string name="keep_local" msgid="1258761699192993322">"Säilytä paikallisena"</string>
     <string name="add_account" msgid="8201790677994503186">"Lisää tili"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Lisää uusi tili"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Vie tietokantatiedostot"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Kuva. Vaihda valitsemalla"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"lisää uusi kontakti"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Näytä enemmän"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Näytä vähemmän"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Näytä kaikki"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Viimeisimmät"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Tietoja"</string>
+    <string name="send_message" msgid="8938418965550543196">"Lähetä viesti"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Luodaan oma kopio…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Eilen"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Huomenna"</string>
+    <string name="today" msgid="8041090779381781781">"Tänään"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Tänään klo <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Huomenna klo <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Nimetön tapahtuma)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Käytä"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Pikaviesti"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisaatio"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Lempinimi"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Muistiinpano"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Sivusto"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Tapahtuma"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Suhde"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"reittiohjeet sijaintiin"</string>
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..60e1e6c
--- /dev/null
+++ b/res/values-fr-rCA/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"Contacts"</string>
+    <string name="contactsList" msgid="8661624236494819731">"Contacts"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"Contact"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"Raccourci appel"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"Raccourci message"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Choisir un contact pour le raccourci"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Choisissez le numéro à appeler"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Choisissez le numéro auquel envoyer le message"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Sélectionner un contact"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Sélectionner nouveau contact"</string>
+    <string name="starredList" msgid="4817256136413959463">"Favoris"</string>
+    <string name="frequentList" msgid="7154768136473953056">"Contacts fréquents"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Favoris"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"Détails du contact"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"Modifier un contact"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"Créer un contact"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"Modifier le groupe"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"Créer un groupe"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"À propos"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"Mises à jour"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Rechercher des contacts"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"Afficher le contact"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Ajouter aux favoris"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Supprimer des favoris"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Supprimé des favoris"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Ajouté aux favoris"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Modifier"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"Supprimer"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Placer sur l\'écran d\'accueil"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Appeler le contact"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Envoyer un SMS au contact"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Séparer"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Modifier"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"Supprimer"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Ajouter un contact"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Ajouter un groupe"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Séparer le contact?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Ce contact va être séparé en plusieurs contacts."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Joindre"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Joindre des contacts"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Sélectionnez le contact que vous voulez associer à \"<xliff:g id="NAME">%s</xliff:g>\" :"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Afficher tous les contacts"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contacts suggérés"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Tous les contacts"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Contacts joints"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Régler sonnerie"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Tous appels vers messag. voc."</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Impossible de supprimer les contacts des comptes en lecture seule. Vous pouvez les masquer dans la liste des contacts."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Ce contact contient des informations provenant de plusieurs comptes. Vous pouvez masquer dans votre liste de contacts les informations des comptes en lecture seule, mais pas les supprimer."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"La suppression de ce contact entraînera celle d\'informations provenant de plusieurs comptes."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"Ce contact sera supprimé."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Supprimer les modifications"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"Ce contact n\'existe pas."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widget de contact ajouté à l\'écran d\'accueil."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Créer un nouveau contact"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Créer un nouveau contact"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"Organisation"</item>
+    <item msgid="7196592230748086755">"NOTE"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Aucune image n\'est disponible sur la tablette."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Aucune image disponible sur le téléphone"</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Photo du contact"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Étiquette personnalisée"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Renvoyer les appels directement vers la messagerie vocale"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"Retirer la photo"</string>
+    <string name="noContacts" msgid="8579310973261953559">"Aucun contact"</string>
+    <string name="noGroups" msgid="8614664663561385253">"Aucun groupe"</string>
+    <string name="noAccounts" msgid="7768267764545265909">"Vous devez posséder un compte pour créer des groupes."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"Ce groupe est vide."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"Pour ajouter des membres, veuillez le modifier."</string>
+    <string name="savingContact" msgid="4075751076741924939">"Enregistrement du contact…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Contact enregistré."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Impossible d\'enregistrer les modifications apportées au contact."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"Groupe enregistré"</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Impossible d\'enregistrer les modifications apportées au groupe."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"1 contact avec numéro de téléphone"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contacts avec des numéros de téléphone"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Aucun contact disposant d\'un numéro de téléphone"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 contact trouvé"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> contacts trouvés"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Aucun contact"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 contact trouvé"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> contacts trouvés"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Tous les contacts"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoris"</string>
+    <string name="callBack" msgid="5498224409038809224">"Rappeler"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Renouveler l\'appel"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Rappeler"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Ajouter \"<xliff:g id="EMAIL">%s</xliff:g>\" aux contacts?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"photo du contact"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"plus"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> sur <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacts"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"Noms de vos contacts"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Aucune application pouvant gérer cette action n\'a été trouvée."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Cliquez ici pour revenir à l\'écran précédent"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Ajouter un numéro de téléphone"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Ajouter une adresse de courriel"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Aucune application pouvant gérer cette action n\'a été trouvée."</string>
+    <string name="menu_share" msgid="943789700636542260">"Partager"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Ajouter aux contacts"</string>
+    <string name="share_via" msgid="563121028023030093">"Partager contact via"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"Sélectionner le compte associé au groupe"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"Clavardage audio"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Clavardage vidéo"</string>
+    <string name="connections" msgid="8098440723172028350">"Liens"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Ajouter un contact"</string>
+    <string name="recent" msgid="2659189233141493004">"Fichiers récents"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"Mises à jour récentes"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> contact"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"Utiliser cette photo"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"Non modifiable depuis cette application."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Non modifiable sur cet appareil."</string>
+    <string name="take_photo" msgid="7496128293167402354">"Prendre une photo"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"Prendre une autre photo"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Choisir une photo"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Sélectionner une nouvelle photo"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Mise à jour de la liste des contacts en cours suite au changement de langue"</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"La liste de contacts est en cours de mise à jour."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Les contacts font actuellement l\'objet d\'une mise à jour.\n\nCette opération nécessite environ <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> Mo de mémoire de stockage interne.\n\nVeuillez sélectionner l\'une des options suivantes :"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Désinstaller certaines applications"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Réessayer la mise à jour"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"Recherche en cours..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"Afficher la sélection"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"Tout afficher"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Tout sélectionner"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"Tout désélectionner"</string>
+    <string name="add_field" msgid="2384260056674995230">"Ajouter un champ"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Ajouter"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Ajouter une entreprise"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Date"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nom du groupe"</string>
+    <string name="description_star" msgid="2605854427360036550">"favori"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Modifier un contact"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"1 contact non fusionné"</item>
+    <item quantity="other" msgid="425683718017380845">"fusionné à partir de <xliff:g id="COUNT">%0$d</xliff:g> sources"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Associer ce contact au contact sélectionné?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Modifier le contact sélectionné? Les informations saisies jusqu\'ici seront copiées."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"Copier dans \"Mes contacts\""</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"Ajouter à \"Mes contacts\""</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"Annuaire <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"Personnaliser"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"Paramètres"</string>
+    <string name="menu_settings" msgid="377929915873428211">"Paramètres"</string>
+    <string name="menu_help" msgid="5123887102216637725">"Aide"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"Options d\'affichage"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"Numéro de téléphone"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Ajouter aux contacts"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Ajouter au contact"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"Fermer"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"Indiquer une année"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"Contact"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"Chargement en cours..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Créer un contact"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Se connecter à un compte"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Téléverser des contacts"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"Créer un groupe"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"Créer un groupe"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"Un groupe"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> groupes"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"Supprimer le groupe \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? Les contacts ne seront pas supprimés."</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> contact dans <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> contacts dans <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> contact"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> personne(s)"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Saisissez le nom du contact avant de l\'associer à un autre."</string>
+    <string name="copy_text" msgid="3257145021583508761">"Copier dans le presse-papiers"</string>
+    <string name="set_default" msgid="4417505153468300351">"Définir par défaut"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Effacer les valeurs par défaut"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"Texte copié."</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Annuler les modifications?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Configurer mon profil"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Saisissez le nom de la personne"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Nom du groupe"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"Mon profil local"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"Mon profil <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Affichage de tous les contacts"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Tirez le meilleur parti de l\'application Contacts en utilisant un compte Google.\n\n• Accédez-y à partir de n\'importe quel navigateur Web.\n• Sauvegardez vos contacts en toute sécurité."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Assurez la sécurité de vos contacts, même si vous perdez votre téléphone en effectuant une synchronisation avec un service en ligne."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Ajouter un compte"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Votre nouveau contact ne sera pas sauvegardé. Ajouter un compte qui sauvegarde les contacts en ligne?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Votre nouveau contact va être synchronisé avec <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Vous pouvez synchroniser votre nouveau contact avec l\'un des comptes suivants. Lequel souhaitez-vous utiliser?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Ajouter un contact"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Modifier un contact"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Enreg. copie locale"</string>
+    <string name="add_account" msgid="8201790677994503186">"Ajouter un compte"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Ajouter un nouveau compte"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Exporter les fichiers de la base de données"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"ajouter un contact"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"En voir plus"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"En voir moins"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Tout afficher"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Récents"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"À propos"</string>
+    <string name="send_message" msgid="8938418965550543196">"Envoyer un message"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Création d\'une copie personnelle en cours..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Hier"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Demain"</string>
+    <string name="today" msgid="8041090779381781781">"Aujourd\'hui"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Aujourd\'hui à <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Demain à <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Événement sans titre)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Définir"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"MI"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisation"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Pseudonyme"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Note"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Site Web"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Événement"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relation"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"itinéraire vers le lieu"</string>
+</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index c686f4d..ccb0376 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Contacts"</string>
+    <string name="people" msgid="1190841469952343354">"Contacts"</string>
     <string name="contactsList" msgid="8661624236494819731">"Contacts"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Contact"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Raccourci appel"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Choisissez le numéro à appeler"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Choisissez le numéro auquel envoyer le message"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Sélectionner un contact"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Sélectionner nouveau contact"</string>
     <string name="starredList" msgid="4817256136413959463">"Marqués d\'une étoile"</string>
     <string name="frequentList" msgid="7154768136473953056">"Contacts fréquents"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favoris"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Détails du contact"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Afficher le contact"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Modifier le contact"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Créer un contact"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Modifier le groupe"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Afficher le contact"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Ajouter aux favoris"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Supprimer des favoris"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Supprimé des favoris"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Ajouté aux favoris"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Modifier"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Supprimer"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Placer sur l\'écran d\'accueil"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Ce contact contient des informations provenant de plusieurs comptes. Vous pouvez masquer dans votre liste de contacts les informations des comptes en lecture seule, mais pas les supprimer."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"La suppression de ce contact entraînera celle d\'informations provenant de plusieurs comptes."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Ce contact sera supprimé."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Ignorer"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Supprimer les modifications"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Ce contact n\'existe pas."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widget de contact ajouté à l\'écran d\'accueil."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Créer un nouveau contact"</string>
@@ -76,7 +78,7 @@
   </string-array>
     <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Aucune image n\'est disponible sur la tablette."</string>
     <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Aucune image disponible sur le téléphone."</string>
-    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Photo du contact"</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Photo d\'un contact"</string>
     <string name="customLabelPickerTitle" msgid="1081475101983255212">"Libellé personnalisé"</string>
     <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Renvoyer les appels directement vers la messagerie vocale"</string>
     <string name="removePhoto" msgid="4898105274130284565">"Supprimer la photo"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contacts avec des n° de téléphone"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Aucun contact disposant d\'un numéro de téléphone"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 contact"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> contacts"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 contact trouvé"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> contact(s) trouvé(s)"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 contact trouvé"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> contact(s) trouvé(s)"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Tous les contacts"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Groupes"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Tous contacts"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoris"</string>
     <string name="callBack" msgid="5498224409038809224">"Rappeler"</string>
     <string name="callAgain" msgid="3197312117049874778">"Renouveler l\'appel"</string>
     <string name="returnCall" msgid="8171961914203617813">"Rappeler"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> sur <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacts"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Noms de vos contacts"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Aucune application pouvant gérer cette action n\'a été trouvée."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Cliquez pour revenir à l\'écran précédent."</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Ajouter un numéro de téléphone"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Ajouter une adresse e-mail"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Aucune application trouvée pour gérer cette action."</string>
     <string name="menu_share" msgid="943789700636542260">"Partager"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Ajouter aux contacts"</string>
     <string name="share_via" msgid="563121028023030093">"Partager contact via"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Sélectionner le compte associé au groupe"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Chat audio"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Utiliser cette photo"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Non modifiable depuis cette application."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Aucune autre information n\'est disponible pour ce contact."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Non modifiable sur cet appareil."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Trier la liste par"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Prénom"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Nom"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Afficher les noms des contacts"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Le prénom en premier"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Le nom en premier"</string>
     <string name="take_photo" msgid="7496128293167402354">"Prendre une photo"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Prendre une autre photo"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Choisir dans la galerie"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Choisir dans la galerie"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Sélectionner une photo"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Sélectionner une nouvelle photo"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Mise à jour de la liste des contacts en cours suite au changement de langue."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"La liste de contacts est en cours de mise à jour."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Les contacts font actuellement l\'objet d\'une mise à jour.\n\nCette opération nécessite environ <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> Mo de mémoire de stockage interne.\n\nVeuillez sélectionner l\'une des options suivantes :"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Ajouter une entreprise"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Date"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nom du groupe"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"via <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> via <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favori"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Modifier le contact"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Copier dans \"Mes contacts\""</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Ajouter à \"Mes contacts\""</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Annuaire <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Création d\'une copie personnelle…"</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Personnalisé"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Paramètres"</string>
     <string name="menu_settings" msgid="377929915873428211">"Paramètres"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Mon profil local"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Mon profil <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Affichage de tous les contacts"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Tirez le meilleur parti de l\'application Contacts en utilisant un compte Google.\n\n• Accédez-y depuis n\'importe quel navigateur Web.\n• Sauvegardez vos contacts en toute sécurité."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Tirez le meilleur parti de l\'application Contacts en utilisant un compte Google.\n\n• Accédez-y depuis n\'importe quel navigateur Web.\n• Sauvegardez vos contacts en toute sécurité."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Assurez la sécurité de vos contacts, même si vous perdez votre téléphone en effectuant une synchronisation avec un service en ligne."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Ajouter un compte"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Votre nouveau contact ne sera pas sauvegardé. Ajouter un compte permettant de sauvegarder les contacts en ligne ?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Votre nouveau contact va être synchronisé avec <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Vous pouvez synchroniser votre nouveau contact avec l\'un des comptes suivants. Lequel souhaitez-vous utiliser ?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Ajouter un contact"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Modifier le contact"</string>
     <string name="keep_local" msgid="1258761699192993322">"Enregistrer localement"</string>
     <string name="add_account" msgid="8201790677994503186">"Ajouter un compte"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Ajouter un compte"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Exporter les fichiers de la base de données"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Image : sélectionner pour modifier"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"ajouter un contact"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Plus"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Moins"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Tout afficher"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Récents"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"À propos"</string>
+    <string name="send_message" msgid="8938418965550543196">"Envoyer le message"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Création d\'une copie personnelle en cours..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Hier"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Demain"</string>
+    <string name="today" msgid="8041090779381781781">"Aujourd\'hui"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Aujourd\'hui, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Demain, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Événement sans titre)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Définir"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Messagerie instantanée"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisation"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Pseudo"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Note"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Site Web"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Événement"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relation"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"itinéraire vers le lieu"</string>
 </resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
new file mode 100644
index 0000000..63780d5
--- /dev/null
+++ b/res/values-gl-rES/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"Contactos"</string>
+    <string name="contactsList" msgid="8661624236494819731">"Contactos"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"Contacto"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"Marcación directa"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"Mensaxe directa"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Escolle un atallo do contacto"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Escolle un número ao que chamar"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Escolle un número ao que enviar unha mensaxe"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Escolle un contacto"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Seleccionar novo contacto"</string>
+    <string name="starredList" msgid="4817256136413959463">"Marcados con asterisco"</string>
+    <string name="frequentList" msgid="7154768136473953056">"Frecuentes"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Favoritos"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"Detalles do contacto"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"Editar contacto"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"Crear contacto"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"Editar grupo"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"Crear grupo"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"Acerca de"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"Actualizacións"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Buscar contactos"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"Ver contacto"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Engadir a favoritos"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Eliminar dos favoritos"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Eliminado de favoritos"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Engadido a favoritos"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Editar"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"Eliminar"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Colocar na pantalla de inicio"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Chamar ao contacto"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Enviar mensaxe ao contacto"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Separar"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Editar"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"Eliminar"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Engadir contacto"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Engadir grupo"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Separar contacto?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Este contacto separarase en varios contactos."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Unirse"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Unir contactos"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Escolle o contacto que queres unir con <xliff:g id="NAME">%s</xliff:g>:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Mostrar todos os contactos"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contactos suxeridos"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Todos os contactos"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Contactos unidos"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Definir ton"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Todas as chamadas a correo voz"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Non podes eliminar contactos das contas de só lectura, pero podes ocultalos nas túas listas de contactos."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Este contacto contén información de varias contas. A información das contas de só lectura ocultarase nas túas listas de contactos, non se eliminará."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"A eliminación deste contacto eliminará información de varias contas."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"Eliminarase este contacto."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Descartar cambios"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"O contacto non existe."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widget de contactos engadido á pantalla de inicio."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Crear novo contacto"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Crear novo contacto"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"Organización"</item>
+    <item msgid="7196592230748086755">"Nota"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Non hai imaxes dispoñibles no tablet."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Non hai imaxes dispoñibles no teléfono."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Foto de contacto"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Nome de etiqueta personalizada"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Enviar chamadas directamente ao correo de voz"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"Eliminar foto"</string>
+    <string name="noContacts" msgid="8579310973261953559">"Ningún contacto"</string>
+    <string name="noGroups" msgid="8614664663561385253">"Ningún grupo"</string>
+    <string name="noAccounts" msgid="7768267764545265909">"Para crear grupos precisas unha conta."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"Non hai ninguén neste grupo."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"Para engadir algo, edita o grupo."</string>
+    <string name="savingContact" msgid="4075751076741924939">"Gardando contacto..."</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Contacto gardado"</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Non se puideron gardar os cambios nos contactos."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"Grupo gardado"</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Non se puideron gardar os cambios no grupo."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"1 contacto con número de teléfono"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contactos con números de teléfono"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ningún contacto ten número de teléfono"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 encontrado"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> encontrados"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Sen contactos"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 encontrado"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> encontrados"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Contactos"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoritos"</string>
+    <string name="callBack" msgid="5498224409038809224">"Devolver chamada"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Chamar de novo"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Devolver chamada"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Engadir \"<xliff:g id="EMAIL">%s</xliff:g>\" aos contactos?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"foto de contacto"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"máis"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"Nomes dos teus contactos"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Non se encontrou ningunha aplicación para procesar esta acción."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Fai clic para volver á pantalla anterior"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Engadir número de teléfono"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Engadir correo electrónico"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Non se encontrou ningunha aplicación para procesar esta acción."</string>
+    <string name="menu_share" msgid="943789700636542260">"Compartir"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Engadir a contactos"</string>
+    <string name="share_via" msgid="563121028023030093">"Compartir contacto mediante"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"Crear grupo na conta"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"Chat de voz"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Chat de vídeo"</string>
+    <string name="connections" msgid="8098440723172028350">"Conexións"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Engadir conexión"</string>
+    <string name="recent" msgid="2659189233141493004">"Recente"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"Actualizac. recentes"</string>
+    <string name="account_type_format" msgid="718948015590343010">"Contacto de <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"Utilizar esta foto"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"Non editable desde esta aplicación."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Non editable neste dispositivo"</string>
+    <string name="take_photo" msgid="7496128293167402354">"Facer foto"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"Facer foto nova"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Escoller foto"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Seleccionar nova foto"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Estase actualizando a lista de contactos para reflectir o cambio de idioma."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"Estase actualizando a lista de contactos."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Estanse actualizando os contactos. \n\nO proceso de actualización precisa aproximadamente <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB de almacenamento interno.\n\nEscolle unha das seguintes opcións:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Desinstalar algunhas aplicacións"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Reintentar actualización"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"Buscando..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"Mostrar selección"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"Mostrar todo"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Seleccionar todo"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"Deseleccionar todo"</string>
+    <string name="add_field" msgid="2384260056674995230">"Engadir outro campo"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Engadir nova"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Engadir organización"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Data"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nome do grupo"</string>
+    <string name="description_star" msgid="2605854427360036550">"favorito"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Editar contacto"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"non combinados"</item>
+    <item quantity="other" msgid="425683718017380845">"combinados a partir de <xliff:g id="COUNT">%0$d</xliff:g> fontes"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Queres unir o contacto actual coa conta seleccionada?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Cambiar para editar o contacto seleccionado? Copiarase a información introducida ata o momento."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"Copiar en Os meus contactos"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"Engadir a Os meus contactos"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"Directorio <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"Personalizados"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"Configuración"</string>
+    <string name="menu_settings" msgid="377929915873428211">"Configuración"</string>
+    <string name="menu_help" msgid="5123887102216637725">"Axuda"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"Opcións de visualización"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"Número de teléfono"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Engadir a contactos"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Engadir ao contacto"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"Pechar"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"Indica un ano"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"Contacto"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"Cargando..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Crear un contacto novo"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Iniciar sesión nunha conta"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importar contactos"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"Crear novo grupo"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"Crear novo grupo"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 grupo"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupos"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"Queres eliminar o grupo \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Os contactos non se eliminarán)."</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> persoa de <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> persoas de <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> persoa"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> persoas"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Escribe o nome do contacto antes de unilo con outro."</string>
+    <string name="copy_text" msgid="3257145021583508761">"Copiar no portapapeis"</string>
+    <string name="set_default" msgid="4417505153468300351">"Definir como predeterminado"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Borrar valores predeterminados"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"Texto copiado"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Descartar os cambios?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Configurar o meu perfil"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Escribe o nome da persoa"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Nome do grupo"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"O meu perfil local"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"O meu perfil de <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Mostrando todos os contactos"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"A aplicación de Contactos funciona mellor cunha conta de Google.\n\n• Accede desde calquera navegador web.\n• Realiza copias de seguranza dos teus contactos de xeito seguro."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Mantén os teus contactos seguros aínda que perdas o teléfono: sincroniza cun servizo en liña."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Engadir unha conta"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Non se creará unha copia de seguranza do teu novo contacto. Queres engadir unha conta que cree unha copia de seguranza dos contactos en liña?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"O teu novo contacto sincronizarase con <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Podes sincronizar o teu novo contacto cunha das seguintes contas. Cal queres usar?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Engadir contacto"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Editar contacto"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Gardar localmente"</string>
+    <string name="add_account" msgid="8201790677994503186">"Engadir conta"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Engadir conta nova"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Exportar ficheiros da base de datos"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"engadir novo contacto"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Ver máis"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Ver menos"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Ver todo"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Recente"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Acerca de"</string>
+    <string name="send_message" msgid="8938418965550543196">"Enviar mensaxe"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Creando unha copia persoal..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Onte"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Mañá"</string>
+    <string name="today" msgid="8041090779381781781">"Hoxe"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Hoxe ás <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Mañá ás <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Evento sen título)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Configurar"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"MI"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organización"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Alcume"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Nota"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Sitio web"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Evento"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relación"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"indicacións para a localización"</string>
+</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 9824863..6433c00 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"लोग"</string>
+    <string name="people" msgid="1190841469952343354">"संपर्क"</string>
     <string name="contactsList" msgid="8661624236494819731">"संपर्क"</string>
     <string name="shortcutContact" msgid="749243779392912958">"संपर्क"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"प्रत्यक्ष डायल"</string>
@@ -25,24 +25,26 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"कॉल करने के लिए कोई नंबर चुनें"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"संदेश भेजने के लिए कोई नंबर चुनें"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"कोई संपर्क चुनें"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"नया संपर्क चुनें"</string>
     <string name="starredList" msgid="4817256136413959463">"तारांकित"</string>
     <string name="frequentList" msgid="7154768136473953056">"बार-बार"</string>
     <string name="strequentList" msgid="5640192862059373511">"पसंदीदा"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"संपर्क विवरण"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"संपर्क देखें"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"संपर्क संपादित करें"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"संपर्क बनाएं"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"समूह संपादित करें"</string>
     <string name="insertGroupDescription" msgid="5658512271662210139">"समूह बनाएं"</string>
     <string name="contactDetailAbout" msgid="5430408883907061400">"इस बारे में"</string>
-    <string name="contactDetailUpdates" msgid="3780588624763446941">"अपडेट"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"नई जानकारी"</string>
     <string name="searchHint" msgid="8482945356247760701">"संपर्क खोजें"</string>
     <string name="menu_viewContact" msgid="2795575601596468581">"संपर्क देखें"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"पसंदीदा में जोड़ें"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"पसंदीदा से निकालें"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"पसंदीदा से निकाल दिया गया"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"पसंदीदा में जोड़ा गया"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"संपादित करें"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"हटाएं"</string>
-    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"मुखपृष्ठ स्क्रीन पर रखें"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"मुख्यपृष्ठ स्क्रीन पर रखें"</string>
     <string name="menu_call" msgid="3992595586042260618">"संपर्क को कॉल करें"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"इस संपर्क को SMS भेजें"</string>
     <string name="menu_splitAggregate" msgid="8368636463748691868">"अलग करें"</string>
@@ -65,9 +67,9 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"इस संपर्क में एकाधिक खातों की जानकारी है. केवल-पढ़ने के लिए खातों की जानकारी आपकी संपर्क सूचियों में छिपी रहेगी, उसे हटाया नहीं जाएगा."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"इस संपर्क को हटाने से एकाधिक खातों से जानकारी हट जाएगी."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"यह संपर्क हटा दिया जाएगा."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"छोड़ें"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"बदलावों को छोड़ें"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"संपर्क मौजूद नहीं है."</string>
-    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"मुखपृष्ठ स्क्रीन पर संपर्क विजेट जोड़ा गया."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"मुख्यपृष्ठ स्क्रीन पर संपर्क विजेट जोड़ा गया."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"नया संपर्क बनाएं"</string>
     <string name="pickerNewContactText" msgid="6166997164401048211">"नया संपर्क बनाएं"</string>
   <string-array name="otherLabels">
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"फ़ोन नंबर वाले <xliff:g id="COUNT">%d</xliff:g> संपर्क"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"फ़ोन नंबर वाले कोई संपर्क नहीं"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 संपर्क"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> संपर्क"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 मिला"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> मिले"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 मिला"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> मिले"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"सभी संपर्क"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"समूह"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"सभी संपर्क"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"पसंदीदा"</string>
     <string name="callBack" msgid="5498224409038809224">"कॉल बैक करें"</string>
     <string name="callAgain" msgid="3197312117049874778">"फिर से कॉल करें"</string>
     <string name="returnCall" msgid="8171961914203617813">"रिटर्न कॉल"</string>
@@ -118,37 +116,35 @@
     <string name="description_plus_button" msgid="515164827856229880">"जोड़ें"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="TOTAL_NUMBER">%s</xliff:g> में से <xliff:g id="CURRENT_NUMBER">%s</xliff:g> संपर्क"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"आपके संपर्कों के नाम"</string>
-    <string name="quickcontact_missing_app" msgid="358168575340921552">"यह कार्यवाही प्रबंधित करने के लिए कोई एप्लिकेशन नहीं मिला."</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"यह कार्यवाही प्रबंधित करने के लिए कोई ऐप्स  नहीं मिला."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"पिछली स्क्रीन पर लौटने के लिए क्लिक करें"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"फ़ोन नंबर जोड़ें"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"ईमेल जोड़ें"</string>
+    <string name="missing_app" msgid="1466111003546611387">"यह कार्यवाही प्रबंधित करने के लिए कोई ऐप्स नहीं मिला."</string>
     <string name="menu_share" msgid="943789700636542260">"साझा करें"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"संपर्कों में जोड़ें"</string>
     <string name="share_via" msgid="563121028023030093">"इसके द्वारा संपर्क साझा करें"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"खाते के तहत समूह बनाएं"</string>
-    <string name="audio_chat" msgid="2535716629358298691">"ध्वनि चैट"</string>
-    <string name="video_chat" msgid="1872255818640336072">"वीडियो चैट"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"ध्वनि बातचीत"</string>
+    <string name="video_chat" msgid="1872255818640336072">"वीडियो बातचीत"</string>
     <string name="connections" msgid="8098440723172028350">"कनेक्शन"</string>
     <string name="add_connection_button" msgid="4861308615789601727">"कनेक्शन जोड़ें"</string>
     <string name="recent" msgid="2659189233141493004">"हाल ही के"</string>
-    <string name="recent_updates" msgid="4267258535615860710">"हाल ही के अपडेट"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"हाल ही के नई जानकारी"</string>
     <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> संपर्क"</string>
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"इस फ़ोटो का उपयोग करें"</string>
-    <string name="contact_read_only" msgid="7421346527289472273">"इस एप्लिकेशन द्वारा संपादन-योग्‍य नहीं."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"इस संपर्क की कोई अतिरिक्त जानकारी नहीं है."</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"इस ऐप्स  द्वारा संपादन-योग्‍य नहीं."</string>
     <string name="group_read_only" msgid="1061762906115697637">"इस उपकरण पर संपादन योग्‍य नहीं."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"सूची को इसके अनुसार क्रमित करें"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"दिया गया नाम"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"उपनाम"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"संपर्क नामों को देखें"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"दिया गया नाम पहले"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"कुलनाम पहले"</string>
     <string name="take_photo" msgid="7496128293167402354">"फ़ोटो लें"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"नया फ़ोटो लें"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"गैलरी से फ़ोटो चुनें"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"गैलरी से नए फ़ोटो को चुनें"</string>
-    <string name="locale_change_in_progress" msgid="7583992153091537467">"भाषा के परिवर्तन दिखाने के लिए संपर्क सूची को अपडेट किया जा रहा है."</string>
-    <string name="upgrade_in_progress" msgid="474511436863451061">"संपर्क सूची अपडेट की जा रही है."</string>
-    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"संपर्क अपग्रेड होने की प्रक्रिया में हैं. \n\nअपग्रेड प्रक्रिया को लगभग <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB आंतरिक संग्रहण की आवश्‍यकता होती है.\n\nनिम्‍न विकल्‍पों में से कोई एक चुनें:"</string>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"कुछ एप्लिकेशन अनइंस्टॉल करें"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"फ़ोटो चुनें"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"नई फ़ोटो चुनें"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"भाषा के परिवर्तन दिखाने के लिए संपर्क सूची से नई जानकारी मिल रही है."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"संपर्क सूची से नई जानकारी मिल रही है."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"संपर्क अपग्रेड होने की प्रक्रिया में हैं. \n\nअपग्रेड प्रक्रिया को लगभग <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB मोबाइल संग्रहण की आवश्‍यकता होती है.\n\nनिम्‍न विकल्‍पों में से कोई एक चुनें:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"कुछ ऐप्स  अनइंस्टॉल करें"</string>
     <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"अपग्रेड का पुन: प्रयास करें"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"खोज रहा है…"</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"चयनित दिखाएं"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"संगठन जोड़ें"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"दि‍नांक"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"समूह नाम"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"<xliff:g id="SOURCE">%1$s</xliff:g> द्वारा"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="SOURCE">%2$s</xliff:g> द्वारा <xliff:g id="DATE">%1$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"पसंदीदा"</string>
     <string name="edit_contact" msgid="7529281274005689512">"संपर्क संपादित करें"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"मेरे संपर्क में प्रतिलिपि बनाएं"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"मेरे संपर्क में जोड़ें"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"निर्देशिका <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"एक व्‍यक्तिगत प्रतिलिपि बना रहा है…"</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"कस्टम"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"सेटिंग"</string>
     <string name="menu_settings" msgid="377929915873428211">"सेटिंग"</string>
@@ -189,7 +182,7 @@
     <string name="social_widget_label" msgid="6378905543028924592">"संपर्क करें"</string>
     <string name="social_widget_loading" msgid="5327336597364074608">"लोड हो रहा है..."</string>
     <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"एक नया संपर्क बनाएं"</string>
-    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"किसी खाते में साइन इन करें"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"किसी खाते में प्रवेश करें"</string>
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"संपर्क आयात करें"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"नया समूह बनाएं"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"नया समूह बनाएं"</string>
@@ -208,8 +201,8 @@
   </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"अन्‍य संपर्क से जुड़ने से पहले संपर्क नाम लिखें."</string>
     <string name="copy_text" msgid="3257145021583508761">"क्‍लिपबोर्ड पर प्रतिलिपि बनाएं"</string>
-    <string name="set_default" msgid="4417505153468300351">"डिफ़ॉल्ट सेट करें"</string>
-    <string name="clear_default" msgid="7193185801596678067">"डिफ़ॉल्‍ट साफ़ करें"</string>
+    <string name="set_default" msgid="4417505153468300351">"सामान्य सेट करें"</string>
+    <string name="clear_default" msgid="7193185801596678067">"सामान्य साफ़ करें"</string>
     <string name="toast_text_copied" msgid="5143776250008541719">"पाठ की प्रतिलिपि बनाई गई"</string>
     <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"आपके परिवर्तन छोड़ें?"</string>
     <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"मेरी स्थानीय प्रोफ़ाइल"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"मेरी <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> प्रोफ़ाइल"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"सभी संपर्क प्रदर्शित कर रहा है"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"लोग Google खाते के साथ बेहतर तरीके से कार्य करते हैं.\n\n• किसी भी वेब ब्राउज़र से पहुंचें.\n• सुरक्षि‍त रूप से अपने संपर्कों का बैकअप लें."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"संपर्क Google खाते के साथ बेहतर कार्य करता है.\n\n• किसी भी वेब ब्राउज़र से एक्सेस करें.\n• अपने संपर्कों का सुरक्षित रूप से बैकअप लें."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"अपना फ़ोन खो देने पर भी अपने संपर्क सुरक्षित रखें: किसी ऑनलाइन सेवा से समन्‍वयित करें."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"कोई खाता जोड़ें"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"आपके नए संपर्क का बैक अप नहीं लिया जाएगा. ऐसा खाता जोड़ें जो संपर्कों का ऑन‍लाइन बैक अप ले?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"आपका नया संपर्क <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> के साथ समन्‍वयित किया जाएगा."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"आप निम्‍न में से किसी एक खाते से अपने नए संपर्क को समन्‍वयित कर सकते हैं. आप किसका उपयोग करना चाहते हैं?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"नया संपर्क जोड़ें"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"संपर्क संपादित करें"</string>
     <string name="keep_local" msgid="1258761699192993322">"स्‍थानीय रखें"</string>
     <string name="add_account" msgid="8201790677994503186">"खाता जोड़ें"</string>
     <string name="add_new_account" msgid="5748627740680940264">"नया खाता जोड़ें"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"डेटाबेस फ़ाइलें निर्यात करें"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"चित्र. बदलने के लिए चुनें"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"नया संपर्क जोड़ें"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"अधिक देखें"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"कम देखें"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"सभी देखें"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"हाल ही का"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"संक्षिप्त विवरण"</string>
+    <string name="send_message" msgid="8938418965550543196">"संदेश भेजें"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"व्यक्तिगत प्रति बनाई जा रही है..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"कल"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"कल"</string>
+    <string name="today" msgid="8041090779381781781">"आज"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"आज <xliff:g id="TIME_INTERVAL">%s</xliff:g> बजे"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"कल <xliff:g id="TIME_INTERVAL">%s</xliff:g> बजे"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(शीर्षक रहित ईवेंट)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"सेट करें"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"संगठन का नाम"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"उपनाम"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"नोट"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"वेबसाइट"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"ईवेंट"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"संबंध"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"स्थान के लिए दिशा निर्देश"</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 41f9f08..1afc5fd 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Osobe"</string>
+    <string name="people" msgid="1190841469952343354">"Kontakti"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kontakti"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kontakt"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Izravan poziv"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Odaberite broj za pozivanje"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Odabir broja za poruku"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Odaberite kontakt"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Odaberite novi kontakt"</string>
     <string name="starredList" msgid="4817256136413959463">"Sa zvjezdicom"</string>
     <string name="frequentList" msgid="7154768136473953056">"Često"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favoriti"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Pojedinosti kontakta"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Prikaži kontakt"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Uredi kontakt"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Izradi kontakt"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Uredi skupinu"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Prikaži kontakt"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Dodaj u favorite"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Ukloni iz favorita"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Uklonjeno iz favorita"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Dodano favoritima"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Uredi"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Izbriši"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Mjesto na početnom zaslonu"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Ovaj kontakt sadrži informacije iz više računa. Informacije iz računa koji su samo za čitanje bit će skrivene na popise kontakata, a ne izbrisane."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Brisanjem ovog kontakta izbrisat ćete podatke s više računa."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Ovaj će kontakt biti izbrisan."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Odbaci"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Odbaci promjene"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Kontakt ne postoji."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widget za kontakte dodan je na vaš početni zaslon."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Izrada novog kontakta"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"Kontakata s tel. brojevima: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nema kontakata s telefonskim brojevima"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 kontakt"</item>
-    <item quantity="other" msgid="3578469907265375314">"Broj kontakata: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 pronađen"</item>
     <item quantity="other" msgid="3852668542926965042">"Pronađeno kontakata: <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 pronađen"</item>
     <item quantity="other" msgid="7988132539476575389">"Pronađeno kontakata: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Svi kontakti"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupe"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Svi kontakti"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoriti"</string>
     <string name="callBack" msgid="5498224409038809224">"Povratni poziv"</string>
     <string name="callAgain" msgid="3197312117049874778">"Zovi ponovo"</string>
     <string name="returnCall" msgid="8171961914203617813">"Povratni poziv"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> od <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakata"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Nazivi vaših kontakata"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Nije pronađena nijedna aplikacija koja može provesti ovu radnju."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Kliknite za povratak na prethodni zaslon"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Dodajte telefonski broj"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Dodajte e-adresu"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Nije pronađena nijedna aplikacija koja može provesti tu radnju."</string>
     <string name="menu_share" msgid="943789700636542260">"Podijeli"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Dodaj u kontakte"</string>
     <string name="share_via" msgid="563121028023030093">"Dijeli kontakt putem"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Napravite skupinu pod računom"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Glasovni chat"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Upotrijebi ovu fotografiju"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Iz ove aplikacije ne može se uređivati."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Nema dodatnih podataka za ovaj kontakt."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Na ovom uređaju ne može se uređivati"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Poredaj popis prema"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Ime"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Prezime"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Prikaži imena kontakata"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Najprije ime"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Najprije prezime"</string>
     <string name="take_photo" msgid="7496128293167402354">"Snimi fotografiju"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Snimi novu fotografiju"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Iz Galerije odaberite fotografiju"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Odaberite novu fotografiju iz galerije"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Odaberite fotografiju"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Odaberite novu fotografiju"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Popis kontakata ažurira se da bi se pokazala promjena jezika."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Popis kontakata ažurira se."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontakti se nadograđuju. \n\nZa proces nadogradnje potrebno je približno <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB interne pohrane.\n\nOdaberite jednu od sljedećih opcija:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Dodaj organizaciju"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Datum"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Naziv grupe"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"preko izvora <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> preko izvora <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favorit"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Uredi kontakt"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopiraj u Moje kontakte"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Dodaj u Moje kontakte"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Direktorij <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Stvaranje osobne kopije..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Prilagođeno"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Postavke"</string>
     <string name="menu_settings" msgid="377929915873428211">"Postavke"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Moj lokalni profil"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Moj <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> profil"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Prikaz svih kontakata"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Značajka Osobe radi bolje s Google računom.\n\n• Pristup iz bilo kojeg web-preglednika.\n• Stvorite sigurnosnu kopiju kontakata."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kontakti funkcioniraju bolje uz Google račun.\n\n• Pristupajte im iz bilo kojeg web-preglednika.\n• Stvorite sigurnosnu kopiju kontakata."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Očuvajte sigurnost svojih kontakata čak i ako izgubite telefon, sinkronizirajte ih mrežnom uslugom."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Dodajte račun"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Sigurnosna kopija novog kontakta neće biti napravljena. Želite li dodati račun za pravljenje sigurnosnih kopija kontakata na mreži?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Vaš novi kontakt bit će sinkroniziran s računom <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Možete sinkronizirati svoj novi kontakt pomoću jednog od sljedećih računa. Koji želite koristiti?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Dodaj novi kontakt"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Uredi kontakt"</string>
     <string name="keep_local" msgid="1258761699192993322">"Zadrži lokalno"</string>
     <string name="add_account" msgid="8201790677994503186">"Dodaj račun"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Dodaj novi račun"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Izvezi datoteke podatkovne baze"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Slika. Odaberite za promjenu"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"dodavanje novog kontakta"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Pokaži više"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Pokaži manje"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Pokaži sve"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Nedavno"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"O kartici"</string>
+    <string name="send_message" msgid="8938418965550543196">"Pošalji poruku"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Izrada osobne kopije..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Jučer"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Sutra"</string>
+    <string name="today" msgid="8041090779381781781">"Danas"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Danas u <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Sutra u <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Događaj bez naslova)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Postavi"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organizacija"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Nadimak"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Napomena"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Web-lokacija"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Događaj"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Odnos"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"upute do lokacije"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index f38cf9a..d94accf 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Személyek"</string>
+    <string name="people" msgid="1190841469952343354">"Névjegyek"</string>
     <string name="contactsList" msgid="8661624236494819731">"Címtár"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Névjegy"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Közvetlen tárcsázás"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Válasszon telefonszámot a híváshoz"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Válasszon telefonszámot az üzenetküldéshez"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Névjegy kiválasztása"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Új névjegy kiválasztása"</string>
     <string name="starredList" msgid="4817256136413959463">"Csillaggal megjelölt"</string>
     <string name="frequentList" msgid="7154768136473953056">"Gyakori"</string>
     <string name="strequentList" msgid="5640192862059373511">"Kedvencek"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Névjegy adatai"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Névjegy megtekintése"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Névjegy szerkesztése"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Névjegy létrehozása"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Csoport szerkesztése"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Névjegy megtekintése"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Hozzáadás a kedvencekhez"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Eltávolítás a kedvencek közül"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Eltávolítva a kedvencek közül"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Hozzáadva a kedvencekhez"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Szerkesztés"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Törlés"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Helyezze el a kezdőképernyőn"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Ez a névjegy több fiókból is tartalmaz adatokat. Az írásvédett fiókokból származó adatok nem jelennek meg a Címtárban, de nem kerülnek törlésre."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"A névjegy törlésével több fiókból is töröl adatokat."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"A névjegy törlésre kerül."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Elvetés"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Módosítások elvetése"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"A névjegy nem létezik."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"A Névjegy modul felkerült a kezdőképernyőre."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Új névjegy létrehozása"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> névjegy telefonszámmal"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nincsenek telefonszámot is tartalmazó névjegyek"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 névjegy"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> névjegy"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 találat"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> találat"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 találat"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> találat"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Az összes névjegy"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Csoportok"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Összes névjegy"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Kedvencek"</string>
     <string name="callBack" msgid="5498224409038809224">"Visszahívás"</string>
     <string name="callAgain" msgid="3197312117049874778">"Hívásismétlés"</string>
     <string name="returnCall" msgid="8171961914203617813">"Visszahívás"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%s</xliff:g> névjegy"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Ismerősök nevei"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Nincs megfelelő alkalmazás a művelet elvégzésére."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Kattintással visszatér az előző képernyőre"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Telefonszám hozzáadása"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"E-mail cím hozzáadása"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Nincs megfelelő alkalmazás a művelet elvégzéséhez."</string>
     <string name="menu_share" msgid="943789700636542260">"Megosztás"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Hozzáadás a névjegyekhez"</string>
     <string name="share_via" msgid="563121028023030093">"Névjegy megosztása a következőn:"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Csoport létrehozása a fiókban"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Audiocsevegés"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Fotó felhasználása"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Nem szerkeszthető ezen alkalmazásból."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Nincsenek további adatok ennél a névjegynél."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Nem szerkeszthető ezen a készüléken"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Lista rendezési elve:"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Utónév"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Vezetéknév"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Névjegyek megtekintése"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Utónév előre"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Vezetéknév elöl"</string>
     <string name="take_photo" msgid="7496128293167402354">"Fotó készítése"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Új fénykép készítése"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Fotó kiválasztása a Galériából"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Új fotó kiválasztása a Galériából"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Fotó kiválasztása"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Új fotó kiválasztása"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Az ismerőslista frissítése folyamatban van, hogy tükrözze a nyelv módosítását."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Az ismerőslista frissítése folyamatban van."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"A névjegyek frissítése folyamatban van. \n\nA frissítés elvégzéséhez megközelítőleg <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB belső tárhelyre lesz szükség.\n\nVálasszon a következő lehetőségek közül:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Szervezet hozzáadása"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Dátum"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Csoport neve"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"- <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> - <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"kedvenc"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Névjegy szerkesztése"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Másolás a saját névjegyeim közé"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Hozzáadás a Címtárhoz"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Mappa: <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Személyes másolat készítése..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Egyéni"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Beállítások"</string>
     <string name="menu_settings" msgid="377929915873428211">"Beállítások"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Helyi profilom"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"<xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> profilom"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Az összes névjegy megjelenítése"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"A Személyek alkalmazás jobban működik egy Google Fiókkal.\n\n• Bármilyen bőngészőből elérheti\n• Biztonsági másolatot készíthet névjegyeiről."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"A Névjegyek alkalmazás jobban működik egy Google-fiókkal.\n\n• Bármilyen böngészőből elérheti.\n• Biztonsági másolatot készíthet névjegyeiről."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Tartsa névjegyeit biztonságban akkor is, ha elveszíti a telefont: szinkronizáljon egy online szolgáltatással."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Fiók hozzáadása"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Az Ön új névjegyéről nem készül biztonsági másolat. Hozzáad egy olyan fiókot, amelyik online biztonsági másolatot készít a névjegyekről?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Az új névjegyet a következő fiókkal fogjuk szinkronizálni: <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Szinkronizálhatja az új névjegyet a következő fiókok valamelyikével. Melyiket kívánja használni?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Névjegy hozzáadása"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Névjegy szerkesztése"</string>
     <string name="keep_local" msgid="1258761699192993322">"Tárolás helyben"</string>
     <string name="add_account" msgid="8201790677994503186">"Fiók hozzáadása"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Új fiók hozzáadása"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Adatbázisfájlok exportálása"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Kép. Válassza ki a módosításhoz"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"új névjegy hozzáadása"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Továbbiak"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Kevesebb megjelenítése"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Az összes megjelenítése"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Legutóbbiak"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Névjegy"</string>
+    <string name="send_message" msgid="8938418965550543196">"Üzenet küldése"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Személyes másolat létrehozása…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Tegnap"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Holnap"</string>
+    <string name="today" msgid="8041090779381781781">"Ma"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Ma <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Holnap <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Névtelen esemény)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Beállítás"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Azonnali üzenetküldés"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Szervezet"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Becenév"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Jegyzet"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Webhely"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Esemény"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Viszony"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"útvonalterv a helyhez"</string>
 </resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
new file mode 100644
index 0000000..1562d96
--- /dev/null
+++ b/res/values-hy-rAM/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"Կոնտակտներ"</string>
+    <string name="contactsList" msgid="8661624236494819731">"Կոնտակտներ"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"Կոնտակտ"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"Ուղիղ համարհավաքում"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"Ուղիղ հաղորդագրություն"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Ընտրել կոնտակտի դյուրանցումը"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Ընտրել զանգելու համարը"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Ընտրել համարը՝ հաղորդագրելու համար"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Ընտրել կոնտակտ"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Ընտրեք նոր կոնտակտ"</string>
+    <string name="starredList" msgid="4817256136413959463">"Աստղանշված"</string>
+    <string name="frequentList" msgid="7154768136473953056">"Հաճախակի"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Ընտրյալներ"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"Մանրամասներ կոնտակտի մասին"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"Խմբագրել կոնտակտը"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"Ստեղծել կոնտակտ"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"Խմբագրել խումբը"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"Ստեղծել խումբ"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"Տեղեկատվություն"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"Թարմացումները"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Որոնել կոնտակտներ"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"Դիտել կոնտակտը"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Ավելացնել ընտրյալներում"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Հեռացնել ընտրյալներից"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Հեռացված է ընտրյալներից"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Ավելացված է ընտրյալներում"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Խմբագրել"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"Ջնջել"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Տեղադրել գլխավոր էկրանին"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Զանգել կոնտակտին"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Հաղորդագրել կոնտակտին"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Առանձնացնել"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Խմբագրել"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"Ջնջել"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Ավելացնել կոնտակտ"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Ավելացնել խումբ"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Բաժանե՞լ կոնտակտը"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Այս կոնտակտը կբաժանվի մի քանի կոնտակտների:"</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Միացնել"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Միացնել կոնտակտները"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Ընտրեք կոնտակտը, որը ցանկանում եք միացնել <xliff:g id="NAME">%s</xliff:g>-ին"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Ցույց տալ բոլոր կոնտակտները"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Առաջարկվող կոնտակները"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Բոլոր կոնտակտները"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Կոնտակտները միացվեցին"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Կարգավորել զանգերանգը"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Բոլոր զանգերը՝ ձայնային փոստին"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Դուք չէք կարող ջնջել միայն ընթերցման համար նախատեսված հաշիվների կոնտակտները, սակայն կարող եք ձեր կոնտակտների ցանկից թաքցնել:"</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Այս կոնտակտը պարունակում է տվյալներմի քանի հաշվիներից: Միայն ընթերցելի հաշիվներից տվյալները կթաքցվեն ձեր կոնտակների ցանկից, չեն ջնջվի:"</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Այս կոնտակտը ջնջելիս տվյալները ևս մի քանի հաշիվներից կջնջվեն:"</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"Այս կոնտակտը կջնջվի:"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Հրաժարվել փոփոխություններից"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"Կոնտակտը գոյություն չունի:"</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Կոնտակտի վիջեթը ավելացվեց Գլխավոր էկրանին:"</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Ստեղծել նոր կոնտակտ"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Ստեղծել նոր կոնտակտ"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"Կազմակերպություն"</item>
+    <item msgid="7196592230748086755">"Նշում"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Գրասալիկի վրա հասանելի նկարներ չկան:"</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Հեռախոսում մատչելի լուսանկարներ չկան:"</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Կոնտակտի լուսանկարը"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Պիտակի հատուկ անունը"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Ուղարկել զանգերը անմիջապես ձայնային փոստին"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"Հեռացնել լուսանկարը"</string>
+    <string name="noContacts" msgid="8579310973261953559">"Կոնտակտներ չկան:"</string>
+    <string name="noGroups" msgid="8614664663561385253">"Խմբեր չկան:"</string>
+    <string name="noAccounts" msgid="7768267764545265909">"Խմբեր ստեղծելու համար դուք պետք է հաշիվ ունենաք:"</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"Այս խմբում ոչ ոք չկա:"</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"Խմբագրեք` խմբին անդամ ավելացնելու համար:"</string>
+    <string name="savingContact" msgid="4075751076741924939">"Կոնտակտի պահվում է..."</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Կոնտակտը պահվեց:"</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Հնարավոր չէ պահել կոնտակտային փոփոխությունները:"</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"Խումբը պահվեց:"</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Հնարավոր չէ պահել խմբի փոփոխությունները:"</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"1 կոնտակտ հեռախոսահամարով"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> կոնտակտ հեռախոսահամարներով"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Հեռախոսահամարներով կոնտակտներ չկան"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 գտնված"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> գտնված"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Կոտնակտներ չկան"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"գտնվել է 1-ը"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> գտնված"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Բոլոր կոնտակտները"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Ընտրանի"</string>
+    <string name="callBack" msgid="5498224409038809224">"Հետ զանգել"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Կրկին զանգել"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Հետ զանգել"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Ավելացնե՞լ «<xliff:g id="EMAIL">%s</xliff:g>»-ը կոնտակտներին:"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"կոնտակտի լուսանկարը"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"գումարել"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>-ը <xliff:g id="TOTAL_NUMBER">%s</xliff:g> կոնտակտից"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"Ձեր կոնտակտների անունները"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Այս գործողությունը կատարելու համար ոչ մի ծրագիր չի գտնվել:"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Սեղմեք՝ նախորդ էկրանին վերադառնալու համար"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Ավելացնել հեռախոսահամար"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Ավելացնել էլփոստ"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Այս գործողությունը կատարելու համար ոչ մի ծրագիր չի գտնվել:"</string>
+    <string name="menu_share" msgid="943789700636542260">"Տարածել"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Ավելացնել կոնտակտներում"</string>
+    <string name="share_via" msgid="563121028023030093">"Տարածել կոնտակտը"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"Ստեղծել խումբ հաշվի ներքևում"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"Ձայնային զրույց"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Տեսազրույց"</string>
+    <string name="connections" msgid="8098440723172028350">"Կապեր"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Ավելացնել կապ"</string>
+    <string name="recent" msgid="2659189233141493004">"Վերջին"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"Վերջին թարմացումները"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> կոնտակտ"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"Օգտագործել այս լուսանկարը"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"Ենթակա չէ խմբագրման այս ծրագրով:"</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Խմբագրելի չէ այս սարքից:"</string>
+    <string name="take_photo" msgid="7496128293167402354">"Լուսանկարել"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"Լուսանկարել նորը"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Ընտրել լուսանկար"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Ընտրել նոր լուսանկար"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Կոնտակտների ցանկը թարմացվում է՝ լեզվի փոփոխություններն արտացոլելու համար:"</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"Կոնտակտների ցանկը թարմացվում է:"</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Կոնտակտները թարմացման գործընթացի մեջ են:\n\nԹարմացման գործընթացը պահանջում է մոտավորապես <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> Մբ հեռախոսի ներքին պահոց:\n\nԸնտրեք հետևյալ ընրանքներից մեկը՝"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Ապատեղադրել որոշ ծրագրեր"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Կրկին փորձել թարմացնել"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"Որոնում..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"Ցույց տալ ընտրվածները"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"Ցուցադրել բոլորը"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Ընտրել բոլորը"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"Ապանշել բոլորը"</string>
+    <string name="add_field" msgid="2384260056674995230">"Ավելացնել այլ դաշտ"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Ավելացնել նորը"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Ավելացնել կազմակերպություն"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Ամսաթիվը"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Խմբի անունը"</string>
+    <string name="description_star" msgid="2605854427360036550">"ընտրյալ"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Խմբագրել կոնտակտը"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"չմիավորված"</item>
+    <item quantity="other" msgid="425683718017380845">"միացվել է <xliff:g id="COUNT">%0$d</xliff:g> աղբյուրից"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Միացնե՞լ այս կոնտակտը ընտրված կոնտակտի հետ"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Փոխարկե՞լ ընտրված կոնտակտի խմբագրմանը: Մինչ այս պահը ձեր մուտքագրած տեղեկությունները կպատճենվեն:"</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"Պատճենել Իմ կոնտակտներում"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"Ավելացնել Իմ կոնտակտներին"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"<xliff:g id="TYPE">%1$s</xliff:g> գրացուցակ"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"Հատուկ"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"Կարգավորումներ"</string>
+    <string name="menu_settings" msgid="377929915873428211">"Կարգավորումներ"</string>
+    <string name="menu_help" msgid="5123887102216637725">"Օգնություն"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"Ցուցադրման ընտրանքներ"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"Հեռախոսահամար"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Ավելացնել կոնտակտներում"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Ավելացնել կոնտակտին"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"Փակել"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"Ցուցադրել տարին"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"Կոնտակտ"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"Բեռնում..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Ստեղծել նոր կոնտակտ"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Մուտք գործել հաշիվ"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Ներմուծել կոնտակտներ"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"Ստեղծել նոր խումբ"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"Ստեղծել նոր խումբ"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 խումբ"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> խումբ"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"Ջնջե՞լ «<xliff:g id="GROUP_LABEL">%1$s</xliff:g>» խումբը: (Կոնտակտները չեն ջնջվի:)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> անձ <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>-ից"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> մարդ <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>-ից"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> անձ"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> մարդ"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Մուտքագրեք կոնտակտի անունը մեկ ուրիշի հետ միացնելուց առաջ:"</string>
+    <string name="copy_text" msgid="3257145021583508761">"Պատճենել սեղմատախտակին"</string>
+    <string name="set_default" msgid="4417505153468300351">"Սահմանել լռելյայն"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Մաքրել լռելյայն"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"Տեքսը պատճենված է"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Հրաժարվե՞լ ձեր փոփոխություններից"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Կարգավորել իմ պրոֆիլը"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Մուտքագրեք անձի անունը"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Խմբի անունը"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"Իմ տեղային պրոֆիլը"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"Իմ <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> պրոֆիլը"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Ցուցադրվում են բոլոր կոնտակտները"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Կոնտակտների հավելվածն ավելի լավ է աշխատում Google հաշվի հետ:\n\n• Մուտք գործեք ցանկացած վեբ դիտարկչով:\n• Պահուստավորեք ձեր կոնտակտներն ապահով ճանապարհով:"</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Պահեք ձեր կոնտակտները ապահով, նույնիսկ եթե կորցնեք ձեր հեռախոսը. համաժամեցրեք առցանց ծառայության հետ:"</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Ավելացնել հաշիվ"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Ձեր նոր կոնտակտը չի պահուստավորվի: Ավելացնե՞լ հաշիվ, որն առցանց է պահուստավորում կոնտակտները:"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Ձեր նոր կոնտակտը կհամաժամեցվի <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>-ի հետ:"</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Դուք կարող եք համաժամեցնել ձեր նոր կոնտակտը այս հաշիվներից որևէ մեկի հետ: Ո՞րն եք ցանկանում ընտրել:"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Ավելացնել կոնտակտ"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Փոփոխել կոնտակտը"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Պահել տեղային"</string>
+    <string name="add_account" msgid="8201790677994503186">"Ավելացնել հաշիվ"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Ավելացնել նոր հաշիվ"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Արտահանել տվյալների շտեմարանի ֆայլերը"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"ավելացնել նոր կոնտակտ"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Տեսնել ավելին"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Տեսնել պակաս"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Տեսնել բոլորը"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Վերջին գործողությունները"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Տեղեկատվություն"</string>
+    <string name="send_message" msgid="8938418965550543196">"Ուղարկել հաղորդագրություն"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Ստեղծվում է անձնական պատճենը..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Երեկ"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Վաղը"</string>
+    <string name="today" msgid="8041090779381781781">"Այսօր"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Այսօր՝ <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Վաղը՝ <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Անվերնագիր միջոցառում)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Սահմանել"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Կազմակերպություն"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Մականուն"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Գրառում"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Վեբկայք"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Միջոցառում"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Հարաբերություն"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"Երթուղիներ"</string>
+</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 83654cc..32527ba 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Orang"</string>
+    <string name="people" msgid="1190841469952343354">"Kontak"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kontak"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kontak"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Panggilan langsung"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Pilih nomor untuk dipanggil"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Pilih nomor untuk dikirimi pesan"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Pilih kontak"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Pilih kontak baru"</string>
     <string name="starredList" msgid="4817256136413959463">"Yang berbintang"</string>
     <string name="frequentList" msgid="7154768136473953056">"Sering"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favorit"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Detail kontak"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Lihat kontak"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Edit kontak"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Buat kontak"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Edit grup"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Lihat kontak"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Tambahkan ke favorit"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Hapus dari favorit"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Dibuang dari favorit"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Ditambahkan ke favorit"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Edit"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Hapus"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Letakkan di layar Utama"</string>
@@ -60,12 +62,12 @@
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Semua kontak"</string>
     <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontak telah bergabung"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Setel nada dering"</string>
-    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Semua panggilan ke kotak pesan"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Panggilan masuk kotak pesan"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Anda tidak dapat menghapus kontak dari akun hanya-baca, namun Anda dapat menyembunyikannya dalam daftar kontak Anda."</string>
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Kontak ini berisi informasi dari beberapa akun. Informasi dari akun hanya-baca akan disembunyikan dalam daftar kontak Anda, tidak dihapus."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Menghapus kontak ini akan menghapus informasi dari beberapa akun."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Kontak ini akan dihapus."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Buang"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Batalkan perubahan"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Kontak tidak ada."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widget kontak ditambahkan ke layar Utama."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Buat kontak baru"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontak dengan nomor telepon"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Tidak ada kontak dengan nomor telepon"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 kontak"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> kontak"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Ada 1"</item>
     <item quantity="other" msgid="3852668542926965042">"Ada <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"Ada 1"</item>
     <item quantity="other" msgid="7988132539476575389">"Ada <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Semua kontak"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grup"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Semua kontak"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favorit"</string>
     <string name="callBack" msgid="5498224409038809224">"Hubungi kembali"</string>
     <string name="callAgain" msgid="3197312117049874778">"Hubungi sekali lagi"</string>
     <string name="returnCall" msgid="8171961914203617813">"Panggilan kembali"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> dari <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontak"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Nama kontak Anda"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Tidak ada apl yang ditemukan untuk menangani tindakan ini."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Klik untuk kembali ke layar sebelumnya"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Tambahkan nomor telepon"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Tambahkan email"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Tidak ditemukan aplikasi untuk menangani tindakan ini."</string>
     <string name="menu_share" msgid="943789700636542260">"Bagikan"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Tambahkan ke kontak"</string>
     <string name="share_via" msgid="563121028023030093">"Bagikan kontak melalui"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Buat grup dalam akun"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Obrolan suara"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Gunakan foto ini"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Tidak dapat diedit dari apl ini."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Tidak ada informasi tambahan untuk kontak ini."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Tidak dapat diedit pada perangkat ini."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Sortir daftar menurut"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Nama depan"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Nama keluarga"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Lihat nama kontak"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Nama depan pertama"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Nama keluarga pertama"</string>
     <string name="take_photo" msgid="7496128293167402354">"Ambil foto"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Ambil foto baru"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Pilih foto dari Galeri"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Pilih foto baru dari Galeri"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Pilih foto"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Pilih foto baru"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Daftar kontak sedang diperbarui untuk mencerminkan perubahan bahasa."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Daftar kontak sedang diperbarui."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontak sedang dalam proses peningkatan versi. \n\nProses peningkatan versi memerlukan sekitar <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB dari penyimpanan internal.\n\nPilih salah satu opsi berikut:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Tambahkan organisasi"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Tanggal"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nama grup"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"melalui <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> melalui <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favorit"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Edit kontak"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Salin ke Kontak Saya"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Tambahkan ke Kontak Saya"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Direktori <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Membuat salinan pribadi..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Khusus"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Setelan"</string>
     <string name="menu_settings" msgid="377929915873428211">"Setelan"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Profil lokal saya"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Profil <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> saya"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Menampilkan semua kontak"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Orang bekerja lebih baik dengan Akun Google.\n\n• Akses dari browser web mana pun.\n• Cadangkan kontak Anda dengan aman."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kontak bekerja lebih baik dengan Akun Google.\n\n• Akses dari browser web apa pun.\n• Cadangkan kontak Anda dengan aman."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Tetap amankan kontak Anda jika kehilangan ponsel: sinkronkan dengan layanan online."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Tambahkan akun"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Kontak baru Anda tidak akan dicadangkan. Tambahkan akun yang mencadangkan kontak secara online?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Kontak baru Anda akan disinkronkan dengan <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Anda dapat menyinkronkan kontak baru dengan salah satu akun berikut. Akun mana yang ingin Anda gunakan?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Tambah kontak baru"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Edit kontak"</string>
     <string name="keep_local" msgid="1258761699192993322">"Simpan secara lokal"</string>
     <string name="add_account" msgid="8201790677994503186">"Tambahkan akun"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Tambahkan akun baru"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Ekspor file basis data"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Gambar. Pilih untuk mengubah"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"menambah kontak baru"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Lihat lebih banyak"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Lihat lebih sedikit"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Lihat semua"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Terbaru"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Tentang"</string>
+    <string name="send_message" msgid="8938418965550543196">"Kirim pesan"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Membuat salinan pribadi..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Kemarin"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Besok"</string>
+    <string name="today" msgid="8041090779381781781">"Hari ini"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Hari ini pukul <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Besok pukul <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Acara tanpa judul)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Setel"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisasi"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Julukan"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Catatan"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Situs web"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Acara"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Hubungan"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"petunjuk arah ke lokasi"</string>
 </resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
new file mode 100644
index 0000000..49809f7
--- /dev/null
+++ b/res/values-is-rIS/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"Tengiliðir"</string>
+    <string name="contactsList" msgid="8661624236494819731">"Tengiliðir"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"Tengiliður"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"Bein lína"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"Bein skilaboð"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Veldu tengilið fyrir flýtileið"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Veldu númer til að hringja í"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Veldu númer til að senda skilaboð til"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Veldu tengilið"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Veldu nýjan tengilið"</string>
+    <string name="starredList" msgid="4817256136413959463">"Stjörnumerktir"</string>
+    <string name="frequentList" msgid="7154768136473953056">"Mikil samskipti"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Uppáhald"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"Upplýsingar um tengilið"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"Breyta tengilið"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"Búa til tengilið"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"Breyta hóp"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"Búa til hóp"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"Um"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"Uppfærslur"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Leita í tengiliðum"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"Skoða tengilið"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Bæta við uppáhald"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Fjarlægja úr uppáhaldi"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Fjarlægt úr uppáhaldi"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Bætt við uppáhald"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Breyta"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"Eyða"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Setja á heimaskjáinn"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Hringja í tengilið"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Senda tengilið textaskilaboð"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Skipta upp"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Breyta"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"Eyða"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Bæta tengilið við"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Bæta hóp við"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Skipta tengilið upp?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Þessum tengilið verður skipt upp í fleiri tengiliði."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Tengja"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Sameina tengiliði"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Veldu tengiliðinn sem þú vilt að <xliff:g id="NAME">%s</xliff:g> sameinist:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Sýna alla tengiliði"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Tillögur að tengiliðum"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Allir tengiliðir"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Tengiliðirnir voru sameinaðir"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Velja hringitón"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Öll símtöl í talhólf"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Ekki er hægt að eyða tengiliðum af skrifvörðum reikningum en hægt er að fela þá í tengliðalistanum."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Þessi tengiliður inniheldur upplýsingar af mörgum reikningum. Upplýsingar af skrifvörðum reikningum verða faldar í tengiliðalistanum en ekki eytt."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Ef þessum tengilið er eytt verður upplýsingum eytt af mörgum reikningum."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"Þessum tengilið verður eytt."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Hætta við breytingar"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"Tengiliðurinn er ekki til."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Tengiliðagræjunni var bætt á heimaskjáinn."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Búa til nýjan tengilið"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Búa til nýjan tengilið"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"Fyrirtæki"</item>
+    <item msgid="7196592230748086755">"Athugasemd"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Engar myndir eru tiltækar í spjaldtölvunni."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Engar myndir eru tiltækar í símanum."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Mynd tengiliðar"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Sérsniðið flokksheiti"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Senda símtöl beint í talhólfið"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"Fjarlægja mynd"</string>
+    <string name="noContacts" msgid="8579310973261953559">"Engir tengiliðir."</string>
+    <string name="noGroups" msgid="8614664663561385253">"Engir hópar."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"Þú þarft að vera með reikning til að geta búið til hópa."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"Það er enginn í þessum hóp."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"Breyttu hópnum til að bæta fólki við hann."</string>
+    <string name="savingContact" msgid="4075751076741924939">"Vistar tengilið…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Tengiliður vistaður."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Ekki tókst að vista breytingar á tengiliðnum."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"Hópur vistaður."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Ekki tókst að vista breytingarnar á hópnum."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"Einn tengiliður með símanúmer"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> tengiliðir með símanúmer"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Engir tengiliðir með símanúmer"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"Einn fannst"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> fundust"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Engir tengiliðir"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"Einn fannst"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> fundust"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Allir tengil."</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Uppáhald"</string>
+    <string name="callBack" msgid="5498224409038809224">"Hringja til baka"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Hringja aftur"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Hringja til baka"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Bæta „<xliff:g id="EMAIL">%s</xliff:g>“ við tengiliði?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"mynd tengiliðar"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"plús"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> af <xliff:g id="TOTAL_NUMBER">%s</xliff:g> tengiliðum"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"Nöfn tengiliðanna þinna"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Ekkert forrit fannst sem getur framkvæmt þessa aðgerð."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Smelltu til að fara aftur á fyrri skjá"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Bæta við símanúmeri"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Bæta við netfangi"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Ekkert forrit fannst sem getur framkvæmt þessa aðgerð."</string>
+    <string name="menu_share" msgid="943789700636542260">"Deila"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Bæta við tengiliði"</string>
+    <string name="share_via" msgid="563121028023030093">"Deila tengilið í gegnum"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"Búa til hóp undir reikningi"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"Símtalsspjall"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Myndspjall"</string>
+    <string name="connections" msgid="8098440723172028350">"Tengingar"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Bæta tengingu við"</string>
+    <string name="recent" msgid="2659189233141493004">"Nýlegt"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"Nýlegar uppfærslur"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> tengiliður"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"Nota þessa mynd"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"Ekki hægt að breyta úr þessu forriti."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Ekki hægt að breyta í þessu tæki."</string>
+    <string name="take_photo" msgid="7496128293167402354">"Taka mynd"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"Taka nýja mynd"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Velja mynd"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Velja nýja mynd"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Verið er að uppfæra tengiliðalistann í samræmi við valið tungumál."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"Verið er að uppfæra tengiliðalistann."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Verið er að uppfæra tengiliði. \n\nUppfærsluferlið notar u.þ.b. <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB af innbyggðu geymslunni.\n\nVeldu einn eftirfarandi valkosta:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Fjarlægja einhver forrit"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Prófa uppfærslu aftur"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"Leitar…"</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"Sýna valda"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"Sýna alla"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Velja alla"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"Velja enga"</string>
+    <string name="add_field" msgid="2384260056674995230">"Bæta nýjum reit við"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Bæta nýjum við"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Bæta fyrirtæki við"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Dagsetning"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Heiti hóps"</string>
+    <string name="description_star" msgid="2605854427360036550">"uppáhald"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Breyta tengilið"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"ekki sameinaður"</item>
+    <item quantity="other" msgid="425683718017380845">"sameinaður úr <xliff:g id="COUNT">%0$d</xliff:g> færslum"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Viltu sameina núverandi tengilið og valda tengiliðinn?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Skipta yfir í að breyta völdum tengilið? Upplýsingarnar sem þú hefur sett inn nú þegar verða afritaðar."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"Afrita í tengiliðina mína"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"Bæta við tengiliði"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"Skrá <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"Sérsniðið"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"Stillingar"</string>
+    <string name="menu_settings" msgid="377929915873428211">"Stillingar"</string>
+    <string name="menu_help" msgid="5123887102216637725">"Hjálp"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"Birtingarvalkostir"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"Símanúmer"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Bæta við tengiliði"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Bæta við tengilið"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"Loka"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"Gefa upp ár"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"Tengiliður"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"Hleður…"</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Búa til nýjan tengilið"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Innskráning á reikning"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Flytja tengiliði inn"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"Búa til nýjan hóp"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"Búa til nýjan hóp"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"Einn hópur"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> hópar"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"Eyða hópnum „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“? (Tengiliðunum sjálfum verður ekki eytt.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> aðili úr <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> aðilar úr <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> aðili"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> aðilar"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Sláðu inn nafn tengiliðar áður en þú sameinar hann öðrum."</string>
+    <string name="copy_text" msgid="3257145021583508761">"Afrita á klippiborð"</string>
+    <string name="set_default" msgid="4417505153468300351">"Velja sem sjálfgefið"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Hreinsa sjálfgefið"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"Texti afritaður"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Hunsa breytingarnar?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Setja upp prófílinn minn"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Sláðu inn nafn tengiliðar"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Heiti hópsins"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"Staðbundinn prófíll"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"<xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> prófíllinn minn"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Allir tengiliðir sýndir"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Tengiliðir virka betur með Google reikningi.\n\n• Aðgangur í öllum vöfrum.\n• Tekur öryggisafrit af tengiliðunum þínum."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Ekki glata tengiliðunum þótt þú týnir símanum: Samstilltu þá við netþjónustu."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Bættu reikningi við"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Ekki verður tekið öryggisafrit af nýja tengiliðnum. Viltu bæta við reikningi sem tekur öryggisafrit af tengiliðum á netinu?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Nýi tengiliðurinn verður samstilltur við <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Þú getur samstillt nýja tengiliðinn við einn eftirfarandi reikninga. Hvern þeirra viltu nota?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Bæta tengilið við"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Breyta tengilið"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Halda í tækinu"</string>
+    <string name="add_account" msgid="8201790677994503186">"Bæta reikningi við"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Bæta nýjum reikningi við"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Flytja út gagnagrunnsskrár"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"bæta nýjum tengilið við"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Sjá meira"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Minnka"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Sjá allt"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Nýlegt"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Um"</string>
+    <string name="send_message" msgid="8938418965550543196">"Senda skilaboð"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Býr til afrit til einkanota…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Í gær"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Á morgun"</string>
+    <string name="today" msgid="8041090779381781781">"Í dag"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Í dag klukkan <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Á morgun klukkan <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g> kl. <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Ónefndur viðburður)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Nota"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Spjall"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Fyrirtæki"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Gælunafn"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Athugasemd"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Vefsvæði"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Viðburður"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Tengsl"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"leiðarlýsing að stað"</string>
+</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 08c513c..766de6a 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Persone"</string>
+    <string name="people" msgid="1190841469952343354">"Contatti"</string>
     <string name="contactsList" msgid="8661624236494819731">"Contatti"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Contatto"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Composizione diretta"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Scegli un numero da chiamare"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Scegli un numero a cui inviare il messaggio"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Scegli un contatto"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Seleziona nuovo contatto"</string>
     <string name="starredList" msgid="4817256136413959463">"Speciali"</string>
     <string name="frequentList" msgid="7154768136473953056">"Frequenti"</string>
     <string name="strequentList" msgid="5640192862059373511">"Preferiti"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Dettagli contatto"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Visualizza contatto"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Modifica contatto"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Crea contatto"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Modifica gruppo"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Visualizza contatto"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Aggiungi a preferiti"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Rimuovi dai preferiti"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Rimosso dai preferiti"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Aggiunto ai preferiti"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Modifica"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Elimina"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Aggiungi a schermata Home"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Il contatto contiene informazioni da più account. Le informazioni provenienti da account di sola lettura verranno nascoste nei tuoi elenchi di contatti, non eliminate."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"L\'eliminazione di questo contatto causerà l\'eliminazione di informazioni da più account."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Il contatto verrà eliminato."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Ignora"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Ignora modifiche"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Contatto non esistente."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widget del contatto aggiunto alla schermata Home."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Crea nuovo contatto"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contatti con numeri di telefono"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nessun contatto con numeri di telefono"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 contatto"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> contatti"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 trovato"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> trovati"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 trovato"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> trovati"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Tutti i contatti"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Gruppi"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Tutti i cont."</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Preferiti"</string>
     <string name="callBack" msgid="5498224409038809224">"Richiama"</string>
     <string name="callAgain" msgid="3197312117049874778">"Richiama"</string>
     <string name="returnCall" msgid="8171961914203617813">"Chiama numero"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> contatti su <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"I nomi dei tuoi contatti"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Nessuna applicazione trovata per gestire questa azione."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Fai clic per tornare alla schermata precedente"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Aggiungi numero di telefono"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Aggiungi email"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Nessuna applicazione trovata per gestire questa azione."</string>
     <string name="menu_share" msgid="943789700636542260">"Condividi"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Aggiungi a contatti"</string>
     <string name="share_via" msgid="563121028023030093">"Condividi contatto tramite"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Crea un gruppo nell\'account"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Chat vocale"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Utilizza questa foto"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Non modificabile da questa applicazione."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Nessuna informazione aggiuntiva per questo contatto."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Non modificabile su questo dispositivo."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Ordina elenco per"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Nome"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Cognome"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Visualizza nomi contatti"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Prima il nome"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Prima il cognome"</string>
     <string name="take_photo" msgid="7496128293167402354">"Scatta foto"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Scatta nuova foto"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Scegli la foto dalla Galleria"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Seleziona nuova foto da galleria"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Scegli foto"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Seleziona nuova foto"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Elenco contatti in fase di aggiornamento per l\'applicazione della modifica della lingua."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Elenco contatti in fase di aggiornamento."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Contatti in fase di upgrade. \n\nIl processo di upgrade richiede circa <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB di memoria interna.\n\nScegli una delle seguenti opzioni:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Aggiungi organizzazione"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Data"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nome del gruppo"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"tramite <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> tramite <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"preferiti"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Modifica contatto"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Copia nei miei contatti"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Aggiungi ai contatti personali"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Directory <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Creazione di una copia personale..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Personalizzato"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Impostazioni"</string>
     <string name="menu_settings" msgid="377929915873428211">"Impostazioni"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Il mio profilo locale"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Il mio profilo <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Sono visualizzati tutti i contatti"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"L\'applicazione People funziona meglio con un account Google.\n\n• Puoi accedervi da qualsiasi browser web.\n• Effettua il backup dei tuoi contatti in modo sicuro."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"L\'app Contatti funziona meglio con un account Google.\n\n• Accedi da qualsiasi browser web.\n• Effettua il backup dei tuoi contatti in modo sicuro."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Tieni al sicuro i tuoi contatti anche se perdi il telefono: sincronizzali con un servizio online."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Aggiungi un account"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Non verrà effettuato il backup del nuovo contatto. Aggiungere un account che effettua il backup dei contatti online?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Il nuovo contatto verrà sincronizzato con <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Puoi sincronizzare il nuovo contatto con uno dei seguenti account. Quale desideri utilizzare?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Aggiungi nuovo contatto"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Modifica contatto"</string>
     <string name="keep_local" msgid="1258761699192993322">"Memorizza in locale"</string>
     <string name="add_account" msgid="8201790677994503186">"Aggiungi account"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Aggiungi nuovo account"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Esporta file database"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Immagine. Seleziona per modificare"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"aggiungi nuovo contatto"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Mostra altro"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Mostra meno"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Mostra tutto"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Recenti"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Informazioni"</string>
+    <string name="send_message" msgid="8938418965550543196">"Invia messaggio"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Creazione di una copia personale..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Ieri"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Domani"</string>
+    <string name="today" msgid="8041090779381781781">"Oggi"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Oggi alle ore <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Domani alle ore <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Evento senza titolo)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Imposta"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Chat"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organizzazione"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Nickname"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Nota"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Sito web"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Evento"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relazione"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"indicazioni per la posizione"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index fbcce59..297fa89 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"אנשים"</string>
+    <string name="people" msgid="1190841469952343354">"אנשי קשר"</string>
     <string name="contactsList" msgid="8661624236494819731">"אנשי קשר"</string>
     <string name="shortcutContact" msgid="749243779392912958">"איש קשר"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"חיוג ישיר"</string>
@@ -25,21 +25,23 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"בחר מספר להתקשר אליו"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"בחר מספר לשליחת הודעה"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"בחר איש קשר"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"בחר איש קשר חדש"</string>
     <string name="starredList" msgid="4817256136413959463">"מסומן בכוכב"</string>
     <string name="frequentList" msgid="7154768136473953056">"לעתים קרובות"</string>
     <string name="strequentList" msgid="5640192862059373511">"מועדפים"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"פרטי איש קשר"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"הצג איש קשר"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"ערוך איש קשר"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"צור איש קשר"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"ערוך קבוצה"</string>
     <string name="insertGroupDescription" msgid="5658512271662210139">"צור קבוצה"</string>
-    <string name="contactDetailAbout" msgid="5430408883907061400">"מידע על"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"מידע כללי"</string>
     <string name="contactDetailUpdates" msgid="3780588624763446941">"עדכונים"</string>
     <string name="searchHint" msgid="8482945356247760701">"חפש אנשי קשר"</string>
     <string name="menu_viewContact" msgid="2795575601596468581">"הצג איש קשר"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"הוסף למועדפים"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"הסר מהמועדפים"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"הוסר מהמועדפים"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"נוסף למועדפים"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"ערוך"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"מחק"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"הצב במסך הבית"</string>
@@ -65,16 +67,16 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"איש קשר זה מכיל מידע מחשבונות מרובים. מידע מחשבונות לקריאה בלבד יוסתר ברשימות אנשי הקשר ולא יימחק."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"מחיקת איש קשר זה תמחק מידע מחשבונות מרובים."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"איש קשר זה יימחק."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"מחק"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"בטל שינויים"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"איש הקשר לא קיים."</string>
-    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"widget של אנשי קשר נוסף למסך הבית."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"‏widget של אנשי קשר נוסף למסך הבית."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"צור איש קשר חדש"</string>
     <string name="pickerNewContactText" msgid="6166997164401048211">"צור איש קשר חדש"</string>
   <string-array name="otherLabels">
     <item msgid="8287841928119937597">"ארגון"</item>
     <item msgid="7196592230748086755">"הערה"</item>
   </string-array>
-    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"אין תמונות זמינות בטבלט."</string>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"אין תמונות זמינות בטאבלט."</string>
     <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"אין תמונות זמינות בטלפון."</string>
     <string name="attach_photo_dialog_title" msgid="5599827035558557169">"תמונה של איש קשר"</string>
     <string name="customLabelPickerTitle" msgid="1081475101983255212">"שם תווית בהתאמה אישית"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> אנשי קשר עם מספרי טלפון"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"אין אנשי קשר עם מספרי טלפון"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"איש קשר אחד"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> אנשי קשר"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"נמצא אחד"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> נמצאו"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"נמצא אחד"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> נמצאו"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"כל אנשי הקשר"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"קבוצות"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"כל אנשי הקשר"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"מועדפים"</string>
     <string name="callBack" msgid="5498224409038809224">"התקשר חזרה"</string>
     <string name="callAgain" msgid="3197312117049874778">"התקשר שוב"</string>
     <string name="returnCall" msgid="8171961914203617813">"התקשר בחזרה"</string>
@@ -118,8 +116,13 @@
     <string name="description_plus_button" msgid="515164827856229880">"חיבור"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> מתוך <xliff:g id="TOTAL_NUMBER">%s</xliff:g> אנשי קשר"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"השמות של אנשי הקשר"</string>
-    <string name="quickcontact_missing_app" msgid="358168575340921552">"לא נמצא יישום שיכול לטפל בפעולה זו."</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"לא נמצאה אפליקציה שיכולה לטפל בפעולה זו."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"לחץ כדי לחזור אל המסך הקודם"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"הוסף מספר טלפון"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"הוסף דוא\"ל"</string>
+    <string name="missing_app" msgid="1466111003546611387">"לא נמצאה אפליקציה שיכולה לטפל בפעולה זו."</string>
     <string name="menu_share" msgid="943789700636542260">"שתף"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"הוסף לאנשי הקשר"</string>
     <string name="share_via" msgid="563121028023030093">"שתף איש קשר באמצעות"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"צור קבוצה עבור חשבון"</string>
     <string name="audio_chat" msgid="2535716629358298691">"צ\'אט קולי"</string>
@@ -132,23 +135,16 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"השתמש בתמונה זו"</string>
-    <string name="contact_read_only" msgid="7421346527289472273">"לא ניתן לעריכה מיישום זה."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"אין מידע נוסף על איש קשר זה."</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"לא ניתן לעריכה מאפליקציה זו."</string>
     <string name="group_read_only" msgid="1061762906115697637">"לא ניתן לעריכה במכשיר זה"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"מיין רשימה לפי"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"שם פרטי"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"שם משפחה"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"הצגת שמות אנשי קשר"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"תחילה שם פרטי"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"שם משפחה תחילה"</string>
     <string name="take_photo" msgid="7496128293167402354">"צלם תמונה"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"צלם תמונה חדשה"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"בחר תמונה מתוך \'גלריה\'"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"בחר תמונה חדשה מהגלריה"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"בחר תמונה"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"בחר תמונה חדשה"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"רשימת אנשי הקשר מתעדכנת כדי לשקף את שינוי השפה."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"רשימת אנשי הקשר מתעדכנת."</string>
-    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"מתבצע כרגע שדרוג של אנשי הקשר. \n\nעבור תהליך השדרוג נדרש אחסון פנימי בנפח של כ-‏‎<xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB‏.\n\nבחר אחת מהאפשרויות הבאות:"</string>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"הסר התקנה של יישומים מסוימים"</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"‏מתבצע כרגע שדרוג של אנשי הקשר. \n\nעבור תהליך השדרוג נדרש אחסון פנימי בנפח של כ-‏‎<xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB‏.\n\nבחר אחת מהאפשרויות הבאות:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"הסר התקנה של אפליקציות מסוימות"</string>
     <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"נסה שוב לשדרג"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"מחפש..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"הצג פריטים שנבחרו"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"הוסף ארגון"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"תאריך"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"שם קבוצה"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"באמצעות <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> באמצעות <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"מועדף"</string>
     <string name="edit_contact" msgid="7529281274005689512">"ערוך איש קשר"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"העתק אל \'אנשי הקשר שלי\'"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"הוסף ל\'אנשי הקשר שלי\'"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"<xliff:g id="TYPE">%1$s</xliff:g> ספריה"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"יוצר עותק אישי..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"מותאם אישית"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"הגדרות"</string>
     <string name="menu_settings" msgid="377929915873428211">"הגדרות"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"הפרופיל המקומי שלי"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"פרופיל <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> שלי"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"מציג את כל אנשי הקשר"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"\'אנשים\' עובד טוב יותר עם ​​חשבון Google‏. \n \n • גישה מכל דפדפן אינטרנט. \n • גיבוי אנשי הקשר באופן מאובטח."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"‏\'אנשי קשר\' פועל טוב יותר עם ​​חשבון Google‏.\n\n• קבל גישה מכל דפדפן אינטרנט.\n• גבה את אנשי הקשר באופן מאובטח."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"דאג שלא תאבד את אנשי הקשר שלך גם אם הטלפון שלך יאבד: בצע סנכרון עם שירות מקוון."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"הוסף חשבון"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"איש הקשר החדש שלך לא יגובה. להוסיף חשבון שמגבה אנשי קשר באופן מקוון?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"איש הקשר החדש שלך יסונכרן עם <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"ניתן לסנכרן את איש הקשר החדש שלך עם אחד מהחשבונות הבאים. באיזה מהם ברצונך להשתמש?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"הוסף איש קשר חדש"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"ערוך איש קשר"</string>
     <string name="keep_local" msgid="1258761699192993322">"שמור באופן מקומי"</string>
     <string name="add_account" msgid="8201790677994503186">"הוסף חשבון"</string>
     <string name="add_new_account" msgid="5748627740680940264">"הוסף חשבון חדש"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"ייצוא קובצי מסד נתונים"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"תמונה. בחר כדי לשנות"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"הוסף איש קשר חדש"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"הצג יותר"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"הצג פחות"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"הצג הכל"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"מהזמן האחרון"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"מידע כללי"</string>
+    <string name="send_message" msgid="8938418965550543196">"שלח הודעה"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"יוצר עותק אישי..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"אתמול"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"מחר"</string>
+    <string name="today" msgid="8041090779381781781">"היום"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"היום ב-<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"מחר ב-<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>‏, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(אירוע ללא שם)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"הגדר"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"הודעות מיידיות"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"ארגון"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"כינוי"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"הערה"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"אתר"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"אירוע"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"קשר"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"הנחיות הגעה למיקום"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 7bfc49c..4085bfd 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"連絡帳"</string>
+    <string name="people" msgid="1190841469952343354">"連絡先"</string>
     <string name="contactsList" msgid="8661624236494819731">"連絡先"</string>
     <string name="shortcutContact" msgid="749243779392912958">"連絡先"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"直接発信"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"発信する番号の選択"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"メッセージを送る番号の選択"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"連絡先を選択"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"新しい連絡先の選択"</string>
     <string name="starredList" msgid="4817256136413959463">"スター付き"</string>
     <string name="frequentList" msgid="7154768136473953056">"よく使う連絡先"</string>
     <string name="strequentList" msgid="5640192862059373511">"お気に入り"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"連絡先情報"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"連絡先を表示"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"連絡先を編集"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"連絡先を新規登録"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"グループの編集"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"連絡先詳細"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"お気に入りに追加"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"お気に入りから削除"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"お気に入りから削除します"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"お気に入りに追加します"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"編集"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"削除"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ホーム画面に配置"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"この連絡先には、複数のアカウント情報が含まれています。読み取り専用アカウントの情報を連絡先リストで非表示にすることはできますが、削除はできません。"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"この連絡先を削除すると、複数のアカウント情報が削除されます。"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"この連絡先を削除します。"</string>
-    <string name="menu_discard" msgid="6456087569315685632">"キャンセル"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"変更を破棄"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"連絡先が存在しません。"</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"ホーム画面に連絡先ウィジェットを追加しました。"</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"連絡先を新規登録"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"電話番号のある連絡先<xliff:g id="COUNT">%d</xliff:g>件"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"電話番号付きの連絡先はありません"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"連絡先1件"</item>
-    <item quantity="other" msgid="3578469907265375314">"連絡先<xliff:g id="COUNT">%d</xliff:g>件"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1件見つかりました"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g>件見つかりました"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1件見つかりました"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g>件見つかりました"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"すべての連絡先"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"グループ"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"すべての連絡先"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"お気に入り"</string>
     <string name="callBack" msgid="5498224409038809224">"コールバック"</string>
     <string name="callAgain" msgid="3197312117049874778">"再発信"</string>
     <string name="returnCall" msgid="8171961914203617813">"発信"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%s</xliff:g>件のファイル"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"連絡先の名前"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"この操作を行うアプリが見つかりませんでした。"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"前の画面に戻るにはタップしてください"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"電話番号を追加"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"メールを追加"</string>
+    <string name="missing_app" msgid="1466111003546611387">"この操作を行うアプリが見つかりませんでした。"</string>
     <string name="menu_share" msgid="943789700636542260">"共有"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"連絡先に追加"</string>
     <string name="share_via" msgid="563121028023030093">"連絡先の共有ツール"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"次のアカウントにグループを作成"</string>
     <string name="audio_chat" msgid="2535716629358298691">"ボイスチャット"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"この写真を使用"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"このアプリからは編集できません。"</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"この連絡先の詳細情報はありません。"</string>
     <string name="group_read_only" msgid="1061762906115697637">"この端末では編集できません。"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"並び替え順"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"名"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"姓"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"連絡先名を表示"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"名が先"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"姓が先"</string>
     <string name="take_photo" msgid="7496128293167402354">"写真を撮影"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"新しい写真を撮る"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"ギャラリーから画像を選ぶ"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"ギャラリーから新しい写真を選ぶ"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"写真を選択"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"新しい写真を選択"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"言語の変更に伴い連絡先リストを更新しています。"</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"連絡先リストを更新しています。"</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"連絡先をアップグレードしています。\n\nアップグレード処理には約<xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g>MBの内部ストレージが必要です。\n\n次のいずれかのオプションを選択してください:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"所属を追加"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"日付"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"グループ名"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"<xliff:g id="SOURCE">%1$s</xliff:g>経由"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g>、<xliff:g id="SOURCE">%2$s</xliff:g>経由"</string>
     <string name="description_star" msgid="2605854427360036550">"お気に入り"</string>
     <string name="edit_contact" msgid="7529281274005689512">"連絡先の編集"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Myコンタクトにコピー"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Myコンタクトに追加"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"ディレクトリ<xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"個人用コピーを作成しています..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"カスタム"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"設定"</string>
     <string name="menu_settings" msgid="377929915873428211">"設定"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"ローカルプロフィール"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"<xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>のプロフィール"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"すべての連絡先を表示しています"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Googleアカウントがあればユーザーアプリをもっと活用できます。\n\n• どのウェブブラウザからもアクセスできます。\n• 連絡先を安全にバックアップできます。"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Googleアカウントがあれば連絡先をもっと活用できます。\n\n• どのウェブブラウザからもアクセスできます。\n• 連絡先を安全にバックアップできます。"</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"携帯端末を紛失したときにも連絡先を保護するため、オンラインサービスと同期させます。"</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"アカウントの追加"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"新しい連絡先はバックアップされません。オンラインで連絡先をバックアップするアカウントを追加しますか?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"新しい連絡先は<xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>と同期されます。"</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"新しい連絡先を次のいずれかのアカウントと同期させることができます。使用するアカウントを選択してください。"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"新しい連絡先を追加"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"連絡先を編集"</string>
     <string name="keep_local" msgid="1258761699192993322">"ローカルに保存"</string>
     <string name="add_account" msgid="8201790677994503186">"アカウントを追加"</string>
     <string name="add_new_account" msgid="5748627740680940264">"新しいアカウントを追加"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"データベースファイルをエクスポート"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"画像: 選択して変更"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"新しい連絡先を追加"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"もっと見る"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"一部を表示"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"すべて表示"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"最近"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"概要"</string>
+    <string name="send_message" msgid="8938418965550543196">"メッセージの送信"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"個人用コピーを作成しています..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"昨日"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"明日"</string>
+    <string name="today" msgid="8041090779381781781">"今日"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"今日の<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"明日の<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>の<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(無題の予定)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"設定"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"組織"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"ニックネーム"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"メモ"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"ウェブサイト"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"予定"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"関係"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"場所までの経路"</string>
 </resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
new file mode 100644
index 0000000..a9e939d
--- /dev/null
+++ b/res/values-ka-rGE/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"კონტაქტები"</string>
+    <string name="contactsList" msgid="8661624236494819731">"კონტაქტები"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"კონტაქტი"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"სწრაფი დარეკვა"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"სწრაფი შეტყობინება"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"კონტაქტის მალსახმობის არჩევა"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"დასარეკად აირჩიეთ ნომერი"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"ნომრის შერჩევა შეტყობინების გასაგზავნად"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"კონტაქტის არჩევა"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"აირჩიეთ ახალი კონტაქტი"</string>
+    <string name="starredList" msgid="4817256136413959463">"ვარსკვლავიანი"</string>
+    <string name="frequentList" msgid="7154768136473953056">"ხშირი"</string>
+    <string name="strequentList" msgid="5640192862059373511">"რჩეულები"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"კონტაქტის დეტალები"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"კონტაქტის რედაქტირება"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"კონტაქტის შექმნა"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"ჯგუფის რედაქტირება"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"ჯგუფის შექმნა"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"შესახებ"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"განახლებები"</string>
+    <string name="searchHint" msgid="8482945356247760701">"კონტაქტებში ძიება"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"კონტაქტის ნახვა"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"რჩეულებში დამატება"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"რჩეულებიდან ამოშლა"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"წაიშალა რჩეულებიდან"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"რჩეულებში დამატება"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"რედაქტირება"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"წაშლა"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"მთავარ ეკრანზე განთავსება"</string>
+    <string name="menu_call" msgid="3992595586042260618">"დარეკვა კონტაქტთან"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"ტექსტური შეტყობინების გაგზავნა კონტაქტისთვის"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"დაშლა"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"რედაქტირება"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"წაშლა"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"კონტაქტის დამატება"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"ჯგუფის დამატება"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"გსურთ კონტაქტის დაშლა?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"ეს კონტაქტი დაიშლება მრავალ კონტაქტად."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"შეერთება"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"კონტაქტების შეერთება"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"აირჩიეთ კონტაქტი, რომელიც გსურთ შეუერთოთ <xliff:g id="NAME">%s</xliff:g>-ს:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"ყველა კონტაქტის ჩვენება"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"შემოთავაზებული კონტაქტები"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"ყველა კონტაქტი"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"შემოერთებული კონტაქტები"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"ზარის დაყენება"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"ყველა ზარი ხმოვან ფოსტაში"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"მხოლოდ კითხვადი ანგარიშებიდან კონტაქტების წაშლა შეუძლებელია, თუმცა შეგიძლიათ დამალოთ ისინი კონტაქტების სიაში."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"ეს კონტაქტი შეიცავს ინფორმაციას სხვადასხვა ანგარიშებიდან. ინფორმაცია მხოლოდ კითხვადი ანგარიშებიდან არ წაიშლება, არამედ დაიმალება კონტაქტების სიაში."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ამ კონტაქტის წაშლით წაიშლება ინფორმაცია რამდენიმე ანგარიშიდან."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"ეს კონტაქტი წაიშლება."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"ცვლილებების გაუქმება"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"კონტაქტი არ არსებობს."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"მთავარ ეკრანს დაემატა კონტაქტების ვიჯეტი."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"ახალი კონტაქტის შექმნა"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"ახალი კონტაქტის შექმნა"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"ორგანიზაცია"</item>
+    <item msgid="7196592230748086755">"შენიშვნა"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"ტაბლეტზე სურათები მიუწვდომელია."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"ტელეფონზე სურათები არ არის."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"კონტაქტის ფოტო"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"მორგებული ლეიბლის სახელი"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"ზარების პირდაპირ ხმოვან ფოსტაში გაგზავნა"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"ფოტოების წაშლა"</string>
+    <string name="noContacts" msgid="8579310973261953559">"კონტაქტები არ არის."</string>
+    <string name="noGroups" msgid="8614664663561385253">"ჯგუფები არ არის."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"ჯგუფების შესაქმნელად გესაჭიროებათ ანგარიში."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"ამ ჯგუფში ხალხი არ არის."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"წევრთა დასამატებლად შეასრულეთ ჯგუფის რედაქტირება."</string>
+    <string name="savingContact" msgid="4075751076741924939">"კონტაქტის შენახვა…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"კონტაქტი შენახულია."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"კონტაქტის ცვლილებების შენახვა ვერ მოხერხდა."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"ჯგუფი შენახულია."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"ჯგუფის ცვლილებების შენახვა ვერ მოხერხდა."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"ტელეფონის ნომრიანი 1 კონტაქტი"</item>
+    <item quantity="other" msgid="3299954047880968205">"ტელეფონის ნომრიანი <xliff:g id="COUNT">%d</xliff:g> კონტაქტი"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"ტელეფონის ნომრიანი კონტაქტები არ არის"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"მოიძებნა 1"</item>
+    <item quantity="other" msgid="3852668542926965042">"მოიძებნა <xliff:g id="COUNT">%d</xliff:g>"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"კონტაქტები არ არის"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"მოიძებნა 1"</item>
+    <item quantity="other" msgid="7988132539476575389">"მოიძებნა <xliff:g id="COUNT">%d</xliff:g>"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"ყველა კონტაქტი"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"რჩეულები"</string>
+    <string name="callBack" msgid="5498224409038809224">"გადარეკვა"</string>
+    <string name="callAgain" msgid="3197312117049874778">"დარეკვა ხელახლა"</string>
+    <string name="returnCall" msgid="8171961914203617813">"გადარეკვა"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"„<xliff:g id="EMAIL">%s</xliff:g>“ დაემატოს კონტაქტებს?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"კონტაქტის ფოტო"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"პლუსი"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> (სულ <xliff:g id="TOTAL_NUMBER">%s</xliff:g> კონტაქტიდან)"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"თქვენი კონტაქტების სახელები"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"ამ მოქმედების შესასრულებლად აპი ვერ მოიძებნა."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"დააწკაპუნეთ წინა ეკრანზე დასაბრუნებლად"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"ტელეფონის ნომრის დამატება"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"ელფოსტის დამატება"</string>
+    <string name="missing_app" msgid="1466111003546611387">"ამ მოქმედების შესასრულებლად აპი ვერ მოიძებნა."</string>
+    <string name="menu_share" msgid="943789700636542260">"გაზიარება"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"კონტაქტებში დამატება"</string>
+    <string name="share_via" msgid="563121028023030093">"კონტაქტის გაზიარება"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"ჯგუფის შექმნა ანგარიშში"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"ხმოვანი ჩეთი"</string>
+    <string name="video_chat" msgid="1872255818640336072">"ვიდეო ჩეთი"</string>
+    <string name="connections" msgid="8098440723172028350">"კავშირები"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"კავშირის დამატება"</string>
+    <string name="recent" msgid="2659189233141493004">"უახლესი"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"უახლესი განახლებები"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g>-ის კონტაქტი"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"ამ ფოტოს გამოყენება"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"არ რედაქტირდება ამ აპიდან"</string>
+    <string name="group_read_only" msgid="1061762906115697637">"არ რედაქტირდება ამ მოწყობილობაზე."</string>
+    <string name="take_photo" msgid="7496128293167402354">"ფოტოს გადაღება"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"ახალი ფოტოს გადაღება"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"ფოტოს არჩევა"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"ახალი ფოტოს არჩევა"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"მიმდინარეობს კონტაქტების სიის განახლება ენის ცვლილების ასახვის მიზნით."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"მიმდინარეობს კონტაქტების სიის განახლება."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"კონტაქტები ახალ ვერსიაზე გადასვლის პროცესშია. \n\nახალ ვერსიაზე გადასვლის პროცესს ესაჭიროება შიდა მეხსიერების დაახლოებით <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> მბაიტი.\n\nაირჩიეთ შემდეგი პარამეტრებიდან ერთ-ერთი:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"ზოგიერთი აპლიკაციის დეინსტალაცია"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"ახალ ვერსიაზე გადასვლის მცდელობის გამეორება"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"ძიება..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"არჩეულის ჩვენება"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"ყველას ჩვენება"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"ყველას არჩევა"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"ყველა არჩევანის გაუქმება"</string>
+    <string name="add_field" msgid="2384260056674995230">"სხვა ველის დამატება"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"ახლის დამატება"</string>
+    <string name="add_organization" msgid="7311893231158291197">"ორგანიზაციის დამატება"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"თარიღი"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"ჯგუფის სახელი"</string>
+    <string name="description_star" msgid="2605854427360036550">"რჩეული"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"კონტაქტის რედაქტირება"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"გასაერთიანებელი"</item>
+    <item quantity="other" msgid="425683718017380845">"გაერთიანდა <xliff:g id="COUNT">%0$d</xliff:g> წყაროდან"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"გსურთ მიმდინარე და არჩეული კონტაქტების შეერთება?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"გადაერთვებით არჩეული კონტაქტის რედაქტირებაზე? მოხდება თქვენს მიერ შეყვანილი ინფორმაციის კოპირება."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"კოპირება ჩემს კონტაქტებში"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"ჩემს კონტაქტებში დამატება"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"კატალოგი <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"მორგებული"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"პარამეტრები"</string>
+    <string name="menu_settings" msgid="377929915873428211">"პარამეტრები"</string>
+    <string name="menu_help" msgid="5123887102216637725">"დახმარება"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"ეკრანის პარამეტრები"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"ტელეფონის ნომერი"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"კონტაქტებში დამატება"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"დაემატოს კონტაქტს"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"დახურვა"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"მიუთითეთ წელი"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"კონტაქტი"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"იტვირთება…"</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"ახალი კონტაქტის შექმნა"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"ანგარიშზე შესვლა"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"კონტაქტების იმპორტი"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"ახალი ჯგუფის შექმნა"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"ახალი ჯგუფის შექმნა"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 ჯგუფი"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> ჯგუფი"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"გსურთ ჯგუფის „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“ წაშლა? (კონტაქტები არ წაიშლება)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> ადამიანი <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>-დან"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> ადამიანი <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>-დან"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> ადამიანი"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> ადამიანი"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"სხვა კონტაქტთან შეერთებამდე აკრიფეთ კონტაქტის სახელი."</string>
+    <string name="copy_text" msgid="3257145021583508761">"კოპირება გაცვლის ბუფერში"</string>
+    <string name="set_default" msgid="4417505153468300351">"ნაგულისხმევად დაყენება"</string>
+    <string name="clear_default" msgid="7193185801596678067">"ნაგულისხმევის წაშლა"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"კოპირებული ტექსტი"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"გსურთ ცვლილებების გაუქმება?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"ჩემი პროფილის პარამეტრების დაყენება"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"აკრიფეთ კონტაქტის სახელი"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"ჯგუფის სახელი"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"ჩემი ადგილობრივი პროფილი"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"ჩემი <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> პროფილი"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"ყველა კონტაქტის ჩვენება"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"კონტაქტები Google ანგარიშთან ერთად უკეთ მუშაობს.\n\n• იქონიეთ წვდომა ნებისმიერი ვებ-ბრაუზერიდან.\n• თქვენი კონტაქტების საიმედო დამარქაფება."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"შეინახეთ თქვენი კონტაქტები საიმედოდ ტელეფონის დაკარგვის შემთხვევაშიც კი: მოახდინეთ სინქრონიზაცია ონლაინ სერვისთან."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"ანგარიშის დამატება"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"თქვენი ახალი კონტაქტი არ დამარქაფდება. გსურთ ანგარიშის დამატება, რომელიც დაამარქაფებს კონტაქტებს ონლაინ?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"მოხდება თქვენი ახალი კონტაქტის სინქრონიზაცია <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>-თან."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"ახალი კონტაქტის სინქრონიზაცია შეგიძლიათ ერთ-ერთი შემდეგი ანგარიშიდან. რომლის გამოყენება გსურთ?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"ახალი კონტ. დამატება"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"კონტაქტის შესწორება"</string>
+    <string name="keep_local" msgid="1258761699192993322">"შენახვა ადგილობრივად"</string>
+    <string name="add_account" msgid="8201790677994503186">"ანგარიშის დამატება"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"ახალი ანგარიშის დამატება"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"მონაცემთა ბაზის ფაილების ექსპორტი"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"ახალი კონტაქტის დამატება"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"იხილე მეტი"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"ნაკლების ჩვენება"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"ყველას ჩვენება"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"ბოლო"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"შესახებ"</string>
+    <string name="send_message" msgid="8938418965550543196">"შეტყობინების გაგზავნა"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"იქმნება პერსონალური ასლი..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"გუშინ"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"ხვალ"</string>
+    <string name="today" msgid="8041090779381781781">"დღეს"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"დღეს <xliff:g id="TIME_INTERVAL">%s</xliff:g>-ზე"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"ხვალ <xliff:g id="TIME_INTERVAL">%s</xliff:g>-ზე"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(უსათაურო მოვლენა)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"დაყენება"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"ორგანიზაცია"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"მეტსახელი"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"ჩანიშვნა"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"ვებსაიტი"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"მოვლენა"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"კავშირი"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"მიმართულებები მდებარეობამდე"</string>
+</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
new file mode 100644
index 0000000..5a661fb
--- /dev/null
+++ b/res/values-kk-rKZ/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"Контактілер"</string>
+    <string name="contactsList" msgid="8661624236494819731">"Контактілер"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"Контакт"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"Тікелей теру"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"Тікелей хабар"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Контакт төте пернесін таңдау"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Қоңырау шалатын нөмірді таңдау"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Хабар жіберетін нөмірді таңдау"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Контакт таңдау"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Жаңа контактіні таңдау"</string>
+    <string name="starredList" msgid="4817256136413959463">"Жұлдызшалы"</string>
+    <string name="frequentList" msgid="7154768136473953056">"Жиі"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Сүйіктілер"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"Контакт егжей-тегжейі"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"Контактіні жөндеу"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"Контакт жасақтау"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"Топты жөндеу"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"Топ жасақтау"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"Туралы"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"Жаңартулар"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Контактілерді іздеу"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"Контактіні көру"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Сүйіктілерге қосу"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Сүйіктілерден алу"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Таңдаулылардан жойылды"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Таңдаулыларға қосылды"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Жөндеу"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"Жою"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Негізгі экранға орналастыру"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Контактіге қоңырау шалу"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Контактіге мәтін-хабар жіберу"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Ажырату"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Жөндеу"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"Жою"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Контакт қосу"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Топ қосу"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Контакт ажыратылсын ба?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Бұл контакт бірнеше контактілерге ажыратылады."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Қосылу"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Контактілерге қосылу"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g> қосқыңыз келетін контактіні таңдаңыз:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Барлық контактілерді көрсету"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Ұсынылған контактілер"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Барлық контактілер"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Қосылған контактілер"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Рингтонды орнату"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Дауыс-хабарына жасалған барлық қоңыраулар"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Оқу үшін ғана есептік жазбаларындағы контактілерді жою мүмкін болмайды, бірақ контактілер тізімінде жасырып қоюға болады."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Бұл контактіде бірнеше есептік жазба ақпараты бар. Оқу үшін ғана есептік жазбаларының ақпараты контактілер тізімінде жасырын болады, жойылмайды."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Бұл контактіні жою бірнеше есептік жазбадан ақпарат жояды."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"Бұл контакт жойылады."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Өзгертулерден бас тарту"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"Мұндай контакт жоқ."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Контакт виджет Негізгі экранға қосылды."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Жаңа контакт жасақтау"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Жаңа контакт жасақтау"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"Ұйым"</item>
+    <item msgid="7196592230748086755">"Ескерту"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Планшетте ешқандай фотосуреттер жоқ."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Телефонда ешқандай фотосуреттер жоқ."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Контакт фотосуреті"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Белгі атауын қалауыңызша өзгерту"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Қоңырауларды тікелей дауыс хабарына жіберу"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"Фотосуретті алу"</string>
+    <string name="noContacts" msgid="8579310973261953559">"Ешқандай контактілер жоқ."</string>
+    <string name="noGroups" msgid="8614664663561385253">"Топтар жоқ."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"Топтар жасақтау үшін есептік жазба қажет."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"Бұл топта адамдар жоқ."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"Кейбіреулерін қосу үшін, топты жөндеңіз."</string>
+    <string name="savingContact" msgid="4075751076741924939">"Контактіні сақтауда…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Контакт сақталды."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Контакт өзгерістерін сақтай алмады."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"Топ сақталды."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Топ өзгерістерін сақтау мүмкін болмады."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"Телефон нөмірі бар 1 контакт"</item>
+    <item quantity="other" msgid="3299954047880968205">"Телефон нөмірі бар <xliff:g id="COUNT">%d</xliff:g> контактілер"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Телефон нөмірлері бар контактілер жоқ"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 табылды"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> табылды"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Контактілер жоқ"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 табылды"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> табылды"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Барлық контактілер"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Таңдаулылар"</string>
+    <string name="callBack" msgid="5498224409038809224">"Кері қоңырау шалу"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Қайта қоңырау шалу"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Қоңырауды қайтару"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" контактілерге қосылсын ба?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"контакт фотосуреті"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"қосу"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>, барлық <xliff:g id="TOTAL_NUMBER">%s</xliff:g> контактілерден"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"Контактілеріңіздің аттары"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Бұл әрекетті орындайтын ешқандай қолданба табылмады."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Алдыңғы экранға оралу үшін түртіңіз"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Телефон нөмірін қосу"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Электрондық пошта қосу"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Бұл әрекетті орындайтын қолданба табылмады."</string>
+    <string name="menu_share" msgid="943789700636542260">"Бөлісу"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Контактілерге қосу"</string>
+    <string name="share_via" msgid="563121028023030093">"Контактімен бөлісу"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"Есептік жазба арқылы топ құру"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"Дауыс чаты"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Видео чат"</string>
+    <string name="connections" msgid="8098440723172028350">"Байланыстар"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Байланыс қосу"</string>
+    <string name="recent" msgid="2659189233141493004">"Жуықта қолданылған"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"Соңғы жаңартулар"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> контактісі"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"Осы фотосуретті қолдану"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"Бұл қолданба арқылы жөнделмейді."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Бұл құрылғыда жөндеу мүмкін емеc."</string>
+    <string name="take_photo" msgid="7496128293167402354">"Фотосурет түсіру"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"Жаңа фотосурет түсіру"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Фотосуретті таңдау"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Жаңа фотоурет таңдау"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Өзгертілген тілді көрсету үшін контакт жаңартылуда."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"Контакт тізімі жаңартылуда."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Контактілер жаңартылуда. \n\nЖаңалау үрдісіне шамамен <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MБ ішкі жад орны қажет.\n\nКелесі опциялардың бірін таңдаңыз:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Кейбір қолданбаларды алып тастау"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Жаңартуға қайта әрекеттену"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"Іздеуде…"</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"Таңдалғанды көрсету"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"Барлығын көрсету"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Барлығын таңдау"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"Барлығының таңдау белгісін алу"</string>
+    <string name="add_field" msgid="2384260056674995230">"Тағы бір алаң қосу"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Жаңа қосу"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Ұйым қосу"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Күні"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Топ атауы"</string>
+    <string name="description_star" msgid="2605854427360036550">"сүйікті"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Контактіні жөндеу"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"біріктірілмеген"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> дереккөздерден біріктірілген"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Ағымдағы контакт таңдалған контактіге қосылсын ба?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Таңдалған контактіні жөндеуге ауысуды қалайсыз ба? Осы уақытқа дейін сіз енгізген ақпараттың көшірмесі жасалады."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"Менің контактілеріме көшіру"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"Менің контактілерім тізіміне қосу"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"<xliff:g id="TYPE">%1$s</xliff:g> анықтамалық кітапшасы"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"Қалыпты"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"Параметрлер"</string>
+    <string name="menu_settings" msgid="377929915873428211">"Параметрлер"</string>
+    <string name="menu_help" msgid="5123887102216637725">"Көмек"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"Дисплей опциялары"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"Телефон нөмірі"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Контактілерге қосу"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Контактілерге қосу"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"Жабу"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"Жылын жазу"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"Контакт"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"Жүктеуде…"</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Жаңа контакт жасақтау"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Есептік жазбаға кіру"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Контактілерді импорттау"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"Жаңа топ жасақтау"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"Жаңа топ жасақтау"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 топ"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> топ"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" тобы жойылсын ба? (Контактілер жойылмайды.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g>, барлығы <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> адамнан"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g>, барлығы <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> адамнан"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> адам"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> адам"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Басқа контактіге қосар алдында контактінің атын теру."</string>
+    <string name="copy_text" msgid="3257145021583508761">"Дерек алмастыру жадына сақтау"</string>
+    <string name="set_default" msgid="4417505153468300351">"Бастапқы ретінде орнату"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Бастапқыны өшіру"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"Мәтін көшірмесі жасалды"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Өзгертулер қабылданбасын ба?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Менің профайлымды реттеу"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Адамның атын теру"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Топтың атауы"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"Менің жергілікті профайлым"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"Менің <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> профайлым"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Барлық контактілер көрсетілуде"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Контактілер Google есептік жазбасымен жақсырақ жұмыс істейді.\n\n• Кез келген веб-браузерден қатынасыңыз.\n• Контактілердің сақтық көшірмесін қауіпсіз жасаңыз."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Телефоныңыз жоғалған жағдайда контактілеріңізді сақтап қалыңыз: желі қызметімен синхрондаңыз."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Есептік жазба қосу"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Жаңа контактінің сақтық көшірмесі жасалмайды. Контактілердің желі арқылы көшірмесін жасайтын есептік жазба қосуды қалайсыз ба?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Жаңа контактіңіз <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> есептік жазбасымен синхрондалады."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Жаңа контактіні келесі есептік жазбалардың біреуімен синхрондауға болады. Қайсысын қолдануды қалайсыз?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Жаңа контакт қосу"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Контактіні өңдеу"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Жергілікті ретінде сақтау"</string>
+    <string name="add_account" msgid="8201790677994503186">"Есептік жазба қосу"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Жаңа есептік жазба қосу"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Дерекқор файлдарын экспорттау"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"жаңа контакт қосу"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Көбірек көру"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Азырақ көру"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Барлығын көру"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Жақындағы"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Туралы"</string>
+    <string name="send_message" msgid="8938418965550543196">"Хабарды жіберу"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Жеке көшірмені жасау…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Кеше"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Ертең"</string>
+    <string name="today" msgid="8041090779381781781">"Бүгін"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Бүгін, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Ертең, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Атаусыз оқиға)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Орнату"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Ұйым"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Бүркеншік ат"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Ескертпе"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Веб-сайт"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Оқиға"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Қатынас"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"орынға бағыттар"</string>
+</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
new file mode 100644
index 0000000..fbd1830
--- /dev/null
+++ b/res/values-km-rKH/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"ទំនាក់ទំនង"</string>
+    <string name="contactsList" msgid="8661624236494819731">"ទំនាក់ទំនង"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"ទំនាក់ទំនង"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"ហៅ​ដោយ​ផ្ទាល់"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"ផ្ញើ​សារ​ដោយ​ផ្ទាល់"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"ជ្រើស​ផ្លូវកាត់​ទំនាក់ទំនង"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"ជ្រើស​លេខ​ដើម្បី​ហៅ"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"ជ្រើស​លេខ​ដើម្បី​ផ្ញើ​សារ"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"ជ្រើស​ទំនាក់ទំនង"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"ជ្រើស​ទំនាក់ទំនង​ថ្មី"</string>
+    <string name="starredList" msgid="4817256136413959463">"បាន​ដាក់​ផ្កាយ"</string>
+    <string name="frequentList" msgid="7154768136473953056">"ញឹកញាប់"</string>
+    <string name="strequentList" msgid="5640192862059373511">"សំណព្វ"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"ព័ត៌មាន​លម្អិត​របស់​ទំនាក់ទំនង"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"កែ​ទំនាក់ទំនង"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"បង្កើត​ទំនាក់ទំនង"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"កែ​ក្រុម"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"បង្កើត​ក្រុម"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"អំពី"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"បច្ចុប្បន្នភាព"</string>
+    <string name="searchHint" msgid="8482945356247760701">"រក​ទំនាក់ទំនង"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"មើល​ទំនាក់ទំនង"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"បន្ថែម​ទៅ​សំណព្វ"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"លុប​ចេញពី​សំណព្វ"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"បាន​លុប​ចេញ​​និយម​ប្រើ"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"បន្ថែម​ទៅ​និយម​ប្រើ"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"កែសម្រួល​"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"លុប"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ដាក់​លើ​អេក្រង់​ដើម"</string>
+    <string name="menu_call" msgid="3992595586042260618">"ហៅ​ទំនាក់ទំនង"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"អត្ថបទ​ទំនាក់ទំនង"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"បំបែក"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"កែសម្រួល​"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"លុប"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"បន្ថែម​ទំនាក់ទំនង"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"បន្ថែម​ក្រុម"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"បំបែក​ទំនាក់ទំនង?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"នឹង​បំបែក​ទំនាក់ទំនង​នេះ​ទៅជា​ទំនាក់ទំនង​ច្រើន។"</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"ចូលរួម"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"ភ្ជាប់​ទំនាក់ទំនង"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"ជ្រើស​ទំនាក់ទំនង​ដែល​អ្នក​ចង់​ភ្ជាប់​ជាមួយ <xliff:g id="NAME">%s</xliff:g>៖"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"បង្ហាញ​ទំនាក់​ទំនង​ទាំងអស់"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"ទំនាក់ទំនង​ដែល​បាន​ស្នើ"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"ទំនាក់ទំនង​ទាំងអស់"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"ទំនាក់ទំនង​ដែល​បាន​ភ្ជាប់"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"កំណត់​សំឡេង​រោទ៍"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"ការ​ហៅ​ទាំងអស់​ទៅ​សារ​ជា​សំឡេង"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"អ្នក​មិន​អាច​លុប​ទំនាក់ទំនង​ពី​គណនី​បាន​តែ​អាន​ទេ ប៉ុន្តែ​អ្នក​អាច​លាក់​ពួក​វា​នៅ​ក្នុង​បញ្ជី​ទំនាក់ទំនង​របស់​អ្នក​បាន។"</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"ទំនាក់ទំនង​នេះ​មាន​ព័ត៌មាន​ពី​គណនី​ច្រើន។ នឹង​លាក់​ព័ត៌មាន​ពី​គណនី​បានតែ​អាន, មិនមែន​លុប​ទេ។"</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ការ​លុប​ទំនាក់ទំនង​នេះ​នឹង​លុប​ព័ត៌មាន​ពី​គណនី​ច្រើន​ទៀត។"</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"នឹង​លុប​ទំនាក់ទំនង​នេះ។"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"បោះបង់​ការ​ផ្លាស់ប្ដូរ"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"មិន​មាន​ទំនាក់ទំនង។"</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"បាន​បន្ថែម​ធាតុ​ក្រាហ្វិក​របស់​ទំនាក់ទំនង​ទៅ​អេក្រង់​ដើម។"</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"បង្កើត​ទំនាក់ទំនង​ថ្មី"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"បង្កើត​ទំនាក់ទំនង​ថ្មី"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"ស្ថាប័ន"</item>
+    <item msgid="7196592230748086755">"ចំណាំ"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"មិន​មាន​រូបភាព​នៅ​លើ​កុំព្យូទ័រ​បន្ទះ​នេះ​ទេ។"</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"មិន​មាន​រូបភាព​នៅ​លើ​ទូរស័ព្ទ។"</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"រូបថត​ទំនាក់ទំនង"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"ឈ្មោះ​ស្លាក​ផ្ទាល់ខ្លួន"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"បញ្ជូន​ការ​ហៅ​ដោយ​ផ្ទាល់​ទៅ​សារ​ជា​សំឡេង"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"លុប​រូបថត​ចេញ"</string>
+    <string name="noContacts" msgid="8579310973261953559">"មិន​មាន​ទំនាក់ទំនង។"</string>
+    <string name="noGroups" msgid="8614664663561385253">"មិន​មាន​ក្រុម។"</string>
+    <string name="noAccounts" msgid="7768267764545265909">"ដើម្បី​បង្កើត​ក្រុម​អ្នក​ចាំបាច់​ត្រូវ​មាន​គណនី​មួយ។"</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"មិន​មាន​មនុស្ស​នៅ​ក្នុង​ក្រុម​នេះ​ទេ។"</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"ដើម្បី​បន្ថែម, កែ​សម្រួល​ក្រុម។"</string>
+    <string name="savingContact" msgid="4075751076741924939">"កំពុង​រក្សាទុក​ទំនាក់ទំនង..."</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"បាន​រក្សាទុក​ទំនាក់ទំនង។"</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"មិន​អាច​រក្សាទុក​ការ​ប្ដូរ​ទំនាក់ទំនង។"</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"បាន​រក្សាទុក​ក្រុម។"</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"មិន​អាច​រក្សាទុក​ការ​ប្ដូរ​ក្រុម។"</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"ទំនាក់ទំនង ១ ដែល​មាន​លេខ​ទូរស័ព្ទ"</item>
+    <item quantity="other" msgid="3299954047880968205">"ទំនាក់ទំនង <xliff:g id="COUNT">%d</xliff:g> ដែល​មាន​លេខ​ទូរស័ព្ទ"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"គ្មាន​ទំនាក់ទំនង​ដែល​មាន​លេខ​ទូរស័ព្ទ"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"បាន​រក​ឃើញ ១"</item>
+    <item quantity="other" msgid="3852668542926965042">"បាន​រក​ឃើញ <xliff:g id="COUNT">%d</xliff:g>"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"មិន​មាន​ទំនាក់ទំនង"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"បាន​រក​ឃើញ ១"</item>
+    <item quantity="other" msgid="7988132539476575389">"បាន​រក​ឃើញ <xliff:g id="COUNT">%d</xliff:g>"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"គ្រប់ទំនាក់ទំនង"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"ពេញចិត្ត"</string>
+    <string name="callBack" msgid="5498224409038809224">"ហៅ​ទៅវិញ"</string>
+    <string name="callAgain" msgid="3197312117049874778">"ហៅ​ម្ដងទៀត"</string>
+    <string name="returnCall" msgid="8171961914203617813">"ហៅ​ទៅវិញ"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"បន្ថែម \"<xliff:g id="EMAIL">%s</xliff:g>\" ទៅ​ទំនាក់ទំនង?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"រូបថត​ទំនាក់ទំនង"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"បូក"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> នៃ​ទំនាក់ទំនង <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"ឈ្មោះ​នៃ​ទំនាក់ទំនង​របស់​អ្នក"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"រក​មិន​ឃើញ​កម្មវិធី​សម្រាប់​សកម្មភាព​នេះ​ទេ។"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"ចុច ដើម្បី​ត្រឡប់ទៅ​អេក្រង់​មុន"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"បន្ថែម​លេខទូរស័ព្ទ"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"បន្ថែម​អ៊ីមែល"</string>
+    <string name="missing_app" msgid="1466111003546611387">"រក​មិន​ឃើញ​កម្មវិធី​ដើម្បី​គ្រប់គ្រង​សកម្មភាព​នេះ​ទេ។"</string>
+    <string name="menu_share" msgid="943789700636542260">"ចែករំលែក​"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"បន្ថែម​ទៅ​ទំនាក់ទំនង"</string>
+    <string name="share_via" msgid="563121028023030093">"ចែករំលែក​ទំនាក់ទំនង​តាម"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"បង្កើត​ក្រុម​នៅ​ក្នុង​គណនី"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"ជជែក​ជា​សំឡេង"</string>
+    <string name="video_chat" msgid="1872255818640336072">"ជជែក​ជា​វីដេអូ"</string>
+    <string name="connections" msgid="8098440723172028350">"ការ​តភ្ជាប់"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"បន្ថែម​ការ​តភ្ជាប់"</string>
+    <string name="recent" msgid="2659189233141493004">"ថ្មីៗ"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"បច្ចុប្បន្នភាព​ថ្មីៗ"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> ទំនាក់ទំនង"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"ប្រើ​រូបថត​នេះ"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"ពី​កម្មវិធី​នេះ មិន​អាច​កែ​បាន​ទេ។"</string>
+    <string name="group_read_only" msgid="1061762906115697637">"មិន​អាច​កែ​បាន​ទេ​លើ​ឧបករណ៍​នេះ។"</string>
+    <string name="take_photo" msgid="7496128293167402354">"ថតរូប"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"ថតរូប​ថ្មី"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"ជ្រើស​រូបថត"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"ជ្រើស​រូបថត​ថ្មី"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"កំពុង​ធ្វើ​បច្ចុប្បន្នភាព​ទំនាក់ទំនង​ដើម្បី​ឆ្លុះបញ្ចាំង​ការ​ប្ដូរ​ភាសា។"</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"កំពុង​ធ្វើ​បច្ចុប្បន្នភាព​បញ្ជី​ទំនាក់ទំនង។"</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"កំពុង​ធ្វើ​បច្ចុប្បន្នភាព​ទំនាក់ទំនង។ \n\nដំណើរការ​នេះ​ទាមទារ​ឧបករណ៍​ផ្ទុក​ខាងក្នុង​ប្រហែល <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> មេកាបៃ។\n\nជ្រើស​ជម្រើស​មួយ​ខាងក្រោម៖"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"លុប​កម្មវិធី​មួយ​ចំនួន"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"ធ្វើ​បច្ចុប្បន្នភាព​ម្ដងទៀត"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"កំពុង​រក..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"បង្ហាញ​អ្វី​ដែល​បាន​ជ្រើស"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"បង្ហាញ​ទាំងអស់"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"ជ្រើស​ទាំងអស់"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"មិន​ជ្រើស​ទាំងអស់"</string>
+    <string name="add_field" msgid="2384260056674995230">"បន្ថែម​វាល​ផ្សេងទៀត"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"បន្ថែម​ថ្មី"</string>
+    <string name="add_organization" msgid="7311893231158291197">"បន្ថែម​ស្ថាប័ន"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"កាលបរិច្ឆេទ"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"ឈ្មោះ​ក្រុម"</string>
+    <string name="description_star" msgid="2605854427360036550">"សំណព្វ"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"កែ​ទំនាក់ទំនង"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"មិន​បាន​បញ្ចូល​ចូល​គ្នា"</item>
+    <item quantity="other" msgid="425683718017380845">"បាន​បញ្ចូល​គ្នា​​មក​ពី​ប្រភព <xliff:g id="COUNT">%0$d</xliff:g>"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"ភ្ជាប់​ទំនាក់ទំនង​បច្ចុប្បន្ន​ជាមួយ​ទំនាក់ទំនង​ដែល​បាន​ជ្រើស?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"ប្ដូរ​ដើម្បី​កែ​ទំនាក់ទំនង​ដែល​បាន​ជ្រើស? ព័ត៌មាន​ដែល​អ្នក​បញ្ចូល​នឹង​បាន​ចម្លង។"</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"ចម្លង​ទៅ​ទំនាក់ទំនង​របស់​ខ្ញុំ"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"បន្ថែម​ទៅ​ទំនាក់ទំនង​របស់​ខ្ញុំ"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"ថត <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"ផ្ទាល់ខ្លួន"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"ការ​កំណត់"</string>
+    <string name="menu_settings" msgid="377929915873428211">"ការ​កំណត់"</string>
+    <string name="menu_help" msgid="5123887102216637725">"ជំនួយ"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"បង្ហាញ​ជម្រើស"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"លេខទូរស័ព្ទ"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"បន្ថែម​ទៅ​ទំនាក់ទំនង"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"បន្ថែម​ទៅ​ទំនាក់ទំនង"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"បិទ​"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"ផ្ដល់​ឆ្នាំ"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"ទំនាក់ទំនង"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"កំពុង​ផ្ទុក..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"បង្កើត​ទំនាក់ទំនង​ថ្មី"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"ចូល​គណនី"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"នាំចូល​ទំនាក់ទំនង"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"បង្កើត​ក្រុម​ថ្មី"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"បង្កើត​ក្រុម​ថ្មី"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"១ ក្រុម"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> ក្រុម"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"លុប​ក្រុម \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (ទំនាក់ទំនង​របស់​វា​នឹង​មិន​លុប​ទេ)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> នាក់​ពី <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> នាក់​ពី <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> នាក់"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> នាក់"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"សូម​បញ្ចូល​ឈ្មោះ​ទំនាក់ទំនង​មុន​ពេល​ចូលរួម​ជាមួយ​ទំនាក់ទំនង​ផ្សេងទៀត។"</string>
+    <string name="copy_text" msgid="3257145021583508761">"ចម្លង​ទៅ​ក្ដារ​តម្បៀត​ខ្ទាស់"</string>
+    <string name="set_default" msgid="4417505153468300351">"កំណត់​លំនាំដើម"</string>
+    <string name="clear_default" msgid="7193185801596678067">"សម្អាត​លំនាំដើម"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"បាន​ចម្លង​អត្ថបទ"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"បោះបង់​ការ​ប្ដូរ​រ​របស់​អ្នក?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"រៀបចំ​ប្រវត្តិរូប​របស់​ខ្ញុំ"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"វាយ​ឈ្មោះ​មនុស្ស"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"ឈ្មោះ​របស់​ក្រុម"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"ប្រវត្តិរូប​មូលដ្ឋាន​របស់​ខ្ញុំ"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"ប្រវត្តិរូប <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> របស់​ខ្ញុំ"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"បង្ហាញ​ទំនាក់ទំនង​ទាំងអស់"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"ទំនាក់ទំនង​ដំណើរការ​កាន់តែ​ល្អ​ជា​មួយ​គណនី Google ។\n\n• ចូល​ដំណើរការ​ពី​កម្មវិធី​រុករក​បណ្ដាញ។\n• បម្រុងទុក​ទំនាក់ទំនង​របស់​អ្នក​ដោយ​សុវត្ថិភាព។"</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"រក្សាទុក​ទំនាក់ទំនង​របស់​អ្នក​យ៉ាង​មាន​សុវត្ថិភាព ទោះបីជា​អ្នក​បាត់​ទូរស័ព្ទ​ក៏ដោយ៖ ធ្វើ​សមកាលកម្ម​ជាមួយ​សេវាកម្ម​លើ​បណ្ដាញ។"</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"បន្ថែម​គណនី"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"នឹង​មិន​បម្រុងទុក​ទំនាក់ទំនង​ថ្មី​របស់​អ្នក​ទេ។ បន្ថែម​គណនី​ដើម្បី​បម្រុងទុក​ទំនាក់ទំនង​នៅ​លើ​បណ្ដាញ?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"នឹង​ធ្វើ​សមកាលកម្ម​ទំនាក់ទំនង​ថ្មី​របស់​អ្នក​ជាមួយ <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> ។"</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"អ្នក​អាច​ធ្វើ​សមកាលកម្ម​ទំនាក់ទំនង​ថ្មី​របស់​អ្នក​ជា​មួយ​គណនី​មួយ​ខាងក្រោម។ តើ​អ្នក​ចង់​ប្រើ​មួយ​ណា?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"បន្ថែមទំនាក់ទំនងថ្មី"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"កែ​ទំនាក់ទំនង"</string>
+    <string name="keep_local" msgid="1258761699192993322">"រក្សា​ទុក​មូលដ្ឋាន"</string>
+    <string name="add_account" msgid="8201790677994503186">"បន្ថែម​គណនី"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"បន្ថែម​គណនី​ថ្មី"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"នាំចេញ​ឯកសារ​មូលដ្ឋាន​ទិន្នន័យ"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"បន្ថែម​ទំនាក់ទំនង​ថ្មី"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"​មើល​​ច្រើន​ជាង"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"​មើល​តិច​ជាង"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"​មើល​ទាំង​អស់"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"ថ្មីៗ"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"អំពី"</string>
+    <string name="send_message" msgid="8938418965550543196">"ផ្ញើ​សារ"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"កំពុង​បង្កើត​ច្បាប់​ចម្លង​ផ្ទាល់​ខ្លួន..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"ម្សិលមិញ"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"ស្អែក"</string>
+    <string name="today" msgid="8041090779381781781">"ថ្ងៃនេះ"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"ថ្ងៃនេះ​នៅ <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"ថ្ងៃស្អែក​នៅ <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(ព្រឹត្តិការណ៍​គ្មាន​ចំណងជើង)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"កំណត់"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"ស្ថាប័ន"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"សម្មតិនាម"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"ចំណាំ"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"វេបសាយ"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"ព្រឹត្តិការណ៍"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"ទំនាក់ទំនង"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"ទិសដៅ​ទៅ​ទីតាំង"</string>
+</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
new file mode 100644
index 0000000..5c6b195
--- /dev/null
+++ b/res/values-kn-rIN/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"ಸಂಪರ್ಕಗಳು"</string>
+    <string name="contactsList" msgid="8661624236494819731">"ಸಂಪರ್ಕಗಳು"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"ಸಂಪರ್ಕ"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"ನೇರ ಡಯಲ್"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"ನೇರ ಸಂದೇಶ"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"ಸಂಪರ್ಕದ ಶಾರ್ಟ್‌ಕಟ್‌‌ ಆರಿಸಿ"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"ಕೆರಮಾಡಲು ಸಂಖ್ಯೆಯೊಂದನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"ಸಂದೇಶಕ್ಕಾಗಿ ಸಂಖ್ಯೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"ಸಂಪರ್ಕ ಆಯ್ಕೆ ಮಾಡಿ"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"ಹೊಸ ಸಂಪರ್ಕ ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="starredList" msgid="4817256136413959463">"ನಕ್ಷತ್ರ ಹಾಕಿರುವುದು"</string>
+    <string name="frequentList" msgid="7154768136473953056">"ಆಗಾಗ್ಗೆ"</string>
+    <string name="strequentList" msgid="5640192862059373511">"ಮೆಚ್ಚಿನವುಗಳು"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"ಸಂಪರ್ಕ ವಿವರಗಳು"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"ಸಂಪರ್ಕವನ್ನು ಸಂಪಾದಿಸು"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"ಸಂಪರ್ಕವನ್ನು ರಚಿಸಿ"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"ಗುಂಪು ಸಂಪಾದಿಸು"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"ಗುಂಪು ರಚಿಸಿ"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"ಕುರಿತು"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"ನವೀಕರಣಗಳು"</string>
+    <string name="searchHint" msgid="8482945356247760701">"ಸಂಪರ್ಕಗಳನ್ನು ಹುಡುಕಿ"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"ಸಂಪರ್ಕವನ್ನು ವೀಕ್ಷಿಸಿ"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"ಮೆಚ್ಚಿನವುಗಳಿಗೆ ಸೇರಿಸಿ"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"ಮೆಚ್ಚಿನವುಗಳಿಂದ ತೆಗೆದುಹಾಕಿ"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"ಮೆಚ್ಚಿನವುಗಳಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿದೆ"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"ಮೆಚ್ಚಿನವುಗಳಿಗೆ ಸೇರಿಸಲಾಗಿದೆ"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"ಸಂಪಾದಿಸು"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"ಅಳಿಸು"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ಮುಖಪುಟ ಪರದೆಯ ಮೇಲೆ ಇರಿಸು"</string>
+    <string name="menu_call" msgid="3992595586042260618">"ಕರೆಯ ಸಂಪರ್ಕ"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"ಪಠ್ಯ ಸಂಪರ್ಕ"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"ಪ್ರತ್ಯೇಕ"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"ಸಂಪಾದಿಸು"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"ಅಳಿಸು"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"ಸಂಪರ್ಕವನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"ಗುಂಪು ಸೇರಿಸು"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"ಸಂಪರ್ಕವನ್ನು ಪ್ರತ್ಯೇಕಿಸುವುದೇ?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"ಈ ಸಂಪರ್ಕವನ್ನು ಬಹು ಸಂಪರ್ಕಗಳಾಗಿ ಪ್ರತ್ಯೇಕಿಸಲಾಗುವುದು."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"ಸೇರಿಕೊಳ್ಳಿ"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"ಸಂಪರ್ಕಗಳಿಗೆ ಸೇರಿ"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g> ಅವರೊಂದಿಗೆ ನೀವು ಸೇರಿಸಲು ಬಯಸುವ ಸಂಪರ್ಕವನ್ನು ಆಯ್ಕೆಮಾಡಿ:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"ಎಲ್ಲ ಸಂಪರ್ಕಗಳನ್ನು ತೋರಿಸು"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"ಸೂಚಿಸಲಾದ ಸಂಪರ್ಕಗಳು"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"ಎಲ್ಲಾ ಸಂಪರ್ಕಗಳು"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"ಸಂಪರ್ಕಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"ರಿಂಗ್‌ಟೋನ್‌ ಹೊಂದಿಸಿ"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"ಧ್ವನಿಮೇಲ್‌ಗೆ ಎಲ್ಲ ಕರೆಗಳು"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"ಓದಲು ಮಾತ್ರ ಖಾತೆಗಳಿಂದ ಸಂಪರ್ಕಗಳನ್ನು ನಿಮಗೆ ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಆದರೆ ನಿಮ್ಮ ಸಂಪರ್ಕಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಅವುಗಳನ್ನು ನೀವು ಮರೆಮಾಡಬಹುದು."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"ಈ ಸಂಪರ್ಕವು ಬಹು ಖಾತೆಗಳಿಂದ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿದೆ. ಓದಲು ಮಾತ್ರ ಖಾತೆಗಳಿಂದ ಮಾಹಿತಿಯನ್ನು ನಿಮ್ಮ ಸಂಪರ್ಕಗಳ ಪಟ್ಟಿಗಳಿಂದ ಮರೆಮಾಡಲಾಗಿರುತ್ತದೆ, ಅಳಿಸುವುದಿಲ್ಲ."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ಬಹು ಖಾತೆಗಳಿಂದ ಮಾಹಿತಿಯನ್ನು ಅಳಿಸಿಹಾಕಲು ಈ ಸಂಪರ್ಕವನ್ನು ಅಳಿಸಿ ಹಾಕಲಾಗುತ್ತಿದೆ."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"ಈ ಸಂಪರ್ಕವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"ಬದಲಾವಣೆಗಳನ್ನು ತ್ಯಜಿಸಿ"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"ಸಂಪರ್ಕವು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"ಮುಖಪುಟ ಪರದೆಗೆ ಸಂಪರ್ಕ ವಿಜೆಟ್ ಸೇರಿಸಲಾಗಿದೆ."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"ಹೊಸ ಸಂಪರ್ಕ ರಚಿಸಿ"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"ಹೊಸ ಸಂಪರ್ಕ ರಚಿಸಿ"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"ಸಂಘಟನೆ"</item>
+    <item msgid="7196592230748086755">"ಟಿಪ್ಪಣಿ"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"ಟ್ಯಾಬ್ಲೆಟ್‌‌ನಲ್ಲಿ ಯಾವುದೇ ಚಿತ್ರಗಳು ಲಭ್ಯವಿಲ್ಲ."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"ಫೋನ್‌ನಲ್ಲಿ ಯಾವುದೇ ಚಿತ್ರಗಳು ಲಭ್ಯವಿಲ್ಲ."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"ಸಂಪರ್ಕ ಫೋಟೋ"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"ಕಸ್ಟಮ್ ಲೇಬಲ್ ಹೆಸರು"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"ಕರೆಗಳನ್ನು ನೇರವಾಗಿ ಧ್ವನಿಮೇಲ್‌ಗೆ ಕಳುಹಿಸಿ"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"ಫೋಟೋ ತೆಗೆದುಹಾಕಿ"</string>
+    <string name="noContacts" msgid="8579310973261953559">"ಯಾವುದೇ ಸಂಪರ್ಕಗಳಿಲ್ಲ."</string>
+    <string name="noGroups" msgid="8614664663561385253">"ಯಾವುದೇ ಗುಂಪುಗಳಿಲ್ಲ."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"ಗುಂಪುಗಳನ್ನು ರಚಿಸಲು ನಿಮಗೆ ಖಾತೆಯ ಅಗತ್ಯವಿದೆ."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"ಈ ಗುಂಪಿನಲ್ಲಿ ಜನರಿಲ್ಲ."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"ಕೆಲವೊಂದು ಸೇರಿಸಲು, ಗುಂಪನ್ನು ಸಂಪಾದಿಸಿ."</string>
+    <string name="savingContact" msgid="4075751076741924939">"ಸಂಪರ್ಕವನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"ಸಂಪರ್ಕ‌ವನ್ನು ಉಳಿಸಲಾಗಿದೆ."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"ಸಂಪರ್ಕ ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಲಾಗಲಿಲ್ಲ."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"ಗುಂಪನ್ನು ಉಳಿಸಲಾಗಿದೆ."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"ಗುಂಪಿನ ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಲಾಗಲಿಲ್ಲ."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"ಫೋನ್‌‌ ಸಂಖ್ಯೆಯೊಂದಿಗೆ 1 ಸಂಪರ್ಕ"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> ಫೋನ್‌ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ ಸಂಪರ್ಕಗಳು"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"ಫೋನ್‌ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ ಯಾವುದೇ ಸಂಪರ್ಕಗಳಿಲ್ಲ"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 ಕಂಡುಬಂದಿದೆ"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> ಕಂಡುಬಂದಿದೆ"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"ಯಾವುದೇ ಸಂಪರ್ಕಗಳಿಲ್ಲ"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 ಕಂಡುಬಂದಿದೆ"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> ಕಂಡುಬಂದಿದೆ"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"ಎಲ್ಲ ಸಂಪರ್ಕಗಳು"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"ಮೆಚ್ಚಿನವುಗಳು"</string>
+    <string name="callBack" msgid="5498224409038809224">"ಮರಳಿ ಕರೆ ಮಾಡಿ"</string>
+    <string name="callAgain" msgid="3197312117049874778">"ಮತ್ತೆ ಕರೆ ಮಾಡಿ"</string>
+    <string name="returnCall" msgid="8171961914203617813">"ಹಿಂತಿರುಗುವಿಕೆ ಕರೆ"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" ಗೆ ಸಂಪರ್ಕಗಳನ್ನು ಸೇರಿಸುವುದೇ?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"ಸಂಪರ್ಕ ಫೋಟೋ"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"ಪ್ಲಸ್‌"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="TOTAL_NUMBER">%s</xliff:g> ರಲ್ಲಿ <xliff:g id="CURRENT_NUMBER">%s</xliff:g> ಸಂಪರ್ಕಗಳು"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳ ಹೆಸರುಗಳು"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"ಈ ಕ್ರಿಯೆಯನ್ನು ನಿರ್ವಹಿಸಲು ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ ಕಂಡುಬಂದಿಲ್ಲ."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"ಹಿಂದಿನ ಪರದೆಗೆ ಹಿಂತಿರುಗಲು ಕ್ಲಿಕ್ ಮಾಡಿ"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"ಇಮೇಲ್ ಸೇರಿಸಿ"</string>
+    <string name="missing_app" msgid="1466111003546611387">"ಈ ಕ್ರಿಯೆಯನ್ನು ನಿರ್ವಹಿಸಲು ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ ಕಂಡುಬಂದಿಲ್ಲ."</string>
+    <string name="menu_share" msgid="943789700636542260">"ಹಂಚಿಕೊಳ್ಳಿ"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"ಸಂಪರ್ಕಗಳಿಗೆ ಸೇರಿಸು"</string>
+    <string name="share_via" msgid="563121028023030093">"ಸಂಪರ್ಕದ ಮೂಲಕ ಹಂಚಿಕೊಳ್ಳಿ"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"ಖಾತೆಯ ಅಡಿಯಲ್ಲಿ ಗುಂಪನ್ನು ರಚಿಸಿ"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"ಧ್ವನಿ ಚಾಟ್"</string>
+    <string name="video_chat" msgid="1872255818640336072">"ವೀಡಿಯೋ ಚಾಟ್"</string>
+    <string name="connections" msgid="8098440723172028350">"ಸಂಪರ್ಕಗಳು"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"ಸಂಪರ್ಕವನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="recent" msgid="2659189233141493004">"ಇತ್ತೀಚಿನದು"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"ಇತ್ತೀಚಿನ ನವೀಕರಣಗಳು"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> ಸಂಪರ್ಕ"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"ಈ ಫೋಟೋವನ್ನು ಬಳಸಿ"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"ಈ ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ ಸಂಪಾದಿಸಲಾಗುವುದಿಲ್ಲ."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"ಈ ಸಾಧನದಲ್ಲಿ ಸಂಪಾದಿಸಲು ಆಗುವುದಿಲ್ಲ."</string>
+    <string name="take_photo" msgid="7496128293167402354">"ಫೋಟೋ ತೆಗೆಯಿರಿ"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"ಹೊಸ ಫೋಟೋ ತೆಗೆಯಿರಿ"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"ಫೋಟೋ ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"ಹೊಸ ಫೋಟೋವನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"ಭಾಷೆಯ ಬದಲಾವಣೆಯನ್ನು ಬಿಂಬಿಸಲು ಸಂಪರ್ಕ ಪಟ್ಟಿಯನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತಿದೆ."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"ಸಂಪರ್ಕ ಪಟ್ಟಿಯನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತಿದೆ."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"ಸಂಪರ್ಕಗಳು ಅಪ್‌ಗ್ರೇಡ್‌ ಆಗುವ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿವೆ. \n\nಅಪ್‌ಗ್ರೇಡ್‌ ಪ್ರಕ್ರಿಯೆಗೆ ಸುಮಾರು <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB ಆಂತರಿಕ ಸಂಗ್ರಹಣೆಯ ಅಗತ್ಯವಿದೆ.\n\nಕೆಳಗಿನ ಆಯ್ಕೆಗಳಿಂದ ಒಂದನ್ನು ಆಯ್ಕೆಮಾಡಿ:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಅಸ್ಥಾಪಿಸಿ"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"ಅಪ್‌ಗ್ರೇಡ್‌ ಮರುಪ್ರಯತ್ನಿಸಿ"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"ಹುಡುಕಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"ಆಯ್ಕೆಮಾಡಿರುವುದನ್ನು ತೋರಿಸು"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"ಎಲ್ಲ ತೋರಿಸು"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"ಎಲ್ಲವನ್ನೂ ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"ಎಲ್ಲವನ್ನು ಆಯ್ಕೆ ರದ್ದುಮಾಡಿ"</string>
+    <string name="add_field" msgid="2384260056674995230">"ಮತ್ತೊಂದು ಕ್ಷೇತ್ರವನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"ಹೊಸದನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="add_organization" msgid="7311893231158291197">"ಸಂಘಟನೆಯನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"ದಿನಾಂಕ"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"ಗುಂಪು ಹೆಸರು"</string>
+    <string name="description_star" msgid="2605854427360036550">"ಮೆಚ್ಚಿನ"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"ಸಂಪರ್ಕವನ್ನು ಸಂಪಾದಿಸು"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"ವಿಲೀನಗೊಳಿಸಿಲ್ಲ"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> ಮೂಲಗಳಿಂದ ವಿಲೀನಗೊಳಿಸಲಾಗಿದೆ"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"ಆಯ್ಕೆಮಾಡಿದ ಸಂಪರ್ಕದೊಂದಿಗೆ ಪ್ರಸ್ತುತ ಸಂಪರ್ಕವನ್ನು ಸೇರಿಸುವುದೇ?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"ಆಯ್ಕೆಮಾಡಿದ ಸಂಪರ್ಕವನ್ನು ಸಂಪಾದಿಸುವುದಕ್ಕೆ ಬದಲಿಸುವುದೇ? ನೀವು ಇಲ್ಲಿಯವರೆಗೆ ನಮೂದಿಸಿದ ಮಾಹಿತಿಯನ್ನು ನಕಲು ಮಾಡಲಾಗುತ್ತದೆ."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"ನನ್ನ ಸಂಪರ್ಕಗಳಿಗೆ ನಕಲಿಸು"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"ನನ್ನ ಸಂಪರ್ಕಗಳಿಗೆ ಸೇರಿಸು"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"ಡೈರೆಕ್ಟರಿ <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"ಕಸ್ಟಮ್"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="menu_settings" msgid="377929915873428211">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="menu_help" msgid="5123887102216637725">"ಸಹಾಯ"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"ಪ್ರದರ್ಶನ ಆಯ್ಕೆಗಳು"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"ಫೋನ್ ಸಂಖ್ಯೆ"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"ಸಂಪರ್ಕಗಳಿಗೆ ಸೇರಿಸು"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"ಸಂಪರ್ಕಕ್ಕೆ ಸೇರಿಸಿ"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"ಮುಚ್ಚು"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"ವರ್ಷವನ್ನು ಒದಗಿಸಿ"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"ಸಂಪರ್ಕ"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"ಹೊಸದೊಂದು ಸಂಪರ್ಕವನ್ನು ರಚಿಸು"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"ಖಾತೆಗೆ ಸೈನ್‌ ಇನ್‌ ಮಾಡಿ"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"ಸಂಪರ್ಕಗಳನ್ನು ಆಮದು ಮಾಡಿ"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"ಹೊಸ ಗುಂಪು ರಚಿಸಿ"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"ಹೊಸ ಗುಂಪು ರಚಿಸಿ"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 ಗುಂಪು"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> ಗುಂಪುಗಳು"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" ಗುಂಪನ್ನು ಅಳಿಸುವುದೇ? (ಸಂಪರ್ಕಗಳನ್ನೇ ಅಳಿಸಲಾಗುವುದಿಲ್ಲ.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> ರಿಂದ ವ್ಯಕ್ತಿ"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> ರಿಂದ ಜನರು"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> ವ್ಯಕ್ತಿ"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> ಜನರು"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"ಮತ್ತೊಬ್ಬರೊಂದಿಗೆ ಸೇರುವ ಮೊದಲು ಸಂಪರ್ಕದ ಹೆಸರನ್ನು ಟೈಪ್‌ ಮಾಡಿ."</string>
+    <string name="copy_text" msgid="3257145021583508761">"ಕ್ಲಿಪ್‌ಬೋರ್ಡ್‌ಗೆ ನಕಲಿಸಿ"</string>
+    <string name="set_default" msgid="4417505153468300351">"ಡೀಫಾಲ್ಟ್ ಹೊಂದಿಸಿ"</string>
+    <string name="clear_default" msgid="7193185801596678067">"ಡೀಫಾಲ್ಟ್‌ ತೆರವುಗೊಳಿಸಿ"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"ಪಠ್ಯವನ್ನು ನಕಲಿಸಲಾಗಿದೆ"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"ನಿಮ್ಮ ಬದಲಾವಣೆಗಳನ್ನು ತಿರಸ್ಕರಿಸುವುದೇ?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"ನನ್ನ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸು"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"ವ್ಯಕ್ತಿಯ ಹೆಸರನ್ನು ಟೈಪ್‌ ಮಾಡಿ"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"ಗುಂಪಿನ ಹೆಸರು"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"ನನ್ನ ಸ್ಥಳೀಯ ಪ್ರೊಫೈಲ್"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"ನನ್ನ <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> ಪ್ರೊಫೈಲ್‌"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"ಎಲ್ಲ ಸಂಪರ್ಕಗಳನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Google ಖಾತೆಯಲ್ಲಿ ಸಂಪರ್ಕಗಳ ಕಾರ್ಯ ಉತ್ತಮವಾಗಿರುತ್ತದೆ.\n\n• ಯಾವುದೇ ವೆಬ್ ಬ್ರೌಸರ್‌ನಿಂದ ಪ್ರವೇಶಿಸಿ.\n• ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಬ್ಯಾಕ್ ಅಪ್ ಮಾಡಿ."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"ನಿಮ್ಮ ಫೋನ್‌ ಅನ್ನು ಕಳೆದುಕೊಂಡರೂ ಸಹ ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಇರಿಸಿಕೊಳ್ಳಿ: ಆನ್‌‌ಲೈನ್‌ ಸೇವೆಯೊಂದಿಗೆ ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಿ."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"ಖಾತೆಯೊಂದನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"ನಿಮ್ಮ ಹೊಸ ಸಂಪರ್ಕವನ್ನು ಬ್ಯಾಕಪ್‌ ಮಾಡುವುದಿಲ್ಲ. ಸಂಪರ್ಕಗಳನ್ನು ಆನ್‌ಲೈನ್‌ನಲ್ಲಿ ಬ್ಯಾಕಪ್‌ ಇರಿಸುವ ಖಾತೆಯನ್ನು ಸೇರಿಸುವುದೇ?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"<xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> ಜೊತೆಗೆ ನಿಮ್ಮ ಹೊಸ ಸಂಪರ್ಕವನ್ನು ಸಿಂಕ್ರೊನೈಜ್ ಮಾಡಲಾಗುತ್ತದೆ."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"ಕೆಳಗಿನ ಖಾತೆಗಳೊಂದಿಗೆ ನಿಮ್ಮ ಹೊಸ ಸಂಪರ್ಕವನ್ನು ನೀವು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಬಹುದು. ಯಾವುದನ್ನು ಬಳಸಲು ನೀವು ಬಯಸುತ್ತೀರಿ?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"ಹೊಸ ಸಂಪರ್ಕ ಸೇರಿಸಿ"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"ಸಂಪರ್ಕವನ್ನು ಸಂಪಾದಿಸಿ"</string>
+    <string name="keep_local" msgid="1258761699192993322">"ಸ್ಥಳೀಯವಾಗಿ ಇರಿಸಿ"</string>
+    <string name="add_account" msgid="8201790677994503186">"ಖಾತೆಯನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"ಹೊಸ ಖಾತೆಯನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"ಡೇಟಾಬೇಸ್‌‌ ಫೈಲ್‌ಗಳನ್ನು ರಫ್ತು ಮಾಡಿ"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"ಹೊಸ ಸಂಪರ್ಕವನ್ನು ಸೇರಿಸು"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"ಇನ್ನಷ್ಟು ನೋಡಿ"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"ಕಡಿಮೆ ನೋಡಿ"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"ಎಲ್ಲವನ್ನೂ ನೋಡಿ"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"ಇತ್ತೀಚಿನದು"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"ಕುರಿತು"</string>
+    <string name="send_message" msgid="8938418965550543196">"ಸಂದೇಶ ಕಳುಹಿಸಿ"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"ವೈಯಕ್ತಿಕ ಪ್ರತಿಯನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"ನಿನ್ನೆ"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"ನಾಳೆ"</string>
+    <string name="today" msgid="8041090779381781781">"ಇಂದು"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"<xliff:g id="TIME_INTERVAL">%s</xliff:g> ಕ್ಕೆ ಇಂದು"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"<xliff:g id="TIME_INTERVAL">%s</xliff:g> ಕ್ಕೆ ನಾಳೆ"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(ಶೀರ್ಷಿಕೆರಹಿತ ಈವೆಂಟ್)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"ಹೊಂದಿಸು"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"ಸಂಸ್ಥೆ"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"ಅಡ್ಡಹೆಸರು"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"ಟಿಪ್ಪಣಿ"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"ವೆಬ್‌ಸೈಟ್"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"ಈವೆಂಟ್"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"ಸಂಬಂಧ"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"ಸ್ಥಳಕ್ಕಾಗಿ ದಿಕ್ಕುಗಳು"</string>
+</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index ca5f00a..b5db29e 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"주소록"</string>
+    <string name="people" msgid="1190841469952343354">"주소록"</string>
     <string name="contactsList" msgid="8661624236494819731">"주소록"</string>
     <string name="shortcutContact" msgid="749243779392912958">"연락처"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"바로 전화 걸기"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"전화번호 선택"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"메시지를 보낼 번호 선택"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"연락처 선택"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"새 연락처 선택"</string>
     <string name="starredList" msgid="4817256136413959463">"중요주소록"</string>
     <string name="frequentList" msgid="7154768136473953056">"자주 사용하는 연락처"</string>
     <string name="strequentList" msgid="5640192862059373511">"즐겨찾기"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"연락처 세부정보"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"연락처 보기"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"연락처 수정"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"연락처 만들기"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"그룹 수정"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"연락처 보기"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"즐겨찾기에 추가"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"즐겨찾기에서 삭제"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"즐겨찾기에서 삭제됨"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"즐겨찾기에 추가됨"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"수정"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"삭제"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"홈 화면에 만들기"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"연락처에 여러 계정의 정보가 들어 있습니다. 읽기 전용 계정의 정보는 주소록 목록에서 숨길 수 있지만 삭제할 수는 없습니다."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"이 연락처를 삭제하면 여러 계정의 정보가 삭제됩니다."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"이 연락처를 삭제합니다."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"취소"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"변경사항 취소"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"연락처가 없습니다."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"주소록 위젯이 홈 화면에 추가됨"</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"새 연락처 만들기"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"전화번호가 포함된 연락처 <xliff:g id="COUNT">%d</xliff:g>개"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"전화번호가 포함된 주소록이 없습니다."</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"연락처 1개"</item>
-    <item quantity="other" msgid="3578469907265375314">"연락처 <xliff:g id="COUNT">%d</xliff:g>개"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1개를 찾았습니다."</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g>개를 찾았습니다."</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1개를 찾았습니다."</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g>개를 찾았습니다."</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"모든 연락처"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"그룹"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"모든 연락처"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"즐겨찾기"</string>
     <string name="callBack" msgid="5498224409038809224">"전화 걸기"</string>
     <string name="callAgain" msgid="3197312117049874778">"다시 걸기"</string>
     <string name="returnCall" msgid="8171961914203617813">"전화 걸기"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"연락처 <xliff:g id="CURRENT_NUMBER">%s</xliff:g>개(총 <xliff:g id="TOTAL_NUMBER">%s</xliff:g>개) 내보내는 중"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"연락처 명단"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"이 작업을 처리하는 앱을 찾을 수 없습니다."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"이전 화면으로 돌아가려면 클릭"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"전화번호 추가"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"이메일 추가"</string>
+    <string name="missing_app" msgid="1466111003546611387">"이 작업을 처리하는 앱을 찾을 수 없습니다."</string>
     <string name="menu_share" msgid="943789700636542260">"공유"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"주소록에 추가"</string>
     <string name="share_via" msgid="563121028023030093">"연락처 공유에 사용할 애플리케이션:"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"계정에서 그룹 만들기"</string>
     <string name="audio_chat" msgid="2535716629358298691">"음성채팅"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"사진 사용"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"이 앱에서 수정할 수 없습니다."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"연락처에 대한 추가 정보가 없습니다."</string>
     <string name="group_read_only" msgid="1061762906115697637">"이 기기에서 수정할 수 없습니다."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"목록 정렬 기준"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"이름"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"성"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"연락처 이름 보기"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"이름 먼저 표시"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"성 먼저 표시"</string>
     <string name="take_photo" msgid="7496128293167402354">"사진 찍기"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"새 사진 찍기"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"갤러리에서 사진 선택"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"갤러리에서 새 사진 선택"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"사진 선택"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"새 사진 선택"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"변경된 언어를 반영하도록 주소록을 업데이트하는 중입니다. 잠시 기다려 주세요."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"주소록을 업데이트하고 있습니다."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"주소록을 업그레이드하는 중입니다. \n\n업그레이드 하려면 약 <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g>MB의 내부 저장공간이 필요합니다.\n\n다음 옵션 중 하나를 선택하세요."</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"조직 추가"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"날짜"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"그룹 이름"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"출처: <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g>(출처: <xliff:g id="SOURCE">%2$s</xliff:g>)"</string>
     <string name="description_star" msgid="2605854427360036550">"즐겨찾기"</string>
     <string name="edit_contact" msgid="7529281274005689512">"연락처 수정"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"내 주소록에 복사"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"내 주소록에 추가"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"디렉토리 <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"개인 사본 작성 중..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"사용자 설정"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"설정"</string>
     <string name="menu_settings" msgid="377929915873428211">"설정"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"내 로컬 프로필"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"내 <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> 프로필"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"모든 연락처 표시"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"인물 앱은 Google 계정에서 사용할 때 더 효과적입니다.\n\n• 어떤 웹 브라우저에서든 액세스하세요.\n• 주소록을 안전하게 백업하세요."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"주소록은 Google 계정에서 사용할 때 더 효과적입니다.\n\n• 어떤 웹 브라우저에서든 액세스할 수 있습니다.\n• 주소록을 안전하게 백업할 수 있습니다."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"온라인 서비스와 동기화되므로 휴대전화를 잃어버려도 주소록을 안전하게 유지할 수 있습니다."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"계정 추가"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"새 연락처는 백업되지 않습니다. 온라인에 주소록을 백업할 계정을 추가하시겠습니까?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"새 연락처가 <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>와(과) 동기화됩니다."</string>
-    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"새 연락처를 다음 계정 중 하나와 동기화할 수 있습니다. 무엇을 사용하시겠습니까?"</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"새 연락처를 다음 계정 중 하나와 동기화할 수 있습니다. 원하는 계정을 선택하세요."</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"새 연락처 추가"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"연락처 수정"</string>
     <string name="keep_local" msgid="1258761699192993322">"오프라인 보관"</string>
     <string name="add_account" msgid="8201790677994503186">"계정 추가"</string>
     <string name="add_new_account" msgid="5748627740680940264">"새 계정 추가"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"데이터베이스 파일 내보내기"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"사진을 변경하려면 선택"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"새 연락처 추가"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"더보기"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"간략히 보기"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"모두 보기"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"최근"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"정보"</string>
+    <string name="send_message" msgid="8938418965550543196">"메시지 보내기"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"개인 사본 작성 중..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"어제"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"내일"</string>
+    <string name="today" msgid="8041090779381781781">"오늘"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"오늘 <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"내일 <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="TIME_INTERVAL">%s</xliff:g>, <xliff:g id="DATE">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(제목 없는 일정)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"설정"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"기관"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"닉네임"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"메모"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"웹사이트"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"일정"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"관계"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"길찾기"</string>
 </resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
new file mode 100644
index 0000000..c0f8d98
--- /dev/null
+++ b/res/values-ky-rKG/strings.xml
@@ -0,0 +1,331 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"Байланыштар"</string>
+    <!-- no translation found for contactsList (8661624236494819731) -->
+    <skip />
+    <!-- no translation found for shortcutContact (749243779392912958) -->
+    <skip />
+    <!-- no translation found for shortcutDialContact (746622101599186779) -->
+    <skip />
+    <!-- no translation found for shortcutMessageContact (2460337253595976198) -->
+    <skip />
+    <!-- no translation found for shortcutActivityTitle (6642877210643565436) -->
+    <skip />
+    <!-- no translation found for callShortcutActivityTitle (6065749861423648991) -->
+    <skip />
+    <!-- no translation found for messageShortcutActivityTitle (3084542316620335911) -->
+    <skip />
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Байланыш тандоо"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Жаңы байланышты тандаңыз"</string>
+    <!-- no translation found for starredList (4817256136413959463) -->
+    <skip />
+    <!-- no translation found for frequentList (7154768136473953056) -->
+    <skip />
+    <!-- no translation found for strequentList (5640192862059373511) -->
+    <skip />
+    <!-- no translation found for viewContactTitle (7989394521836644384) -->
+    <skip />
+    <!-- no translation found for editContactDescription (2947202828256214947) -->
+    <skip />
+    <!-- no translation found for insertContactDescription (4709878105452681987) -->
+    <skip />
+    <!-- no translation found for editGroupDescription (6321161304201540561) -->
+    <skip />
+    <!-- no translation found for insertGroupDescription (5658512271662210139) -->
+    <skip />
+    <!-- no translation found for contactDetailAbout (5430408883907061400) -->
+    <skip />
+    <!-- no translation found for contactDetailUpdates (3780588624763446941) -->
+    <skip />
+    <!-- no translation found for searchHint (8482945356247760701) -->
+    <skip />
+    <!-- no translation found for menu_viewContact (2795575601596468581) -->
+    <skip />
+    <!-- no translation found for menu_addStar (2908478235715404876) -->
+    <skip />
+    <!-- no translation found for menu_removeStar (5844227078364227030) -->
+    <skip />
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Сүйүктүүлөрдөн чыгарылды"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Сүйүктүүлөргө кошулду"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Өзгөртүү"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"Жок кылуу"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Үй экранына жайгаштыруу"</string>
+    <!-- no translation found for menu_call (3992595586042260618) -->
+    <skip />
+    <!-- no translation found for menu_sendSMS (5535886767547006515) -->
+    <skip />
+    <!-- no translation found for menu_splitAggregate (8368636463748691868) -->
+    <skip />
+    <string name="menu_editGroup" msgid="5062005185370983720">"Өзгөртүү"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"Жок кылуу"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Байланыш кошуу"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Топ кошуу"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Байланыш бөлүнсүнбү?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Бул байланыш бир нече байланыштарга бөлүнөт."</string>
+    <!-- no translation found for menu_joinAggregate (5027981918265667970) -->
+    <skip />
+    <!-- no translation found for titleJoinContactDataWith (7684875775798635354) -->
+    <skip />
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g> менен бириктиргиңиз келген байланышты тандаңыз."</string>
+    <!-- no translation found for showAllContactsJoinItem (2189695051430392383) -->
+    <skip />
+    <!-- no translation found for separatorJoinAggregateSuggestions (2831414448851313345) -->
+    <skip />
+    <!-- no translation found for separatorJoinAggregateAll (7939932265026181043) -->
+    <skip />
+    <!-- no translation found for contactsJoinedMessage (7208148163607047389) -->
+    <skip />
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Рингтон орнотуу"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Үн почтасына бардык чалуулар"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Сиз окуганга гана болгон эсебиңизден байланыштарыңызды өчүрө албайсыз, бирок аларды жашырсаңыз болот."</string>
+    <!-- no translation found for readOnlyContactDeleteConfirmation (2137170726670196909) -->
+    <skip />
+    <!-- no translation found for multipleContactDeleteConfirmation (938900978442960800) -->
+    <skip />
+    <!-- no translation found for deleteConfirmation (811706994761610640) -->
+    <skip />
+    <string name="menu_discard" msgid="6854657936970228164">"Өзгөрүүлөрдү жарактан чыгаруу"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"Мындай байланыш жок."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Байланыштар виджети Үй экранына кошулду."</string>
+    <!-- no translation found for pickerNewContactHeader (7750705279843568147) -->
+    <skip />
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Жаңы байланыш түзүү"</string>
+    <!-- no translation found for otherLabels:0 (8287841928119937597) -->
+    <!-- no translation found for otherLabels:1 (7196592230748086755) -->
+    <!-- no translation found for photoPickerNotFoundText (6247290728908599701) -->
+    <skip />
+    <!-- no translation found for photoPickerNotFoundText (431331662154342581) -->
+    <skip />
+    <!-- no translation found for attach_photo_dialog_title (5599827035558557169) -->
+    <skip />
+    <!-- no translation found for customLabelPickerTitle (1081475101983255212) -->
+    <skip />
+    <!-- no translation found for send_to_voicemail_checkbox (9001686764070676353) -->
+    <skip />
+    <!-- no translation found for removePhoto (4898105274130284565) -->
+    <skip />
+    <!-- no translation found for noContacts (8579310973261953559) -->
+    <skip />
+    <!-- no translation found for noGroups (8614664663561385253) -->
+    <skip />
+    <string name="noAccounts" msgid="7768267764545265909">"Топторду түзүш үчүн эсеп керек."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"Бу топто эч ким жок."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"Бирөөнү кошуш үчүн топту өзгөртүңүз."</string>
+    <!-- no translation found for savingContact (4075751076741924939) -->
+    <skip />
+    <!-- no translation found for contactSavedToast (7152589189385441091) -->
+    <skip />
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Байланыштын өзгөрүүлөрү сакталган жок."</string>
+    <!-- no translation found for groupSavedToast (1168756874239833756) -->
+    <skip />
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Топтун өзгөртүүлөрү сакталган жок."</string>
+    <!-- no translation found for listTotalPhoneContacts:one (3015357862286673986) -->
+    <!-- no translation found for listTotalPhoneContacts:other (3299954047880968205) -->
+    <!-- no translation found for listTotalPhoneContactsZero (6968813857632984319) -->
+    <skip />
+    <!-- no translation found for listFoundAllContacts:one (5517063038754171134) -->
+    <!-- no translation found for listFoundAllContacts:other (3852668542926965042) -->
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Байланыштар жок"</string>
+    <!-- no translation found for searchFoundContacts:one (4826918429708286628) -->
+    <!-- no translation found for searchFoundContacts:other (7988132539476575389) -->
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Бардк байлнштр"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Сүйүктүүлөр"</string>
+    <!-- no translation found for callBack (5498224409038809224) -->
+    <skip />
+    <!-- no translation found for callAgain (3197312117049874778) -->
+    <skip />
+    <!-- no translation found for returnCall (8171961914203617813) -->
+    <skip />
+    <!-- no translation found for add_contact_dlg_message_fmt (7986472669444326576) -->
+    <skip />
+    <!-- no translation found for description_contact_photo (3387458082667894062) -->
+    <skip />
+    <!-- no translation found for description_plus_button (515164827856229880) -->
+    <skip />
+    <!-- no translation found for exporting_contact_list_progress (560522409559101193) -->
+    <skip />
+    <!-- no translation found for search_settings_description (2675223022992445813) -->
+    <skip />
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Бул ишти аткаруучу эч бир колдонмо табылган жок."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Мурунку экранга кайтуу үчүн чыкылдатыңыз"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Телефон номерин кошуу"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Электрондук почта дарегин кошуу"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Бул ишти аткаруучу эч бир колдонмо табылган жок."</string>
+    <!-- no translation found for menu_share (943789700636542260) -->
+    <skip />
+    <string name="menu_add_contact" msgid="3198704337220892684">"Байланыштарга кошуу"</string>
+    <!-- no translation found for share_via (563121028023030093) -->
+    <skip />
+    <!-- no translation found for dialog_new_group_account (2318032089273496830) -->
+    <skip />
+    <string name="audio_chat" msgid="2535716629358298691">"Үн чат"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Видео чат"</string>
+    <string name="connections" msgid="8098440723172028350">"Байланыштар"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Байланыш кошуу"</string>
+    <string name="recent" msgid="2659189233141493004">"Акыркы"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"Акыркы жаңыртуулар"</string>
+    <!-- no translation found for account_type_format (718948015590343010) -->
+    <skip />
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <!-- no translation found for use_photo_as_primary (8807110122951157246) -->
+    <skip />
+    <string name="contact_read_only" msgid="7421346527289472273">"Бул колдонмодон өзгөртүлбөйт."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Бул түзмөктөн өзгөртүлбөйт."</string>
+    <!-- no translation found for take_photo (7496128293167402354) -->
+    <skip />
+    <!-- no translation found for take_new_photo (7341354729436576304) -->
+    <skip />
+    <string name="pick_photo" msgid="2129509985223564942">"Сүрөт тандаңыз"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Жаңы сүрөт тандоо"</string>
+    <!-- no translation found for locale_change_in_progress (7583992153091537467) -->
+    <skip />
+    <!-- no translation found for upgrade_in_progress (474511436863451061) -->
+    <skip />
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Байланыштар жаңыртылууда. \n\nЖаңыртуу ишине ички сактагычтан <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> МБ орун талап кылынат.\n\nКийинки мүмкүнчүлүктөрдүн бирин тандаңыз:"</string>
+    <!-- no translation found for upgrade_out_of_memory_uninstall (1721798828992091432) -->
+    <skip />
+    <!-- no translation found for upgrade_out_of_memory_retry (8431289830472724609) -->
+    <skip />
+    <string name="search_results_searching" msgid="3984833028938569930">"Изделүүдө…"</string>
+    <!-- no translation found for menu_display_selected (6470001164297969034) -->
+    <skip />
+    <!-- no translation found for menu_display_all (8887488642609786198) -->
+    <skip />
+    <!-- no translation found for menu_select_all (621719255150713545) -->
+    <skip />
+    <!-- no translation found for menu_select_none (7093222469852132345) -->
+    <skip />
+    <!-- no translation found for add_field (2384260056674995230) -->
+    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Жаңысын кошуу"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Уюм кошуу"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Дата"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Топтун аты"</string>
+    <!-- no translation found for description_star (2605854427360036550) -->
+    <skip />
+    <!-- no translation found for edit_contact (7529281274005689512) -->
+    <skip />
+    <!-- no translation found for merge_info:one (148365587896371969) -->
+    <!-- no translation found for merge_info:other (425683718017380845) -->
+    <!-- no translation found for aggregation_suggestion_join_dialog_message (3842757977671434836) -->
+    <skip />
+    <!-- no translation found for aggregation_suggestion_edit_dialog_message (6549585283910518095) -->
+    <skip />
+    <string name="menu_copyContact" msgid="1573960845106822639">"Менин Байланыштарыма көчүрүү"</string>
+    <!-- no translation found for add_to_my_contacts (1068274916793627723) -->
+    <skip />
+    <!-- no translation found for contact_directory_description (683398073603909119) -->
+    <skip />
+    <!-- no translation found for list_filter_custom (8910173055702057002) -->
+    <skip />
+    <!-- no translation found for activity_title_settings (5464130076132770781) -->
+    <skip />
+    <!-- no translation found for menu_settings (377929915873428211) -->
+    <!-- no translation found for menu_settings (377929915873428211) -->
+    <skip />
+    <string name="menu_help" msgid="5123887102216637725">"Жардам"</string>
+    <!-- no translation found for preference_displayOptions (1341720270148252393) -->
+    <skip />
+    <!-- no translation found for organization_company_and_title (6718207751363732025) -->
+    <skip />
+    <!-- no translation found for non_phone_caption (1541655052330027380) -->
+    <skip />
+    <!-- no translation found for non_phone_add_to_contacts (6590985286250471169) -->
+    <skip />
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Байланыштарга кошуу"</string>
+    <!-- no translation found for non_phone_close (7608506439725515667) -->
+    <skip />
+    <!-- no translation found for widget_name_and_phonetic (8739586586600099979) -->
+    <skip />
+    <!-- no translation found for date_year_toggle (7356532842767854606) -->
+    <skip />
+    <!-- no translation found for social_widget_label (6378905543028924592) -->
+    <skip />
+    <string name="social_widget_loading" msgid="5327336597364074608">"Жүктөлүүдө…"</string>
+    <!-- no translation found for contacts_unavailable_create_contact (7014525713871959208) -->
+    <skip />
+    <!-- no translation found for contacts_unavailable_add_account (7911101713860139754) -->
+    <skip />
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Байланыштарды импорттоо"</string>
+    <!-- no translation found for create_group_dialog_title (6874527142828424475) -->
+    <skip />
+    <string name="create_group_item_label" msgid="4411981763169654825">"Жаңы топ түзүү"</string>
+    <!-- no translation found for num_groups_in_account:one (2944819210288517794) -->
+    <!-- no translation found for num_groups_in_account:other (1276758425904917367) -->
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" тобу өчүрүлсүнбү? (Байланыштардын өзү өчүрүлбөйт)."</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> ичинен <xliff:g id="COUNT_0">%1$d</xliff:g> киши"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> ичинен <xliff:g id="COUNT_0">%1$d</xliff:g> киши"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> киши"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> киши"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Башка менен бириктирүүдөн мурун, байланыштын атын териңиз."</string>
+    <string name="copy_text" msgid="3257145021583508761">"Алмашуу буферине көчүрүү"</string>
+    <string name="set_default" msgid="4417505153468300351">"Негизги кылуу"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Негизгини тазалоо"</string>
+    <!-- no translation found for toast_text_copied (5143776250008541719) -->
+    <skip />
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Өзгөртүүлөр жокко чыгарылсынбы?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Профайлымды тууралоо"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Кишинин атын киргизиңиз"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Топтун аты"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"Менин жергиликтүү профайлым"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"Менин <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> профайлым"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Бардык байланыштарды көрсөтүү"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Байланыштар колдонмосу Google Каттоо эсебинде жакшы иштейт.\n\n• Аны каалаган веб серепчиден колдонууга болот.\n• Байланыштарыңыздын камдык көчүрмөсү коопсуз жерде сакталат."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Телефонуңузду жоготсоңуз дагы, байланыштарыңызды жоготпоңуз: онлайн кызмат менен синхрондоңуз."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Эсеп кошуу"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Жаңы байланыш бэкапталган жок. Байланыштарды онлайн бэкаптаган эсеп кошолубу?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Жаңы байланышыңыз <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> менен синхрондолот."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Сиз жаңы байланышты кийинки эсептердин бири менен синхрондоштура аласыз. Кайсынысын тандайсыз?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Жаңы байланыш кошуу"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Байланышты түзөтүү"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Жерлигиликтүү сактоо"</string>
+    <string name="add_account" msgid="8201790677994503186">"Эсеп кошуу"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Жаңы эсеп кошуу"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Берилиштер корлорунун файлдарын экспорттоо"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"жаңы байланыш кошуу"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Дагы көрүү"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Азыраак көрүү"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Бардыгын көрүү"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Акыркы"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Жөнүндө"</string>
+    <string name="send_message" msgid="8938418965550543196">"Билдирүү жөнөтүү"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Жеке көчүрмөнү алуу..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Кечээ"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Эртең"</string>
+    <string name="today" msgid="8041090779381781781">"Бүгүн"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Бүгүн саат <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Эртең саат <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Аталышы жок окуя)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Орнотуу"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Иштеген жери"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Ылакап аты"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Кыска жазуу"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Вебсайт"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Иш-чара"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Мамилелик катышы"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"жайгашуу ордуна багыттоолор"</string>
+</resources>
diff --git a/res/values-sw600dp/colors.xml b/res/values-land/bools.xml
similarity index 77%
copy from res/values-sw600dp/colors.xml
copy to res/values-land/bools.xml
index 0f8f8de..bd0650f 100644
--- a/res/values-sw600dp/colors.xml
+++ b/res/values-land/bools.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,10 +13,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-
 <resources>
 
-    <!-- Color used for the letter in the A-Z section header -->
-    <color name="section_header_text_color">#ff000000</color>
+    <bool name="quickcontact_two_panel">true</bool>
 
 </resources>
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index e72a0ee..d975093 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -17,7 +17,5 @@
     <dimen name="dialpad_digits_height">66dip</dimen>
     <dimen name="dialpad_digits_text_size">28sp</dimen>
     <dimen name="dialpad_digits_margin_bottom">50dip</dimen>
-    <!-- Center vertically -->
-    <dimen name="quick_contact_top_position">-1px</dimen>
     <dimen name="editor_type_label_width">120dip</dimen>
 </resources>
diff --git a/res/values-land/integers.xml b/res/values-land/integers.xml
index d247e46..08e1fe3 100644
--- a/res/values-land/integers.xml
+++ b/res/values-land/integers.xml
@@ -14,5 +14,11 @@
      limitations under the License.
 -->
 <resources>
+    <!--  Determines the number of columns in a ContactTileRow in the favorites tab -->
+    <integer name="contact_tile_column_count_in_favorites">5</integer>
+
     <integer name="contact_tile_column_count">4</integer>
+
+    <!-- Number of lines the QuickContact title can have -->
+    <integer name="quickcontact_title_lines">2</integer>
 </resources>
diff --git a/res/drawable/quickcontact_track_background.xml b/res/values-land/vals.xml
similarity index 79%
rename from res/drawable/quickcontact_track_background.xml
rename to res/values-land/vals.xml
index fcf61fd..ebcae31 100644
--- a/res/drawable/quickcontact_track_background.xml
+++ b/res/values-land/vals.xml
@@ -13,7 +13,7 @@
      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/quickcon_background_texture"
-    android:tileMode="repeat" />
+<resources>
+    <!-- The ratio of width:height for the contact's photo -->
+    <item name="quickcontact_photo_ratio" type="vals" format="float">0.7</item>
+</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
new file mode 100644
index 0000000..cfa518d
--- /dev/null
+++ b/res/values-lo-rLA/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"ລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="contactsList" msgid="8661624236494819731">"ລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"ລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"ໂທຫາໂດຍກົງ"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"ສົ່ງຂໍ້ຄວາມຫາໂດຍກົງ"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"ເລືອກທາງລັດລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"ເລືອກໝາຍເລກເພື່ອໂທ"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"ເລືອກເບີເພື່ອສົ່ງຂໍ້ຄວາມ"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"ເລືອກລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"​ເລືອກ​ລາຍ​ຊື່​ຜ​​ູ່​ຕິດ​ຕໍ່​ໃໝ່"</string>
+    <string name="starredList" msgid="4817256136413959463">"ໝາຍດາວແລ້ວ"</string>
+    <string name="frequentList" msgid="7154768136473953056">"ເລື້ອຍໆ"</string>
+    <string name="strequentList" msgid="5640192862059373511">"ລາຍການທີ່ມັກ"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"ລາຍລະອຽດລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"ແກ້ໄຂລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"ສ້າງລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"ແກ້ໄຂກຸ່ມ"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"ສ້າງກຸ່ມ"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"ກ່ຽວ​ກັບ"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"ອັບເດດ"</string>
+    <string name="searchHint" msgid="8482945356247760701">"ຊອກຫາລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"ເບິ່ງລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"ເພີ່ມເປັນລາຍການທີ່ມັກ"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"ລຶບອອກຈາກລາຍການທີ່ມັກ"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"​ລຶບ​ອອກ​ຈາກ​ລາຍ​ການ​ທີ່​ມັກ​ແລ້ວ"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"​ເພີ່ມ​ໃສ່​ລາຍ​ການ​ທີ່​ມັກ"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"ແກ້ໄຂ"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"ລຶບ"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ວາງໃສ່ໜ້າຈໍຫຼັກ"</string>
+    <string name="menu_call" msgid="3992595586042260618">"ໂທຫາລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"ສົ່ງຂໍ້ຄວາມຫາລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"ແຍກຂໍ້ມູນ"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"ແກ້ໄຂ"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"ລຶບ"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"ເພີ່ມເປັນລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"ເພີ່ມກຸ່ມ"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"ແຍກລາຍຊື່ຜູ່ຕິດຕໍ່?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"ລາຍຊື່ຜູ່ຕິດຕໍ່ຈະຖືກແຍກເປັນຫຼາຍລາຍຊື່ຜູ່ຕິດຕໍ່."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"ຮວມ"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"ຮວມລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"ເລືອກລາຍຊື່ຜູ່ຕິດຕໍ່ ທີ່ທ່ານຕ້ອງການຮວມກັບ <xliff:g id="NAME">%s</xliff:g>:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"ສະແດງລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທີ່ແນະນຳ"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"ຮວມລາຍຊື່ຜູ່ຕິດຕໍ່ແລ້ວ"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"ຕັ້ງສຽງຣິງໂທນ"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"ໂອນທຸກສາຍໄປຂໍ້ຄວາມສຽງ"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"ທ່ານບໍ່ສາມາດລຶບລາຍຊື່ຜູ່ຕິດຕໍ່ຈາກບັນຊີທີ່ອ່ານໄດ້ເທົ່ານັ້ນ ແຕ່ທ່ານສາມາດເຊື່ອງມັນໄວ້ໃນລາຍຊື່ຜູ່ຕິດຕໍ່ຂອງທ່ານ."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"ລາຍຊື່ຜູ່ຕິດຕໍ່ນີ້ມີຂໍ້ມູນຈາກຫຼາຍບັນຊີ. ຂໍ້ມູນຈາກບັນຊີທີ່ອ່ານໄດ້ເທົ່ານັ້ນ ຈະຖືກເຊື່ອງໄວ້ໃນລາຍຊື່ຂອງທ່ານ ແຕ່ບໍ່ຖືກລຶບອອກ."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ການລຶບລາຍຊື່ຜູ່ຕິດຕໍ່ນີ້ຈະລຶບຂໍ້ມູນຈາກຫຼາຍບັນຊີ."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"ລາຍຊື່ຜູ່ຕິດຕໍ່ນີ້ຈະຖືກລຶບອອກ."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"ຍົກເລີກການແກ້ໄຂ"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"ບໍ່ມີລາຍຊື່ຜູ່ຕິດຕໍ່."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"ເພີ່ມວິດເຈັດລາຍຊື່ຜູ່ຕິດຕໍ່ໃສ່ໜ້າຈໍຫຼັກແລ້ວ."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"ສ້າງລາຍຊື່ຜູ່ຕິດຕໍ່ໃໝ່"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"ສ້າງລາຍຊື່ຜູ່ຕິດຕໍ່ໃໝ່"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"ອົງກອນ"</item>
+    <item msgid="7196592230748086755">"ໝາຍເຫດ"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"ບໍ່ມີຮູບໃນແທັບເລັດທີ່ສາມາດໃຊ້ໄດ້."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"ບໍ່ມີຮູບທີ່ສາມາດໃຊ້ໄດ້ໃນໂທລະສັບ."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"ຮູບລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"ປ້າຍກຳກັບຊື່ກຳນົດເອງ"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"ສົ່ງການໂທອອກໄປຫາຂໍ້ຄວາມສຽງໂດຍກົງ"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"ລຶບຮູບພາບ"</string>
+    <string name="noContacts" msgid="8579310973261953559">"ບໍ່ມີລາຍຊື່ຜູ່ຕິດຕໍ່."</string>
+    <string name="noGroups" msgid="8614664663561385253">"ບໍ່ມີກຸ່ມ."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"ເພື່ອສ້າງກຸ່ມ ທ່ານຈະຕ້ອງມີບັນຊີກ່ອນ."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"ບໍ່ມີຄົນໃນກຸ່ມນີ້."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"ເພື່ອເພີ່ມລາຍຊື່, ກະລຸນາແກ້ໄຂກຸ່ມ."</string>
+    <string name="savingContact" msgid="4075751076741924939">"ກຳລັງບັນທຶກລາຍຊື່ຜູ່ຕິດຕໍ່..."</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"ບັນທຶກລາຍຊື່ຜູ່ຕິດຕໍ່ແລ້ວ."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"ບໍ່ສາມາດບັນທຶກການແກ້ໄຂລາຍຊື່ຜູ່ຕິດຕໍ່ໄດ້."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"ບັນທຶກກຸ່ມແລ້ວ."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"ບໍ່ສາມາດບັນທຶກການແກ້ໄຂກຸ່ມໄດ້."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"1 ລາຍຊື່ຜູ່ຕິດຕໍ່ທີ່ມີເບີໂທລະສັບ"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> ລາຍຊື່ຜູ່ຕິດຕໍ່ທີ່ມີເບີໂທລະສັບ"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"ບໍ່ມີລາຍຊື່ທີ່ມີເບີໂທລະສັບ"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"ພົບ 1"</item>
+    <item quantity="other" msgid="3852668542926965042">"ພົບ <xliff:g id="COUNT">%d</xliff:g>"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"ບໍ່ມີລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"ພົບ 1 ລາຍຊື່"</item>
+    <item quantity="other" msgid="7988132539476575389">"ພົບ <xliff:g id="COUNT">%d</xliff:g>"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"ລາຍ​ຊື່​ຜູ່​ຕິດ​ຕໍ່​ທັງ​ໝົດ"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"​ລາຍ​ການ​ທີ່​ມັກ"</string>
+    <string name="callBack" msgid="5498224409038809224">"ໂທກັບ"</string>
+    <string name="callAgain" msgid="3197312117049874778">"ໂທອີກເທື່ອນຶ່ງ"</string>
+    <string name="returnCall" msgid="8171961914203617813">"ໂທກັບ"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"ເພີ່ມ \"<xliff:g id="EMAIL">%s</xliff:g>\" ໃສ່ລາຍຊື່ຜູ່ຕິດຕໍ່?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"ຮູບພາບລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"ບວກ"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"ລາຍຊື່ຜູ່ຕິດຕໍ່ <xliff:g id="CURRENT_NUMBER">%s</xliff:g> ຈາກທັງໝົດ  <xliff:g id="TOTAL_NUMBER">%s</xliff:g> ລາຍຊື່"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"ຊື່ຂອງລາຍຊື່ຜູ່ຕິດຕໍ່ຂອງທ່ານ"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"ບໍ່ພົບແອັບຯທີ່ໃຊ້ເພື່ອດຳເນີນການ."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"ຄລິກ​ເພື່ອ​ກັບ​ໄປ​ທີ່​ໜ້າຈໍ​ກ່ອນ​ໜ້າ​ນີ້"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"ເພີ່ມ​ເບີ​ໂທ​ລະ​ສັບ"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"ເພີ່ມອີເມວ"</string>
+    <string name="missing_app" msgid="1466111003546611387">"ບໍ່ພົບແອັບຯທີ່ໃຊ້ເພື່ອດຳເນີນການ."</string>
+    <string name="menu_share" msgid="943789700636542260">"ແບ່ງປັນ"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"​ເພີ່ມ​ໃນ​ລາຍ​ຊື່​ຜູ່​ຕິດ​ຕໍ່"</string>
+    <string name="share_via" msgid="563121028023030093">"ແບ່ງປັນລາຍຊື່ຜູ່ຕິດຕໍ່ຜ່ານທາງ"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"ສ້າງກຸ່ມພາຍໃຕ້ບັນຊີ"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"ການສົນທະນາດ້ວຍສຽງ"</string>
+    <string name="video_chat" msgid="1872255818640336072">"ການສົນທະນາດ້ວຍວິດີໂອ"</string>
+    <string name="connections" msgid="8098440723172028350">"ການເຊື່ອມຕໍ່"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"ເພີ່ມການເຊື່ອມຕໍ່"</string>
+    <string name="recent" msgid="2659189233141493004">"ເມື່ອບໍ່ດົນມານີ້"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"ອັບເດດເມື່ອໄວໆນີ້"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> ລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"ໃຊ້ຮູບນີ້"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"ບໍ່ສາມາດແກ້ໄຂໄດ້ຈາກແອັບຯນີ້."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"ບໍ່ສາມາດແກ້ໄຂໄດ້ໃນອຸປະກອນນີ້."</string>
+    <string name="take_photo" msgid="7496128293167402354">"ຖ່າຍ​ຮູບ"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"ຖ່າຍຮູບໃໝ່"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"ເລືອກ​ຮູບ"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"ເລືອກຮູບໃໝ່"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"ລາຍຊື່ຜູ່ຕິດຕໍ່ກຳລັງຖືກອັບເດດຕາມການປ່ຽນແປງຂອງພາສາ."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"ລາຍການລາຍຊື່ຜູ່ຕິດຕໍ່ກຳລັງຖືກອັບເດດ."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"ລາຍຊື່ຜູ່ຕິດຕໍ່ກຳລັງຢູ່ໃນລະຫວ່າງການອັບເກຣດ. \n\nຂັ້ນຕອນການອັບເກຣດ ຈະໃຊ້ບ່ອນຈັດເກັບຂໍ້ມູນພາຍໃນ <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB.\n\nກະລຸນາເລືອກໂຕເລືອກໃດນຶ່ງຕໍ່ໄປນີ້:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"ຖອນການຕິດຕັ້ງບາງແອັບພລິເຄຊັນອອກ"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"ລອງອັບເກຣດອີກຄັ້ງ"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"ກຳລັງຊອກຫາ..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"ສະແດງສິ່ງທີ່ເລືອກ"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"ສະແດງທັງໝົດ"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"ເລືອກທັງໝົດ"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"ບໍ່ເລືອກທັງໝົດ"</string>
+    <string name="add_field" msgid="2384260056674995230">"ເພີ່ມຊ່ອງຂໍ້ມູນອື່ນ"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"ເພີ່ມໃໝ່"</string>
+    <string name="add_organization" msgid="7311893231158291197">"ເພີ່ມອົງກອນ"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"ວັນທີ"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"ຊື່ກຸ່ມ"</string>
+    <string name="description_star" msgid="2605854427360036550">"ໝາຍດາວ"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"ແກ້ໄຂລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"ຍັງບໍ່ຮວມເທື່ອ"</item>
+    <item quantity="other" msgid="425683718017380845">"ຮວມມາຈາກ <xliff:g id="COUNT">%0$d</xliff:g> ແຫລ່ງຂໍ້ມູນ"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"ຮວມລາຍຊື່ຜູ່ຕິດຕໍ່ນີ້ ກັບລາຍຊື່ຜູ່ຕິດຕໍ່ທີ່ເລືອກ?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"ສະລັບໄປທີ່ການແກ້ໄຂລາຍຊື່ຜູ່ຕິດຕໍ່ທີ່ເລືອກ? ຂໍ້ມູນທີ່ທ່ານຂຽນມາຈະຖືກສຳເນົາໄວ້."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"ສຳເນົາໃສ່ລາຍຊື່ຜູ່ຕິດຕໍ່ຂອງຂ້ອຍ"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"ເພີ່ມໃສ່ລາຍຊື່ຜູ່ຕິດຕໍ່ຂອງຂ້ອຍ"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"ໄດເຣັກທໍຣີ <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"ກຳນົດເອງ"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"ການຕັ້ງຄ່າ"</string>
+    <string name="menu_settings" msgid="377929915873428211">"ການຕັ້ງຄ່າ"</string>
+    <string name="menu_help" msgid="5123887102216637725">"ຊ່ວຍເຫຼືອ"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"ໂຕເລືອກການສະແດງຜົນ"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"ເບີໂທລະສັບ"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"ເພີ່ມໃສ່ລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"ເພີ່ມໃສ່ລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"ປິດ"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"ລະບຸປີ"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"ລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"ກຳລັງໂຫລດ..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"ສ້າງລາຍຊື່ຜູ່ຕິດຕໍ່ໃໝ່"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"ເຂົ້າສູ່ລະບົບບັນຊີ"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"ນຳເຂົ້າລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"ສ້າງ​ກຸ່ມ​ໃໝ່"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"ສ້າງ​ກຸ່ມ​ໃໝ່"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 ກຸ່ມ"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> ກຸ່ມ"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"ລຶບກຸ່ມ \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (ລາຍຊື່ຜູ່ຕິດຕໍ່ຈະບໍ່ຖືກລຶບອອກ.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> ຄົນຈາກ <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> ຄົນຈາກ <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> ຄົນ"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> ຄົນ"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"ພິມຊື່ຂອງລາຍຊື່ຜູ່ຕິດຕໍ່ກ່ອນການຮວມກັບລາຍຊື່ອື່ນ."</string>
+    <string name="copy_text" msgid="3257145021583508761">"ສຳເນົາໃສ່ຄລິບບອດ"</string>
+    <string name="set_default" msgid="4417505153468300351">"ຕັ້ງຄ່າເລີ່ມຕົ້ນ"</string>
+    <string name="clear_default" msgid="7193185801596678067">"ລຶບຄ່າເລີ່ມຕົ້ນ"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"ສຳເນົາຂໍ້ຄວາມແລ້ວ"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"ຍົກເລີກການແກ້ໄຂຂອງທ່ານ?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"ຕັ້ງຄ່າໂປຣໄຟລ໌ຂອງຂ້ອຍ"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"ພິມຊື່ຄົນ"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"ຊື່ກຸ່ມ"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"ໂປຣໄຟລ໌ໃນອຸປະກອນຂອງຂ້ອຍ"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"ໂປຣໄຟລ໌ <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> ຂອງຂ້ອຍ"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"ສະແດງລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"ລາຍຊື່ຜູ່ຕິດຕໍ່​ຈະ​ເຮັດ​ວຽກ​ໄດ້​ດີ​ຂຶ້ນ​ເມື່ອ​ໃຊ້​ຮ່ວມ​ກັບ​ບັນ​ຊີ Google.\n\n• ເຂົ້າ​ເຖິງ​ໄດ້​ຈາກ​ທຸກ​ໂປຣແກຣມ​ທ່ອງ​ເວັບ.\n• ສຳຮອງ​ຂໍ້ມູນ​ລາຍຊື່ຜູ່ຕິດຕໍ່​ຂອງ​ທ່ານ​ໄວ້​ຢ່າງ​ປອດ​ໄພ."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"ເກັບຮັກສາລາຍຊື່ຜູ່ຕິດຕໍ່ຂອງທ່ານໄວ້ຢ່າງປອດໄພ ເຖິງແມ່ນວ່າໂທລະສັບຂອງທ່ານຈະເສຍກໍຕາມ ດ້ວຍການຊິ້ງຂໍ້ມູນກັບບໍລິການອອນລາຍ."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"ເພີ່ມບັນຊີ"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"ລາຍຊື່ຜູ່ຕິດຕໍ່ໃໝ່ຂອງທ່ານຈະບໍ່ຖືກສຳຮອງຂໍ້ມູນ. ທ່ານຕ້ອງການເພີ່ມບັນຊີ ທີ່ສາມາດສຳຮອງຂໍ້ມູນອອນລາຍໄດ້ຫຼືບໍ່?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"ລາຍຊື່ຜູ່ຕິດຕໍ່ໃໝ່ຂອງທ່ານຈະຖືກຊິ້ງຂໍ້ມູນກັບ <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"ທ່ານສາມາດຊິ້ງຂໍ້ມູນລາຍຊື່ຜູ່ຕິດຕໍ່ໃໝ່ຂອງທ່ານ ກັບບັນຊີຕໍ່ໄປນີ້ໄດ້. ທ່ານຕ້ອງການໃຊ້ບັນຊີໃດ?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"​ເພີ່ມ​ລາຍ​ຊື່​ຜູ່​ຕິດ​ຕໍ່​ໃໝ່"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"ແກ້ໄຂລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
+    <string name="keep_local" msgid="1258761699192993322">"ຈັດເກັບໃນເຄື່ອງ"</string>
+    <string name="add_account" msgid="8201790677994503186">"ເພີ່ມບັນຊີ"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"ເພີ່ມບັນຊີໃໝ່"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"ສົ່ງອອກໄຟລ໌ຖານຂໍ້ມູນ"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"ເພີ່ມ​ລາຍຊື່​ຜູ່​ຕິດຕໍ່"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"​ເບິ່ງ​ເພີ່ມ​ເຕີມ"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"​​ເບິ່ງ​ໜ້ອຍ​ລົງ"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"ເບິ່ງ​ທັງ​ໝົດ"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"ບໍ່ດົນມານີ້"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"ກ່ຽວກັບ"</string>
+    <string name="send_message" msgid="8938418965550543196">"ສົ່ງຂໍ້ຄວາມ"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"ກຳລັງ​ສ້າງ​ສຳເນົາ​ສ່ວນບຸກຄົນ..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"ມື້​ວານ​ນີ້"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"ມື້ອື່ນ"</string>
+    <string name="today" msgid="8041090779381781781">"ມື້ນີ້"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"ມື້ນີ້ໃນເວລາ <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"ມື້ອື່ນໃນເວລາ <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(ນັດ​ໝາຍບໍ່​ມີ​ຊື່)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"ຕົກລົງ"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"ອົງກອນ"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"ຊື່ຫຼິ້ນ"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"ບັນທຶກ"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"ເວັບໄຊ"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"ການນັດໝາຍ"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"ຄວາມສຳພັນ"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"​ເສັ້ນ​ທາງ​ໄປ​ຫາ​ສະ​ຖານ​ທີ່"</string>
+</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 55dd40c..1005298 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Žmonės"</string>
+    <string name="people" msgid="1190841469952343354">"Kontaktai"</string>
     <string name="contactsList" msgid="8661624236494819731">"Adresinė"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Adresatas"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Tiesioginis numerio rinkimas"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Pasirinkite numerį, kuriuo skambinsite"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Pasirinkti numerį, kuriuo bus siunčiamas pranešimas"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Pasirinkti kontaktą"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Naujo kontakto pasirinkimas"</string>
     <string name="starredList" msgid="4817256136413959463">"Pažymėta žvaigždute"</string>
     <string name="frequentList" msgid="7154768136473953056">"Dažnai naudojami"</string>
-    <string name="strequentList" msgid="5640192862059373511">"Adresynas"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Mėgstamiausi"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Išsami adresato informacija"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Žiūrėti adresatą"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Redaguoti adresatą"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Sukurti adresatą"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Redaguoti grupę"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Žiūrėti adresatą"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Pridėti prie adresyno"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Pašalinti iš adresyno"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Pašalinta iš mėgstamiausių"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Pridėta prie mėgstamiausių"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Redaguoti"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Ištrinti"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Padėti pagrindiniame ekrane"</string>
@@ -65,10 +67,10 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Šiam adresatui priskirta kelių paskyrų informacija. Tik skaitomų paskyrų informacija bus paslėpta adresatų sąrašuose; ji nebus ištrinta."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Ištrynus šią informaciją, bus ištrinta kelių paskyrų informacija."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Šis adresatas bus ištrintas."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Atmesti"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Atmesti pakeitimus"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Kontaktas neegzistuoja."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Kontaktų valdiklis pridėtas prie pagrindinio ekrano."</string>
-    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Kurti naują adresatą"</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Kurti naują kontaktą"</string>
     <string name="pickerNewContactText" msgid="6166997164401048211">"Kurti naują kontaktą"</string>
   <string-array name="otherLabels">
     <item msgid="8287841928119937597">"Organizacija"</item>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"Kontaktai (-ų) su telefonų numeriais: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nėra kontaktų su telefonų numeriais"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 kontaktas"</item>
-    <item quantity="other" msgid="3578469907265375314">"Kontaktai: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"rastas 1"</item>
     <item quantity="other" msgid="3852668542926965042">"Rasta <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"rastas 1"</item>
     <item quantity="other" msgid="7988132539476575389">"Rasta <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Visi kontaktai"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupės"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Visi kontaktai"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Mėgstamiausi"</string>
     <string name="callBack" msgid="5498224409038809224">"Perskambinti"</string>
     <string name="callAgain" msgid="3197312117049874778">"Skambinti dar kartą"</string>
     <string name="returnCall" msgid="8171961914203617813">"Grįžtamasis skambutis"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> iš <xliff:g id="TOTAL_NUMBER">%s</xliff:g> adresatų"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Kontaktų vardai"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Nerasta jokių programų šiam veiksmui apdoroti."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Spustelėkite, kad grįžtumėte į ankstesnį ekraną"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Pridėti telefono numerį"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Pridėti el. pašto adresą"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Nerasta jokių programų šiam veiksmui apdoroti."</string>
     <string name="menu_share" msgid="943789700636542260">"Bendrinti"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Pridėti prie kontaktų"</string>
     <string name="share_via" msgid="563121028023030093">"Bendrinti adresatą naudojant"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Kurti grupę paskyroje"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Balso pokalbis"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Naudoti šią nuotrauką"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Iš šios programos redaguoti negalima."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Nėra papildomos informacijos apie šį kontaktą."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Negalima redaguoti šiame įrenginyje."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Rūšiuoti sąrašą pagal"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Suteiktas pavadinimas"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Pavardė"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Žiūrėti kontaktų vardus"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Pirmiausia suteiktas pavadinimas"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Pirmiausia pavardė"</string>
     <string name="take_photo" msgid="7496128293167402354">"Fotografuoti"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Iš naujo fotografuoti"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Pasirinkti nuotrauką iš galerijos."</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Pasirinkti naują nuotrauką iš galerijos"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Pasirinkti nuotrauką"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Pasirinkti naują nuotrauką"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Kontaktų sąrašas yra atnaujinamas, kad atspindėtų kalbos pakeitimą."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Atnaujinamas kontaktų sąrašas."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontaktai naujovinami. \n\nNaujovinimo procesui reikalinga maždaug <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB vidinės atminties.\n\nPasirinkite vieną iš šių parinkčių:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Pridėti organizaciją"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Data"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Grupės pavad."</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"naudojant „<xliff:g id="SOURCE">%1$s</xliff:g>“"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> naudojant „<xliff:g id="SOURCE">%2$s</xliff:g>“"</string>
     <string name="description_star" msgid="2605854427360036550">"įtraukti į adresyną"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Redaguoti kontaktą"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopijuoti į „Mano kontaktus“"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Pridėti prie „Mano kontaktų“"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"„<xliff:g id="TYPE">%1$s</xliff:g>“ katalogas"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Kuriama asmeninė kopija..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Priskirtas"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Nustatymai"</string>
     <string name="menu_settings" msgid="377929915873428211">"Nustatymai"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Mano vietos profilis"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Mano „<xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>“ profilis"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Pateikiami visi kontaktai"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Žmonių programa veikia geriau naudojant „Google“ paskyrą.\n\n• Pasiekite naudodami bet kurią žiniatinklio naršyklę.\n• Saugiai kurkite atsargines kontaktų kopijas."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kontaktai veikia geriau naudojant „Google“ paskyrą.\n\n• Pasiekite naudodami bet kurią žiniatinklio naršyklę.\n• Saugiai kurkite atsargines kontaktų kopijas."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Užtikrinkite kontaktų saugumą net praradę telefoną: sinchronizuokite su internetine paslauga."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Pridėti paskyrą"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Naujo kontakto atsarginė kopija nebus sukurta. Pridėti paskyrą, kuri sukuria atsargines kontaktų kopijas internete?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Naujas kontaktas bus sinchronizuojamas su <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Naują kontaktą galite sinchronizuoti su viena iš toliau pateiktų paskyrų. Kurią norite naudoti?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Pridėti naują kont."</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Redaguoti kontaktą"</string>
     <string name="keep_local" msgid="1258761699192993322">"Išsaug. kaip vietinį"</string>
     <string name="add_account" msgid="8201790677994503186">"Pridėkite paskyrą"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Pridėkite naują paskyrą"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Eksportuoti duomenų failus"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Nuotrauka. Pasirinkite, kad pakeistumėte"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"pridėti naują kontaktą"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Žr. daugiau"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Žr. mažiau"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Žr. viską"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Naujausios"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Apie"</string>
+    <string name="send_message" msgid="8938418965550543196">"Siųsti pranešimą"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Kuriama asmeninė kopija..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Vakar"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Rytoj"</string>
+    <string name="today" msgid="8041090779381781781">"Šiandien"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Šiandien, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Rytoj, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Įvykis be pavadinimo)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Nustatyti"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"TP"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organizacija"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Slapyvardis"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Užrašas"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Svetainė"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Įvykis"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Ryšys"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"nuorodos į vietovę"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index b479d59..8d2e401 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Kontakti"</string>
+    <string name="people" msgid="1190841469952343354">"Kontaktpersonas"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kontaktpersonas"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kontaktpersona"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Tiešais zvans"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Izvēlieties numuru, uz kuru zvanīt"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Izvēlieties numuru, uz kuru sūtīt īsziņu"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Kontaktpersonas izvēle"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Atlasīt jaunu kontaktpersonu"</string>
     <string name="starredList" msgid="4817256136413959463">"Atzīmēti ar zvaigznīti"</string>
     <string name="frequentList" msgid="7154768136473953056">"Bieži"</string>
     <string name="strequentList" msgid="5640192862059373511">"Izlase"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Informācija par kontaktpersonu"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Skatīt kontaktpersonu"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Rediģēt kontaktpersonu"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Izveidot kontaktpersonu"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Rediģēt grupu"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Skatīt kontaktpersonu"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Pievienot izlasei"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Noņemt no izlases"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Noņemts no izlases"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Pievienots izlasei"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Rediģēt"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Dzēst"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Novietot sākuma ekrānā"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Šī kontaktpersona satur informāciju no vairākiem kontiem. Informācija no tikai lasāmiem kontiem jūsu kontaktpersonu sarakstā tiks slēpta, nevis dzēsta."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Dzēšot šo kontaktpersonu, tiks dzēsta informācija no vairākiem kontiem."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Šī kontaktpersona tiks dzēsta."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Atmest"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Atmest izmaiņas"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Šāda kontaktpersona nepastāv."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Kontaktpersonas logrīks pievienots sākuma ekrānam."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Izveidot jaunu kontaktpersonu"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontaktpersonas ar tālruņa numuriem"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nav nevienas kontaktpersonas ar tālruņa numuru"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 kontaktpersona"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> kontaktpersonas"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Atrasta 1"</item>
     <item quantity="other" msgid="3852668542926965042">"Atrastas <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"Atrasta 1"</item>
     <item quantity="other" msgid="7988132539476575389">"Atrastas <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Visas kontaktpersonas"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupas"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Visas"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Izlase"</string>
     <string name="callBack" msgid="5498224409038809224">"Atzvanīt"</string>
     <string name="callAgain" msgid="3197312117049874778">"Zvanīt vēlreiz"</string>
     <string name="returnCall" msgid="8171961914203617813">"Atzvanīt"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> no <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktpersonas(-ām)"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Kontaktpersonu vārdi"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Netika atrasta neviena lietotne šīs darbības veikšanai."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Noklikšķiniet, lai atgrieztos iepriekšējā ekrānā."</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Pievienojiet tālruņa numuru"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Pievienojiet e-pasta adresi"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Netika atrasta neviena lietotne šīs darbības veikšanai."</string>
     <string name="menu_share" msgid="943789700636542260">"Kopīgot"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Pievienot kontaktpersonām"</string>
     <string name="share_via" msgid="563121028023030093">"Kopīgot kontaktpersonu, izmantojot"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Izveidot grupu šajā kontā:"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Balss tērzēšana"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Izmantot šo fotoattēlu"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Nevar rediģēt šajā lietotnē."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Nav pieejama papildinformācija par šo kontaktpersonu."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Nevar rediģēt šajā ierīcē."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Kārtot sarakstu pēc"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Vārds"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Uzvārds"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Skatīt kontaktpersonu vārdus"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Vispirms rādīt vārdu"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Vispirms rādīt uzvārdu"</string>
     <string name="take_photo" msgid="7496128293167402354">"Uzņemt fotoattēlu"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Uzņemt jaunu fotoattēlu"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Izvēlēties fotoattēlu no galerijas"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Atlasīt jaunu fotoattēlu no galerijas"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Izvēlēties fotoattēlu"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Atlasīt jaunu fotoattēlu"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Kontaktpersonu saraksts tiek atjaunināts, lai atspoguļotu valodas maiņu."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Kontaktpersonu saraksts tiek atjaunināts."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Notiek kontaktpersonu jaunināšana.\n\nJaunināšanas procesam ir nepieciešami aptuveni <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB iekšējās atmiņas.\n\nIzvēlieties vienu no tālāk norādītajām opcijām."</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Pievienot organiz."</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Datums"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Grupas nos."</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"izmantojot <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g>, izmantojot <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"izlase"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Kontaktpersonu rediģēšana"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopēt uz manām kontaktpersonām"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Pievienot mapē Manas kontaktpersonas"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Katalogs <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Notiek personīgā eksemplāra izveide..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Pielāgotas"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Iestatījumi"</string>
     <string name="menu_settings" msgid="377929915873428211">"Iestatījumi"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Mans vietējais profils"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Mans <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> profils"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Tiek attēlotas visas kontaktpersonas"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Lietotne People darbojas labāk ar Google kontu.\n\n• Piekļuve no jebkuras tīmekļa pārlūkprogrammas\n• Droša kontaktinformācijas dublēšana"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Lietotne “Kontaktpersonas” darbosies labāk, izmantojot Google kontu.\n\n• Piekļuve no jebkuras tīmekļa pārlūkprogrammas. \n• Droša kontaktpersonu informācijas dublēšana."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Nodrošinieties pret kontaktpersonu zudumu pat tālruņa nozaudēšanas gadījumā — sinhronizējiet informāciju ar tiešsaistes pakalpojumu."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Konta pievienošana"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Jaunā kontaktinformācija netiks dublēta. Vai pievienot kontu, kurā tiek tiešsaistē dublēta kontaktinformācija?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Jaunā kontaktinformācija tiks sinhronizēta ar kontu <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Varat sinhronizēt jauno kontaktinformāciju ar vienu no tālāk norādītajiem kontiem. Kuru kontu vēlaties izmantot?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Pievienošana"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Personas rediģēšana"</string>
     <string name="keep_local" msgid="1258761699192993322">"Saglabāt vietēji"</string>
     <string name="add_account" msgid="8201790677994503186">"Pievienot kontu"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Pievienot jaunu kontu"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Eksportēt datu bāzes failus"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Attēls. Lai mainītu, atlasiet."</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"pievienot jaunu kontaktpersonu"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Skatīt vairāk"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Skatīt mazāk"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Skatīt visu"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Nesenie"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Par"</string>
+    <string name="send_message" msgid="8938418965550543196">"Sūtīt ziņojumu"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Notiek personīgās kopijas izveide…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Vakar"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Rīt"</string>
+    <string name="today" msgid="8041090779381781781">"Šodien"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Šodien plkst. <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Rīt plkst. <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Pasākums bez nosaukuma)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Iestatīt"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Tūlītējā ziņojumapmaiņa"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organizācija"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Segvārds"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Piezīme"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Vietne"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Pasākums"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Saistība"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"norādes uz atrašanās vietu"</string>
 </resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
new file mode 100644
index 0000000..f1180ad
--- /dev/null
+++ b/res/values-mk-rMK/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"Контакти"</string>
+    <string name="contactsList" msgid="8661624236494819731">"Контакти"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"Контакт"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"Директно бирање"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"Директна порака"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Избери кратенка за контакт"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Изберете број да се јавите"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Избери број да испратиш порака"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Одбери контакт"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Избери нов контакт"</string>
+    <string name="starredList" msgid="4817256136413959463">"Со ѕвезда"</string>
+    <string name="frequentList" msgid="7154768136473953056">"Често"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Омилени"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"Детали на контактот"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"Уреди контакт"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"Создај контакт"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"Уреди група"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"Создај група"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"За"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"Ажурирања"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Пребарај контакти"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"Прикажи контакт"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Додај во омилени"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Отстрани од омилени"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Отстрането од омилени"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Додадено во омилени"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Уреди"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"Избриши"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Постави на почетниот екран"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Повикај контакт"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Испрати текстуална порака на контакт"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Оддели"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Уреди"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"Избриши"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Додај контакт"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Додај група"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Раздели контакт?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Овој контакт ќе се раздели во повеќе контакти."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Поврзи"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Поврзи контакти"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Изберете го контактот што сакате да го поврзете со <xliff:g id="NAME">%s</xliff:g>:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Прикажи ги сите контакти"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Препорачани контакти"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Сите контакти"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Поврзани контакти"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Подеси мелодија"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Сите повици кон говорна пошта"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Не можете да избришете контакти од сметки само за читање, но можете да ги сокриете во вашите списоци со контакти."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Овој контакт содржи информации од повеќе сметки. Информациите од сметки само за читање ќе бидат скриени во вашите списоци со контакти, а не избришани."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Со бришење на овој контакт ќе се избришат информации од повеќе сметки."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"Овој контакт ќе се избрише."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Отфрли ги промените"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"Контактот не постои."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Виџет на контакт е додаден на почетниот екран."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Создај нов контакт"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Создај нов контакт"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"Организација"</item>
+    <item msgid="7196592230748086755">"Забелешка"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Не се достапни слики на таблетот."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Не се достапни слики на телефонот."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Фотографија за контакт"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Прилагоди име на етикета"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Испрати повици директно на говорна пошта"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"Отстрани фотографија"</string>
+    <string name="noContacts" msgid="8579310973261953559">"Нема контакти."</string>
+    <string name="noGroups" msgid="8614664663561385253">"Нема групи."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"За да создадете групи ви треба сметка."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"Нема луѓе во оваа група."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"За да додадете неколку, уредете ја групата."</string>
+    <string name="savingContact" msgid="4075751076741924939">"Контактот се зачувува..."</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Контактот е зачуван."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Не можеа да се зачуваат промените на контактот."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"Групата е зачувана."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Не можеа да се зачуваат промените на групата."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"1 контакт со телефонски број"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> контакти со телефонски броеви"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Нема контакти со телефонски броеви"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 пронајден"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> пронајдени"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Нема контакти"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 пронајден"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> пронајдени"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Сите контакти"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Омилени"</string>
+    <string name="callBack" msgid="5498224409038809224">"Повикај назад"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Повикај повторно"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Врати повик"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Додај „<xliff:g id="EMAIL">%s</xliff:g>“ во контакти?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"фотографија за контакт"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"плус"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> од <xliff:g id="TOTAL_NUMBER">%s</xliff:g> контакти"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"Имиња на вашите контакти"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Не е пронајдена апликација да се справи со ова дејство."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Кликнете за да се вратите на претходниот екран"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Додајте телефонски број"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Додајте е-пошта"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Не е пронајдена апликација да се справи со ова дејство."</string>
+    <string name="menu_share" msgid="943789700636542260">"Сподели"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Додај во контакти"</string>
+    <string name="share_via" msgid="563121028023030093">"Сподели контакт преку"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"Создај група под сметка"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"Гласовен разговор"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Видео разговор"</string>
+    <string name="connections" msgid="8098440723172028350">"Врски"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Додај врска"</string>
+    <string name="recent" msgid="2659189233141493004">"Скорешни"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"Скорешни ажурирања"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> контакт"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"Користи ја оваа фотографија"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"Не се уредува од оваа апликација."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Не може да се уреди на овој уред."</string>
+    <string name="take_photo" msgid="7496128293167402354">"Фотографирај"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"Направи нова фотографија"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Избери фотографија"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Избери нова фотографија"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Списокот со контакти се ажурира за да ја одрази промената на јазикот."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"Списокот со контакти се ажурира."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Контактите се во фаза на ажурирање.\n\n За процесот на ажурирање се потребни околу <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB внатрешна меморија.\n\nИзберете една од следниве опции:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Деинсталирај некои апликации"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Обиди се повторно да се ажурира"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"Се пребарува..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"Прикажи ги избраните"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"Прикажи ги сите"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Избери ги сите"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"Поништи избор на сѐ"</string>
+    <string name="add_field" msgid="2384260056674995230">"Додај друга област"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Додај нов запис"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Додај организација"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Датум"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Име на група"</string>
+    <string name="description_star" msgid="2605854427360036550">"омилено"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Уреди контакт"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"не се споени"</item>
+    <item quantity="other" msgid="425683718017380845">"споени од <xliff:g id="COUNT">%0$d</xliff:g> извори"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Да го поврзе тековниот контакт со избраниот контакт?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Да се префрли на уредување на избраниот контакт? Информациите што ги внесовте досега ќе бидат копирани."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"Копирај во Мои контакти"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"Додај во Мои контакти"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"Адресар <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"Прилагодено"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"Подесувања"</string>
+    <string name="menu_settings" msgid="377929915873428211">"Подесувања"</string>
+    <string name="menu_help" msgid="5123887102216637725">"Помош"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"Опции за екран"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"Телефонски број"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Додај во контакти"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Додај во контакт"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"Затвори"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"Наведи година"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"Контакт"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"Се вчитува..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Создај нов контакт"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Пријави се на сметка"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Увези контакти"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"Создај нова група"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"Создај нова група"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 група"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> групи"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"Избриши ја групата „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“? (Контактите нема да се избришат.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> лице од <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> лица од <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> лице"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> лица"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Впишете го името на контактот пред да го поврзете со друг."</string>
+    <string name="copy_text" msgid="3257145021583508761">"Копирај во клип-табла"</string>
+    <string name="set_default" msgid="4417505153468300351">"Подеси стандарден метод"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Исчисти стандарден метод"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"Текстот е копиран"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Отфрли ги своите промени?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Подеси мој профил"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Впиши име на лице"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Име на групата"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"Мој локален профил"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"Мој профил на <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Прикажување на сите контакти"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Апликацијата Контакти работи подобро со сметка на Google.\n\n• Пристапете од кој било прелистувач.\n• Направете резервна копија од контактите безбедно."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Чувајте ги вашите контакти безбедни дури и ако го изгубите вашиот телефон: синхронизирајте се со онлајн услуга."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Додај сметка"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Нема да се направи резервна копија на вашиот нов контакт. Додадете сметка што прави резервна копија на контакти онлајн?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Вашиот нов контакт ќе се синхронизира со <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Може да го синхронизирате вашиот нов контакт со една од следниве сметки. Која сакате да ја користите?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Додај нов контакт"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Уреди контакт"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Задржи локално"</string>
+    <string name="add_account" msgid="8201790677994503186">"Додај сметка"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Додај нова сметка"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Извези датотеки од база на податоци"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"додај нов контакт"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Погледни повеќе"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Погледни помалку"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Погледни ги сите"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Неодамнешни"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"За"</string>
+    <string name="send_message" msgid="8938418965550543196">"Испрати порака"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Се создава лична копија..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Вчера"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Утре"</string>
+    <string name="today" msgid="8041090779381781781">"Денес"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Денес во <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Утре во <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Неименуван настан)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Постави"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Организација"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Прекар"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Белешка"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Веб-локација"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Настан"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Врска"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"насоки до локација"</string>
+</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
new file mode 100644
index 0000000..54c8169
--- /dev/null
+++ b/res/values-ml-rIN/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"കോണ്‍ടാക്റ്റുകള്‍"</string>
+    <string name="contactsList" msgid="8661624236494819731">"കോണ്‍‌ടാക്റ്റുകള്‍"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"കോൺടാക്റ്റ്"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"നേരിട്ടുള്ള ഡയൽ"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"നേരിട്ടുള്ള സന്ദേശമയയ്‌ക്കൽ"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"ഒരു കോൺടാക്റ്റ് കുറുക്കുവഴി തിരഞ്ഞെടുക്കുക"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"വിളിക്കാൻ ഒരു നമ്പർ തിരഞ്ഞെടുക്കുക"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"സന്ദേശമയയ്‌ക്കാൻ ഒരു നമ്പർ തിരഞ്ഞെടുക്കുക"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"ഒരു കോൺടാക്റ്റ് തിരഞ്ഞെടുക്കുക"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"പുതിയ കോൺടാക്‌റ്റ് തിരഞ്ഞെടുക്കുക"</string>
+    <string name="starredList" msgid="4817256136413959463">"നക്ഷത്രമിട്ടവ"</string>
+    <string name="frequentList" msgid="7154768136473953056">"പതിവായി കോൺടാക്റ്റുചെയ്യുന്നവർ"</string>
+    <string name="strequentList" msgid="5640192862059373511">"പ്രിയപ്പെട്ടവർ"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"കോൺടാക്റ്റ് വിശദാംശങ്ങൾ"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"കോൺടാക്റ്റ് എഡിറ്റുചെയ്യുക"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"കോൺടാക്റ്റ് സൃഷ്‌ടിക്കുക"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"ഗ്രൂപ്പ് എഡിറ്റുചെയ്യുക"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"ഗ്രൂപ്പ് സൃഷ്ടിക്കുക"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"ആമുഖം"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"അപ്‌ഡേറ്റുകൾ"</string>
+    <string name="searchHint" msgid="8482945356247760701">"കോണ്‍‌ടാക്റ്റുകള്‍ തിരയുക"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"കോൺടാക്റ്റ് കാണുക"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"പ്രിയപ്പെട്ടവയിലേക്ക് ചേർക്കുക"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"പ്രിയപ്പെട്ടവയിൽ നിന്നും നീക്കംചെയ്യുക"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"പ്രിയപ്പെട്ടവയിൽ നിന്നും നീക്കംചെയ്‌തു"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"പ്രിയപ്പെട്ടവയിലേക്ക് ചേർത്തു"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"എഡിറ്റുചെയ്യുക"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"ഇല്ലാതാക്കുക"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ഹോം സ്‌ക്രീനിൽ സ്ഥാപിക്കുക"</string>
+    <string name="menu_call" msgid="3992595586042260618">"കോൺടാക്റ്റിനെ വിളിക്കുക"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"കോൺടാക്റ്റിന് വാചകസന്ദേശമയയ്‌ക്കുക"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"വേർതിരിക്കുക"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"എഡിറ്റുചെയ്യുക"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"ഇല്ലാതാക്കുക"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"കോണ്‍‌ടാക്റ്റ് ചേര്‍‌ക്കുക"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"ഗ്രൂപ്പ് ചേർക്കുക"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"കോൺടാക്റ്റ് വിഭജിക്കണോ?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"ഈ കോൺടാക്റ്റ് ഒന്നിലധികം കോൺടാക്റ്റുകളായി വിഭജിക്കപ്പെടും."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"ചേരുക"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"കോൺടാക്റ്റുകൾ ബന്ധിപ്പിക്കുക"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g> എന്നതുമായി കൂട്ടിച്ചേർക്കേണ്ട കോൺടാക്റ്റ് തിരഞ്ഞെടുക്കുക:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"എല്ലാ കോൺടാക്റ്റുകളും കാണിക്കുക"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"നിര്‍ദ്ദേശിച്ച കോണ്‍ടാക്റ്റുകള്‍"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"എല്ലാ കോൺടാക്റ്റുകളും"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"കൂട്ടിച്ചേർത്ത കോൺടാക്റ്റുകൾ"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"റിംഗ്‌ടോൺ സജ്ജമാക്കുക"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"വോയ്‌സ്‌മെയിലിലേക്കുള്ള എല്ലാ കോളുകളും"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"വായന-മാത്രം അക്കൗണ്ടുകളിൽ നിന്നുള്ള കോൺടാക്റ്റുകൾ നിങ്ങൾക്ക് ഇല്ലാതാക്കാനാകില്ലെങ്കിലും കോൺടാക്റ്ററ്റ് ലിസ്റ്റുകളിൽ നിന്ന് അവ മറയ്‌ക്കാനാകും."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"ഈ കോൺടാക്റ്റിൽ ഒന്നിലധികം അക്കൗണ്ടുകളിൽ നിന്നുള്ള വിവരം അടങ്ങിയിരിക്കുന്നു. വായന-മാത്രം അക്കൗണ്ടുകളിൽ നിന്നുള്ള വിവരം നിങ്ങളുടെ കോൺടാക്റ്റുകളുടെ ലിസ്റ്റിൽ നിന്നും മറയ്‌ക്കുമെങ്കിലും അവ ഇല്ലാതാക്കില്ല."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ഈ കോൺടാക്റ്റ് ഇല്ലാതാക്കുന്നത്, ഒന്നിലധികം അക്കൗണ്ടുകളിൽ നിന്ന് വിവരം ഇല്ലാതാക്കുന്നതിനിടയാക്കും."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"ഈ കോൺടാക്‌റ്റിനെ ഇല്ലാതാക്കും."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"മാറ്റങ്ങള്‍‌ നിരാകരിക്കുക"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"കോൺടാക്റ്റ് നിലവിലില്ല."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"ഹോം സ്‌ക്രീനിൽ കോൺടാക്റ്റ് വിജറ്റ് ചേർത്തു."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"പുതിയ കോൺടാക്റ്റ് സൃഷ്‌ടിക്കുക"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"പുതിയ കോൺടാക്റ്റ് സൃഷ്‌ടിക്കുക"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"ഓര്‍ഗനൈസേഷന്‍"</item>
+    <item msgid="7196592230748086755">"കുറിപ്പ്"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"ടാബ്‌ലെറ്റിൽ ചിത്രങ്ങളൊന്നും ലഭ്യമല്ല."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"ഫോണിൽ ചിത്രങ്ങളൊന്നും ലഭ്യമല്ല."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"കോൺടാക്‌‌റ്റിന്റെ ഫോട്ടോ"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"ഇഷ്‌ടാനുസൃത ലേബൽ പേര്"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"കോളുകൾ നേരിട്ട് വോയ്‌സ്‌മെയിലിലേക്ക് അയയ്‌ക്കുക"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"ഫോട്ടോ നീക്കംചെയ്യുക"</string>
+    <string name="noContacts" msgid="8579310973261953559">"കോൺടാക്റ്റുകൾ ഒന്നുമില്ല."</string>
+    <string name="noGroups" msgid="8614664663561385253">"ഗ്രൂപ്പുകൾ ഒന്നുമില്ല."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"ഗ്രൂപ്പുകൾ സൃഷ്‌ടിക്കാൻ നിങ്ങൾക്ക് ഒരു അക്കൗണ്ട് ആവശ്യമാണ്."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"ഈ ഗ്രൂപ്പിൽ ആരുമില്ല."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"കുറച്ചുപേരെ ചേർക്കാൻ ഗ്രൂപ്പ് എഡിറ്റുചെയ്യുക."</string>
+    <string name="savingContact" msgid="4075751076741924939">"കോൺടാക്റ്റ് സംരക്ഷിക്കുന്നു…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"കോൺടാക്റ്റ് സംരക്ഷിച്ചു."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"കോൺടാക്റ്റ് മാറ്റങ്ങൾ സംരക്ഷിക്കാനായില്ല."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"ഗ്രൂപ്പ് സംരക്ഷിച്ചു."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"ഗ്രൂപ്പ് മാറ്റങ്ങൾ സംരക്ഷിക്കാനായില്ല."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"ഫോൺ നമ്പറുള്ള ഒരു കോൺടാക്റ്റ്"</item>
+    <item quantity="other" msgid="3299954047880968205">"ഫോൺ നമ്പറുള്ള <xliff:g id="COUNT">%d</xliff:g> കോൺടാക്റ്റുകൾ"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"ഫോൺ നമ്പറുകളോട് കൂടിയ കോൺടാക്റ്റുകളൊന്നുമില്ല"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"ഒരു കോൺടാക്റ്റ് കണ്ടെത്തി"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> കോൺടാക്റ്റുകൾ കണ്ടെത്തി"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"കോൺടാക്റ്റുകളൊന്നുമില്ല"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"ഒരു കോൺടാക്റ്റ് കണ്ടെത്തി"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> കോൺടാക്റ്റുകൾ കണ്ടെത്തി"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"എല്ലാ കോൺടാക്റ്റുകളും"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"പ്രിയപ്പെട്ടവ"</string>
+    <string name="callBack" msgid="5498224409038809224">"തിരിച്ചുവിളിക്കുക"</string>
+    <string name="callAgain" msgid="3197312117049874778">"വീണ്ടും വിളിക്കുക"</string>
+    <string name="returnCall" msgid="8171961914203617813">"കോളിലേക്ക് മടങ്ങുക"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"കോൺടാക്റ്റുകളിലേക്ക് \"<xliff:g id="EMAIL">%s</xliff:g>\" ചേർക്കണോ?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"കോൺടാക്‌‌റ്റിന്റെ ഫോട്ടോ"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"പ്ലസ്"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> / <xliff:g id="TOTAL_NUMBER">%s</xliff:g> കോൺടാക്റ്റുകൾ"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"നിങ്ങളുടെ കോൺടാക്റ്റുകളുടെ പേരുകൾ"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"ഈ പ്രവർത്തനം കൈകാര്യം ചെയ്യാൻ അപ്ലിക്കേഷനുകളൊന്നും കണ്ടെത്തിയില്ല."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"മുമ്പത്തെ സ്‌ക്രീനിലേക്ക് മടങ്ങാൻ ക്ലിക്കുചെയ്യുക"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"ഫോണ്‍ നമ്പര്‍ ചേര്‍ക്കുക"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"ഇമെയില്‍‌ ചേര്‍‌ക്കുക"</string>
+    <string name="missing_app" msgid="1466111003546611387">"ഈ പ്രവർത്തനം കൈകാര്യം ചെയ്യാൻ അപ്ലിക്കേഷനുകളൊന്നും കണ്ടെത്തിയില്ല."</string>
+    <string name="menu_share" msgid="943789700636542260">"പങ്കിടുക"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"കോൺടാക്‌റ്റുകളിൽ ചേർക്കുക"</string>
+    <string name="share_via" msgid="563121028023030093">"ഇതുവഴി കോൺടാക്റ്റുകൾ പങ്കിടുക"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"അക്കൗണ്ടിന് കീഴിൽ ഗ്രൂപ്പ് സൃഷ്‌ടിക്കുക"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"വോയ്സ് ചാറ്റ്"</string>
+    <string name="video_chat" msgid="1872255818640336072">"വീഡിയോ ചാറ്റ്"</string>
+    <string name="connections" msgid="8098440723172028350">"കണക്ഷനുകൾ"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"കണക്ഷൻ ചേർക്കുക"</string>
+    <string name="recent" msgid="2659189233141493004">"പുതിയത്"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"പുതിയ അപ്‌ഡേറ്റുകൾ"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> കോൺടാക്റ്റ്"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"ഈ ഫോട്ടോ ഉപയോഗിക്കുക"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"ഈ അപ്ലിക്കേഷനിൽ നിന്നും എഡിറ്റുചെയ്യാനാകില്ല."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"ഈ ഉപകരണത്തിൽ എഡിറ്റുചെയ്യാനാകില്ല."</string>
+    <string name="take_photo" msgid="7496128293167402354">"ഫോട്ടോ എടുക്കുക"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"പുതിയ ഫോട്ടോ എടുക്കുക"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"ഫോട്ടോ തിരഞ്ഞെടുക്കുക"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"പുതിയ ഫോട്ടോ തിരഞ്ഞെടുക്കുക"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"ഭാഷാമാറ്റം പ്രതിഫലിക്കുന്നതിനായി കോൺടാക്റ്റ് ലിസ്റ്റ് അപ്‌ഡേറ്റുചെയ്യുന്നു."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"കോൺടാക്റ്റ് ലിസ്റ്റ് അപ്‌ഡേറ്റുചെയ്യുന്നു."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"കോൺടാക്റ്റുകൾ അപ്‌ഗ്രേഡുചെയ്യുന്ന പ്രോസസ്സിലാണ്. \n\nഅപ്‌ഗ്രേഡ് പ്രോസസ്സിന് ഏകദേശം <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB ആന്തരിക സംഭരണം ആവശ്യമാണ്.\n\nഇനിപ്പറയുന്ന ഓപ്‌ഷനുകളിലൊന്ന് തിരഞ്ഞെടുക്കുക:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"ചില അപ്ലിക്കേഷനുകൾ അൺഇൻസ്റ്റാളുചെയ്യുക"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"അപ്‌ഗ്രേഡുചെയ്യാൻ വീണ്ടും ശ്രമിക്കുക"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"തിരയുന്നു…"</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"തിരഞ്ഞെടുത്തവ കാണിക്കുക"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"എല്ലാം കാണിക്കുക"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"എല്ലാം തിരഞ്ഞെടുക്കുക"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"തിരഞ്ഞെടുത്തത് എല്ലാം മാറ്റുക"</string>
+    <string name="add_field" msgid="2384260056674995230">"മറ്റൊരു ഫീൽഡ് ചേർക്കുക"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"പുതിയത് ചേർക്കുക"</string>
+    <string name="add_organization" msgid="7311893231158291197">"ഓർഗനൈസേഷൻ ചേർക്കുക"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"തീയതി"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"ഗ്രൂപ്പിന്റെ പേര്"</string>
+    <string name="description_star" msgid="2605854427360036550">"പ്രിയപ്പെട്ടതാക്കുക"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"കോൺടാക്റ്റ് എഡിറ്റുചെയ്യുക"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"ലയിപ്പിക്കാത്തവ"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> ഉറവിടങ്ങളിൽ നിന്നും ലയിപ്പിച്ചവ"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"തിരഞ്ഞെടുത്ത കോൺടാക്റ്റുമായി നിലവിലെ കോൺടാക്റ്റ് കൂട്ടിച്ചേർക്കണോ?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"തിരഞ്ഞെടുത്ത കോൺടാക്റ്റ് എഡിറ്റുചെയ്യുന്നതിലേക്ക് മാറണോ? ഇതുവരെ നിങ്ങൾ നൽകിയ വിവരങ്ങൾ പകർത്തപ്പെടും."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"എന്റെ കോൺടാക്റ്റുകളിലേക്ക് പകർത്തുക"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"എന്റെ കോൺടാക്റ്റുകളിൽ ചേർക്കുക"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"ഡയറക്‌ടറി <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"ഇഷ്‌ടാനുസൃതം"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"ക്രമീകരണങ്ങൾ"</string>
+    <string name="menu_settings" msgid="377929915873428211">"ക്രമീകരണങ്ങൾ"</string>
+    <string name="menu_help" msgid="5123887102216637725">"സഹായം"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"ഡിസ്‌പ്ലേ ഓപ്‌ഷനുകൾ"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"ഫോൺ നമ്പർ"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"കോൺടാക്റ്റുകളിൽ ചേർക്കുക"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"കോണ്‍‌ടാക്റ്റിലേക്ക് ചേര്‍ക്കുക"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"അടയ്‌ക്കുക"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"ഒരു വർഷം നൽകുക"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"കോൺടാക്റ്റ്"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"ലോഡുചെയ്യുന്നു..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"ഒരു പുതിയ കോൺടാക്റ്റ് സൃഷ്‌ടിക്കുക"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"ഒരു അക്കൗണ്ടിൽ സൈൻ ഇൻ ചെയ്യുക"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"കോൺടാക്റ്റുകൾ ഇമ്പോർട്ടുചെയ്യുക"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"പുതിയ ഗ്രൂപ്പ് സൃഷ്‌ടിക്കുക"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"പുതിയ ഗ്രൂപ്പ് സൃഷ്‌ടിക്കുക"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"ഒരു ഗ്രൂപ്പ്"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> ഗ്രൂപ്പുകൾ"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" എന്ന ഗ്രൂപ്പ് ഇല്ലാതാക്കണോ? (കോൺടാക്റ്റുകൾ സ്വയം ഇല്ലാതാകില്ല.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> എന്നതിൽ നിന്നുള്ള <xliff:g id="COUNT_0">%1$d</xliff:g> ആൾ"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> എന്നതിൽ നിന്നുള്ള <xliff:g id="COUNT_0">%1$d</xliff:g> പേർ"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> ആൾ"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> പേർ"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"മറ്റൊന്നുമായി ബന്ധിപ്പിക്കുന്നതിന് മുമ്പ് കോൺടാക്റ്റിന്റെ പേര് ടൈപ്പുചെയ്യുക."</string>
+    <string name="copy_text" msgid="3257145021583508761">"ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തുക"</string>
+    <string name="set_default" msgid="4417505153468300351">"സ്ഥിരമായി സജ്ജമാക്കുക"</string>
+    <string name="clear_default" msgid="7193185801596678067">"സ്ഥിരമായത് മായ്‌ക്കുക"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"വാചകം പകർത്തി"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"നിങ്ങളുടെ മാറ്റങ്ങൾ നിരസിക്കണോ?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"എന്റെ പ്രൊഫൈൽ സജ്ജീകരിക്കുക"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"വ്യക്തിയുടെ പേര് ടൈപ്പുചെയ്യുക"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"ഗ്രൂപ്പിന്റെ പേര്"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"എന്റെ പ്രാദേശിക പ്രൊഫൈൽ"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"എന്റെ <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> പ്രൊഫൈൽ"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"എല്ലാ കോൺടാക്റ്റുകളും പ്രദർശിപ്പിക്കുന്നു"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"ഒരു Google അക്കൗണ്ടുള്ള കോൺടാക്‌റ്റുകൾക്ക് മികച്ച രീതിയിൽ പ്രവർത്തിക്കാനാകും.\n\n• ഏത് ബ്രൗസറിൽ നിന്നും ആക്‌സസ്സുചെയ്യുക.\n• നിങ്ങളുടെ കോൺടാക്റ്റുകൾ സുരക്ഷിതമായി ബാക്കപ്പുചെയ്യുക."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"നിങ്ങൾക്ക് ഫോൺ നഷ്‌ടമാകുകയാണെങ്കിൽപ്പോലും നിങ്ങളുടെ കോൺടാക്റ്റുകൾ സുരക്ഷിതമായി സൂക്ഷിക്കുക: ഒരു ഓൺലൈൻ സേവനവുമായി സമന്വയിപ്പിക്കുക."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"ഒരു അക്കൗണ്ട് ചേർക്കുക"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"നിങ്ങളുടെ പുതിയ കോൺടാക്റ്റ് ബാക്കപ്പുചെയ്യില്ല. കോൺടാക്റ്റുകളെ ഓൺലൈനിൽ ബാക്കപ്പുചെയ്യുന്ന ഒരു അക്കൗണ്ട് ചേർക്കണോ?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"നിങ്ങളുടെ പുതിയ കോൺടാക്റ്റ് <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> എന്നതിൽ സമന്വയിപ്പിക്കും."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"നിങ്ങൾക്ക് പുതിയ കോൺടാക്റ്റ് ഇനിപ്പറയുന്ന അക്കൗണ്ടുകളിൽ ഒന്നുമായി സമന്വയിപ്പിക്കാം. ഏതാണ് ഉപയോഗിക്കേണ്ടത്?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"പുതിയ കോൺടാക്‌റ്റ് ചേർക്കുക"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"കോൺടാക്റ്റ് എഡിറ്റുചെയ്യുക"</string>
+    <string name="keep_local" msgid="1258761699192993322">"പ്രാദേശികമായി സൂക്ഷിക്കുക"</string>
+    <string name="add_account" msgid="8201790677994503186">"അക്കൗണ്ട് ചേർക്കുക"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"പുതിയ അക്കൗണ്ട് ചേർക്കുക"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"ഡാറ്റാബേസ് ഫയലുകൾ എക്‌സ്‌പോർട്ടുചെയ്യുക"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"പുതിയ കോൺടാക്‌റ്റ് ചേർക്കുക"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"കൂടുതല്‍ കാണുക"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"കുറച്ച് കാണുക"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"എല്ലാം കാണുക"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"പുതിയത്"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"ആമുഖം"</string>
+    <string name="send_message" msgid="8938418965550543196">"സന്ദേശം അയയ്ക്കുക"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"ഒരു വ്യക്തിഗത പകർപ്പ് സൃഷ്‌ടിക്കുന്നു…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"ഇന്നലെ"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"നാളെ"</string>
+    <string name="today" msgid="8041090779381781781">"ഇന്ന്"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"ഇന്ന് <xliff:g id="TIME_INTERVAL">%s</xliff:g> മണിയ്‌ക്ക്"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"നാളെ <xliff:g id="TIME_INTERVAL">%s</xliff:g> മണിയ്‌ക്ക്"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(ശീർഷകമില്ലാത്ത ഇവന്റ്)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"സജ്ജമാക്കുക"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"ഓര്‍ഗനൈസേഷന്‍"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"വിളിപ്പേര്"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"കുറിപ്പ്"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"വെബ്‌സൈറ്റ്"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"ഇവന്‍റ്"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"ബന്ധം"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"ലൊക്കേഷനിലേക്കുള്ള വഴികൾ"</string>
+</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
new file mode 100644
index 0000000..efafe59
--- /dev/null
+++ b/res/values-mn-rMN/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"Харилцагчид"</string>
+    <string name="contactsList" msgid="8661624236494819731">"Харилцагчид"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"Харилцагч"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"Шууд залгах"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"Шууд зурвас"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Харилцагчийн товчилборыг сонгоно уу"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Залгах дугаарыг сонгоно уу"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Зурвас илгээх дугаарыг сонгох"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Харилцагч сонгоно уу"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Шинэ харилцагч сонгох"</string>
+    <string name="starredList" msgid="4817256136413959463">"Одтой"</string>
+    <string name="frequentList" msgid="7154768136473953056">"Байнга"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Дуртай"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"Харилцагчийн мэдээлэл"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"Харилцагч засварлах"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"Харилцагч үүсгэх"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"Бүлгэм засварлах"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"Бүлгэм үүсгэх"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"Тухай"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"Шинэчлэлтүүд"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Харилцагчдаас хайх"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"Харилцагчийг харах"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Таалагдсан руу нэмэх"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Дуртайгаас хасах"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Дуртайгаас хасах"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Дуртайд нэмэх"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Засах"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"Устгах"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Үндсэн дэлгэц дээр байршуулах"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Харилцагч руу залгах"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Харилцагч руу зурвас илгээх"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Салгах"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Засах"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"Устгах"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Харилцагч нэмэх"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Бүлгэм нэмэх"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Харилцагчийг хуваах уу?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Энэ харилцагч олон харилцагчид хуваагдах болно."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Холбох"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Харилцагчдыг холбох"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g>-тай холбохыг хүсэж буй харилцагчийг сонгоно уу:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Бүх харилцагчдыг харуулах"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Санал болгосон харилцагчид"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Бүх харилцагчид"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Харилцагчид холбогдсон"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Хонхны ая суулгах"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Бүх дуудлагыг дуут шуудан руу"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Та зөвхөн-унших акаунтаас харилцагчдыг устгаж чадахгүй, харин харилцагчдын жагсаалтаасаас нууцлаж болно."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Энэ харилцагчид олон акаунтын мэдээлэл агуулагдаж байна. Зөвхөн-унших акаунтуудын мэдээллийг харилцагчийн жагсаалтаас устгахгүйгээр нууцлах болно."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Энэ харилцагчийг устгаснаар олон акаунтаас мэдээллийг устгах болно."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"Энэ харилцагч устгагдах болно."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Өөрчлөлтүүдийг цуцлах"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"Харилцагч байхгүй байна."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Харилцагчийн виджетийг Үндсэн дэлгэцэнд нэмсэн."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Шинэ харилцагч үүсгэх"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Шинэ харилцагч үүсгэх"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"Байгууллага"</item>
+    <item msgid="7196592230748086755">"Тэмдэглэл"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Таблетэнд зураг байхгүй байна."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Утсанд зураг байхгүй байна."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Харилцагчийн зураг"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Захиалгат шошгын нэр"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Дуут шуудан руу шууд дуудлага хийх"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"Зургийг арилгах"</string>
+    <string name="noContacts" msgid="8579310973261953559">"Харилцагч байхгүй."</string>
+    <string name="noGroups" msgid="8614664663561385253">"Бүлгэм байхгүй байна."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"Бүлгэм үүсгэхийн тулд танд акаунт хэрэгтэй."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"Энэ бүлгэмд хүн алга."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"Нэмэхийн тулд бүлгэмд өөрчлөлт оруулна уу."</string>
+    <string name="savingContact" msgid="4075751076741924939">"Харилцагчийг хадгалж байна…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Харилцагчийг хадгалсан."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Харилцагчийн өөрчлөлтүүдийг хадгалж чадсангүй."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"Бүлгэм хадгалагдлаа."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Бүлгэмийн өөрчлөлтүүдийг хадгалж чадсангүй."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"Утасны дугаартай 1 харилцагч"</item>
+    <item quantity="other" msgid="3299954047880968205">"Утасны дугаартай <xliff:g id="COUNT">%d</xliff:g> харилцагч"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Утасны дугаартай харилцагч байхгүй"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 олдсон"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> олдсон"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Харилцагч байхгүй"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 олдсон"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> олдсон"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Бүх харилцагчид"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Дуртай"</string>
+    <string name="callBack" msgid="5498224409038809224">"Буцааж залгах"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Дахин залгана уу"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Буцааж залгах"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\"-г харилцагчдад нэмэх үү?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"харилцагчийн зураг"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"нэмэх"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"нийт <xliff:g id="TOTAL_NUMBER">%s</xliff:g> харилцагчдын <xliff:g id="CURRENT_NUMBER">%s</xliff:g>"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"Таны харилцагчдын нэрс"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Тус үйлдлийг гүйцэтгэх апп олдсонгүй."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Өмнөх дэлгэц рүү буцахын тулд товших"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Утасны дугаар нэмэх"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Имэйл нэмэх"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Тус үйлдлийг гүйцэтгэх апп олдсонгүй."</string>
+    <string name="menu_share" msgid="943789700636542260">"Хуваалцах"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Харилцагчдад нэмэх"</string>
+    <string name="share_via" msgid="563121028023030093">"Харилцагчийг дараахаар хуваалцах"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"Акаунт дотор бүлгэм үүсгэх"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"Дуут чат"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Видео чат"</string>
+    <string name="connections" msgid="8098440723172028350">"Холболтууд"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Холболт нэмэх"</string>
+    <string name="recent" msgid="2659189233141493004">"Саяхны"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"Саяхны шинэчлэлтүүд"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> харилцагч"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"Энэ зургийг ашиглах"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"Тус апп-с засварлах боломжгүй."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Энэ төхөөрөмж дээр засах боломжгүй."</string>
+    <string name="take_photo" msgid="7496128293167402354">"Зураг авах"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"Шинэ зураг авах"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Зураг сонгох"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Шинэ зураг сонгох"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Хэлний өөрчлөлтийг тусгахын тулд харилцагчдын жагсаалтыг шинэчилж байна."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"Харилцагчдын жагсаалтыг шинэчилж байна."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Харилцагчдын жагсаалтыг сайжруулж байна. \n\nСайжруулах явцад ойролцоогоор <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB хэмжээтэй дотоод сан шаардагдана.\n\nДараах сонголтуудаас нэгийг нь сонгоно уу:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Зарим аппликешнүүдийг устгана уу"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Сайжруулахыг дахин эхлүүлэх"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"Хайж байна..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"Сонгоснуудыг харуулах"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"Бүгдийг харуулах"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Бүгдийг сонгох"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"Бүх сонголтыг цуцлах"</string>
+    <string name="add_field" msgid="2384260056674995230">"Өөр талбар нэмэх"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Шинийг нэмэх"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Байгууллага нэмэх"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Огноо"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Бүлгэмийн нэр"</string>
+    <string name="description_star" msgid="2605854427360036550">"дуртай"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Харилцагчийг засварлах"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"нэгтгэгдээгүй"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> эх үүсвэрээс нийлүүлсэн"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Энэ харилцагчийг сонгосон харилцагчтай холбох уу?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Сонгосон харилцагчийг засварлах руу шилжих үү? Таны оруулсан мэдээллүүд хуулагдах болно."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"Миний Харилцагчид руу хуулах"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"Миний харилцагчдад нэмэх"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"Директор <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"Тохируулсан"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"Тохиргоо"</string>
+    <string name="menu_settings" msgid="377929915873428211">"Тохиргоо"</string>
+    <string name="menu_help" msgid="5123887102216637725">"Тусламж"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"Харуулах сонголтууд"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"Утасны дугаар"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Харилцагчдад нэмэх"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Харилцагчид нэмэх"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"Хаах"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"Жилийг оруулах"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"Харилцагч"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"Ачаалж байна..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Шинэ акаунт үүсгэх"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Акаунт руу нэвтрэн орох"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Харилцагчид импорт хийх"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"Шинэ бүлгэм үүсгэх"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"Шинэ бүлгэм үүсгэх"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 бүлгэм"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> бүлгэм"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" бүлгэмийг устгах уу? (Доторх харилцагчид нь устахгүй.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>-с <xliff:g id="COUNT_0">%1$d</xliff:g> хүн"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>-с <xliff:g id="COUNT_0">%1$d</xliff:g> хүн"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> хүн"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> хүн"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Өөр харилцагчтай холбохын өмнө харилцагчийн нэрийг оруулна уу."</string>
+    <string name="copy_text" msgid="3257145021583508761">"Түр санах ойд хуулах"</string>
+    <string name="set_default" msgid="4417505153468300351">"Үндсэн болгох"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Үндсэнээс хасах"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"Текст хуулагдав"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Өөрчлөлтүүдээ цуцлах уу?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Миний профайлийн тохиргоо"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Хүний нэрийг бичнэ үү"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Бүлгэмийн Нэр"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"Миний дотоод профайл"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"Миний <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> профайл"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Бүх харилцагчийг харуулж байна"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Харилцагчид нь Google акаунттай сайн тохирдог.\n\n• Дурын веб хөтчөөс хандах боломжтой.\n• Өөрийн харилцагчдыг найдвартай нөөшлөнө."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Утсаа гээсэн ч харилцагчдаа найдвартай хадгалаарай: онлайн үйлчилгээгээр синк хийгээрэй."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Акаунт нэмэх"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Таны шинэ харилцагч нөөцлөгдөхгүй. Харилцагчдыг онлайнаар нөөцөлдөг акаунтыг нэмэх үү?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Таны шинэ харилцагч <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>-тай синк хийгдэх болно."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Та өөрийн шинэ харилцагчийг дараах акаунтуудын нэгтэй нь синк хийж болно. Алийг нь ашиглах вэ?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Шинэ харилцагч нэмэх"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Харилцагчийг засварлах"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Төхөөрөмжид хадгалах"</string>
+    <string name="add_account" msgid="8201790677994503186">"Акаунт нэмэх"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Шинэ акаунт нэмэх"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Өгөгдлийн сангийн файлуудыг экспорт хийх"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"шинэ харилцагч нэмэх"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Дэлгэрэнгүй үзэх"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Цөөнийг харах"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Бүгдийг харах"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Саяхны"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Тухай"</string>
+    <string name="send_message" msgid="8938418965550543196">"Зурвас илгээх"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Хувийн хуулбар үүсгэж байна..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Өчигдөр"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Маргааш"</string>
+    <string name="today" msgid="8041090779381781781">"Өнөөдөр"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Өнөөдөр <xliff:g id="TIME_INTERVAL">%s</xliff:g>-д"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Маргааш <xliff:g id="TIME_INTERVAL">%s</xliff:g>-д"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Гарчиггүй үйл явдал)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Тохируулах"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Байгууллага"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Хоч"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Тэмдэглэл"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Вебсайт"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Үйл явдал"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Хамаарал"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"байршил руу очих чиглэл"</string>
+</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
new file mode 100644
index 0000000..2811e45
--- /dev/null
+++ b/res/values-mr-rIN/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"संपर्क"</string>
+    <string name="contactsList" msgid="8661624236494819731">"संपर्क"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"संपर्क"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"थेट डायल करा"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"थेट संदेश"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"संपर्क शॉर्टकट निवडा"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"कॉल करण्यासाठी एक नंबर निवडा"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"संदेश करण्यासाठी नंबर निवडा"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"संपर्क निवडा"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"नवीन संपर्क निवडा"</string>
+    <string name="starredList" msgid="4817256136413959463">"तारांकित"</string>
+    <string name="frequentList" msgid="7154768136473953056">"वारंवार"</string>
+    <string name="strequentList" msgid="5640192862059373511">"आवडते"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"संपर्क तपशील"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"संपर्क संपादित करा"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"संपर्क तयार करा"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"गट संपादित करा"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"गट तयार करा"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"विषयी"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"अद्यतने"</string>
+    <string name="searchHint" msgid="8482945356247760701">"संपर्क शोधा"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"संपर्क पहा"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"आवडीमध्ये जोडा"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"आवडी मधून काढा"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"आवडींमधून काढले"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"आवडींमध्ये जोडले"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"संपादित करा"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"हटवा"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"मुख्‍यपृष्‍ठ स्क्रीन वर ठेवा"</string>
+    <string name="menu_call" msgid="3992595586042260618">"संपर्कास कॉल करा"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"संपर्कास मजकूर पाठवा"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"वेगळे"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"संपादित करा"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"हटवा"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"संपर्क जोडा"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"गट जोडा"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"संपर्क विभाजित करायचा?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"हा संपर्क एकाधिक संपर्कांमध्‍ये विभाजित केला जाईल."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"सामील व्हा"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"संपर्कांमध्‍ये सामील व्हा"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"आपण <xliff:g id="NAME">%s</xliff:g> सह सामील होऊ इच्‍छिता तो संपर्क निवडा:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"सर्व संपर्क दर्शवा"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"सूचित संपर्क"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"सर्व संपर्क"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"संपर्क सामील झाले"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"रिंगटोन सेट करा"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"व्हॉइसमेलवरील सर्व कॉल"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"आपण केवळ-वाचनीय खात्‍यांमधून संपर्क हटवू शकत नाही परंतु आपण ते आपल्‍या संपर्क सूचींमध्‍ये लपवू शकता."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"या संपर्कात एकाधिक खात्‍यांमधील माहिती आहे. केवळ-वाचनीय खात्यांमधील माहिती आपल्‍या संपर्क सूचींमध्‍ये लपविली जाईल, हटविली जाणार नाही."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"हा संपर्क हटविल्याने एकाधिक खात्‍यांमधून माहिती हटवली जाईल."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"हा संपर्क हटविला जाईल."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"बदल टाकून द्या"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"संपर्क अस्तित्वात नाही."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"मुख्‍यपृष्‍ठ स्‍क्रीनवर संपर्क विजेट जोडले."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"नवीन संपर्क तयार करा"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"नवीन संपर्क तयार करा"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"संस्था"</item>
+    <item msgid="7196592230748086755">"टीप"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"टॅब्‍लेटवर कोणतीही चित्रे उपलब्ध नाहीत."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"फोनवर कोणतीही चित्रे उपलब्ध नाहीत."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"संपर्क फोटो"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"लेबल नाव सानुकूलित करा"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"कॉल थेट व्हॉइसमेलवर पाठवा"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"फोटो काढा"</string>
+    <string name="noContacts" msgid="8579310973261953559">"कोणतेही संपर्क नाहीत."</string>
+    <string name="noGroups" msgid="8614664663561385253">"कोणतेही गट नाहीत."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"गट तयार करण्‍यासाठी आपल्‍याला खात्‍याची आवश्‍यकता अाहे."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"या गटात कोणतेही लोक नाहीत."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"काही जोडण्‍यासाठी, गट संपादित करा."</string>
+    <string name="savingContact" msgid="4075751076741924939">"संपर्क जतन करीत आहे..."</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"संपर्क जतन केला."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"संपर्क बदल जतन करू शकलो नाही."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"गट जतन केला."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"गट बदल जतन करू शकलो नाही."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"फोन नंबरसह 1 संपर्क"</item>
+    <item quantity="other" msgid="3299954047880968205">"फोन नंबरसह <xliff:g id="COUNT">%d</xliff:g> संपर्क"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"फोन नंबरसह कोणतेही संपर्क नाहीत"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 आढळला"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> आढळले"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"कोणतेही संपर्क नाहीत"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 आढळला"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> आढळले"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"सर्व संपर्क"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"मनपसंत"</string>
+    <string name="callBack" msgid="5498224409038809224">"पुन्हा कॉल करा"</string>
+    <string name="callAgain" msgid="3197312117049874778">"पुन्हा कॉल करा"</string>
+    <string name="returnCall" msgid="8171961914203617813">"उलट कॉल करा"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"संपर्कांमध्ये \"<xliff:g id="EMAIL">%s</xliff:g>\" जोडायचे?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"संपर्क फोटो"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"अधिक"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="TOTAL_NUMBER">%s</xliff:g> पैकी <xliff:g id="CURRENT_NUMBER">%s</xliff:g> संपर्क"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"आपल्या संपर्कांची नावे"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"ही क्रिया हाताळण्यासाठी कोणताही अ‍ॅप आढळला नाही."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"पूर्वीच्या स्क्रीनवर परत येण्यासाठी क्लिक करा"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"फोन नंबर जोडा"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"ईमेल जोडा"</string>
+    <string name="missing_app" msgid="1466111003546611387">"ही क्रिया हाताळण्यासाठी कोणताही अ‍ॅप आढळला नाही."</string>
+    <string name="menu_share" msgid="943789700636542260">"सामायिक करा"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"संपर्कांमध्ये जोडा"</string>
+    <string name="share_via" msgid="563121028023030093">"द्वारे संपर्क सामायिक करा"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"खात्याअंतर्गत गट तयार करा"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"व्हॉइस चॅट"</string>
+    <string name="video_chat" msgid="1872255818640336072">"व्हिडिओ चॅट"</string>
+    <string name="connections" msgid="8098440723172028350">"कनेक्शन"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"कनेक्शन जोडा"</string>
+    <string name="recent" msgid="2659189233141493004">"अलीकडील"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"अलीकडील अद्यतने"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> संपर्क"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"हा फोटो वापरा"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"या अ‍ॅप वरून संपादन करण्‍यायोग्‍य नाही."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"या डिव्हाइसवर संपादन करण्‍यायोग्‍य नाही."</string>
+    <string name="take_photo" msgid="7496128293167402354">"फोटो घ्‍या"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"नवीन फोटो घ्या"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"फोटो निवडा"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"नवीन फोटो निवडा"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"भाषेचा बदल प्रतिबिंबित करण्यासाठी संपर्क सूची सुधारित केली जात आहे."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"संपर्क सूची अद्यतनित केली जात आहे."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"संपर्क श्रेणीसुधारित होण्‍याच्‍या प्रक्रियेत आहेत. \n\nश्रेणीसुधारित प्रक्रियेस अंदाजे <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB अंतर्गत संचयन आवश्‍यक असते. \n\nखालील पर्यायांपैकी एक निवडा:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"काही अनुप्रयोग विस्थापित करा"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"श्रेणीसुधारित करण्‍याचा पुन्‍हा प्रयत्‍न करा"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"शोधत आहे..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"निवडलेले दर्शवा"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"सर्व दर्शवा"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"सर्व निवडा"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"सर्व निवड रद्द करा"</string>
+    <string name="add_field" msgid="2384260056674995230">"दुसरे फील्ड जोडा"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"नवीन जोडा"</string>
+    <string name="add_organization" msgid="7311893231158291197">"संस्‍था जोडा"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"तारीख"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"गट नाव"</string>
+    <string name="description_star" msgid="2605854427360036550">"आवडते"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"संपर्क संपादित करा"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"विलीन केले नाही"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> स्‍त्रोतांमधून विलीन केले"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"निवडलेल्‍या संपर्कासह वर्तमान संपर्कामध्‍ये सामील व्‍हायचे?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"निवडलेले संपर्क संपादित करण्‍यावर स्‍विच करायचे? आपण आत्तापर्यंत प्रविष्‍ट केलेली माहिती कॉपी केली जाईल."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"माझे संपर्क वर कॉपी करा"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"माझे संपर्क मध्ये जोडा"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"निर्देशिका <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"सानुकूल"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"सेटिंग्ज"</string>
+    <string name="menu_settings" msgid="377929915873428211">"सेटिंग्ज"</string>
+    <string name="menu_help" msgid="5123887102216637725">"मदत"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"पर्याय प्रदर्शित करा"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"फोन नंबर"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"संपर्कांमध्ये जोडा"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"संपर्कामध्ये जोडा"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"बंद करा"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"वर्ष प्रदान करा"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"संपर्क"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"लोड करीत आहे..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"नवीन संपर्क तयार करा"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"खात्यामध्ये साइन इन करा"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"संपर्क आयात करा"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"नवीन गट तयार करा"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"नवीन गट तयार करा"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 गट"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> गट"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" गट हटवायचा? (संपर्क आपणहून हटविले जाणार नाहीत.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> प्रकारामधील <xliff:g id="COUNT_0">%1$d</xliff:g> व्‍यक्ती"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> मधील <xliff:g id="COUNT_0">%1$d</xliff:g> लोक"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> व्‍यक्‍ती"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> लोक"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"दुसर्‍यासह सामील होण्‍यापूर्वी संपर्क नाव टाईप करा."</string>
+    <string name="copy_text" msgid="3257145021583508761">"क्लिपबोर्डवर कॉपी करा"</string>
+    <string name="set_default" msgid="4417505153468300351">"डीफॉल्ट म्हणून सेट करा"</string>
+    <string name="clear_default" msgid="7193185801596678067">"डीफॉल्ट साफ करा"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"मजकूर कॉपी केला"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"आपले बदल टाकून द्यायचे?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"माझे प्रोफाईल सेट करा"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"व्‍यक्तीचे नाव टाईप करा"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"गटाचे नाव"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"माझे स्थानिक प्रोफाइल"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"माझे <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> प्रोफाईल"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"सर्व संपर्क प्रदर्शित करीत आहे"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"संपर्क Google खात्‍यासह अधिक चांगले कार्य करतात.\n\n• कोणत्‍याही वेब ब्राउझर वरून प्रवेश करा.\n• आपल्‍या संपर्कांचा सुरक्षितपणे बॅक अप घ्‍या."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"आपण आपला फोन गमावला तरीही आपले संपर्क सुरक्षित ठेवा: ऑनलाइन सेवेसह संकालित करा."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"खाते जोडा"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"आपल्‍या नवीन संपर्काचा बॅकअप घेतला जाणार नाही. संपर्कांचे ऑनलाइन बॅकअप घेणारे खाते जोडायचे?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"आपला नवीन संपर्क <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> सह संकालित केला जाईल."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"आपण आपला नवीन संपर्क खालीलपैकी एका खात्‍यासह संकालित करू शकता. आपण कोणते वापरू इच्‍छिता?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"नवीन संपर्क जोडा"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"संपर्क संपादित करा"</string>
+    <string name="keep_local" msgid="1258761699192993322">"स्थानिक ठेवा"</string>
+    <string name="add_account" msgid="8201790677994503186">"खाते जोडा"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"नवीन खाते जोडा"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"डेटाबेस फाईल निर्यात करा"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"नवीन संपर्क जोडा"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"अधिक पहा"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"कमी पहा"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"सर्व पहा"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"अलीकडील"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"विषयी"</string>
+    <string name="send_message" msgid="8938418965550543196">"संदेश पाठवा"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"वैयक्तिक प्रत तयार करीत आहे..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"काल"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"उद्या"</string>
+    <string name="today" msgid="8041090779381781781">"आज"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"आज <xliff:g id="TIME_INTERVAL">%s</xliff:g> वाजता"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"उद्या <xliff:g id="TIME_INTERVAL">%s</xliff:g> वाजता"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(अशीर्षकांकित इव्‍हेंट)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"सेट करा"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"संस्था"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"टोपणनाव"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"टीप"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"वेबसाइट"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"इव्‍हेंट"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"संबंध"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"स्थानाचे दिशानिर्देश"</string>
+</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms-rMY/strings.xml
similarity index 82%
rename from res/values-ms/strings.xml
rename to res/values-ms-rMY/strings.xml
index 953b0c7..d46abfa 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Orang"</string>
+    <string name="people" msgid="1190841469952343354">"Kenalan"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kenalan"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kenalan"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Dail terus"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Pilih nombor untuk memanggil"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Pilih nombor untuk menghantar mesej"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Pilih kenalan"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Pilih kenalan baharu"</string>
     <string name="starredList" msgid="4817256136413959463">"Dibintangkan"</string>
     <string name="frequentList" msgid="7154768136473953056">"Kerap"</string>
     <string name="strequentList" msgid="5640192862059373511">"Kegemaran"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Butiran kenalan"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Papar kenalan"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Edit kenalan"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Wujudkan kenalan"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Edit kumpulan"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Papar kenalan"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Tambah ke kegemaran"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Alih keluar daripada kegemaran"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Dialih keluar daripada kegemaran"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Ditambah ke kegemaran"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Edit"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Padam"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Letakkan pada skrin Utama"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Kenalan ini mengandungi maklumat daripada berbilang akaun. Maklumat daripada akaun baca sahaja akan disembunyikan dalam senarai kenalan anda, dan bukannya dipadamkan."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Pemadaman kenalan ini akan turut memadamkan maklumat daripada berbilang akaun."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Kenalan ini akan dipadamkan."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Buang"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Buang perubahan"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Kenalan tidak wujud."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widget kenalan telah ditambahkan ke skrin Utama."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Wujudkan kenalan baru"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kenalan dengan nombor telefon"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Tiada kenalan dengan nombor telefon"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 kenalan"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> kenalan"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 ditemui"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> ditemui"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 ditemui"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> ditemui"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Semua kenalan"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Kumpulan"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Semua kenalan"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Kegemaran"</string>
     <string name="callBack" msgid="5498224409038809224">"Panggil balik"</string>
     <string name="callAgain" msgid="3197312117049874778">"Panggil semula"</string>
     <string name="returnCall" msgid="8171961914203617813">"Balas panggilan"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> daripada <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kenalan"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Nama kenalan anda"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Tiada aplikasi ditemui untuk mengendalikan tindakan ini."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Klik untuk kembali ke skrin sebelumnya"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Tambah nombor telefon"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Tambah e-mel"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Tiada apl ditemui untuk mengendalikan tindakan ini."</string>
     <string name="menu_share" msgid="943789700636542260">"Kongsi"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Tambahkan pada kenalan"</string>
     <string name="share_via" msgid="563121028023030093">"Kongsi gambar melalui"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Buat kumpulan di bawah akaun"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Sembang suara"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Gunakan foto ini"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Tidak boleh diedit dari aplikasi ini."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Tiada maklumat tambahan untuk kenalan ini."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Tidak boleh diedit pada peranti ini."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Isih senarai mengikut"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Nama berian"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Nama keluarga"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Lihat nama kenalan"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Nama berian dahulu"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Nama keluarga dahulu"</string>
     <string name="take_photo" msgid="7496128293167402354">"Ambil foto"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Ambil foto baru"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Pilih foto dari Galeri"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Pilih foto baru dari Galeri"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Pilih foto"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Pilih foto baharu"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Senarai kenalan sedang dikemas kini untuk menggambarkan penukaran bahasa."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Senarai kenalan sedang dikemas kini."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kenalan sedang dalam proses peningkatan. \n\nProses peningkatan memerlukan lebih kurang <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB storan dalaman.\n\nPilih satu daripada pilihan yang berikut:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Tambah organisasi"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Tarikh"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nama kumpulan"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"melalui <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> melalui <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"kegemaran"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Edit kenalan"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Salin ke Kenalan Saya"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Tambahkan pada Kenalan Saya"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Direktori <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Membuat salinan peribadi..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Peribadi"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Tetapan"</string>
     <string name="menu_settings" msgid="377929915873428211">"Tetapan"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Profil setempat saya"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Profil <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> saya"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Memaparkan semua kenalan"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Orang berfungsi lebih baik dengan Akaun Google. \n \n• Akses dari mana-mana penyemak imbas \n• Buat sandaran untuk kenalan anda secara selamat."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kenalan berfungsi lebih baik dengan Akaun Google.\n\n• Akses dari mana-mana penyemak imbas web.\n• Buat sandaran untuk kenalan anda secara selamat."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Pastikan kenalan anda selamat walaupun jika anda kehilangan telefon anda: segerakkan dengan perkhidmatan dalam talian."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Tambah akaun"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Kenalan baharu anda tidak akan dibuat sandaran. Tambahkan akaun yang membuat sandaran kenalan dalam talian?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Kenalan baharu anda akan disegerakkan dengan <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Anda boleh menyegerakkan kenalan baharu anda dengan salah satu akaun berikut. Mana satu yang anda mahu gunakan?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Tambah kenalan baru"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Edit kenalan"</string>
     <string name="keep_local" msgid="1258761699192993322">"Simpan setempat"</string>
     <string name="add_account" msgid="8201790677994503186">"Tambah akaun"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Tambah akaun baharu"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Eksport fail pangkalan data"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Gambar. Pilih untuk menukar"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"tambah kenalan baharu"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Lihat lagi"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Lihat kurang"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Lihat semua"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Terbaharu"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Mengenai"</string>
+    <string name="send_message" msgid="8938418965550543196">"Hantar mesej"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Membuat salinan peribadi..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Semalam"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Esok"</string>
+    <string name="today" msgid="8041090779381781781">"Hari ini"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Hari ini pada <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Esok pada <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Acara tidak bertajuk)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Tetapkan"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisasi"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Nama panggilan"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Nota"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Tapak web"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Acara"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Hubungan"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"arah ke lokasi"</string>
 </resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
new file mode 100644
index 0000000..8991c89
--- /dev/null
+++ b/res/values-my-rMM/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"အဆက်အသွယ်များ"</string>
+    <string name="contactsList" msgid="8661624236494819731">"အဆက်အသွယ်များ"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"အဆက်အသွယ်"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"တိုက်ရိုက်ခေါ်ဆိုခြင်း"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"တိုက်ရိုက်စာပို့ခြင်း"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"လိပ်စာအတိုကောက် တစ်ခုရွေးပါ"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"ခေါ်ဆိုရန် နံပါတ်တစ်ခုရွေးပါ"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"စာတိုပို့ရန် နံပါတ်တစ်ခုရွေးပါ"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"လိပ်စာတစ်ခုရွေးပါ"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"အဆက်အသွယ် အသစ်ကို ရွေးရန်"</string>
+    <string name="starredList" msgid="4817256136413959463">"စတားပေးထားသော အရာ"</string>
+    <string name="frequentList" msgid="7154768136473953056">"မကြာခဏ"</string>
+    <string name="strequentList" msgid="5640192862059373511">"အနှစ်သက်ဆုံးများ"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"အဆက်အသွယ် အသေးစိတ်"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"အဆက်အသွယ်အား ပြင်ရန်"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"အဆက်အသွယ်တစ်ခု ပြုလုပ်ရန်"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"အုပ်စုအားပြင်ရန်"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"အုပ်စုသစ်ပြုလုပ်ရန်"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"အကြောင်း"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"အဆင့်မြှင့်မှု"</string>
+    <string name="searchHint" msgid="8482945356247760701">"အဆက်အသွယ်များရှာပါ"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"အဆက်အသွယ်အား ကြည့်ရန်"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"အနှစ်သက်ဆုံးများထဲ ထည့်ပါ"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"အနှစ်သက်ဆုံးများမှ ထုတ်ပါ"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"အကြိုက်ဆုံးများထဲမှ ထုတ်လိုက်ပါပြီ"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"အကြိုက်ဆုံးများ ထဲကို ထည့်ပြီး"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"ပြင်ဆင်ရန်"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"ဖျက်ရန်"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ပင်မစာမျက်နှာတွင် တင်ထားပါ"</string>
+    <string name="menu_call" msgid="3992595586042260618">"အဆက်အသွယ်ကို ခေါ်ပါ"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"အဆက်အသွယ်ကို စာတိုပို့ရန်"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"ခွဲခြားခြင်း"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"ပြင်ဆင်ရန်"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"ဖျက်ရန်"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"လိပ်စာထပ်ထည့်ပါ"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"အုပ်စု ထပ်ထည့်ပါ"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"အဆက်အသွယ်ခွဲမည်လား?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"ဒီအဆက်အသွယ်အား အဆက်အသွယ်အများအပြားအဖြစ် ခွဲပစ်လိုက်မည်ဖြစ်ပါသည်"</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"ပူးပေါင်းသည်"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"အဆက်အသွယ်များကို ပူးပေါင်းလိုက်သည်"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g> နှင့် ပေါင်းချင်သော လိပ်စာအားရွေးပါ:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"အဆက်အသွယ်များအားလုံးအားပြပါ"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"အကြုံပြုလိုသော အဆက်အသွယ်များ"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"လိပ်စာများအားလုံး"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"အဆက်အသွယ်များ ပူးပေါင်းပြီး"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"ဖုန်းမြည်သံသတ်မှတ်ရန်"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"ဖုန်းအားလုံးအသံစာပို့စနစ်သို့"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"ဖတ်ရန်အတွက်သာ အကောင့်များမှ အဆက်အသွယ်များကို ဖျက်ပစ်လို့ မရပါ၊ ဒါပေမယ့် အဆက်အသွယ်များစာရင်းမှ ဖျောက်ထားလို့ ရပါသည်"</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"ဒီအဆက်အသွယ်မှာ အကောင့်အများအပြား၏ အချက်အလက်များ ပါဝင်ပါသည်။ ဖတ်ရန်အတွက်သာ အကောင့်များမှ အချက်အလက်များကို ဖျောက်ထားမှာဖြစ်ပြီး ဖျက်ပစ်ထားတာ မဟုတ်ပါ"</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ဤအဆက်အသွယ်အားဖျက်ခြင်းကြောင့် တခြားအကောင့်များမှ အချက်အလက်များလည်း ပျက်ပါလိမ့်မည်"</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"ဒီလိပ်စာကို ဖျက်ပစ်ပါလိမ့်မည်"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"အပြောင်းအလဲများ စွန့်ပစ်ရန်"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"လိပ်စာ မရှိပါ"</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"အဆက်အသွယ်ပြ ဝဒ်ဂျက်ကို ပင်မစာမျက်နှာသို့ ထည့်ပြီးပါပြီ"</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"အဆက်အသွယ်သစ်တစ်ခု ပြုလုပ်ရန်"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"အဆက်အသွယ်သစ်တစ်ခု ပြုလုပ်ရန်"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"အဖွဲ့အစည်း"</item>
+    <item msgid="7196592230748086755">"မှတ်စု"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"တက်ဘလက်ထဲတွင် ပုံများ မရှိပါ"</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"ဖုန်းထဲတွင် ပုံများ မရှိပါ"</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"လိပ်စာရဲ့ဓာတ်ပုံ"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"စိတ်ကြိုက် လေဘယ်လ်နာမည်"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"ဖုန်းများအား အသံစာပို့စနစ်သို့ ပို့လိုက်ပါ"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"ပုံအားဖယ်ရှားပါ"</string>
+    <string name="noContacts" msgid="8579310973261953559">"အဆက်အသွယ်များမရှိပါ"</string>
+    <string name="noGroups" msgid="8614664663561385253">"အုပ်စုများမရှိပါ"</string>
+    <string name="noAccounts" msgid="7768267764545265909">"အုပ်စုများ ပြုလုပ်ရန် အကောင့်တစ်ခု လိုအပ်ပါသည်"</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"ဒီအုပ်စုထဲမှာ လူတစ်ယောက်မှမရှိပါ"</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"တချို့ကိုထည့်ရန်, အုပ်စုကိုပြင်ပါ"</string>
+    <string name="savingContact" msgid="4075751076741924939">"အဆက်အသွယ်အား သိမ်းဆည်းနေစဉ်…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"လိပ်စာအား သိမ်းဆည်းထားလိုက်ပြီ"</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"လိပ်စာပြောင်းလဲမှုအား သိမ်းဆည်းလို့မရပါ"</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"အုပ်စုသိမ်းဆည်ပြီးပါပြီ"</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"အုပ်စုအတွက် ထပ်ပြင်မှုများဟာ သိမ်းဆည်းလို့မရပါ"</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"ဖုန်းနံပါတ်ပါသော လိပ်စာ၁ခု"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> ဖုန်းနံပါတ်ပါသော လိပ်စာများ"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"ဖုန်းနံပါတ်ပါသော လိပ်စာများမရှိပါ"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"၁ခုတွေ့ရှိ"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> ခု တွေ့ရှိ"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"အဆက်အသွယ်များမရှိ"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"၁ခုတွေ့ရှိ"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> ခု တွေ့ရှိ"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"ဆက်သွယ်အားလုံး"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"အကြိုက်ဆုံး"</string>
+    <string name="callBack" msgid="5498224409038809224">"ပြန်ခေါ်ပါ"</string>
+    <string name="callAgain" msgid="3197312117049874778">"ပြန်လည်ခေါ်ဆိုရန်"</string>
+    <string name="returnCall" msgid="8171961914203617813">"ဖုန်းပြန်ခေါ်ရန်"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" ကို လိပ်စာထဲ ထည့်မလား?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"လိပ်စာမှ ဓာတ်ပုံ"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"အပေါင်း"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> ၏ <xliff:g id="TOTAL_NUMBER">%s</xliff:g> လိပ်စာ"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"အဆက်အသွယ်များ၏နာမည်များ"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"ဤလုပ်ဆောင်ချက်ကို ပြုလုပ်ပေးမည့် အပလီကေးရှင်း မရှိပါ။"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"ယခင် မျက်နှာပြင်သို့ ပြန်ရန် ကလစ်ပါ"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"ဖုန်း နံပါတ် ထည့်ရန်"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"အီးမေးလ် ထည့်ရန်"</string>
+    <string name="missing_app" msgid="1466111003546611387">"ဤလုပ်ဆောင်ချက်ကို ပြုလုပ်မည့် အပလီကေးရှင်း မရှိပါ။"</string>
+    <string name="menu_share" msgid="943789700636542260">"မျှဝေခြင်း"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"အဆက်အသွယ်များ ထဲသို့ ထည့်ရန်"</string>
+    <string name="share_via" msgid="563121028023030093">"မှ အဆယ်အသွယ်အား မျှဝေခြင်း"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"အကောင့်အောက်မှာ အုပ်စုပြုလုပ်ပါ"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"အသံဖြင့် ချက်တင်း"</string>
+    <string name="video_chat" msgid="1872255818640336072">"ဗီဒီယိုဖြင့်စကားပြောခြင်း"</string>
+    <string name="connections" msgid="8098440723172028350">"အဆက်အသွယ်များ"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"လူမှုဆက်သွယ်မှုထည့်ရန်"</string>
+    <string name="recent" msgid="2659189233141493004">"လတ်တလော"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"လတ်တလောအဆင့်မြင့်ခြင်းများ"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> လိပ်စာ"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"ဒီပုံကို သုံးရန်"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"ဤအပ်ပလီကေးရှင်းမှ ပြင်ခွင့်မရှိပါ"</string>
+    <string name="group_read_only" msgid="1061762906115697637">"ဒီစက်ပေါ်မှာ ပြင်လို့ မရနိုင်ပါ"</string>
+    <string name="take_photo" msgid="7496128293167402354">"ဓာတ်ပုံရိုက်ရန်"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"ဓာတ်ပုံအသစ်ရိုက်ပါ"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"ပုံရွေးရန်"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"ပုံသစ်ရွေးရန်"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"ဘာသာစကားပြောင်းမှုနဲ့ ကိုက်ညီအောင် အဆက်အသွယ်စာရင်းအား ပြင်ဆင်နေပါသည်"</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"အဆက်အသွယ်စာရင်းအား ပြုပြင်နေစဉ်"</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"အဆက်အသွယ်များမှာ အဆင့်မြင့်တင်ခြင်း လုပ်ဆောင်ခံရဖို့ ပြုလုပ်နေစဉ် ဖြစ်ပါသည်။\n\nအဆင့်မြင့်ခြင်း အလုပ်ဟာ ယေဘုယျ ဖုန်းထဲမှ သိုလှောင်မှုနေရာ <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB လိုအပ်ပါသည်။\n\nအောက်ပါများထဲမှ တစ်ခုကိုရွေးပါ:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"တချို့အပ်ပလီကေးရှင်းများအား ထုတ်ပစ်ရန်"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"အဆင့်မြှင့်ခြင်းအား ပြန်ကြိုးစားရန်"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"ရှာဖွေနေသည်…"</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"ရွေးချယ်ထားသည်ကိုပြပါ"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"အားလုံးကို ပြသရန်"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"အားလုံးရွေးရန်"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"အားလုံးရွေးထားမှု ဖျက်ပါ"</string>
+    <string name="add_field" msgid="2384260056674995230">"နောက်နေရာတစ်ခုထည့်ပါ"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"အသစ်ထည့်ရန်"</string>
+    <string name="add_organization" msgid="7311893231158291197">"အဖွဲ့အစည်းထည့်ရန်"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"ရက်စွဲ"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"အုပ်စုနာမည်"</string>
+    <string name="description_star" msgid="2605854427360036550">"အနှစ်သက်ဆုံး"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"အဆက်အသွယ်အားပြင်ရန်"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"မပူးပေါင်းရသေး"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> မူရင်းများမှ ပေါင်းစပ်ထား"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"လက်ရှိလိပ်စာအား ရွေးထားသောလိပ်စာနှင့် ပေါင်းမည်လား"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"ရွေးထားသော လိပ်စာအား ပြင်ဆင်ခြင်းသို့ပြောင်းမလား? သင် အခုထိ ရိုက်ထားသော စာများအားလုံး ကူးယူပြီးဖြစ်ပါလိမ့်မည်"</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"ကျွန်ုပ်၏လိပ်စာများထဲ ထည့်ပါ"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"ကျွန်ုပ်၏လိပ်စာများထဲ ထည့်ပါ"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"အကန့် <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"မိမိစိတ်ကြိုက်"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"အပြင်အဆင်များ"</string>
+    <string name="menu_settings" msgid="377929915873428211">"အပြင်အဆင်များ"</string>
+    <string name="menu_help" msgid="5123887102216637725">"အကူအညီ"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"ပြသမှုအတွက်ရွေးစရာများ"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"ဖုန်းနံပါတ်"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"လိပ်စာများထဲသို့ ထည့်ပါ"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"လိပ်စာသို့ထည့်ပါ"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"ပိတ်ရန်"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"နှစ် တစ်ခုဖြည့်ပါ"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"အဆက်အသွယ်"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"ဖွင့်နေစဉ်…"</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"အဆက်အသွယ်သစ်တစ်ခု ပြုလုပ်ပါ"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"အကောင့်တစ်ခုထဲသို့ ဝင်ပါ"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"လိပ်စားများ ထည့်ပါ"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"အုပ်စုသစ်ပြုလုပ်ရန်"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"အုပ်စုအသစ်ပြုလုပ်ရန်"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"၁ အုပ်စု"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> အုပ်စု"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" အုပ်စုကို ဖျက်ပစ်ပါမလား? (လိပ်စာများ ကိုယ်တိုင်တော့ ပျက်သွားမည်မဟုတ်ပါ)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>မှ <xliff:g id="COUNT_0">%1$d</xliff:g> ယောက်"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>မှ <xliff:g id="COUNT_0">%1$d</xliff:g> ယောက်"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> ယောက်"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> ယောက်"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"တခြားတစ်ခုနှင့် မပေါင်းခင် အဆက်အသွယ်နာမည်ကို အရင်ရိုက်ပါ"</string>
+    <string name="copy_text" msgid="3257145021583508761">"ခဏကူးယူထားပါ"</string>
+    <string name="set_default" msgid="4417505153468300351">"ပုံသေအဖြစ် သတ်မှတ်ခြင်း"</string>
+    <string name="clear_default" msgid="7193185801596678067">"မူရင်းများကို ရှင်းလင်းခြင်း"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"စာသားကူးယူပြီး"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"ပြင်မှုများအား စွန့်ပစ်မလား"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"မိမိကိုယ်ရေးအကောင့်အား ပြုလုပ်ရန်"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"လူနာမည်ရိုက်ထည့်ပါ"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"အုပ်စု၏နာမည်"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"မိမိ၏ဖုန်းမှပရိုဖိုင်လ်"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"ကျွန်ုပ်၏ <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> ကိုယ်ရေးအကောင့်"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"အဆက်အသွယ်အားလုံးအားပြနေစဉ်"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"အဆက်အသွယ်များ၏ အလုပ်မှာ Google အကောင့်နှင့် ပိုအဆင်ပြေသည်။\n\n• မည်သည့် ဝက်ဘ် ဘရောင်ဇာဖြင့် မဆို ချဉ်းကပ်ပါ။\n• သင်၏ အဆက်အသွယ်များကို စိတ်ချရစွာ ဘက်အာပ် လုပ်ထားပါ။"</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"အွန်လိုင်း ဝန်ဆောင်မှုဖြင့် ထပ်တူကျအောင် ပြုလုပ်ထားခြင်းအားဖြင့် ဖုန်းပျောက်သွားသည့်တိုင်အောင် အဆက်အသွယ်များအား လုံခြုံစွာ သိမ်းထားနိုင်ပါသည်"</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"အကောင့် ထပ်ဖြည့်ပါ"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"သင့် အဆက်အသွယ်အသစ်ကို အရံသိမ်းဆည်းထားခြင်း မရှိပါ။ အဆယ်အသွယ်များကို အွန်လိုင်းပေါ်မှာ အရံသိမ်းဆည်းပေးရန် အကောင့်သစ် ထပ်ထည့်ချင်ပါသလား"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"သင့်ရဲ့ အဆက်အသွယ်အသစ်ကို <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> နှင့် ထပ်တူဖြစ်အောင် ပြုလုပ်ပါမည်"</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"သင်ရဲ့အဆက်အသွယ် အသစ်ကို အောက်ပါ အကောင့်တွေထဲက တစ်ခုခုဖြင့် ထပ်တူဖြစ်အောင် ပြုလုပ်နိုင်ပါသည်။ ဘယ်တစ်ခုကို သုံးချင်ပါသလဲ?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"လိပ်စာအသစ် ပေါင်းမည်"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"အဆက်အသွယ်အားပြင်ရန်"</string>
+    <string name="keep_local" msgid="1258761699192993322">"ဖုန်းထဲတွင်သာသိမ်းပါ"</string>
+    <string name="add_account" msgid="8201790677994503186">"အကောင့်ထပ်ထည့်ရန်"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"အကောင့်အသစ်ထည့်ပါ"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"ဒေ့ဘာဘေ့စ်ဖိုင်များကို အပြင်သို့ထုတ်ပါ"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"အဆက်အသွယ် အသစ်ကို ထည့်ရန်"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"ပိုပြီး ကြည့်ရန်"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"လျှော့ပြီး ကြည့်ရန်"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"အားလုံးကို ကြည့်ရန်"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"မကြာမီတုန်းက"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"အကြောင်း"</string>
+    <string name="send_message" msgid="8938418965550543196">"စာတို ပို့ရန်"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"ကိုယ်ပိုင် ကော်ပီကို ဖန်တီးနေ..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"မနေ့က"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"နက်ဖြန်"</string>
+    <string name="today" msgid="8041090779381781781">"ယနေ့"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"ယနေ့ <xliff:g id="TIME_INTERVAL">%s</xliff:g> တွင်"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"နက်ဖြန်<xliff:g id="TIME_INTERVAL">%s</xliff:g>တွင်"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(ခေါင်းစဉ်မဲ့ ဖြစ်ရပ်)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"လက်ခံရန်"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"အဖွဲ့အစည်း"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"နာမည်ပြောင်"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"မှတ်ချက်"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"ဝက်ဘ်ဆိုက်"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"ဖြစ်ရပ်"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"တော်စပ်ပုံ"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"တည်နေရာများသို့ လမ်းညွှန်ချက်"</string>
+</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 98f6e83..e599e0d 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Personer"</string>
+    <string name="people" msgid="1190841469952343354">"Kontakter"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kontakter"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kontakt"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Ring"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Velg et nummer å ringe"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Velg et nummer å sende melding til"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Velg en kontakt"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Velg en ny kontakt"</string>
     <string name="starredList" msgid="4817256136413959463">"Med stjerne"</string>
     <string name="frequentList" msgid="7154768136473953056">"Mest brukt"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favoritter"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Egenskaper for kontakt"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Se på kontakt"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Rediger kontakt"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Opprett kontakt"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Rediger gruppe"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Se på kontakt"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Legg til som favoritt"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Fjern fra favoritter"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Fjernet fra favoritter"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Lagt til i favoritter"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Rediger"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Slett"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Plassér på startsiden"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Denne kontakten inneholder informasjon fra flere kontoer. Informasjon fra skrivebeskyttede kontoer vil bli skjult i kontaktlistene, ikke slettet."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Sletter du denne kontakten, vil du slette informasjon fra flere kontoer."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Denne kontakten vil bli slettet."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Forkast"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Forkast endringene"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Kontakten finnes ikke."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Kontaktmodulen ble lagt til på startsiden."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Opprett ny kontakt"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontakter med telefonnumre"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ingen kontakter med telefonnummer"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 kontakt"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> kontakter"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 funnet"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> funnet"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 funnet"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> funnet"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Alle kontakter"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupper"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Alle kontaktene"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoritter"</string>
     <string name="callBack" msgid="5498224409038809224">"Ring tilbake"</string>
     <string name="callAgain" msgid="3197312117049874778">"Ring på nytt"</string>
     <string name="returnCall" msgid="8171961914203617813">"Ring tilbake"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> av <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakter"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Navn på kontakter"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Det ble ikke funnet noen app som kan håndtere denne handlingen."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Klikk for å gå tilbake til den forrige skjermen"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Legg til telefonnummer"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Legg til e-post"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Kunne ikke finne noen app som kan håndtere denne handlingen."</string>
     <string name="menu_share" msgid="943789700636542260">"Del"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Legg til i kontakter"</string>
     <string name="share_via" msgid="563121028023030093">"Del kontakt via"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Opprett gruppe under konto"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Taleprat"</string>
@@ -133,22 +136,15 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Bruk dette bildet"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Kan ikke redigeres fra denne appen."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Ingen utfyllende informasjon for denne kontakten."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Kan ikke redigeres på denne enheten."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Sorter listen etter"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Fornavn"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Etternavn"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Se kontaktnavn"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Fornavn først"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Etternavn først"</string>
     <string name="take_photo" msgid="7496128293167402354">"Ta bilde"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Ta nytt bilde"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Velg bilde fra galleriet"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Velg nytt bilde fra galleriet"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Velg et bilde"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Velg et nytt bilde"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Kontaktlisten er oppdatert med nytt språk."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Kontaktlisten er under oppdatering."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Oppgradering av kontakter pågår.\n\nOppgraderingsprosessen krever omtrent <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB intern lagringsplass.\n\nVelg ett av følgende alternativer:"</string>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Avinstaller noen applikasjoner"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Avinstaller noen apper"</string>
     <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Prøv å oppgradere på nytt"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Søker …"</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Vis valgte"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Legg til organisasjon"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Dato"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Gruppenavn"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"via <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> via <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favoritt"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Rediger kontakt"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopiér til mine kontakter"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Legg til i Mine kontakter"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Katalog <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Oppretter personlig kopi …"</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Egendefinert"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Innstillinger"</string>
     <string name="menu_settings" msgid="377929915873428211">"Innstillinger"</string>
@@ -189,7 +182,7 @@
     <string name="social_widget_label" msgid="6378905543028924592">"Kontakt"</string>
     <string name="social_widget_loading" msgid="5327336597364074608">"Laster inn …"</string>
     <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Opprett en ny kontakt"</string>
-    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Logg deg på en konto"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Logg på en konto"</string>
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importer kontakter"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Opprett ny gruppe"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Opprett en ny gruppe"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Min lokale profil"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Min profil for <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Viser alle kontakter"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"People fungerer bedre med en Google-konto.\n\n• Tilgang fra hvilken som helst nettleser.\n• Ta trygge sikkerhetskopier av kontaktene dine."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kontakter fungerer bedre med en Google-konto.\n\n• Tilgang fra hvilken som helst nettleser.\n• Sikkerhetskopiér kontaktene dine på en trygg måte."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Hold kontaktene dine trygge selv om du mister telefonen: synkroniser med en nettbasert tjeneste."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Legg til en konto"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Den nye kontakten din blir ikke sikkerhetskopiert. Vil du legge til en konto som sikkerhetskopierer kontakter på nettet?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Den nye kontakten din blir synkronisert med <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Du kan synkronisere den nye kontakten din med én av de følgende kontoene. Hvilken vil du bruke?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Legg til ny kontakt"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Rediger kontakten"</string>
     <string name="keep_local" msgid="1258761699192993322">"Behold lokalt"</string>
     <string name="add_account" msgid="8201790677994503186">"Legg til konto"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Legg til ny konto"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Eksporter databasefilene"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Bilde. Velg for å endre"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"legg til ny kontakt"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Se mer"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Se mindre"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Se alle"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Nylige"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Info"</string>
+    <string name="send_message" msgid="8938418965550543196">"Send melding"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Oppretter personlig kopi …"</string>
+    <string name="yesterday" msgid="6840858548955018569">"I går"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"I morgen"</string>
+    <string name="today" msgid="8041090779381781781">"I dag"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"I dag kl. <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"I morgen kl.<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Aktivitet uten navn)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Still inn"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Direktemelding"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisasjon"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Kallenavn"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Notat"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Nettsted"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Aktivitet"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Tilknytning"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"veibeskrivelse til posisjon"</string>
 </resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
new file mode 100644
index 0000000..301746a
--- /dev/null
+++ b/res/values-ne-rNP/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"सम्पर्कहरू"</string>
+    <string name="contactsList" msgid="8661624236494819731">"सम्पर्क"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"ठेगाना"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"सिधा डायल गर्नुहोस्"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"सिधा सन्देश"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"सम्पर्क सर्टकट छान्नुहोस्"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"कल गर्नका लागि एउटा नम्बर छान्नुहोस्"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"सन्देश पठाउनका लागि एउटा नम्बर छान्नुहोस्"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"एउटा सम्पर्क छान्नुहोस्"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"नयाँ सम्पर्क छान्नुहोस्"</string>
+    <string name="starredList" msgid="4817256136413959463">"ताराङ्कित"</string>
+    <string name="frequentList" msgid="7154768136473953056">"कहिले कहीँ"</string>
+    <string name="strequentList" msgid="5640192862059373511">"मनपर्नेहरू"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"विवरणहरूलाई सम्पर्क गर्नुहोस्"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"सम्पर्क सम्पादन गर्नुहोस्"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"ठेगाना बनाउनुहोस्"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"समूह सम्पादन गर्नुहोस्"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"समूह सिर्जना गर्नुहोस्"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"बारेमा"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"अद्यावधिकहरू"</string>
+    <string name="searchHint" msgid="8482945356247760701">"सम्पर्कहरू खोज्नुहोस्"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"सम्पर्क हेर्नुहोस्"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"मनपर्नेहरूमा थप्नुहोस्"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"मनपर्नेहरूबाट हटाउनुहोस्"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"मनपर्नेहरूबाट हटाइयो"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"मनपर्नेमा थपियो"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"सम्पादन गर्नुहोस्"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"मेट्नुहोस्"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"होम स्क्रिनमा राख्नुहोस्"</string>
+    <string name="menu_call" msgid="3992595586042260618">"सम्पर्कलाई कल गर्नुहोस्"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"पाठ सम्पर्क"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"छुट्याउनुहोस्"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"सम्पादन गर्नुहोस्"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"मेट्नुहोस्"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"सम्पर्क थप्नुहोस्"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"समूह थप्नुहोस्"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"सम्पर्क अलग गर्ने हो?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"यो सम्पर्क अनेक सम्पर्कहरूमा अलग गरिने छ।"</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"सामेल हुनुहोस्"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"सम्पर्कहरू जोड्नुहोस्"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"तपाईँले सहभागी हुन चाहनु भएको सम्पर्क <xliff:g id="NAME">%s</xliff:g>: चयन गर्नुहोस्"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"सबै सम्पर्कहरू देखाउनुहोस्"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"सुझाव गरिएका सम्पर्कहरू"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"सबै सम्पर्कहरू"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"सहभागी भएका सम्पर्कहरू"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"रिङ्टोन मिलाउनुहोस्"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"भ्वाइसमेलमा सम्पूर्ण कल"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"तपाईँले पढ्ने-मात्र खाताबाट सम्पर्कहरू हटाउन सक्नु हुन्न, तर तपाईँको सम्पर्क सूचीहरूबाट लुकाउन सक्नु हुन्छ।"</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"यो सम्पर्कमा जानकारीहरू धेरै खाताहरूबाट उपलब्ध छन्। पढ्ने-मात्र खातामा भएका जानकारीहरू तपाईँको सम्पर्क सूचीमा लुकेका हुने छन्, हटाइने छैन।"</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"यो सम्पर्कलाइ हटाउनाले धेरै खाताहरूबाट जानकारीहरू नष्ट गर्ने छ।"</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"यो सम्पर्क हटाइने छ।"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"परिवर्तनहरू रद्द गर्नुहोस्"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"सम्पर्क उपलब्ध छैन।"</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"सम्पर्क विजेट होम स्क्रिनमा थपियो।"</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"नयाँ सम्पर्क सिर्जना गर्नुहोस्"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"नयाँ सम्पर्क सिर्जना गर्नुहोस्"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"संगठन"</item>
+    <item msgid="7196592230748086755">"नोट"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"ट्याब्लेटमा कुनै पनि तस्वीरहरू उपलव्ध छैनन्।"</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"कुनै पनि चित्रहरू फोनमा उपलब्ध छैनन्।"</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"सम्पर्क फोटो"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"कस्टम लेबल नाम"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"कलहरू सिधै भ्वाइसमेलमा पठाउनुहोस्"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"फोटो मेट्नुहोस्"</string>
+    <string name="noContacts" msgid="8579310973261953559">"कुनै सम्पर्क छैन।"</string>
+    <string name="noGroups" msgid="8614664663561385253">"कुनै समूहहरू छैनन्।"</string>
+    <string name="noAccounts" msgid="7768267764545265909">"समूह बनाउनका लागि एउटा खाताको आवश्यक्ता हुन्छ।"</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"यो समूहमा कोही छैन।"</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"केही थपनका लागि, समुह सम्पादन गर्नुहोस्।"</string>
+    <string name="savingContact" msgid="4075751076741924939">"सम्पर्क बचत गर्दै..."</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"सम्पर्क बचत गरियो।"</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"सम्पर्क परिवर्तनहरू सुरक्षित गर्न सकेन।"</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"समूह बचत गरियो।"</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"समूह परिवर्तनहरू बचत गर्न सकेन।"</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"फोन नम्बरसहित १ सम्पर्क"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> फोन नम्बरसहित सम्पर्कहरू"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"फोन नम्बर भएका कुनै सम्पर्कहरू छैनन्"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"१ भेटियो"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> भेट्टियो"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"कुनै सम्पर्कहरू छैनन्।"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"१ भेट्टाइयो"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> भेटाइयो"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"सबै सम्पर्कहरू"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"मनपर्ने"</string>
+    <string name="callBack" msgid="5498224409038809224">"कल ब्याक"</string>
+    <string name="callAgain" msgid="3197312117049874778">"फेरि कल गर्नुहोस्"</string>
+    <string name="returnCall" msgid="8171961914203617813">"कल फर्काउनुहोस्"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" लाई सम्पर्कमा थप्ने?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"फोटो सम्पर्क गर्नुहोस्"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"जोड"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g>को <xliff:g id="TOTAL_NUMBER">%s</xliff:g> सम्पर्क"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"तपाईँका सम्पर्कहरूका नामहरू"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"यो कार्य सम्हाल्न कुनै पनि अनुप्रयोग पाइएन।"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"अघिल्लो पर्दामा फर्कनको लागि क्लिक गर्नुहोस्"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"फोन नम्बर थप्नुहोस्"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"इमेल थप्नुहोस्"</string>
+    <string name="missing_app" msgid="1466111003546611387">"यो कार्य सम्हाल्न कुनै पनि अनुप्रयोग पाइएन।"</string>
+    <string name="menu_share" msgid="943789700636542260">"साझेदारी गर्नुहोस्"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"सम्पर्कहरूमा थप्नुहोस्"</string>
+    <string name="share_via" msgid="563121028023030093">"मार्फत सम्पर्क ‍साझेदारी गर्नुहोस्"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"खाता अन्तर्गत समूह बनाउनुहोस्"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"भ्वाइस च्याट"</string>
+    <string name="video_chat" msgid="1872255818640336072">"भिडियो च्याट"</string>
+    <string name="connections" msgid="8098440723172028350">"जडानहरू"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"जडान थप्नुहोस्"</string>
+    <string name="recent" msgid="2659189233141493004">"हालैको"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"हालसालैका अद्यावधिकहरू"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> सम्पर्क"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"यो फोटाको प्रयोग गर्नुहोस्"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"यो अनुप्रयोगबाट सम्पादन गर्न नमिल्ने।"</string>
+    <string name="group_read_only" msgid="1061762906115697637">"यस उपकरणमा सम्पादनयोग्य छैन।"</string>
+    <string name="take_photo" msgid="7496128293167402354">"तस्वीर लिनुहोस्"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"नयाँ फोटो खिच्नुहोस्"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"फोटो छान्नुहोस्"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"नयाँ तस्बिर चयन गर्नुहोस्"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"भाषा परिवर्तन प्रतिबिम्बित गर्नका लागि सम्पर्क सूची अद्यावधिक गरिदैं छ।"</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"सम्पर्क सूची अद्यावधिक हुदै छ।"</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"सम्पर्कहरू अद्यावधिक हुने प्रक्रियामा छन्।  \n \n अद्यावधिक प्रक्रिया लगभग  <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> आन्तरिक भण्डारण  MB आवश्यकता पर्छ ।  \n \n निम्न विकल्पहरू मध्ये कुनै छान्नुहोस्:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"केही अनुप्रयोगहरू हटाउनुहोस्"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"अद्यावधिक गर्न पुनःप्रयास गर्नुहोस्"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"खोजी कार्य गर्दै..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"चयनित देखाउनुहोस्"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"सबै देखाउनुहोस्"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"सबैलाई चयन गर्नुहोस्"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"सबैलाई अचयन गर्नुहोस्"</string>
+    <string name="add_field" msgid="2384260056674995230">"अर्को फिल्ड थप्नुहोस्"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"नयाँ खाता थप्नुहोस्"</string>
+    <string name="add_organization" msgid="7311893231158291197">"संगठन थप्नुहोस्"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"मिति"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"समूह नाम"</string>
+    <string name="description_star" msgid="2605854427360036550">"मनपर्ने"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"सम्पर्क सम्पादन गर्नुहोस्"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"मर्ज गरिएको छैन"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> स्रोतबाट मिसाइएको"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"हालको सम्पर्कलाई चयनित सम्पर्कसँग जोड्ने हो?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"चयनित सम्पर्कको सम्पादन गर्नका लागि स्विच गर्ने हो? तपाईँले अहिलेसम्म प्रविष्टि गरिएका जानकारीहरू प्रतिलिप हुने छन्।"</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"मेरा सम्पर्कहरूमा प्रतिलिपि गर्नुहोस्"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"मेरो सम्पर्कहरूमा थप्नुहोस्"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"निर्देशिका<xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"अनुकूलन"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"सेटिङहरू"</string>
+    <string name="menu_settings" msgid="377929915873428211">"सेटिङहरू"</string>
+    <string name="menu_help" msgid="5123887102216637725">"मद्दत"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"विकल्पहरू प्रदर्शन गर्नुहोस्"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g> , <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"फोन नम्बर"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"सम्पर्कहरूमा जोड्नुहोस्"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"सम्पर्कमा थप्नुहोस्"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"बन्द गर्नुहोस्"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> ( <xliff:g id="PHONETIC_NAME">%2$s</xliff:g> )"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"एउटा वर्ष प्रदान गर्नुहोस्"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"ठेगाना"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"लोड हुँदै..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"एउटा नयाँ सम्पर्क बनाउनुहोस्"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"एउटा खातामा साइन इन गर्नुहोस्"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"सम्पर्क आयात गर्नुहोस्"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"नयाँ समूह बनाउनुहोस्"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"नयाँ समूह बनाउनुहोस्"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"१ समूह"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> समूहहरू"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" समूह हटाउने हो? (सम्पर्कहरू आफैँ हट्दैनन्।)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> व्यक्ति <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> बाट"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> मानिसहरू <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> बाट"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> व्यक्ति"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> मानिसहरू"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"अर्कोसँग सामेल हुनुअघि सम्पर्क नाम टाइप गर्नुहोस्।"</string>
+    <string name="copy_text" msgid="3257145021583508761">"क्लिपबोर्डमा प्रतिलिपि गर्नुहोस्"</string>
+    <string name="set_default" msgid="4417505153468300351">"पूर्वनिर्धारित मिलाउनुहोस्"</string>
+    <string name="clear_default" msgid="7193185801596678067">"पूर्वनिर्धारित हटाउनुहोस्"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"पाठको प्रतिलिपि  गरियो"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"तपाईँका परिवर्तनहरू रद्द गर्ने?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"मेरो प्रोफाइल मिलाउनुहोस्"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"व्यक्तिको नाम टाइप गर्नुहोस्"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"समूहको नाम"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"मेरो स्थानीय प्रोफाइल"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"मेरो <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> प्रोफाइल"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"सबै सम्पर्कहरू प्रदर्शन गरिदै"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Google खाता साथमा सम्पर्कले राम्रो काम गर्छ।\n\n• कुनै पनि वेब ब्राउजरबाट पहुँच गर्न सकिन्छ।\n• तपाईँका सम्पर्कहरू सुरक्षित रूपमा जगेडा गर्नुहोस्।"</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"तपाईँले फोन नै हराउनु भएको अवस्थामा पनि आफ्ना सम्पर्कहरूलाई सुरक्षित राख्नुहोस्: कुनै अनलाइन सेवासँग सिन्क्रोनाइज गर्नुहोस्।"</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"एउटा खाता थप्नुहोस्"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"तपाईँको नयाँ सम्पर्क अद्यावधि गरिने छैन। अनलाइन अद्यावधिक गर्ने एउटा खाता थप्ने हो?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"<xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>सँग तपाईँको नयाँ सम्पर्क सिन्क्रोनाइज गरिने छ।"</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"तपाईँले आफ्ना सम्पर्कहरू निम्न मध्ये कुनै एउटा खातासँग सिन्क्रोनाइज गर्न सक्नु हुन्छ। कुन चाहिँ प्रयोग गर्न चाहनु हुन्छ ?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"नयाँ सम्पर्क थप्ने"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"सम्पर्क सम्पादन"</string>
+    <string name="keep_local" msgid="1258761699192993322">"स्थानीय राख्नुहोस्"</string>
+    <string name="add_account" msgid="8201790677994503186">"खाता थप गर्नुहोस्"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"नयाँ खाता थप्नुहोस्"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"डेटाबेस फाइलहरू निर्यात गर्नुहोस्"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"नयाँ सम्पर्क थप्नुहोस्"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"थप हेर्नुहोस्"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"कम हेर्नुहोस्"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"सबै हेर्नुहोस्"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"हालैको"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"बारेमा"</string>
+    <string name="send_message" msgid="8938418965550543196">"सन्देश पठाउनुहोस्"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"व्यक्तिगत प्रतिलिपि बनाउँदै..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"हिजो"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"भोली"</string>
+    <string name="today" msgid="8041090779381781781">"आज"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"<xliff:g id="TIME_INTERVAL">%s</xliff:g>मा आज"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"<xliff:g id="TIME_INTERVAL">%s</xliff:g>मा भोली"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(शीर्षकविहीन घटना)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"सेट गर्नुहोस्"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"संगठन"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"उपनाम"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"टिप्पणी"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"वेबसाइट"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"घटना"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"सम्बन्ध"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"स्थानको लागि निर्देशनहरू"</string>
+</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 0386ca7..e2484d3 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Personen"</string>
+    <string name="people" msgid="1190841469952343354">"Contacten"</string>
     <string name="contactsList" msgid="8661624236494819731">"Contacten"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Contacten"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Direct bellen"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Kies een nummer om te bellen"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Kies een nummer voor bericht"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Een contact kiezen"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Nieuw contact selecteren"</string>
     <string name="starredList" msgid="4817256136413959463">"Met ster"</string>
     <string name="frequentList" msgid="7154768136473953056">"Vaak"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favorieten"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Details van contact"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Contact weergeven"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Contact bewerken"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Contact maken"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Groep bewerken"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Contact weergeven"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Toevoegen aan favorieten"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Uit favorieten verwijderen"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Verwijderd uit favorieten"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Aan favorieten toegevoegd"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Bewerken"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Verwijderen"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Op startscherm plaatsen"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Dit contact bevat gegevens uit meerdere accounts. Gegevens uit alleen-lezen accounts worden verborgen in uw contactenlijst, maar niet verwijderd."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Als u dit contact verwijdert, worden gegevens van meerdere accounts verwijderd."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Dit contact wordt verwijderd."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Annuleren"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Wijzigingen annuleren"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Het contact bestaat niet."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widget voor contacten toegevoegd aan het startscherm."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Nieuw contact maken"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contacten met telefoonnummers"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Geen contacten met telefoonnummers"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 contact"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> contacten"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 gevonden"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> gevonden"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 gevonden"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> gevonden"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Alle contacten"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Groepen"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Alle contacten"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoriet"</string>
     <string name="callBack" msgid="5498224409038809224">"Terugbellen"</string>
     <string name="callAgain" msgid="3197312117049874778">"Opnieuw bellen"</string>
     <string name="returnCall" msgid="8171961914203617813">"Terugbellen"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> van <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacten"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Namen van uw contacten"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Er is geen app gevonden om deze actie uit te voeren."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Klik om terug te keren naar het vorige scherm"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Telefoonnummer toevoegen"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"E-mailadres toevoegen"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Er is geen app gevonden om deze actie uit te voeren."</string>
     <string name="menu_share" msgid="943789700636542260">"Delen"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Toevoegen aan contacten"</string>
     <string name="share_via" msgid="563121028023030093">"Contact delen via"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Groep in account maken"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Voicechat"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Deze foto gebruiken"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Kan niet worden bewerkt vanuit deze app."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Geen aanvullende gegevens voor dit contact."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Kan niet worden bewerkt op dit apparaat."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Lijst sorteren op"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Roepnaam"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Achternaam"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Contactnamen weergeven"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Roepnaam eerst"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Achternaam eerst"</string>
     <string name="take_photo" msgid="7496128293167402354">"Foto maken"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Nieuwe foto nemen"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Foto kiezen in Galerij"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Nieuwe foto selecteren in Galerij"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Foto kiezen"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Nieuwe foto selecteren"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Lijst met contacten wordt bijgewerkt om de gewijzigde taal te weerspiegelen."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Lijst met contactpersonen wordt bijgewerkt."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Contacten worden bijgewerkt. \n\nVoor het upgradeproces is ongeveer <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB interne opslagruimte vereist.\n\nKies een van de volgende opties:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Organisatie toevoegen"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Datum"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Groepsnaam"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"via <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> via <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favoriet"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Contact bewerken"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopiëren naar mijn contacten"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Toevoegen aan Mijn contacten"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Directory <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Een persoonlijke kopie maken..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Aangepast"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Instellingen"</string>
     <string name="menu_settings" msgid="377929915873428211">"Instellingen"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Mijn lokale profiel"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Mijn <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>-profiel"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Alle contacten worden weergegeven"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Personen werkt beter met een Google-account.\n\n• Toegang via elke webbrowser.\n• Maak beveiligde back-ups van uw contacten."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Contacten werkt beter met een Google-account.\n\n• Toegang via elke webbrowser.\n• Veilig een back-up van uw contacten maken."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Zorg dat uw contacten veilig zijn, zelfs wanneer u uw telefoon verliest: synchroniseer met een online service."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Account toevoegen"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Er wordt geen back-up van uw nieuwe contact gemaakt. Een account toevoegen waarmee online een back-up van contacten wordt gemaakt?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Uw nieuwe contact wordt gesynchroniseerd met <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"U kunt uw nieuwe contact synchroniseren met een van de volgende accounts. Welk account wilt u gebruiken?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Nw contact toevoegen"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Contact bewerken"</string>
     <string name="keep_local" msgid="1258761699192993322">"Lokaal opslaan"</string>
     <string name="add_account" msgid="8201790677994503186">"Account toevoegen"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Nieuw account toevoegen"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Databasebestanden exporteren"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Foto. Selecteer om te wijzigen"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"nieuw contact toevoegen"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Meer weergeven"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Minder weergeven"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Alles weergeven"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Recent"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Over"</string>
+    <string name="send_message" msgid="8938418965550543196">"Bericht verzenden"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Een persoonlijke kopie maken..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Gisteren"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Morgen"</string>
+    <string name="today" msgid="8041090779381781781">"Vandaag"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Vandaag om <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Morgen om <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Naamloze afspraak)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Instellen"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Chat"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisatie"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Bijnaam"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Notitie"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Website"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Evenement"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relatie"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"routebeschrijving naar locatie"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index e978a6a..93debd6 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Osoby"</string>
+    <string name="people" msgid="1190841469952343354">"Kontakty"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kontakty"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kontakt"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Telefon do osoby"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Wybierz numer, aby nawiązać połączenie"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Wybierz numer, aby wysłać wiadomość"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Wybierz kontakt"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Wybierz nowy kontakt"</string>
     <string name="starredList" msgid="4817256136413959463">"Oznaczony gwiazdką"</string>
     <string name="frequentList" msgid="7154768136473953056">"Częste"</string>
     <string name="strequentList" msgid="5640192862059373511">"Ulubione"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Informacje kontaktowe"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Wyświetl kontakt"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Edytuj kontakt"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Utwórz kontakt"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Edytuj grupę"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Wyświetl kontakt"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Dodaj do ulubionych"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Usuń z ulubionych"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Usunięto z ulubionych"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Dodano do ulubionych"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Edytuj"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Usuń"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Umieść na ekranie głównym"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Ten kontakt zawiera informacje pochodzące z wielu kont. Informacje z kont przeznaczonych tylko do odczytu zostaną na listach kontaktów ukryte, a nie usunięte."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Usunięcie tego kontaktu spowoduje usunięcie informacji z wielu kont."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Ten kontakt zostanie usunięty."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Odrzuć"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Odrzuć zmiany"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Kontakt nie istnieje."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widżet kontaktu dodany do ekranu głównego."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Utwórz nowy kontakt"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"Liczba kontaktów z numerami telefonów: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Brak kontaktów z numerami telefonów"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"Liczba kontaktów: 1"</item>
-    <item quantity="other" msgid="3578469907265375314">"Liczba kontaktów: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Znaleziono: 1"</item>
     <item quantity="other" msgid="3852668542926965042">"Znaleziono: <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"Znaleziono: 1"</item>
     <item quantity="other" msgid="7988132539476575389">"Znaleziono: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Wszystkie kontakty"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupy"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Wszys. kontakty"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Ulubione"</string>
     <string name="callBack" msgid="5498224409038809224">"Oddzwoń"</string>
     <string name="callAgain" msgid="3197312117049874778">"Zadzwoń ponownie"</string>
     <string name="returnCall" msgid="8171961914203617813">"Połączenie zwrotne"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"Kontakt <xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Imiona i nazwiska oraz nazwy w Twoich kontaktach"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Nie znaleziono aplikacji do obsługi tego działania."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Kliknij, by wrócić do poprzedniego ekranu"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Dodaj numer telefonu"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Dodaj adres e-mail"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Nie znaleziono aplikacji do obsługi tego działania."</string>
     <string name="menu_share" msgid="943789700636542260">"Udostępnij"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Dodaj do kontaktów"</string>
     <string name="share_via" msgid="563121028023030093">"Udostępnij kontakt przez"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Utwórz grupę na koncie"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Czat głosowy"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Użyj tego zdjęcia"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Nie można edytować w tej aplikacji."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Brak dodatkowych informacji dla tego kontaktu"</string>
     <string name="group_read_only" msgid="1061762906115697637">"Nie można edytować na tym urządzeniu."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Sortuj listę według"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Imię"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Nazwisko"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Wyświetl nazwy kontaktów"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Najpierw imię"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Najpierw nazwisko"</string>
     <string name="take_photo" msgid="7496128293167402354">"Zrób zdjęcie"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Zrób nowe zdjęcie"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Wybierz zdjęcie z galerii"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Wybierz nowe zdjęcie z galerii"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Wybierz zdjęcie"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Wybierz nowe zdjęcie"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Lista kontaktów jest aktualizowana, aby odzwierciedlić zmianę języka."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Lista kontaktów jest aktualizowana."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Trwa proces uaktualniania kontaktów. \n\nProces uaktualniania wymaga w przybliżeniu <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB pamięci wewnętrznej.\n\nWybierz jedną z następujących opcji:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Dodaj organizację"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Data"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nazwa grupy"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"przez: <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g>, przez: <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"ulubione"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Edytuj kontakt"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopiuj do moich kontaktów"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Dodaj do moich kontaktów"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Katalog <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Tworzenie kopii osobistej…"</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Niestandardowy"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Ustawienia"</string>
     <string name="menu_settings" msgid="377929915873428211">"Ustawienia"</string>
@@ -206,7 +199,7 @@
     <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> osoba"</item>
     <item quantity="other" msgid="6251996206137048525">"Osoby: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
   </plurals>
-    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Wpisz w kontakcie imię i nazwisko, zanim połączysz go z innym kontaktem."</string>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Wpisz imię i nazwisko, zanim połączysz ten kontakt z innym."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopiuj do schowka"</string>
     <string name="set_default" msgid="4417505153468300351">"Ustaw jako wartość domyślną"</string>
     <string name="clear_default" msgid="7193185801596678067">"Wyczyść wartość domyślną"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Mój profil lokalny"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Mój profil <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Wyświetlanie wszystkich kontaktów"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Aplikacja Ludzie działa lepiej z kontem Google.\n\n• Używaj jej w dowolnej przeglądarce.\n• Twórz kopie zapasowe kontaktów."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kontakty działają lepiej, kiedy masz konto Google.\n\n• Dostęp w dowolnej przeglądarce internetowej.\n• Bezpieczne tworzenie kopii zapasowych kontaktów."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Zapewnij bezpieczeństwo swoich kontaktów nawet w przypadku utraty telefonu: włącz synchronizację z usługą online."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Dodaj konto"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Kopia zapasowa nowego kontaktu nie zostanie utworzona. Dodać konto, na którym kopie zapasowe kontaktów będą tworzone online?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Nowy kontakt zostanie zsynchronizowany z kontem <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Nowy kontakt możesz zsynchronizować z dowolnym kontem. Którego chcesz użyć?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Dodaj nowy kontakt"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Edytuj kontakt"</string>
     <string name="keep_local" msgid="1258761699192993322">"Przechowuj lokalnie"</string>
     <string name="add_account" msgid="8201790677994503186">"Dodaj konto"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Dodaj nowe konto"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Eksportuj pliki bazy danych"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Zdjęcie. Wybierz, aby je zmienić"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"dodaj nowy kontakt"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Pokaż więcej"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Pokaż mniej"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Pokaż wszystkie"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Ostatnie"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Informacje"</string>
+    <string name="send_message" msgid="8938418965550543196">"Wyślij wiadomość"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Kopiuję do osobistych..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Wczoraj"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Jutro"</string>
+    <string name="today" msgid="8041090779381781781">"Dzisiaj"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Dzisiaj: <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Jutro: <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Wydarzenie bez nazwy)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Ustaw"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Komunikator"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organizacja"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Pseudonim"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Notatka"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Strona internetowa"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Wydarzenie"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relacja"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"trasa do lokalizacji"</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 1842cf3..091f790 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Pessoas"</string>
+    <string name="people" msgid="1190841469952343354">"Contactos"</string>
     <string name="contactsList" msgid="8661624236494819731">"Contactos"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Contacto"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Marcação directa"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Seleccionar um número a marcar"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Seleccionar um número para enviar mensagem"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Escolher um contacto"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Selecionar novo contacto"</string>
     <string name="starredList" msgid="4817256136413959463">"Marcado com estrela"</string>
     <string name="frequentList" msgid="7154768136473953056">"Frequentes"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favoritos"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Detalhes de contacto"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Visualizar contacto"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Editar contacto"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Criar contacto"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Editar grupo"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Visualizar contacto"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Adicionar aos favoritos"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Remover dos favoritos"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Removido dos favoritos"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Adicionado aos favoritos"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Editar"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Eliminar"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Colocar no Ecrã principal"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Este contacto contém informações de várias contas. As informações de contas só de leitura serão ocultadas nas suas listas de contactos, mas não eliminadas."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"A eliminação deste contacto eliminará informações de várias contas."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Este contacto será eliminado."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Rejeitar"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Rejeitar alterações"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"O contacto não existe."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widget de contacto adicionado ao seu Ecrã principal."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Criar novo contacto"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contactos com números de telefone"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Sem contactos com números de telefone"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 contacto"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> contactos"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 encontrado"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> encontrado(s)"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 encontrado"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> encontrado(s)"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Todos os contactos"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupos"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Todos os cont."</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoritos"</string>
     <string name="callBack" msgid="5498224409038809224">"Chamada de retorno"</string>
     <string name="callAgain" msgid="3197312117049874778">"Ligar novamente"</string>
     <string name="returnCall" msgid="8171961914203617813">"Devolver chamada"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contactos"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Nomes dos contactos"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Não foram encontradas aplicações para executar esta ação"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Clique para regressar ao ecrã anterior"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Adicionar número de telefone"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Adicionar email"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Não foram encontradas aplicações para executar esta ação."</string>
     <string name="menu_share" msgid="943789700636542260">"Partilhar"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Adicionar aos contactos"</string>
     <string name="share_via" msgid="563121028023030093">"Partilhar contacto através de"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Criar grupo na conta"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Chat de voz"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Utilizar esta fotografia"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Não editável a partir desta aplicação."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Não há informações adicionais para este contacto"</string>
     <string name="group_read_only" msgid="1061762906115697637">"Não editável neste aparelho"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Ordenar lista por"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Nome próprio"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Apelido"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Ver nomes de contactos"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Nome próprio em primeiro lugar"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Apelido em primeiro lugar"</string>
     <string name="take_photo" msgid="7496128293167402354">"Tirar fotografia"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Tirar nova fotografia"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Escolher fotografia da Galeria"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Selecionar nova fotografia da Galeria"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Escolher fotografia"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Selecionar nova fotografia"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"A lista de contactos está a ser atualizada para reflectir a alteração do idioma."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"A lista de contactos está a ser atualizada."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Os contactos estão em processo de atualização. \n\nO processo de atualização requer aproximadamente <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB de armazenamento interno.\n\nEscolha uma das seguintes opções:"</string>
@@ -153,15 +149,13 @@
     <string name="search_results_searching" msgid="3984833028938569930">"A pesquisar..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Mostrar seleccionados"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Mostrar tudo"</string>
-    <string name="menu_select_all" msgid="621719255150713545">"Seleccionar tudo"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Selecionar tudo"</string>
     <string name="menu_select_none" msgid="7093222469852132345">"Desmarcar tudo"</string>
     <string name="add_field" msgid="2384260056674995230">"Adicionar outro campo"</string>
     <string name="add_new_entry_for_section" msgid="5223080690667565044">"Adicionar novo"</string>
     <string name="add_organization" msgid="7311893231158291197">"Adicionar entidade"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Data"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nome do grupo"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"através do <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> através do <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favorito"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Editar contacto"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Copiar para Os Meus Contactos"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Adicionar aos Meus Contactos"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Directório <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"A criar uma cópia pessoal"</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Personalizado"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Definições"</string>
     <string name="menu_settings" msgid="377929915873428211">"Definições"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"O meu perfil local"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"O meu perfil do <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"A apresentar todos os contactos"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"A aplicação Pessoas funciona melhor com uma Conta Google.\n\n• Aceda à Conta Google a partir de qualquer navegador de Internet.\n• Faça uma cópia de segurança dos seus contactos de forma segura."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"A aplicação Contactos funciona melhor com uma Conta Google.\n\n• Aceda a partir de qualquer navegador de Internet.\n• Faça uma cópia de segurança dos seus contactos de forma segura."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Mantenha os seus contactos em segurança, mesmo em caso de perda do telemóvel: sincronize com um serviço on-line."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Adicionar uma conta"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Não será efetuada cópia de segurança do novo contacto. Adicionar uma conta que efetua a cópia de segurança dos contactos on-line?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"O novo contacto será sincronizado com <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Pode sincronizar o novo contacto com uma das seguintes contas. Qual a conta que deseja utilizar?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Adic. novo contacto"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Editar contacto"</string>
     <string name="keep_local" msgid="1258761699192993322">"Manter localmente"</string>
     <string name="add_account" msgid="8201790677994503186">"Adicionar conta"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Adicionar nova conta"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Exportar ficheiros da base de dados"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Imagem. Selecione para alterar"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"adicionar novo contacto"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Ver mais"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Ver menos"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Ver tudo"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Recentes"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Acerca de"</string>
+    <string name="send_message" msgid="8938418965550543196">"Enviar mensagem"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"A criar uma cópia pessoal..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Ontem"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Amanhã"</string>
+    <string name="today" msgid="8041090779381781781">"Hoje"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Hoje, às <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Amanhã, às <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Evento sem nome)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Definir"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"MI"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Entidade"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Pseudónimo"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Nota"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Website"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Evento"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relação"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"direções para a localização"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 74ccaf9..0a1eef5 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Pessoas"</string>
+    <string name="people" msgid="1190841469952343354">"Contatos"</string>
     <string name="contactsList" msgid="8661624236494819731">"Contatos"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Contato"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Discagem direta"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Escolha um número a ser chamado"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Escolha um número para enviar uma mensagem"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Escolha um contato"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Selecionar novo contato"</string>
     <string name="starredList" msgid="4817256136413959463">"Com estrela"</string>
     <string name="frequentList" msgid="7154768136473953056">"Frequente"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favoritos"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Detalhes do contato"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Ver contato"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Editar contato"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Criar contato"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Editar grupo"</string>
@@ -40,10 +40,12 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Ver contato"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Adicionar aos favoritos"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Remover dos favoritos"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Removido dos favoritos"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Adicionado aos favoritos"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Editar"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Excluir"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Colocar na tela inicial"</string>
-    <string name="menu_call" msgid="3992595586042260618">"Chamar contato"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Ligar para contato"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Enviar SMS/MMS para o contato"</string>
     <string name="menu_splitAggregate" msgid="8368636463748691868">"Separar"</string>
     <string name="menu_editGroup" msgid="5062005185370983720">"Editar"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Este contato contém informações de diversas contas. As informações de contas somente de leitura ficarão ocultas nas suas listas de contatos, mas não serão excluídas."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Excluir este contato irá excluir informações de várias contas."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Este contato será excluído."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Descartar"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Descartar alterações"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"O contato não existe."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widget Contato adicionado à tela inicial."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Criar novo contato"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contatos com números de telefone"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nenhum contato com números de telefone"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 contato"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> contatos"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Um encontrado"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> encontrados"</item>
@@ -108,10 +106,10 @@
     <item quantity="one" msgid="4826918429708286628">"Um encontrado"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> encontrados"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Todos os contatos"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupos"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Todos"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoritos"</string>
     <string name="callBack" msgid="5498224409038809224">"Retornar chamada"</string>
-    <string name="callAgain" msgid="3197312117049874778">"Chamar novamente"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Ligar novamente"</string>
     <string name="returnCall" msgid="8171961914203617813">"Retornar chamada"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Adicionar \"<xliff:g id="EMAIL">%s</xliff:g>\" aos contatos?"</string>
     <string name="description_contact_photo" msgid="3387458082667894062">"foto do contato"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> de <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contatos"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Nomes dos seus contatos"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Nenhum aplicativo foi encontrado para executar esta ação."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Clique para retornar à tela anterior"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Adicionar número de telefone"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Adicionar e-mail"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Nenhum aplicativo foi encontrado para executar esta ação."</string>
     <string name="menu_share" msgid="943789700636542260">"Compartilhar"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Adicionar aos contatos"</string>
     <string name="share_via" msgid="563121028023030093">"Compartilhar contato via"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Criar grupo na conta"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Bate-papo por voz"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Usar esta foto"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Não pode ser editado neste aplicativo."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Não há informações adicionais para este contato."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Não é possível editar neste dispositivo."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Classificar lista por"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Nome"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Sobrenome"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Visualizar nomes de contatos"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Nome primeiro"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Sobrenome primeiro"</string>
     <string name="take_photo" msgid="7496128293167402354">"Tirar foto"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Tirar outra foto"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Escolha fotos da Galeria"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Selecionar nova foto da Galeria"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Escolher foto"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Selecionar nova foto"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"A lista de contatos está sendo atualizada para incorporar a alteração do idioma."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"A lista de contatos está sendo atualizada."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Os contatos estão sendo atualizados no momento. \n\nO processo de atualização requer aproximadamente <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB de armazenamento interno.\n\nEscolha uma das seguintes opções:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Adicionar organização"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Data"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nome do grupo"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"por meio de <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> via <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favorito"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Editar contato"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Copiar para Meus contatos"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Adicionar a Meus contatos"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Diretório <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Criando uma cópia pessoal..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Personalizado"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Configurações"</string>
     <string name="menu_settings" msgid="377929915873428211">"Configurações"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Meu perfil local"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Meu perfil <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Exibindo todos os contatos"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"O aplicativo Pessoas funciona melhor com uma Conta do Google.\n\n• Acesse-o a partir de qualquer navegador da web.\n• Faça backup de seus contatos com segurança."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Contatos funciona melhor com uma conta do Google.\n\n• Acesse-o a partir de qualquer navegador da web.\n• Faça backup de seus contatos com segurança."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Mantenha seus contatos seguros, mesmo se você perder seu telefone: sincronize com um serviço on-line."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Adicionar uma conta"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Não será possível fazer backup de seu novo contato. Deseja adicionar uma conta que faça backup de contatos on-line?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Seu novo contato será sincronizado com <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"É possível sincronizar seu novo contato com uma das seguintes contas. Qual você deseja usar?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Adic. novo contato"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Editar contato"</string>
     <string name="keep_local" msgid="1258761699192993322">"Manter localmente"</string>
     <string name="add_account" msgid="8201790677994503186">"Adicionar conta"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Adicionar nova conta"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Exportar arquivos do banco de dados"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Imagem. Selecione para alterar"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"adicionar novo contato"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Ver mais"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Ver menos"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Ver tudo"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Recente"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Sobre"</string>
+    <string name="send_message" msgid="8938418965550543196">"Enviar mensagem"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Criando uma cópia pessoal..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Ontem"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Amanhã"</string>
+    <string name="today" msgid="8041090779381781781">"Hoje"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Hoje, às <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Amanhã, às <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Evento sem título)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Definir"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Mensagem instantânea"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organização"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Apelido"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Nota"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Site"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Evento"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relação"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"rotas até o local"</string>
 </resources>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
deleted file mode 100644
index 5ab30f4..0000000
--- a/res/values-rm/strings.xml
+++ /dev/null
@@ -1,337 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2006 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">
-    <!-- no translation found for people (1048457247435785074) -->
-    <skip />
-    <string name="contactsList" msgid="8661624236494819731">"Contacts"</string>
-    <string name="shortcutContact" msgid="749243779392912958">"Contact"</string>
-    <string name="shortcutDialContact" msgid="746622101599186779">"Cumposiziun directa"</string>
-    <string name="shortcutMessageContact" msgid="2460337253595976198">"Messadi direct"</string>
-    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Tscherner in contact per la scursanida"</string>
-    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Tscherner il numer per telefonar"</string>
-    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Tscherner il numer per il messadi"</string>
-    <!-- no translation found for contactPickerActivityTitle (4301062192337417640) -->
-    <skip />
-    <string name="starredList" msgid="4817256136413959463">"Cun staila"</string>
-    <string name="frequentList" msgid="7154768136473953056">"Contacts frequents"</string>
-    <string name="strequentList" msgid="5640192862059373511">"Favurits"</string>
-    <string name="viewContactTitle" msgid="7989394521836644384">"Detagls dal contact"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Mussar il contact"</string>
-    <string name="editContactDescription" msgid="2947202828256214947">"Modifitgar il contact"</string>
-    <string name="insertContactDescription" msgid="4709878105452681987">"Crear in contact"</string>
-    <!-- no translation found for editGroupDescription (6321161304201540561) -->
-    <skip />
-    <!-- no translation found for insertGroupDescription (5658512271662210139) -->
-    <skip />
-    <!-- no translation found for contactDetailAbout (5430408883907061400) -->
-    <skip />
-    <!-- no translation found for contactDetailUpdates (3780588624763446941) -->
-    <skip />
-    <string name="searchHint" msgid="8482945356247760701">"Retschertgar ils contacts"</string>
-    <string name="menu_viewContact" msgid="2795575601596468581">"Mussar il contact"</string>
-    <string name="menu_addStar" msgid="2908478235715404876">"Agiuntar als favurits"</string>
-    <string name="menu_removeStar" msgid="5844227078364227030">"Allontanar dals favurits"</string>
-    <!-- no translation found for menu_editContact (9042415603857662633) -->
-    <skip />
-    <!-- no translation found for menu_deleteContact (6788644058868189393) -->
-    <skip />
-    <!-- no translation found for menu_create_contact_shortcut (1217971915748509640) -->
-    <skip />
-    <string name="menu_call" msgid="3992595586042260618">"Telefonar al contact"</string>
-    <string name="menu_sendSMS" msgid="5535886767547006515">"Trametter in SMS al contact"</string>
-    <string name="menu_splitAggregate" msgid="8368636463748691868">"Divider"</string>
-    <!-- no translation found for menu_editGroup (5062005185370983720) -->
-    <skip />
-    <!-- no translation found for menu_deleteGroup (3486380004411482874) -->
-    <skip />
-    <!-- no translation found for menu_new_contact_action_bar (7263362129442119188) -->
-    <skip />
-    <!-- no translation found for menu_new_group_action_bar (3520232877587377175) -->
-    <skip />
-    <!-- no translation found for splitConfirmation_title (633640935430370530) -->
-    <skip />
-    <!-- no translation found for splitConfirmation (740190210499587175) -->
-    <skip />
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Unir"</string>
-    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Unir contacts"</string>
-    <!-- no translation found for blurbJoinContactDataWith (8736488417422708236) -->
-    <skip />
-    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Mussar tut ils contacts"</string>
-    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contacts proponids"</string>
-    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Tut ils contacts"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Contacts unids"</string>
-    <!-- no translation found for menu_set_ring_tone (8728345772068064946) -->
-    <skip />
-    <!-- no translation found for menu_redirect_calls_to_vm (4181789196416396656) -->
-    <skip />
-    <!-- no translation found for readOnlyContactWarning (7808825687289848259) -->
-    <skip />
-    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"\"Quest contact cuntegna infurmaziuns da plirs contos. Infurmaziuns da contos mo per lectura vegnan betg stizzadas, mabain zuppentadas en Vossas glistas da contacts.\""</string>
-    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"\"Sche Vus stizzais quest contact, vegnan infurmaziuns en plirs contos stizzads.\""</string>
-    <string name="deleteConfirmation" msgid="811706994761610640">"Quest contact vegn stizzà."</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
-    <!-- no translation found for invalidContactMessage (8215051456181842274) -->
-    <skip />
-    <!-- no translation found for createContactShortcutSuccessful (7874133287558150877) -->
-    <skip />
-    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Crear in nov contact"</string>
-    <!-- no translation found for pickerNewContactText (6166997164401048211) -->
-    <skip />
-  <string-array name="otherLabels">
-    <item msgid="8287841928119937597">"Firma/Organisaziun"</item>
-    <item msgid="7196592230748086755">"Notizia"</item>
-  </string-array>
-    <!-- no translation found for photoPickerNotFoundText (6247290728908599701) -->
-    <skip />
-    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Nagin maletg disponibel sin il telefon."</string>
-    <!-- no translation found for attach_photo_dialog_title (5599827035558557169) -->
-    <skip />
-    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Num da l\'etichetta persunalisada"</string>
-    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Renviar ils cloms directamain sin la mailbox"</string>
-    <!-- no translation found for removePhoto (4898105274130284565) -->
-    <skip />
-    <string name="noContacts" msgid="8579310973261953559">"Nagins contacts"</string>
-    <!-- no translation found for noGroups (8614664663561385253) -->
-    <skip />
-    <!-- no translation found for noAccounts (7768267764545265909) -->
-    <skip />
-    <!-- no translation found for emptyGroup (7502116218697177370) -->
-    <skip />
-    <!-- no translation found for addPeopleToGroup (7879585947222263516) -->
-    <skip />
-    <string name="savingContact" msgid="4075751076741924939">"Il contact vegn memorisà…"</string>
-    <string name="contactSavedToast" msgid="7152589189385441091">"Contact memorisà."</string>
-    <!-- no translation found for contactSavedErrorToast (3207250533172944892) -->
-    <skip />
-    <!-- no translation found for groupSavedToast (1168756874239833756) -->
-    <skip />
-    <!-- no translation found for groupSavedErrorToast (7984466936615304740) -->
-    <skip />
-    <!-- no translation found for listTotalPhoneContacts:one (3015357862286673986) -->
-    <!-- no translation found for listTotalPhoneContacts:other (3299954047880968205) -->
-    <!-- no translation found for listTotalPhoneContactsZero (6968813857632984319) -->
-    <skip />
-    <!-- no translation found for listTotalAllContacts:one (3405747744700823280) -->
-    <!-- no translation found for listTotalAllContacts:other (3578469907265375314) -->
-  <plurals name="listFoundAllContacts">
-    <item quantity="one" msgid="5517063038754171134">"chattà 1"</item>
-    <item quantity="other" msgid="3852668542926965042">"Chattà <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
-    <!-- no translation found for listFoundAllContactsZero (922980883593159444) -->
-    <skip />
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"chattà 1"</item>
-    <item quantity="other" msgid="7988132539476575389">"Chattà <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
-    <!-- no translation found for contactsAllLabel (6479708629170672169) -->
-    <skip />
-    <!-- no translation found for contactsGroupsLabel (2841971472518003524) -->
-    <skip />
-    <string name="callBack" msgid="5498224409038809224">"Telefonar enavos"</string>
-    <string name="callAgain" msgid="3197312117049874778">"Telefonar anc ina giada"</string>
-    <string name="returnCall" msgid="8171961914203617813">"Telefonar enavos"</string>
-    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Agiuntar «<xliff:g id="EMAIL">%s</xliff:g>» als contacts?"</string>
-    <string name="description_contact_photo" msgid="3387458082667894062">"foto dal contact"</string>
-    <string name="description_plus_button" msgid="515164827856229880">"plus"</string>
-    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> da <xliff:g id="TOTAL_NUMBER">%s</xliff:g> contacts"</string>
-    <string name="search_settings_description" msgid="2675223022992445813">"Num da Voss contacts"</string>
-    <!-- no translation found for quickcontact_missing_app (358168575340921552) -->
-    <skip />
-    <string name="menu_share" msgid="943789700636542260">"Cundivider"</string>
-    <string name="share_via" msgid="563121028023030093">"Cundivider in contact sur"</string>
-    <!-- no translation found for dialog_new_group_account (2318032089273496830) -->
-    <skip />
-    <!-- no translation found for audio_chat (2535716629358298691) -->
-    <skip />
-    <!-- no translation found for video_chat (1872255818640336072) -->
-    <skip />
-    <!-- no translation found for connections (8098440723172028350) -->
-    <skip />
-    <!-- no translation found for add_connection_button (4861308615789601727) -->
-    <skip />
-    <!-- no translation found for recent (2659189233141493004) -->
-    <!-- no translation found for recent (2062236709538790412) -->
-    <skip />
-    <!-- no translation found for recent_updates (4267258535615860710) -->
-    <!-- no translation found for recent_updates (2018245636796411442) -->
-    <skip />
-    <string name="account_type_format" msgid="718948015590343010">"Contact <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <!-- no translation found for from_account_format (4469138575127580203) -->
-    <skip />
-    <string name="use_photo_as_primary" msgid="8807110122951157246">"Utilisar quest foto"</string>
-    <!-- no translation found for contact_read_only (7421346527289472273) -->
-    <skip />
-    <!-- no translation found for no_contact_details (6636856378019344497) -->
-    <skip />
-    <!-- no translation found for group_read_only (1061762906115697637) -->
-    <skip />
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Zavrar la glista tenor"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Prenum"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Num da famiglia"</string>
-    <!-- no translation found for display_options_view_names_as (4386932036180428374) -->
-    <skip />
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"L\'emprim il prenum"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"L\'emprim il num da famiglia"</string>
-    <string name="take_photo" msgid="7496128293167402354">"Far ina foto"</string>
-    <!-- no translation found for take_new_photo (7341354729436576304) -->
-    <skip />
-    <!-- no translation found for pick_photo (3746334626214970837) -->
-    <skip />
-    <!-- no translation found for pick_new_photo (7962368009197147617) -->
-    <skip />
-    <!-- no translation found for locale_change_in_progress (7583992153091537467) -->
-    <skip />
-    <!-- no translation found for upgrade_in_progress (474511436863451061) -->
-    <skip />
-    <!-- no translation found for upgrade_out_of_memory (1209994418877625940) -->
-    <skip />
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Deinstallar in pèr applicaziuns"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Empruvar anc ina giada d\'actualisar"</string>
-    <!-- no translation found for search_results_searching (3984833028938569930) -->
-    <skip />
-    <string name="menu_display_selected" msgid="6470001164297969034">"Mussar la selecziun"</string>
-    <string name="menu_display_all" msgid="8887488642609786198">"Mussar tuts"</string>
-    <string name="menu_select_all" msgid="621719255150713545">"Tscherner tut"</string>
-    <string name="menu_select_none" msgid="7093222469852132345">"Deselecziunar tut"</string>
-    <!-- no translation found for add_field (2384260056674995230) -->
-    <skip />
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
-    <!-- no translation found for add_organization (7311893231158291197) -->
-    <skip />
-    <!-- no translation found for event_edit_field_hint_text (5794424930242630477) -->
-    <skip />
-    <!-- no translation found for group_edit_field_hint_text (3966441850870457808) -->
-    <skip />
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"entras <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> entras <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
-    <string name="description_star" msgid="2605854427360036550">"favurit"</string>
-    <string name="edit_contact" msgid="7529281274005689512">"Modifitgar il contact"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"betg fusiunà"</item>
-    <item quantity="other" msgid="425683718017380845">"1 contact fusiunà ord <xliff:g id="COUNT">%0$d</xliff:g> funtaunas"</item>
-  </plurals>
-    <!-- no translation found for aggregation_suggestion_join_dialog_message (3842757977671434836) -->
-    <skip />
-    <!-- no translation found for aggregation_suggestion_edit_dialog_message (6549585283910518095) -->
-    <skip />
-    <!-- no translation found for menu_copyContact (1573960845106822639) -->
-    <skip />
-    <!-- no translation found for add_to_my_contacts (1068274916793627723) -->
-    <skip />
-    <!-- no translation found for contact_directory_description (683398073603909119) -->
-    <skip />
-    <!-- no translation found for toast_making_personal_copy (288549957278065542) -->
-    <skip />
-    <!-- no translation found for list_filter_custom (8910173055702057002) -->
-    <skip />
-    <!-- no translation found for activity_title_settings (5464130076132770781) -->
-    <skip />
-    <!-- no translation found for menu_settings (377929915873428211) -->
-    <!-- no translation found for menu_settings (377929915873428211) -->
-    <skip />
-    <!-- no translation found for menu_help (5123887102216637725) -->
-    <skip />
-    <!-- no translation found for preference_displayOptions (1341720270148252393) -->
-    <skip />
-    <!-- no translation found for organization_company_and_title (6718207751363732025) -->
-    <skip />
-    <!-- no translation found for non_phone_caption (1541655052330027380) -->
-    <skip />
-    <!-- no translation found for non_phone_add_to_contacts (6590985286250471169) -->
-    <skip />
-    <!-- no translation found for activity_title_confirm_add_detail (4065089866210730616) -->
-    <skip />
-    <!-- no translation found for non_phone_close (7608506439725515667) -->
-    <skip />
-    <!-- no translation found for widget_name_and_phonetic (8739586586600099979) -->
-    <skip />
-    <!-- no translation found for date_year_toggle (7356532842767854606) -->
-    <skip />
-    <!-- no translation found for social_widget_label (6378905543028924592) -->
-    <skip />
-    <!-- no translation found for social_widget_loading (5327336597364074608) -->
-    <skip />
-    <!-- no translation found for contacts_unavailable_create_contact (7014525713871959208) -->
-    <skip />
-    <!-- no translation found for contacts_unavailable_add_account (7911101713860139754) -->
-    <skip />
-    <!-- no translation found for contacts_unavailable_import_contacts (4957393255392437529) -->
-    <skip />
-    <!-- no translation found for create_group_dialog_title (6874527142828424475) -->
-    <skip />
-    <!-- no translation found for create_group_item_label (4411981763169654825) -->
-    <skip />
-    <!-- no translation found for num_groups_in_account:one (2944819210288517794) -->
-    <!-- no translation found for num_groups_in_account:other (1276758425904917367) -->
-    <!-- no translation found for delete_group_dialog_message (7586856514337560529) -->
-    <skip />
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
-    <!-- no translation found for toast_join_with_empty_contact (2238581529864542985) -->
-    <skip />
-    <!-- no translation found for copy_text (3257145021583508761) -->
-    <skip />
-    <!-- no translation found for set_default (4417505153468300351) -->
-    <skip />
-    <!-- no translation found for clear_default (7193185801596678067) -->
-    <skip />
-    <!-- no translation found for toast_text_copied (5143776250008541719) -->
-    <skip />
-    <!-- no translation found for cancel_confirmation_dialog_message (5885724679874403115) -->
-    <skip />
-    <!-- no translation found for call_type_and_date (747163730039311423) -->
-    <skip />
-    <!-- no translation found for profile_display_name (4127389543625918771) -->
-    <skip />
-    <!-- no translation found for enter_contact_name (1738391320566349924) -->
-    <skip />
-    <!-- no translation found for group_name_hint (238359485263401293) -->
-    <skip />
-    <!-- no translation found for local_profile_title (2021416826991393684) -->
-    <skip />
-    <!-- no translation found for external_profile_title (8034998767621359438) -->
-    <skip />
-    <!-- no translation found for toast_displaying_all_contacts (2737388783898593875) -->
-    <skip />
-    <!-- no translation found for no_account_prompt (7061052512446855192) -->
-    <skip />
-    <!-- no translation found for generic_no_account_prompt (7218827704367325460) -->
-    <skip />
-    <!-- no translation found for generic_no_account_prompt_title (753783911899054860) -->
-    <skip />
-    <!-- no translation found for contact_editor_prompt_zero_accounts (1785345895691886499) -->
-    <skip />
-    <!-- no translation found for contact_editor_prompt_one_account (8669032699767375976) -->
-    <skip />
-    <!-- no translation found for contact_editor_prompt_multiple_accounts (611828200100438242) -->
-    <skip />
-    <!-- no translation found for keep_local (1258761699192993322) -->
-    <skip />
-    <!-- no translation found for add_account (8201790677994503186) -->
-    <skip />
-    <!-- no translation found for add_new_account (5748627740680940264) -->
-    <skip />
-    <!-- no translation found for menu_export_database (2659719297530170820) -->
-    <skip />
-    <!-- no translation found for contact_detail_picture_description (6083230522651287030) -->
-    <skip />
-</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index c17b84e..59b4d48 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Persoane"</string>
+    <string name="people" msgid="1190841469952343354">"Agendă"</string>
     <string name="contactsList" msgid="8661624236494819731">"Agendă"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Persoană din Agendă"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Apel direct"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Alegeţi un număr pentru apelare"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Alegeţi un număr pentru trimiterea mesajului"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Alegeţi o persoană de contact"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Selectați o nouă intrare"</string>
     <string name="starredList" msgid="4817256136413959463">"Cu stea"</string>
     <string name="frequentList" msgid="7154768136473953056">"Frecvent"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favorite"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Detalii ale persoanei din agendă"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Vizualizaţi persoana din agendă"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Modificaţi informaţiile despre persoana din agendă"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Creaţi persoana din agendă"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Editaţi grupul"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Vizualizaţi persoana din agendă"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Adăugaţi la lista de favorite"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Eliminaţi din lista de favorite"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"S-a eliminat din preferințe"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Adăugat la preferințe"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Editaţi"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Ștergeţi"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Plasaţi în ecranul de pornire"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Informaţiile despre această persoană din agendă provin din mai multe conturi. Informaţiile provenite din conturile numai în citire nu vor fi şterse din lista dvs., ci doar ascunse."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Ștergerea acestei persoane din agendă va elimina informaţii din mai multe conturi."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Această persoană va fi ştearsă din agendă."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Renunţaţi"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Renunțați la modificări"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Persoana nu există în agendă."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widgetul Agendă a fost adăugat la ecranul de pornire."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Creaţi o persoană nouă în agendă"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> (de) persoane din agendă cu numere de telefon"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nicio persoană din agendă cu numere de telefon"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 persoană din Agendă"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> (de) persoane din Agendă"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"A fost găsită 1 persoană din agendă"</item>
     <item quantity="other" msgid="3852668542926965042">"Au fost găsite <xliff:g id="COUNT">%d</xliff:g> (de) persoane din agendă"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"A fost găsită 1 persoană din agendă"</item>
     <item quantity="other" msgid="7988132539476575389">"Au fost găsite <xliff:g id="COUNT">%d</xliff:g> (de) persoane din agendă"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Toată Agenda"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupuri"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Toată agenda"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Preferate"</string>
     <string name="callBack" msgid="5498224409038809224">"Apelaţi din nou"</string>
     <string name="callAgain" msgid="3197312117049874778">"Apelaţi din nou"</string>
     <string name="returnCall" msgid="8171961914203617813">"Apelaţi înapoi"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> din <xliff:g id="TOTAL_NUMBER">%s</xliff:g> (de) persoane din agendă"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Numele persoanelor din agenda dvs."</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Nu s-a găsit o aplicaţie care să gestioneze această acţiune."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Dați clic pentru a reveni la ecranul anterior"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Adăugați un număr de telefon"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Adăugaţi o adresă de e-mail"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Nu s-a găsit o aplicație care să îndeplinească această acțiune."</string>
     <string name="menu_share" msgid="943789700636542260">"Distribuiţi"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Adăugați în Agendă"</string>
     <string name="share_via" msgid="563121028023030093">"Distribuiţi persoana din agendă prin"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Creaţi un grup în contul"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Chat vocal"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Utilizaţi această fotografie"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Nu se poate edita din această aplicaţie"</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Nu există informaţii suplimentare pentru acest contact."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Nu poate fi editat pe acest dispozitiv."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Sortaţi lista după"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Prenume"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Numele de familie"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Afișați numele persoanei de contact"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Întâi prenumele"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Întâi numele de familie"</string>
     <string name="take_photo" msgid="7496128293167402354">"Fotografiaţi"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Creaţi o fotografie nouă"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Alegeţi o fotografie din Galerie"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Selectaţi o fotografie nouă din Galerie"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Alegeți o fotografie"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Selectați o fotografie nouă"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Se actualizează lista de persoane din agendă pentru a reflecta schimbarea limbii."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Se actualizează lista de persoane din agendă."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Agenda este în proces de trecere la o versiune superioară. \n\nAcest proces necesită aproximativ <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MO din spaţiul de stocare intern.\n\nAlegeţi una dintre următoarele opţiuni:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Adăugaţi o organizaţie"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Dată"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Nume grup"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"de pe <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"La ora <xliff:g id="DATE">%1$s</xliff:g> de pe <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"preferate"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Editaţi informaţiile despre persoana din agendă"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Copiaţi în Agendă"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Adăugaţi în Agendă"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Director <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Se creează o copie personală..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Personalizată"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Setări"</string>
     <string name="menu_settings" msgid="377929915873428211">"Setări"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Profilul meu local"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Profilul meu <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Se afişează toată agenda"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Aplicaţia Persoane funcţionează mai bine cu un Cont Google.\n\n• Accesaţi aplicaţia din orice browser web.\n• Creaţi în siguranţă copii de rezervă pentru agendă."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Agenda funcționează mai bine cu un Cont Google.\n\n• O puteți accesa din orice browser web.\n• Creați în siguranță backup pentru persoanele de contact."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Păstraţi agenda dvs. în condiţii de siguranţă, chiar dacă pierdeţi telefonul, prin sincronizarea acesteia cu un serviciu online."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Adăugaţi un cont"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Pentru noul contact nu se va crea o copie de rezervă. Adăugați un cont care creează online copii de rezervă pentru contacte?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Noul dvs. contact va fi sincronizat cu <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Puteţi să sincronizaţi noul dvs. contact cu unul dintre următoarele conturi. Pe care doriţi să îl utilizaţi?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Adăugați contact nou"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Editați intrarea"</string>
     <string name="keep_local" msgid="1258761699192993322">"Păstraţi local"</string>
     <string name="add_account" msgid="8201790677994503186">"Adăugaţi un cont"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Adăugaţi un cont nou"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Exportaţi fişierele bazei de date"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Fotografie. Selectați pentru a schimba."</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"adăugați o persoană de contact nouă"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Mai multe detalii"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Mai puține detalii"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Vedeți tot"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Recente"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Despre"</string>
+    <string name="send_message" msgid="8938418965550543196">"Trimiteți mesajul"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Se creează o copie personală..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Ieri"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Mâine"</string>
+    <string name="today" msgid="8041090779381781781">"Astăzi"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Astăzi, la <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Mâine, la <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Eveniment fără titlu)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Setați"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organizaţie"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Pseudonim"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Notă"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Site web"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Eveniment"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relaţie"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"indicații de orientare către locație"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index b88e546..e3827d7 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Контакты"</string>
+    <string name="people" msgid="1190841469952343354">"Контакты"</string>
     <string name="contactsList" msgid="8661624236494819731">"Контакты"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Контакт"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Быстрый звонок"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Выберите номер для вызова"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Выбрать номер для отправки сообщения"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Выбор контакта"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Выберите новый контакт"</string>
     <string name="starredList" msgid="4817256136413959463">"Помеченные"</string>
     <string name="frequentList" msgid="7154768136473953056">"Часто вызываемые"</string>
     <string name="strequentList" msgid="5640192862059373511">"Избранное"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Сведения о контакте"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Просмотреть контакт"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Изменить контакт"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Создать контакт"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Изменение группы"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Просмотреть контакт"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Добавить в избранное"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Удалить из избранных"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Удалено из избранного"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Добавлено в избранное"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Изменить"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Удалить"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Поместить на главный экран"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Этот контакт содержит информацию из различных аккаунтов. Информация из аккаунтов, доступных только для чтения, будет скрыта в ваших списках контактов, но не удалена."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Удаление этого контакта приведет к потере данных из нескольких аккаунтов."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Этот контакт будет удален."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Отменить"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Отмена"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Нет такого контакта."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Виджет \"Контакты\" добавлен на главный экран."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Создать новый контакт"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"Контакты с номерами телефонов: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Нет контактов с номерами телефонов"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"Контактов: 1"</item>
-    <item quantity="other" msgid="3578469907265375314">"Контактов: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Найдено: 1"</item>
     <item quantity="other" msgid="3852668542926965042">"Найдено: <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"Найдено: 1"</item>
     <item quantity="other" msgid="7988132539476575389">"Найдено: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Все контакты"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Группы"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Все"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Избранные"</string>
     <string name="callBack" msgid="5498224409038809224">"Перезвонить"</string>
     <string name="callAgain" msgid="3197312117049874778">"Позвонить снова"</string>
     <string name="returnCall" msgid="8171961914203617813">"Перезвонить"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"Контакт <xliff:g id="CURRENT_NUMBER">%s</xliff:g> из <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Имена контактов"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Действие не поддерживается ни в одном приложении."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Нажмите, чтобы вернуться на предыдущую страницу"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Добавить номер телефона"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Добавить адрес электронной почты"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Действие не поддерживается ни в одном приложении."</string>
     <string name="menu_share" msgid="943789700636542260">"Отправить"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Добавить в контакты"</string>
     <string name="share_via" msgid="563121028023030093">"Способ отправки"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Создание группы в аккаунте"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Голосовой чат"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Использовать эту фотографию"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Здесь доступно только для чтения."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Нет других данных об этом контакте."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Здесь доступно только для чтения."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Упорядочить контакты"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"По имени"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"По фамилии"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Показать контакты"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Сначала имя"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Сначала фамилию"</string>
     <string name="take_photo" msgid="7496128293167402354">"Сфотографировать"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Сфотографировать"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Выбрать из Галереи"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Выбрать из Галереи"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Выбрать фото"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Выбрать другое фото"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Список контактов обновляется после смены языка интерфейса."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Список контактов обновляется..."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Контакты обновляются.\n\nДля этого требуется около <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> МБ внутренней памяти.\n\nВыберите подходящую опцию:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Добавить организацию"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Дата"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Название группы"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"с помощью <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> с помощью <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"избранное"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Изменить контакт"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Копировать в \"Мои контакты\""</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Добавить в группу \"Мои контакты\""</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Каталог <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Копирование..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Пользовательские"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Настройки"</string>
     <string name="menu_settings" msgid="377929915873428211">"Настройки"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Мой профиль"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Мой профиль <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Отображаются все контакты"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Подключите Контакты к аккаунту Google, чтобы:\n\n• Всегда иметь под рукой обновленные данные – на любом устройстве.\n• Синхронизировать все контакты – вы никогда не потеряете их."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Подключите Контакты к аккаунту Google, чтобы:\n\n• Всегда иметь под рукой обновленные данные – на любом устройстве.\n• Синхронизировать все контакты – вы никогда не потеряете их."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Можно потерять телефон, но не контакты... если хранить их в Интернете!"</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Добавить аккаунт"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Резервная копия нового контакта не будет сохранена. Добавить аккаунт для сохранения контактов в Интернете?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Контакт будет добавлен в аккаунт <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Выберите аккаунт, в который следует добавить новый контакт."</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Добавить контакт"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Изменить контакт"</string>
     <string name="keep_local" msgid="1258761699192993322">"Сохранить локально"</string>
     <string name="add_account" msgid="8201790677994503186">"Добавить аккаунт"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Добавить аккаунт"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Экспорт файлов базы данных"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Изображение (нажмите, чтобы изменить)"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"Добавить контакт"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Ещё"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Свернуть"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Показать все"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Недавние"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"О контакте"</string>
+    <string name="send_message" msgid="8938418965550543196">"Отправить сообщение"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Копирование…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Вчера"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Завтра"</string>
+    <string name="today" msgid="8041090779381781781">"Сегодня"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Сегодня, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Завтра, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(мероприятие без названия)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Установить"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Чат"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Организация"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Псевдоним"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Заметка"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Веб-сайт"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Мероприятие"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Отношение"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"Маршруты"</string>
 </resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
new file mode 100644
index 0000000..4c994a8
--- /dev/null
+++ b/res/values-si-rLK/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"සම්බන්ධතා"</string>
+    <string name="contactsList" msgid="8661624236494819731">"සම්බන්ධතා"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"සම්බන්ධතාවය"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"ඍජු ඇමතීම"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"ඍජු පණිවිඩය"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"සම්බන්ධතා කෙටිමඟක් තෝරාගන්න"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"ඇමතීමට අංකයක් තෝරාගන්න"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"පණිවිඩයක් යැවීමට අංකයක් තෝරාගන්න"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"සම්බන්ධතාවයක් තෝරාගන්න"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"අලුත් සම්බන්ධතාවයක් තෝරන්න"</string>
+    <string name="starredList" msgid="4817256136413959463">"තරුව සලකුණු කළ"</string>
+    <string name="frequentList" msgid="7154768136473953056">"නිතර"</string>
+    <string name="strequentList" msgid="5640192862059373511">"ප්‍රියතම"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"සම්බන්ධතා විස්තර"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"සම්බන්ධතාව සංස්කරණය කරන්න"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"සම්බන්ධතාවයක් සාදන්න"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"කණ්ඩායම සංස්කරණය කරන්න"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"කණ්ඩායමක් සාදන්න"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"පිළිබඳ"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"යාවත්කාලීන කිරීම්"</string>
+    <string name="searchHint" msgid="8482945356247760701">"සම්බන්ධතා සෙවීම"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"සම්බන්ධතාව පෙන්වන්න"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"ප්‍රියතම වලට එක් කරන්න"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"ප්‍රියතම වලින් ඉවත් කරන්න"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"ප්‍රියතමයන්ගෙන් ඉවත් කරන්න"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"ප්‍රියතමයන් වෙත එකතු කරන්න"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"සංස්කරණය කරන්න"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"මකන්න"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"මුල් තිරයෙහි තබන්න"</string>
+    <string name="menu_call" msgid="3992595586042260618">"සම්බන්ධතාව අමතන්න"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"සම්බන්ධතාවයට කෙටි පණිවිඩයක් යවන්න"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"වෙන් කරන්න"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"සංස්කරණය කරන්න"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"මකන්න"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"සම්බන්ධතාවය එක් කරන්න"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"කණ්ඩායමක් එක් කරන්න"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"සම්බන්ධතාව වෙන් කරන්නද?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"මෙම සම්බන්ධතාවය සම්බන්ධතා කිහිපයකට වෙන් කෙරෙනු ඇත."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"එකතු වන්න"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"සම්බන්ධතා එකතු කරන්න"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g> සමඟ එක් කළ යුතු සම්බන්ධතාවය තෝරන්න:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"සියලු සම්බන්ධතා පෙන්වන්න"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"යෝජිත සම්බන්ධතා"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"සියලුම සම්බන්ධතා"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"සම්බන්ධතා එක්වුණි"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"රිංග්ටෝනය සකසන්න"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"හඬ තැපෑල වෙත සියලු ඇමතුම්"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"ඔබට සම්බන්ධතා කියවීමට-පමණයි ගිණුම් වලින් මැකිය නොහැක, නමුත් ඔබගේ සම්බන්ධතා ලැයිස්තු තුළ ඔබට ඒවා සැඟවිය හැක."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"මෙම සම්බන්ධතාවයෙහි ගිණුම් කිහිපයකින් තොරතුරු අඩංගු වේ. කියවීමට-පමණයි ගිණුම් වලින් තොරතුරු ඔබගේ සම්බන්ධතා ලැයිස්තු තුළ සඟවා දැමෙන අතර, මකා දැමීම නොකරයි."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"මෙම සම්බන්ධතාවය මකා දැමීමෙන් ගිණුම් කිහිපයකින් තොරතුරු මකා දැමෙනු ඇත."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"මෙම සම්බන්ධතාවය මකා දැමෙනු ඇත."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"වෙනස්කම් ඉවතලන්න"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"සම්බන්ධතාවය නොපවතී."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"මුල් තිරයට සම්බන්ධතා විජටය එක් කරන ලදි."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"නව සම්බන්ධතාවයක් නිර්මාණය කරන්න"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"නව සම්බන්ධතාවයක් නිර්මාණය කරන්න"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"සංවිධානය"</item>
+    <item msgid="7196592230748086755">"සටහන"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"ටැබ්ලටයේ පින්තූර කිසිවක් ලද නොහැක."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"දුරකථනයේ පින්තූර කිසිවක් ලද නොහැක."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"සම්බන්ධතා ඡායාරූපය"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"අභිරුචි ලේබල නම"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"හඬ තැපෑලට ඍජුවම ඇමතුම් යවන්න"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"ඡායාරූපය මකන්න"</string>
+    <string name="noContacts" msgid="8579310973261953559">"සම්බන්ධතා නැත."</string>
+    <string name="noGroups" msgid="8614664663561385253">"කණ්ඩායම් නොමැත."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"කණ්ඩායම් නිර්මාණය කිරීමට ඔබට ගිණුමක් අවශ්‍ය වේ."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"මෙම කණ්ඩායම තුළ පුද්ගලයින් නොමැත."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"කිහිපයක් එක් කිරීමට, කණ්ඩායම සංස්කරණය කරන්න."</string>
+    <string name="savingContact" msgid="4075751076741924939">"සම්බන්ධතාවය සුරකමින්…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"සම්බන්ධතාවය සුරකින ලදි."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"සම්බන්ධතා වෙනස්කම් සුරැකීමට නොහැක."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"කණ්ඩායම සුරකින ලදි."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"කණ්ඩායම් වෙනස්කම් සුරැකීමට නොහැක."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"දුරකථන අංක සහිත සම්බන්ධතා 1"</item>
+    <item quantity="other" msgid="3299954047880968205">"දුරකථන අංක සහිත සම්බන්ධතා <xliff:g id="COUNT">%d</xliff:g>"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"දුරකථන අංක සහිත සම්බන්ධතා නැත"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 ක් සොයාගන්නා ලදී"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> ක් සොයාගන්නා ලදී"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"සම්බන්ධතා නැත"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 ක් සොයාගන්නා ලදී"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> ක් සොයාගන්නා ලදී"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"සියලුම සම්බන්ධතා"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"ප්‍රියතම"</string>
+    <string name="callBack" msgid="5498224409038809224">"නැවත අමතන්න"</string>
+    <string name="callAgain" msgid="3197312117049874778">"නැවත අමතන්න"</string>
+    <string name="returnCall" msgid="8171961914203617813">"ඇමතුම නැවත ලබා දෙන්න"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"සම්බන්ධතා වලට \"<xliff:g id="EMAIL">%s</xliff:g>\" එක් කරන්නද?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"සම්බන්ධතා ඡායාරූපය"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"ධන"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"සම්බන්ධතා <xliff:g id="TOTAL_NUMBER">%s</xliff:g> කින් <xliff:g id="CURRENT_NUMBER">%s</xliff:g> ක්"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"ඔබගේ සම්බන්ධතා වල නම්"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"මෙම ක්‍රියාව හැසිරවීමට යෙදුමක් සොයාගත්තේ නැත"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"පෙර තිරයට යෑම ආපසු යෑම ක්ලික් කරන්න"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"දුරකථන අංකයක් එකතු කරන්න"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"ඊ-තැපෑලක් එකතු කරන්න"</string>
+    <string name="missing_app" msgid="1466111003546611387">"මෙම ක්‍රියාව හැසිරවීමට යෙදුමක් සොයාගත්තේ නැත"</string>
+    <string name="menu_share" msgid="943789700636542260">"බෙදාගන්න"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"සම්බන්ධතා වලට එක් කරන්න"</string>
+    <string name="share_via" msgid="563121028023030093">"ඔස්සේ සම්බන්ධතාවය බෙදාගන්න"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"ගිණුම යටතේ කණ්ඩායමක් නිර්මාණය කරන්න"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"හඬ කතාබහ"</string>
+    <string name="video_chat" msgid="1872255818640336072">"වීඩියෝ කතාබස්"</string>
+    <string name="connections" msgid="8098440723172028350">"සම්බන්ධතා"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"සම්බන්ධතාවයක් එක් කරන්න"</string>
+    <string name="recent" msgid="2659189233141493004">"මෑත"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"මෑත යාවත්කාලීන"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> සම්බන්ධතාව"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"මෙම ඡායාරූපය භාවිත කරන්න"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"මෙම යෙදුමෙන් සංස්කරණය කළ නොහැක."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"මෙම උපාංගයෙහි සංස්කරණය කළ නොහැක"</string>
+    <string name="take_photo" msgid="7496128293167402354">"ඡායාරූපය ගන්න"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"නව ඡායාරූපයක් ගන්න"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"ඡායාරූපය තෝරන්න"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"අලුත් ඡායාරූපය තෝරන්න"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"භාෂා වෙනස්වීම පෙන්වීමට සම්බන්ධතා ලැයිස්තුව යාවත්කාලීන වෙමින් පවතී"</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"සම්බන්ධතා ලැයිස්තුව යාවත්කාලීන වෙමින් පවතී."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"සම්බන්ධතා උත්ශ්‍රේණි ක්‍රියාවලියක තිබේ. \n\nඋත්ශ්‍රේණි ක්‍රියාවට <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB ක අභ්‍යන්තර දුරකථන ආචයනයක් ආසන්න වශයෙන් අවශ්‍ය වේ.\n\nපහත විකල්ප වලින් එකක් තෝරාගන්න:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"සමහර යෙදුම් අස්ථාපනය කරන්න"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"උත්ශ්‍රේණි කිරීම නැවත උත්සාහ කරන්න"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"සොයමින්..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"තෝරාගත් ඒවා පෙන්වන්න"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"සියල්ල පෙන්වන්න"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"සියල්ල තෝරන්න"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"සියල්ල තේරීම ඉවත් කරන්න"</string>
+    <string name="add_field" msgid="2384260056674995230">"තවත් ක්ෂේත්‍රයක් එක් කරන්න"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"නව දෙයක් එක් කරන්න"</string>
+    <string name="add_organization" msgid="7311893231158291197">"සංවිධානය එක් කරන්න"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"දිනය"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"කණ්ඩායම් නම"</string>
+    <string name="description_star" msgid="2605854427360036550">"ප්‍රියතම"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"සම්බන්ධතාව සංස්කරණය කරන්න"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"ඒකාබද්ධ කර නැත"</item>
+    <item quantity="other" msgid="425683718017380845">"මූලාශ්‍ර <xliff:g id="COUNT">%0$d</xliff:g> කින් ඒකාබද්ධ කර ඇත"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"වත්මන් සම්බන්ධතාවය තෝරාගෙන ඇති සම්බන්ධතාවය සමඟ එකතු කරන්නද?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"තෝරාගෙන ඇති සම්බන්ධතාවය සංස්කරණය කිරීමට මාරු වෙන්නද? ඔබ දැනට ඇතුළු කළ තොරතුරු පිටපත් වනු ඇත."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"මගේ සම්බන්ධතා වෙතට පිටපත් කරන්න"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"මගේ සම්බන්ධතා වලට එක් කරන්න"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"<xliff:g id="TYPE">%1$s</xliff:g> නාමාවලිය"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"අභිරුචි"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"සැකසීම්"</string>
+    <string name="menu_settings" msgid="377929915873428211">"සැකසීම්"</string>
+    <string name="menu_help" msgid="5123887102216637725">"සහාය"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"පෙන්වීම් විකල්ප"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"දුරකථන අංකය"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"සම්බන්ධතා වලට එක් කරන්න"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"සම්බන්ධතාවය වෙත එක් කරන්න"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"වසන්න"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"අවුරුද්දක් සපයන්න"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"සම්බන්ධතාවය"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"පූරණය වෙමින්..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"නව සම්බන්ධතාවයක් නිර්මාණය කරන්න"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"ගිණුමකට පුරනය වන්න"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"සම්බන්ධතා ආයාත කරන්න"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"නව කණ්ඩායමක් නිර්මාණය කරන්න"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"නව කණ්ඩායමක් නිර්මාණය කිරීම"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"කණ්ඩායම් 1"</item>
+    <item quantity="other" msgid="1276758425904917367">"කණ්ඩායම් <xliff:g id="COUNT">%0$d</xliff:g>"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" කණ්ඩායම මකා දමන්නද? (සම්බන්ධතා මකා දමන්නේ නැත.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> වෙතින් පුද්ගලයින් <xliff:g id="COUNT_0">%1$d</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> වෙතින් පුද්ගලයින් <xliff:g id="COUNT_0">%1$d</xliff:g>"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"පුද්ගලයින් <xliff:g id="COUNT">%1$d</xliff:g>"</item>
+    <item quantity="other" msgid="6251996206137048525">"පුද්ගලයින් <xliff:g id="COUNT">%1$d</xliff:g>"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"වෙනත් එකක් සමඟ එක් කිරීමට කලින් සම්බන්ධතා නම ටයිප් කරන්න."</string>
+    <string name="copy_text" msgid="3257145021583508761">"පසුරු පුවරුවට පිටපත් කරන්න"</string>
+    <string name="set_default" msgid="4417505153468300351">"සුපුරුදු ලෙස සකසන්න"</string>
+    <string name="clear_default" msgid="7193185801596678067">"සුපුරුදු හිස් කරන්න"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"පෙළ පිටපත් කරන ලදී"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"ඔබගේ වෙනස්කම් ඉවතලන්නද?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"මගේ පැතිකඩ සකසන්න"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"පුද්ගලයාගේ නම ටයිප් කරන්න"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"කණ්ඩායමේ නම"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"මගේ දේශීය පැතිකඩ"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"මගේ <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> පැතිකඩ"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"සියලු සම්බන්ධතා පෙන්වමින්"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"සම්බන්ධතා Google ගිණුමක් හා වඩාත් හොඳින් වැඩ කරයි.\n\n• ඕනෑම වෙබ් බ්‍රවුසරයක් වෙතින් එයට ප්‍රවේශ වන්න\n• ඔබගේ සම්බන්ධතා ආරක්ෂිතව උපස්ථ කරන්න."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"ඔබගේ දුරකථනය නොමැති වුවත් සම්බන්ධතා සුරක්ෂිතව තබන්න: සබැඳි සේවාවක් සමඟ සමමුහුර්ත කරන්න."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"ගිණුමක් එක් කරන්න"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"ඔබගේ නව සම්බන්ධතාවය උපස්ථ නොවනු ඇත. ඔබගේ සම්බන්ධතා සබැඳිව උපස්ථ කරන ගිණුමක් එක් කරන්නද?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"ඔබගේ නව සම්බන්ධතාවය <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> සමඟ සමමුහුර්ත වනු ඇත."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"ඔබගේ පහත ගිණුම් වලින් එකක් සමඟ ඔබගේ නව සම්බන්ධතාවය සමමුහුර්ත කළ හැක. ඔබට භාවිතා කිරීමට අවශ්‍ය කුමක්ද?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"නව සම්බන්ධතා එකතු කරන්න"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"සම්බන්ධතාව සංස්කරණය කරන්න"</string>
+    <string name="keep_local" msgid="1258761699192993322">"පෙදෙසිව තබාගන්න"</string>
+    <string name="add_account" msgid="8201790677994503186">"ගිණුමක් එකතු කරන්න"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"නව ගිණුමක් එක් කරන්න"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"දත්ත සමුදා ගොනු නිර්යාත කරන්න"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"නව සම්බන්ධතා එකතු කරන්න"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"තව බලන්න"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"අඩුවෙන් බලන්න"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"සියල්ල බලන්න"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"මෑත"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"පිළිබඳ"</string>
+    <string name="send_message" msgid="8938418965550543196">"පණිවිඩය යවන්න"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"පුද්ගලික පිටපතක් නිර්මාණය කරමින්..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"ඊයේ"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"හෙට"</string>
+    <string name="today" msgid="8041090779381781781">"අද"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"අද <xliff:g id="TIME_INTERVAL">%s</xliff:g> ට"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"හෙට <xliff:g id="TIME_INTERVAL">%s</xliff:g> ට"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(නම් නොකළ සිදුවීම)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"සකසන්න"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"සංවිධානය"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"අපනාමය"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"සටහන"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"වෙබ් අඩවිය"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"සිදුවීම"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"සම්බන්ධතාව"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"ස්ථානයට දිශාවන්"</string>
+</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index df86a2e..da0bed8 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Ľudia"</string>
+    <string name="people" msgid="1190841469952343354">"Kontakty"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kontakty"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kontakt"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Priame vytáčanie"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Výber čísla pre hovor"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Výber čísla pre správu"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Vyberte kontakt"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Vybrať nový kontakt"</string>
     <string name="starredList" msgid="4817256136413959463">"Označené hviezdičkou"</string>
     <string name="frequentList" msgid="7154768136473953056">"Časté"</string>
     <string name="strequentList" msgid="5640192862059373511">"Obľúbené"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Podrobnosti kontaktu"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Zobraziť kontakt"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Upraviť kontakt"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Vytvoriť kontakt"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Upraviť skupinu"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Zobraziť kontakt"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Pridať medzi obľúbené položky"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Odstrániť z obľúbených"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Odstránené z obľúbených"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Pridané medzi obľúbené"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Upraviť"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Odstrániť"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Umiestniť na plochu"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Tento kontakt obsahuje informácie z niekoľkých účtov. Informácie z účtov iba na čítanie budú v zoznamoch kontaktov skryté, ale nebudú odstránené."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Odstránením tohto kontaktu odstránite informácie z viacerých účtov."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Tento kontakt bude odstránený."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Zahodiť"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Zahodiť zmeny"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Kontakt neexistuje."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Miniaplikácia Kontakty bola pridaná na plochu."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Vytvoriť nový kontakt"</string>
@@ -76,7 +78,7 @@
   </string-array>
     <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"V tablete nie sú k dispozícii žiadne fotografie."</string>
     <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"V telefónne nie sú žiadne fotografie."</string>
-    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Fotografie kontaktu"</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Fotka kontaktu"</string>
     <string name="customLabelPickerTitle" msgid="1081475101983255212">"Vlastný názov menovky"</string>
     <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Presmerovať hovory priamo do hlasovej schránky"</string>
     <string name="removePhoto" msgid="4898105274130284565">"Odstrániť fotografiu"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"Počet kontaktov s telefónnymi číslami: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ku kontaktom nie sú priradené žiadne telefónne čísla"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"Počet kontaktov: 1"</item>
-    <item quantity="other" msgid="3578469907265375314">"Počet kontaktov: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Počet nájdených položiek: 1"</item>
     <item quantity="other" msgid="3852668542926965042">"Počet nájdených položiek: <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"Počet nájdených položiek: 1"</item>
     <item quantity="other" msgid="7988132539476575389">"Počet nájdených položiek: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Všetky kontakty"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Skupiny"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Všetky"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Obľúbené"</string>
     <string name="callBack" msgid="5498224409038809224">"Zavolať späť"</string>
     <string name="callAgain" msgid="3197312117049874778">"Zavolať znova"</string>
     <string name="returnCall" msgid="8171961914203617813">"Zavolať späť"</string>
@@ -119,11 +117,16 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> z <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontaktov"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Mená vašich kontaktov"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Aplikácia potrebná na spracovanie tejto akcie sa nenašla."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Kliknutím na tlačidlo sa vrátite na predchádzajúcu obrazovku."</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Pridať telefónne číslo"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Pridať e-mailovú adresu"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Aplikácia potrebná na spracovanie tejto akcie sa nenašla."</string>
     <string name="menu_share" msgid="943789700636542260">"Zdieľať"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Pridať do kontaktov"</string>
     <string name="share_via" msgid="563121028023030093">"Zdieľať kontakt pomocou"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Vytvoriť skupinu v účte"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Hlasový rozhovor"</string>
-    <string name="video_chat" msgid="1872255818640336072">"Videorozhovor"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Videohovor"</string>
     <string name="connections" msgid="8098440723172028350">"Spojenia"</string>
     <string name="add_connection_button" msgid="4861308615789601727">"Pridať spojenie"</string>
     <string name="recent" msgid="2659189233141493004">"Nedávne"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Použiť túto fotografiu"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Nemožno upraviť pomocou tejto aplikácie."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Pri tomto kontakte nie sú uvedené žiadne ďalšie informácie."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Nie je možné upraviť v tomto zariadení."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Zoradiť zoznam podľa"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Krstné meno"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Priezvisko"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Zobraziť mená kontaktov"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Najskôr krstné meno"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Najskôr priezvisko"</string>
     <string name="take_photo" msgid="7496128293167402354">"Zaznamenať fotografiu"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Urobiť novú fotografiu"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Vybrať fotografiu z Galérie"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Vybrať novú fotografiu z Galérie"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Vybrať fotku"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Vybrať novú fotku"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"V súvislosti so zmenou jazyka prebieha aktualizácia zoznamu kontaktov."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Prebieha aktualizácia zoznamu kontaktov."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Prebieha inovácia kontaktov. \n\nInovácia vyžaduje približne <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB internej pamäte. \n\nZvoľte jednu z nasledujúcich možností:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Pridať organizáciu"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Dátum"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Názov skupiny"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">", zdroj: <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g>, zdroj: <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"zaradiť medzi obľúbené"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Upraviť kontakt"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Skopírovať do priečinka Moje kontakty"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Pridať medzi moje kontakty"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Adresár <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Prebieha vytváranie osobnej kópie..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Vlastné"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Nastavenia"</string>
     <string name="menu_settings" msgid="377929915873428211">"Nastavenia"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Môj miestny profil"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Môj profil <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Zobrazenie všetkých kontaktov"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Aplikácia Ľudia funguje lepšie s účtom Google.\n\n• Môžete k nej pristupovať z akéhokoľvek webového prehliadača\n• Bezpečne zálohujte svoje kontakty."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kontakty fungujú lepšie s účtom Google.\n\n• Môžete k nim pristupovať z akéhokoľvek webového prehliadača.\n• Zálohujte svoje kontatky bezpečne."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Uchovávajte svoje kontakty v bezpečí aj v prípade straty svojho telefónu: používajte synchronizáciu so službou online."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Pridať účet"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Váš nový kontakt nebude zálohovaný. Chcete pridať účet na zálohovanie kontaktov online?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Nový kontakt bude synchronizovaný s účtom <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Nový kontakt môžete synchronizovať s jedným z nasledujúcich účtov. Ktorý z nich chcete použiť?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Pridať nový kontakt"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Upraviť kontakt"</string>
     <string name="keep_local" msgid="1258761699192993322">"Zachovať miestne"</string>
     <string name="add_account" msgid="8201790677994503186">"Pridať účet"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Pridať nový účet"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Exportovať súbory databázy"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Obrázok. Ak ho chcete zmeniť, vyberte ho"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"pridať nový kontakt"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Zobraziť viac"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Zobraziť menej"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Zobraziť všetko"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Nedávne"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"O aplikácii"</string>
+    <string name="send_message" msgid="8938418965550543196">"Odoslať správu"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Vytvára sa osobná kópia..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Včera"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Zajtra"</string>
+    <string name="today" msgid="8041090779381781781">"Dnes"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Dnes o <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Zajtra o <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Udalosť bez názvu)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Nastaviť"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Okamžité správy"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organizácia"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Prezývka"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Poznámka"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Webové stránky"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Udalosť"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Vzťah"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"trasa do miesta"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index a28eaaa..6257909 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Ljudje"</string>
+    <string name="people" msgid="1190841469952343354">"Stiki"</string>
     <string name="contactsList" msgid="8661624236494819731">"Stiki"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Vizitka"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Bližnjice za klicanje"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Izberite klicno številko"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Izberi številko za pošiljanje sporočila"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Izbira stika"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Izbira novega stika"</string>
     <string name="starredList" msgid="4817256136413959463">"Z zvezdico"</string>
     <string name="frequentList" msgid="7154768136473953056">"Pogosto"</string>
     <string name="strequentList" msgid="5640192862059373511">"Priljubljene"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Podrobnosti o stiku"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Ogled stika"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Urejanje stika"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Ustvari stik"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Uredi skupino"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Ogled stika"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Dodaj k priljubljenim"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Odstrani iz priljubljenih"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Odstranjeno iz priljubljenih"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Dodano med priljubljene"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Uredi"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Izbriši"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Postavi na začetni zaslon"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Ta stik vsebuje podatke iz več računov. Podatki iz računov samo za branje ne bodo izbrisani s seznamov stikov, temveč bodo samo skriti."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Če boste izbrisali ta stik, boste izbrisali podatke iz več računov."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Ta stik bo izbrisan."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Zavrzi"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Zavrzi spremembe"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Stik ne obstaja."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Pripomoček za stik dodan na začetni zaslon."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Ustvari nov stik"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> stikov s telefonskimi številkami"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ni stikov s telefonskimi številkami"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 stik"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> stikov"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 najden"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> najdenih"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 najden"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> najdenih"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Vsi stiki"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Skupine"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Vsi stiki"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Priljubljeno"</string>
     <string name="callBack" msgid="5498224409038809224">"Povratni klic"</string>
     <string name="callAgain" msgid="3197312117049874778">"Ponovi klic"</string>
     <string name="returnCall" msgid="8171961914203617813">"Povratni klic"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> od <xliff:g id="TOTAL_NUMBER">%s</xliff:g> stikov"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Imena stikov"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Programa za obravnavo tega dejanja ni mogoče najti."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Kliknite za vrnitev na prejšnji zaslon"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Dodaj telefonsko številko"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Dodaj e-poštni naslov"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Za to dejanje ni mogoče najti nobene aplikacije."</string>
     <string name="menu_share" msgid="943789700636542260">"Skupna raba"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Dodaj med stike"</string>
     <string name="share_via" msgid="563121028023030093">"Deli stik z drugimi prek"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Ustvari skupino v računu"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Glasovni klepet"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Uporabi to fotografijo"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"S tem programom urejanje ni mogoče."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Za ta stik ni nobenih drugih podatkov"</string>
     <string name="group_read_only" msgid="1061762906115697637">"V tej napravi ni mogoče urejati skupine."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Razvrsti seznam po"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Ime"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Priimek"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Prikaži imena stikov"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Najprej ime"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Najprej priimek"</string>
     <string name="take_photo" msgid="7496128293167402354">"Posnemi fotografijo"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Posnemi novo fotografijo"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Izberite fotografijo iz galerije"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Izberi novo fotografijo iz Galerije"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Izberite fotografijo"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Izberite novo fotografijo"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Seznam stikov se posodablja glede na izbrani jezik."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Seznam stikov se posodablja."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Stiki se nadgrajujejo.\n\nZa nadgradnjo je potrebno približno <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB notranjega pomnilnika telefona.\n\nIzberite eno od teh možnosti:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Dodaj organizacijo"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Datum"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Ime skupine"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"prek <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> prek <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"priljubljeno"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Uredi stik"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopiraj v moje stike"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Dodaj v skupino »Moji stiki«"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Imenik <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Ustvarjanje osebne kopije ..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Po meri"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Nastavitve"</string>
     <string name="menu_settings" msgid="377929915873428211">"Nastavitve"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Moj lokalni profil"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Moj profil za <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Prikaz vseh stikov"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Program Ljudje deluje bolje z Google Računom.\n\n• Do njega lahko dostopate v katerem koli spletnem brskalniku.\n• Varno varnostno kopiranje stikov."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Stiki delujejo bolje z Google Računom.\n\n• Dostop iz poljubnega brskalnika.\n• Varno varnostno kopiranje stikov."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Naj bodo vaš stiki na varnem, tudi če izgubite telefon: sinhronizirajte s spletno storitvijo."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Dodajanje računa"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Nov stik ne bo varnostno kopiran. Želite dodati račun za varnostno kopiranje stikov v internetu?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Nov stik bo sinhroniziran z računom <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Nov stik lahko sinhronizirate z enim od teh računov. Katerega želite uporabiti?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Dodaj. novega stika"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Urejanje stika"</string>
     <string name="keep_local" msgid="1258761699192993322">"Ohrani lokalno"</string>
     <string name="add_account" msgid="8201790677994503186">"Dodaj račun"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Dodaj nov račun"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Izvoz datotek zbirke"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Slika. Izberite, da spremenite"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"dodaj novi stik"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Pokaži več"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Pokaži manj"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Pokaži vse"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Nedavno"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Vizitka"</string>
+    <string name="send_message" msgid="8938418965550543196">"Pošlji sporočilo"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Ustvarjanje osebne kopije ..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Včeraj"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Jutri"</string>
+    <string name="today" msgid="8041090779381781781">"Danes"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Danes ob <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Jutri ob <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Neimenovani dogodek)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Nastavi"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Takojšnje sporočanje"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organizacija"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Vzdevek"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Opomba"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Spletno mesto"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Dogodek"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Razmerje"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"navodila do mesta"</string>
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 2ae4f2e..5012f06 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Особе"</string>
+    <string name="people" msgid="1190841469952343354">"Контакти"</string>
     <string name="contactsList" msgid="8661624236494819731">"Контакти"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Контакт"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Директно бирање"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Одаберите број за позив"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Одаберите број за слање порука"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Изаберите контакт"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Изаберите нови контакт"</string>
     <string name="starredList" msgid="4817256136413959463">"Са звездицом"</string>
     <string name="frequentList" msgid="7154768136473953056">"Чести"</string>
     <string name="strequentList" msgid="5640192862059373511">"Омиљено"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Детаљи о контакту"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Прикажи контакт"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Измени контакт"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Направи контакт"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Измени групу"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Прикажи контакт"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Додај у омиљене контакте"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Уклони из омиљених контаката"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Уклоњено је из Омиљеног"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Додато је у Омиљено"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Измени"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Избриши"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Постави на Почетни екран"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Овај контакт садржи информације из више налога. Информације из налога који су само за читање неће бити избрисане са листе контаката, него скривене."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Ако избришете овај контакт, биће избрисане информације са више налога."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Овај контакт ће бити избрисан."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Одбаци"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Одбаци промене"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Контакт не постоји."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Виџет за контакте је додат на Почетни екран."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Направите нови контакт"</string>
@@ -87,18 +89,14 @@
     <string name="addPeopleToGroup" msgid="7879585947222263516">"Да бисте додали неке, измените групу."</string>
     <string name="savingContact" msgid="4075751076741924939">"Чување контакта је у току..."</string>
     <string name="contactSavedToast" msgid="7152589189385441091">"Контакт је сачуван."</string>
-    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Није било могуће сачувати измене контаката."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Није могуће сачувати измене контаката."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Група је сачувана."</string>
-    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Није било могуће сачувати измене група."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Није могуће сачувати измене група."</string>
   <plurals name="listTotalPhoneContacts">
     <item quantity="one" msgid="3015357862286673986">"1 контакт са бројем телефона"</item>
     <item quantity="other" msgid="3299954047880968205">"Бр. контаката са бројевима телефона: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Нема контаката са бројевима телефона"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 контакт"</item>
-    <item quantity="other" msgid="3578469907265375314">"Kонтаката: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 пронађен"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> пронађено"</item>
@@ -108,18 +106,23 @@
     <item quantity="one" msgid="4826918429708286628">"1 пронађен"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> пронађено"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Сви контакти"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Групе"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Сви контакти"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Омиљено"</string>
     <string name="callBack" msgid="5498224409038809224">"Узврати позив"</string>
     <string name="callAgain" msgid="3197312117049874778">"Позови поново"</string>
     <string name="returnCall" msgid="8171961914203617813">"Узврати позив"</string>
-    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Желите ли да додате адресу е-поште „<xliff:g id="EMAIL">%s</xliff:g>“ у контакте?"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Желите ли да додате имејл адресу „<xliff:g id="EMAIL">%s</xliff:g>“ у контакте?"</string>
     <string name="description_contact_photo" msgid="3387458082667894062">"фотографија контакта"</string>
     <string name="description_plus_button" msgid="515164827856229880">"плус"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> од <xliff:g id="TOTAL_NUMBER">%s</xliff:g> контак(а)та"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Имена контаката"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Није пронађена ниједна апликација која би могла да изврши ову радњу."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Кликните да бисте се вратили на претходни екран"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Додајте број телефона"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Додајте имејл"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Није пронађена ниједна апликација која би могла да обави ову радњу."</string>
     <string name="menu_share" msgid="943789700636542260">"Дели"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Додај у контакте"</string>
     <string name="share_via" msgid="563121028023030093">"Дели контакт преко"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Прављење групе на налогу"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Аудио ћаскање"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Користи ову фотографију"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Не може да се измени из ове апликације."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Нема додатних информацијa за овај контакт."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Не може да се мења на овом уређају."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Сортирај листу према"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Име"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Презиме"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Прикажи имена контаката"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Најпре име"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Прво презиме"</string>
     <string name="take_photo" msgid="7496128293167402354">"Сними фотографију"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Направи нову фотографију"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Изаберите фотографију из Галерије"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Изаберите нову фотографију из галерије"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Изаберите слику"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Изаберите нову слику"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Контакт листа се ажурира у складу са променом језика."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Контакт листа се ажурира."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"У току је надоградња контаката. \n\nПроцес надоградње захтева око <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB интерне меморије.\n\nИзаберите једну од следећих опција:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Додај организацију"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Датум"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Назив групе"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"преко <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> преко <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"омиљено"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Измени контакт"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Копирај у моје контакте"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Додај у Моје контакте"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Каталог <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Прављење личне копије..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Прилагођено"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Подешавања"</string>
     <string name="menu_settings" msgid="377929915873428211">"Подешавања"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Мој локални профил"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Мој <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> профил"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Приказани су сви контакти"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Апликација Људи боље функционише са Google налогом.\n\n• Приступајте из било ког веб прегледача.\n• Безбедно направите резервне копије контаката."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Контакти боље функционишу са Google налогом.\n\n• Приступајте из било ког веб-прегледача.\n• Безбедно направите резервне копије контаката."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Очувајте безбедност контаката чак и ако изгубите телефон – синхронизујте са услугом на мрежи."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Додавање налога"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Неће бити направљена резервна копија новог контакта. Желите ли да додате налог који прави резервну копију контаката на мрежи?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Нови контакт ће бити синхронизован са налогом <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Можете да синхронизујете нови контакт са једним од следећих налога. Који желите да користите?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Додај нови контакт"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Измени контакт"</string>
     <string name="keep_local" msgid="1258761699192993322">"Задржи локално"</string>
     <string name="add_account" msgid="8201790677994503186">"Додај налог"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Додај нови налог"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Извези датотеке базе података"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Слика. Додирните да бисте променили"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"додавање новог контакта"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Прикажи више"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Прикажи мање"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Прикажи све"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Недавно"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Основни подаци"</string>
+    <string name="send_message" msgid="8938418965550543196">"Пошаљи поруку"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Прављење личне копије..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Јуче"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Сутра"</string>
+    <string name="today" msgid="8041090779381781781">"Данас"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Данас у <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Сутра у <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Ненасловљени догађај)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Подеси"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Размена тренутних порука"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Организација"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Надимак"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Белешка"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Веб-сајт"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Догађај"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Однос"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"упутства до локације"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index d69091a..9dbdc12 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Personer"</string>
+    <string name="people" msgid="1190841469952343354">"Kontakter"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kontakter"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kontakt"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Direktval"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Välj ett nummer som du vill ringa"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Välj ett nummer för meddelandet"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Välj en kontakt"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Välj ny kontakt"</string>
     <string name="starredList" msgid="4817256136413959463">"Stjärnmärkta"</string>
     <string name="frequentList" msgid="7154768136473953056">"Ofta"</string>
     <string name="strequentList" msgid="5640192862059373511">"Favoriter"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Kontaktuppgifter"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Visa kontakt"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Redigera kontakt"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Skapa kontakt"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Redigera grupp"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Visa kontakt"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Lägg till i Favoriter"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Ta bort från Favoriter"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Borttagen från favoriter"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Har lagts till i Favoriter"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Redigera"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Ta bort"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Placera på startskärmen"</string>
@@ -58,14 +60,14 @@
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Visa alla kontakter"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Föreslagna kontakter"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alla kontakter"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Deltagande kontakter"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakterna har slagits ihop"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Ställ in ringsignal"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Alla samtal till röstbrevlådan"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Du kan inte ta bort kontakter från skrivskyddade konton, men du kan dölja dem i kontaktlistorna."</string>
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Den här kontakten har information från flera konton. Information från skrivskyddade konton döljs i kontaktlistan, men tas inte bort."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Om du tar bort den här kontakten tar du bort information från flera konton."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Kontakten kommer att tas bort."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Ignorera"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Ignorera ändringar"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Kontakten finns inte."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Widget för kontakt har lagts till på startskärmen."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Skapa ny kontakt"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontakter med telefonnummer"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Inga kontakter med telefonnummer"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 kontakt"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> kontakter"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 hittades"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> hittades"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 hittades"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> hittades"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Alla kontakter"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Grupper"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Alla kontakter"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoriter"</string>
     <string name="callBack" msgid="5498224409038809224">"Ring upp"</string>
     <string name="callAgain" msgid="3197312117049874778">"Ring igen"</string>
     <string name="returnCall" msgid="8171961914203617813">"Ring upp"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> av <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakter"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Dina kontakters namn"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Ingen app som kan hantera åtgärden hittades."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Klicka om du vill återvända till föregående skärm"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Lägg till telefonnummer"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Lägg till e-post"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Ingen app som kan hantera åtgärden hittades"</string>
     <string name="menu_share" msgid="943789700636542260">"Dela"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Lägg till i Kontakter"</string>
     <string name="share_via" msgid="563121028023030093">"Dela kontakt via"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Skapa grupp under konto"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Röstchatt"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Använd det här fotot"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Kan inte redigeras från den här appen."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Det finns ingen mer information för kontakten."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Kan inte redigeras i den här enheten."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Sortera lista efter"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Förnamn"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Efternamn"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Visa kontaktnamn"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Förnamn först"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Efternamn först"</string>
     <string name="take_photo" msgid="7496128293167402354">"Ta en bild"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Ta ny bild"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Välj ett foto från galleriet"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Välj nytt foto från galleriet"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Välj foto"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Välj ett nytt foto"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Kontaktlistan uppdateras så att språkändringen visas."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Kontaktlistan uppdateras."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontakterna håller på att uppgraderas. \n\nUppgraderingen kräver ungefär <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB av det interna minnet.\n\nVälj något av följande alternativ:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Lägg till organisation"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Datum"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Gruppnamn"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"via <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> via <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favorit"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Redigera kontakt"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopiera till mina kontakter"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Lägg till i mina kontakter"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Katalog <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"En personlig kopia skapas ..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Anpassad"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Inställningar"</string>
     <string name="menu_settings" msgid="377929915873428211">"Inställningar"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Min lokala profil"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Min <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>-profil"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Visar alla kontakter"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Appen People fungerar bättre med ett Google-konto.\n\n• Öppna den i valfri webbläsare.\n• Säkerhetskopiera dina kontakter säkert."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kontakter fungerar bättre med ett Google-konto.\n\n• Åtkomst från alla webbläsare.\n• Säkerhetskopiera dina kontakter på ett säkert sätt."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Skydda dina kontakter även om du förlorar mobilen. Synkronisera med en onlinetjänst."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Lägg till ett konto"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Din nya kontakt kommer inte att säkerhetskopieras. Vill du lägga till ett konto så att kontakterna säkerhetskopieras online?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Din nya kontakt kommer att synkroniseras med <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> ."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Du kan synkronisera din nya kontakt med något av följande konton. Vilket konto vill du använda?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Lägg till ny kontakt"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Redigera kontakt"</string>
     <string name="keep_local" msgid="1258761699192993322">"Spara lokalt"</string>
     <string name="add_account" msgid="8201790677994503186">"Lägg till ett konto"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Lägg till ett nytt konto"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Exportera databasfiler"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Bild. Välj om du vill ändra"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"lägg till ny kontakt"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Visa mer"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Visa mindre"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Visa alla"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Senaste"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Om"</string>
+    <string name="send_message" msgid="8938418965550543196">"Skicka meddelande"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Skapar en personlig kopia ..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"I går"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"I morgon"</string>
+    <string name="today" msgid="8041090779381781781">"I dag"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"I dag kl. <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"I morgon kl. <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(händelse utan titel)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Ange"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Chatt"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisation"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Kortnamn"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Anteckning"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Webbplats"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Händelse"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Relation"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"vägbeskrivning till plats"</string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 70d2f0f..dc6cb7b 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Watu"</string>
+    <string name="people" msgid="1190841469952343354">"Anwani"</string>
     <string name="contactsList" msgid="8661624236494819731">"Anwani"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Anwani"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Upigaji wa moja kwa moja"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Chagua nambari ya kupiga"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Chagua nambari ya kutumia ujumbe"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Chagua mwasiliani"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Chagua anwani mpya"</string>
     <string name="starredList" msgid="4817256136413959463">"Zenye nyota"</string>
     <string name="frequentList" msgid="7154768136473953056">"Mara kwa mara"</string>
     <string name="strequentList" msgid="5640192862059373511">"Vipendwa"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Maelezo ya anwani"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Angalia anwani"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Hariri anwani"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Unda anwani"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Hariri kikundi"</string>
@@ -39,14 +39,16 @@
     <string name="searchHint" msgid="8482945356247760701">"Tafuta anwani"</string>
     <string name="menu_viewContact" msgid="2795575601596468581">"Tazama anwani"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Ongeza kwa vipendwa"</string>
-    <string name="menu_removeStar" msgid="5844227078364227030">"Ondoa kutoka kwa vipendwa vyako"</string>
-    <string name="menu_editContact" msgid="9042415603857662633">"Hariri"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Ondoa kwenye vipendwa"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Imeondolowa kwenye vipendewa"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Imeongezwa kwenye vipendwa"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Badilisha"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Futa"</string>
-    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Weka kwenye skrini ya Kwanza"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Weka kwenye skrini ya Mwanzo"</string>
     <string name="menu_call" msgid="3992595586042260618">"Mpigie"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Tuma ujumbe kwa anwani"</string>
     <string name="menu_splitAggregate" msgid="8368636463748691868">"Kando"</string>
-    <string name="menu_editGroup" msgid="5062005185370983720">"Hariri"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Badilisha"</string>
     <string name="menu_deleteGroup" msgid="3486380004411482874">"Futa"</string>
     <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Ongeza Anwani"</string>
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Ongeza Kikundi"</string>
@@ -60,16 +62,16 @@
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Anwani zote"</string>
     <string name="contactsJoinedMessage" msgid="7208148163607047389">"Anwani zimeunganishwa"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Weka mlio wa simu"</string>
-    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Simu zote ziwekewe ujumbe wa sauti"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Simu zijibiwe kwa ujumbe-sauti"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Huwezi kufuta anwani kutoka kwa akaunti ya kusoma-tu, lakini unaweza kuzificha katika orodha zako za anwani."</string>
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Anwani hii ina maelezo kutoka kwa akaunti nyingi. Maelezo kutoka kwa akaunti za soma-tu zitafichwa katika orodha zako za anwani, sio kufutwa."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Kufuta anwani hii kutafuta maelezo kutoka kwa akaunti nyingi."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Mwasiliani huyu atafutwa."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Tupa"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Usihifadhi mabadiliko"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Mwasiliani hayupo."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Wijeti ya mawasiliano imeongezwa kwenye skrini ya Nyumbani."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Weka anwani mpya"</string>
-    <string name="pickerNewContactText" msgid="6166997164401048211">"Anzisha mwasiliani mpya"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Ongeza anwani mpya"</string>
   <string-array name="otherLabels">
     <item msgid="8287841928119937597">"Shirika"</item>
     <item msgid="7196592230748086755">"Hati"</item>
@@ -78,7 +80,7 @@
     <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Hakuna picha zinazopatikana kwenye simu."</string>
     <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Picha ya anwani"</string>
     <string name="customLabelPickerTitle" msgid="1081475101983255212">"Jina maalum la lebo"</string>
-    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Tuma simu moja kwa moja kwa barua ya sauti"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Tuma simu moja kwa moja kwenye ujumbe wa sauti"</string>
     <string name="removePhoto" msgid="4898105274130284565">"Ondoa picha"</string>
     <string name="noContacts" msgid="8579310973261953559">"Hakuna anwani."</string>
     <string name="noGroups" msgid="8614664663561385253">"Hakuna vikundi."</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"Anwani <xliff:g id="COUNT">%d</xliff:g> zilizo na nambari ya simu"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Hakuna anwani zilizo na nambari za simu"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"Anwani 1"</item>
-    <item quantity="other" msgid="3578469907265375314">"Anwani <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Imepatikana 1"</item>
     <item quantity="other" msgid="3852668542926965042">"Patikana <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"Patikana 1"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> zimepatikana"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Anwani zote"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Vikundi"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Anwani zote"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Vipendwa"</string>
     <string name="callBack" msgid="5498224409038809224">"Mpigie"</string>
     <string name="callAgain" msgid="3197312117049874778">"Piga simu tena"</string>
     <string name="returnCall" msgid="8171961914203617813">"Mpigie"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> ya anwani <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Majina ya anwani zako"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Hakuna programu iliyopatikana ya kushughulikia tendo hili."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Bofya ili urudi kwenye skrini iliyotangulia"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Ongeza nambari ya simu"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Ongeza anwani ya barua pepe"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Hakuna programu iliyopatikana ya kushughulikia tendo hili."</string>
     <string name="menu_share" msgid="943789700636542260">"Shiriki"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Ongeza kwenye anwani"</string>
     <string name="share_via" msgid="563121028023030093">"Shiriki anwani kupitia"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Buni kikundi chini ya akaunti"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Gumzo la sauti"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Tumia picha hii"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Haiwezi kuhaririwa kutoka kwa programu hii."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Hakuna maelezo ya ziada ya mwasiliani huyu."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Haiwezi kuhaririwa kwenye kifaa hiki"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Panga orodha kwa"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Jina la kwanza"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Jila la familia"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Angalia majina ya anwani"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Jina ulilopewa kwanza"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Jina la familia kwanza"</string>
     <string name="take_photo" msgid="7496128293167402354">"Piga picha"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Piga picha mpya"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Chagua picha kutoka kwa Ghala"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Chagua picha mpya kutoka kwa Matunzio"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Chagua picha"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Chagua picha mpya"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Orodha ya anwani inasasishwa ili kuangazia mabadiliko ya lugha."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Orodha ya anwani inasasishwa."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Anwani ziko katika harakati ya kupandishwa gredi. \n\nMchakato wa kupandisha gredi unahitaji takriban MB <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> za hifadhi ya ndani.\n\nChagua mojawapo ya chaguo zifwatazo:"</string>
@@ -157,11 +153,9 @@
     <string name="menu_select_none" msgid="7093222469852132345">"Usichague zozote"</string>
     <string name="add_field" msgid="2384260056674995230">"Ongeza sehemu nyingine"</string>
     <string name="add_new_entry_for_section" msgid="5223080690667565044">"Ongeza mpya"</string>
-    <string name="add_organization" msgid="7311893231158291197">"Ongeza shirikisho"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Ongeza shirika"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Tarehe"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Jina la kikundi"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"kupitia <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> kupitia <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"kipendwa"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Hariri anwani"</string>
   <plurals name="merge_info">
@@ -169,11 +163,10 @@
     <item quantity="other" msgid="425683718017380845">"Zimeunganishwa kutoka kwa nyenzo <xliff:g id="COUNT">%0$d</xliff:g>"</item>
   </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Unganisha anwani ya sasa na anwani iliyochaguliwa?"</string>
-    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Badilisha kwa hariri anwani iliyochaguliwa? Maelezo uliyoyaingiza hadi sasa yatanakiliwa."</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Ungependa kubadilisha anwani uliyochagua? Maelezo uliyoweka kufikia sasa yatanakiliwa."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Nakili kwa Anwani Zangu"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Ongeza kwa Anwani Zangu"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Saraka <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Inaunda nakala ya kibinafsi..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Maalum"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Mipangilio"</string>
     <string name="menu_settings" msgid="377929915873428211">"Mipangilio"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Wasifu wangu wa ndani."</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Wasifu wangu wa <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Inaonyesha anwani zote"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Watu wanafanya kazi vizuri wakiwa na Akaunti ya Google. \n \n • Iangalie kwa kutumia kivinjari chochote. \n • Tunza mawasiliano yako kwa usalama."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Anwani hufanya kazi vizuri pamoja na Akaunti ya Google. \n \n • Zifikie kwa kutumia kivinjari chochote. \n • Hifadhi nakala rudufu ya anwani zako kwa usalama."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Weka anwani za unaowasiliana nao salama hata ukipoteza simu yako: sawazisha kwa huduma iliyo mtandaoni."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Ongeza akaunti"</string>
-    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Anwani yako mpya haitahifadhiwa. Je, ungetaka kuongeza akaunti ambayo inahifadhi nakala ya anwani katika mtandao?"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Anwani yako mpya haitakuwa na nakala rudufu. Je, ungependa kuongeza akaunti ambayo inahifadhi nakala rudufu ya anwani katika mtandao?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Mtu utakayemwongeza atasawazishwa na <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Unaweza kusawazisha anwani yako mpya na mojawapo ya akaunti zifuatazo. Unataka kutumia gani?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Ongeza anwani mpya"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Badilisha anwani"</string>
     <string name="keep_local" msgid="1258761699192993322">"Weka karibu"</string>
     <string name="add_account" msgid="8201790677994503186">"Ongeza akaunti"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Ongeza akaunti mpya"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Hamisha faili za hifadhidata"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Picha. Chagua ili ubadilishe"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"ongeza anwani mpya"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Angalia zaidi"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Angalia chache"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Angalia zote"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Hivi majuzi"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Kuhusu"</string>
+    <string name="send_message" msgid="8938418965550543196">"Tuma ujumbe"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Inaunda nakala binafsi..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Jana"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Kesho"</string>
+    <string name="today" msgid="8041090779381781781">"Leo"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Leo saa <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Kesho saa <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Tukio lisilokuwa na kichwa)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Weka"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Ujumbe wa Papo Hapo"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Shirika"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Jina la utani"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Kidokezo"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Tovuti"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Tukio"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Uhusiano"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"maelekezo ya kwenda mahali"</string>
 </resources>
diff --git a/res/values-sw600dp/colors.xml b/res/values-sw600dp-land/bools.xml
similarity index 77%
copy from res/values-sw600dp/colors.xml
copy to res/values-sw600dp-land/bools.xml
index 0f8f8de..2ef703c 100644
--- a/res/values-sw600dp/colors.xml
+++ b/res/values-sw600dp-land/bools.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,10 +13,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-
 <resources>
 
-    <!-- Color used for the letter in the A-Z section header -->
-    <color name="section_header_text_color">#ff000000</color>
+    <bool name="contact_all_list_show_card_frame">true</bool>
 
 </resources>
diff --git a/res/values-sw600dp/colors.xml b/res/values-sw600dp-land/colors.xml
similarity index 77%
rename from res/values-sw600dp/colors.xml
rename to res/values-sw600dp-land/colors.xml
index 0f8f8de..e36bfa6 100644
--- a/res/values-sw600dp/colors.xml
+++ b/res/values-sw600dp-land/colors.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,10 +13,6 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-
 <resources>
-
-    <!-- Color used for the letter in the A-Z section header -->
-    <color name="section_header_text_color">#ff000000</color>
-
+    <color name="list_item_pinned_header_color">#FFFFFF</color>
 </resources>
diff --git a/res/values-sw600dp-land/donottranslate_config.xml b/res/values-sw600dp-land/donottranslate_config.xml
deleted file mode 100644
index fe09771..0000000
--- a/res/values-sw600dp-land/donottranslate_config.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 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.
-*/
--->
-
-<resources>
-    <bool name="config_browse_list_show_images">true</bool>
-    <bool name="config_use_two_panes_in_favorites">true</bool>
-    <bool name="config_browse_list_reverse_images">false</bool>
-</resources>
diff --git a/res/values-sw600dp-land/integers.xml b/res/values-sw600dp-land/integers.xml
index 8ce96de..4bf44c0 100644
--- a/res/values-sw600dp-land/integers.xml
+++ b/res/values-sw600dp-land/integers.xml
@@ -14,6 +14,15 @@
      limitations under the License.
 -->
 <resources>
+    <!--  Determines the number of columns in a ContactTileRow in the favorites tab -->
+    <integer name="contact_tile_column_count_in_favorites">4</integer>
+
     <integer name="contact_tile_column_count">3</integer>
-    <integer name="updates_tab_snippet_max_lines">7</integer>
+
+    <!-- Layout weight of space elements in PeopleActivity for favorites list and all
+        contacts list-->
+    <integer name="people_activity_space_layout_weight">1</integer>
+    <!-- Layout weight of ListViews in PeopleActivityfor tile favorites list and all
+         contacts list in PeopleActivity -->
+    <integer name="people_activity_list_view_layout_weight">3</integer>
 </resources>
diff --git a/res/values-sw600dp-land/styles.xml b/res/values-sw600dp-land/styles.xml
deleted file mode 100644
index 01116d7..0000000
--- a/res/values-sw600dp-land/styles.xml
+++ /dev/null
@@ -1,60 +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.
--->
-<resources>
-    <style name="PeopleTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
-        <item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
-        <item name="android:actionBarWidgetTheme">@style/ContactsActionBarTheme</item>
-        <item name="android:actionOverflowButtonStyle">@style/ContactsActionBarOverflow</item>
-        <item name="android:actionBarItemBackground">@drawable/action_bar_item_background</item>
-        <item name="android:actionBarTabStyle">@style/ContactsActionBarTabView</item>
-        <item name="android:actionDropDownStyle">@style/ContactsActionBarDropDownStyle</item>
-        <item name="android:textColorPrimary">@color/primary_text_color</item>
-        <item name="android:textColorSecondary">@color/secondary_text_color</item>
-        <item name="android:listViewStyle">@style/ListViewStyle</item>
-        <item name="list_item_height">?android:attr/listPreferredItemHeight</item>
-        <item name="activated_background">@drawable/list_item_activated_background</item>
-        <item name="section_header_background">@drawable/list_title_holo</item>
-        <item name="list_item_divider">?android:attr/listDivider</item>
-        <item name="list_item_padding_top">0dip</item>
-        <item name="list_item_padding_right">24dip</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">64dip</item>
-        <item name="list_item_profile_photo_size">80dip</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_size">14sp</item>
-        <item name="list_item_header_text_color">@color/people_app_theme_color</item>
-        <item name="list_item_header_height">32dip</item>
-        <item name="list_item_header_underline_height">1dip</item>
-        <item name="list_item_header_underline_color">@color/main_header_separator_color</item>
-        <item name="list_item_data_width_weight">5</item>
-        <item name="list_item_label_width_weight">3</item>
-        <item name="list_item_contacts_count_text_color">@color/people_app_theme_color</item>
-        <item name="list_item_contacts_count_text_size">12sp</item>
-        <item name="contact_browser_list_padding_left">0dip</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>
-        <!-- Favorites -->
-        <item name="favorites_padding_bottom">0dip</item>
-    </style>
-
-</resources>
diff --git a/res/values-sw600dp/colors.xml b/res/values-sw600dp/bools.xml
similarity index 77%
copy from res/values-sw600dp/colors.xml
copy to res/values-sw600dp/bools.xml
index 0f8f8de..2ef703c 100644
--- a/res/values-sw600dp/colors.xml
+++ b/res/values-sw600dp/bools.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,10 +13,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-
 <resources>
 
-    <!-- Color used for the letter in the A-Z section header -->
-    <color name="section_header_text_color">#ff000000</color>
+    <bool name="contact_all_list_show_card_frame">true</bool>
 
 </resources>
diff --git a/res/values-sw600dp/dimens.xml b/res/values-sw600dp/dimens.xml
index 3e55240..e99dccf 100644
--- a/res/values-sw600dp/dimens.xml
+++ b/res/values-sw600dp/dimens.xml
@@ -24,13 +24,8 @@
     <dimen name="shortcut_icon_size">64dip</dimen>
     <dimen name="list_section_height">37dip</dimen>
     <dimen name="group_detail_border_padding">16dip</dimen>
-    <dimen name="detail_update_section_side_padding">0dip</dimen>
-    <dimen name="detail_update_section_item_horizontal_padding">8dip</dimen>
-    <dimen name="detail_update_section_item_vertical_padding">16dip</dimen>
     <dimen name="search_view_width">400dip</dimen>
     <dimen name="contact_tile_list_padding_top">16dip</dimen>
-    <!-- Center vertically -->
-    <dimen name="quick_contact_top_position">-1px</dimen>
     <!-- Contact list (vertical scroll bar comes left) -->
     <dimen name="list_visible_scrollbar_padding">32dip</dimen>
     <dimen name="list_header_extra_top_padding">@dimen/contact_browser_list_top_margin</dimen>
diff --git a/res/values-sw600dp/donottranslate_config.xml b/res/values-sw600dp/donottranslate_config.xml
deleted file mode 100644
index a8d428c..0000000
--- a/res/values-sw600dp/donottranslate_config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 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.
-*/
--->
-
-<resources>
-    <bool name="config_use_two_panes">true</bool>
-    <bool name="config_use_two_panes_in_favorites">false</bool>
-    <bool name="show_home_icon">true</bool>
-    <bool name="config_browse_list_show_images">false</bool>
-    <bool name="config_browse_list_reverse_images">false</bool>
-    <item name="tab_width_screen_width_percentage" type="fraction">66.67%</item>
-    <item name="tab_height_screen_width_percentage" type="fraction">66.67%</item>
-</resources>
diff --git a/res/values-sw600dp/integers.xml b/res/values-sw600dp/integers.xml
index a62fa14..ab2a52d 100644
--- a/res/values-sw600dp/integers.xml
+++ b/res/values-sw600dp/integers.xml
@@ -15,5 +15,10 @@
 -->
 <resources>
     <integer name="contact_tile_column_count">2</integer>
-    <integer name="updates_tab_snippet_max_lines">4</integer>
+    <!-- Layout weight of space elements in PeopleActivity for favorites list and all
+       contacts list-->
+    <integer name="people_activity_space_layout_weight">1</integer>
+    <!-- Layout weight of ListViews in PeopleActivityfor tile favorites list and all
+         contacts list in PeopleActivity -->
+    <integer name="people_activity_list_view_layout_weight">5</integer>
 </resources>
diff --git a/res/values-sw600dp/styles.xml b/res/values-sw600dp/styles.xml
index 7ab909e..17b1f69 100644
--- a/res/values-sw600dp/styles.xml
+++ b/res/values-sw600dp/styles.xml
@@ -14,91 +14,11 @@
      limitations under the License.
 -->
 <resources>
-    <style name="PeopleTheme" parent="@android:style/Theme.Holo.Light">
-        <item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
-        <item name="android:homeAsUpIndicator">@drawable/ic_menu_back</item>
-        <item name="android:actionOverflowButtonStyle">@style/ContactsActionBarOverflow</item>
-        <item name="android:actionBarWidgetTheme">@style/ContactsActionBarTheme</item>
-        <item name="android:actionBarItemBackground">@drawable/action_bar_item_background</item>
-        <item name="android:actionBarTabStyle">@style/ContactsActionBarTabView</item>
-        <item name="android:actionDropDownStyle">@style/ContactsActionBarDropDownStyle</item>
-        <item name="android:textColorPrimary">@color/primary_text_color</item>
-        <item name="android:textColorSecondary">@color/secondary_text_color</item>
-        <item name="android:listViewStyle">@style/ListViewStyle</item>
-        <item name="list_item_height">?android:attr/listPreferredItemHeight</item>
-        <item name="activated_background">@drawable/list_item_activated_background</item>
-        <item name="section_header_background">@drawable/list_title_holo</item>
-        <item name="list_item_divider">?android:attr/listDivider</item>
-        <item name="list_item_padding_top">8dip</item>
-        <item name="list_item_padding_right">12dip</item>
-        <item name="list_item_padding_bottom">8dip</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">64dip</item>
-        <item name="list_item_profile_photo_size">80dip</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_size">14sp</item>
-        <item name="list_item_header_text_color">@color/people_app_theme_color</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/secondary_header_separator_color</item>
-        <item name="list_item_data_width_weight">5</item>
-        <item name="list_item_label_width_weight">3</item>
-        <item name="list_item_contacts_count_text_color">@color/people_app_theme_color</item>
-        <item name="list_item_contacts_count_text_size">12sp</item>
-        <item name="contact_browser_list_padding_left">0dip</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>
-        <!-- Favorites -->
-        <item name="favorites_padding_bottom">0dip</item>
-    </style>
-
-    <style name="ContactPickerTheme" parent="@android:Theme.Holo.Light.Dialog">
-        <item name="android:windowSoftInputMode">adjustResize</item>
-        <item name="android:listViewStyle">@style/ListViewStyle</item>
-        <item name="list_item_height">?android:attr/listPreferredItemHeight</item>
-        <item name="section_header_background">@drawable/list_title_holo</item>
-        <item name="list_item_divider">?android:attr/listDivider</item>
-        <item name="list_item_padding_top">8dip</item>
-        <item name="list_item_padding_right">0dip</item>
-        <item name="list_item_padding_bottom">8dip</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">18dip</item>
-        <item name="list_item_photo_size">64dip</item>
-        <item name="list_item_profile_photo_size">80dip</item>
-        <item name="list_item_header_text_indent">8dip</item>
-        <item name="list_item_header_text_size">14sp</item>
-        <item name="list_item_header_text_color">@color/dialtacts_secondary_text_color</item>
-        <item name="list_item_header_height">30dip</item>
-        <item name="list_item_header_underline_height">2dip</item>
-        <item name="list_item_header_underline_color">@color/secondary_header_separator_color</item>
-        <item name="list_item_data_width_weight">5</item>
-        <item name="list_item_label_width_weight">3</item>
-        <item name="list_item_contacts_count_text_color">@color/people_app_theme_color</item>
-        <item name="list_item_contacts_count_text_size">20sp</item>
-        <item name="contact_browser_list_padding_left">24dip</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>
-    </style>
 
     <style name="ContactPickerLayout" parent="ContactPickerTheme">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">match_parent</item>
     </style>
-    <style name="JoinContactActivityTheme" parent="ContactPickerTheme" >
-        <item name="android:layout_width">match_parent</item>
-        <item name="android:layout_height">match_parent</item>
-        <!-- In the contact picker screen we're using adjustResize but we don't want it here. -->
-        <item name="android:windowSoftInputMode">adjustUnspecified</item>
-    </style>
 
     <style name="DetailActivityTheme" parent="@android:Theme.Dialog">
         <item name="android:windowContentOverlay">@null</item>
@@ -110,7 +30,7 @@
         <item name="android:background">@android:color/transparent</item>
     </style>
 
-    <style name="NonPhoneDialogTheme" parent="@android:Theme.Holo.Light.Dialog">
+    <style name="NonPhoneDialogTheme" parent="@android:Theme.Material.Light.Dialog">
         <item name="android:windowBackground">@android:color/transparent</item>
         <item name="android:windowContentOverlay">@null</item>
     </style>
diff --git a/res/values-sw720dp/dimens.xml b/res/values-sw720dp/dimens.xml
index 495526d..827c71b 100644
--- a/res/values-sw720dp/dimens.xml
+++ b/res/values-sw720dp/dimens.xml
@@ -21,4 +21,9 @@
     <dimen name="quick_contact_photo_container_height">360dip</dimen>
     <dimen name="contact_picker_contact_list_min_height">650dip</dimen>
     <dimen name="list_visible_scrollbar_padding">48dip</dimen>
+
+    <!-- When QC is uncollapsed, the title has this much margin on its left, right and bottom -->
+    <dimen name="quickcontact_title_initial_margin">32dp</dimen>
+    <!-- Initial size of QuickContact's title size -->
+    <dimen name="quickcontact_maximum_title_size">64dp</dimen>
 </resources>
diff --git a/res/values-sw720dp/integers.xml b/res/values-sw720dp/integers.xml
index eaf5971..7c94a14 100644
--- a/res/values-sw720dp/integers.xml
+++ b/res/values-sw720dp/integers.xml
@@ -14,6 +14,8 @@
      limitations under the License.
 -->
 <resources>
+    <!--  Determines the number of columns in a ContactTileRow in the favorites tab -->
+    <integer name="contact_tile_column_count_in_favorites">3</integer>
+
     <integer name="contact_tile_column_count">2</integer>
-    <integer name="updates_tab_snippet_max_lines">7</integer>
 </resources>
diff --git a/res/values-sw720dp/styles.xml b/res/values-sw720dp/styles.xml
deleted file mode 100644
index 2265373..0000000
--- a/res/values-sw720dp/styles.xml
+++ /dev/null
@@ -1,58 +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.
--->
-<resources>
-    <style name="PeopleTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
-        <item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
-        <item name="android:homeAsUpIndicator">@drawable/ic_menu_back</item>
-        <item name="android:actionOverflowButtonStyle">@style/ContactsActionBarOverflow</item>
-        <item name="android:actionBarWidgetTheme">@style/ContactsActionBarTheme</item>
-        <item name="android:actionBarItemBackground">@drawable/action_bar_item_background</item>
-        <item name="android:actionBarTabStyle">@style/ContactsActionBarTabView</item>
-        <item name="android:actionDropDownStyle">@style/ContactsActionBarDropDownStyle</item>
-        <item name="android:textColorPrimary">@color/primary_text_color</item>
-        <item name="android:textColorSecondary">@color/secondary_text_color</item>
-        <item name="android:listViewStyle">@style/ListViewStyle</item>
-        <item name="list_item_height">?android:attr/listPreferredItemHeight</item>
-        <item name="activated_background">@drawable/list_item_activated_background</item>
-        <item name="section_header_background">@drawable/list_title_holo</item>
-        <item name="list_item_divider">?android:attr/listDivider</item>
-        <item name="list_item_padding_top">8dip</item>
-        <item name="list_item_padding_right">24dip</item>
-        <item name="list_item_padding_bottom">8dip</item>
-        <item name="list_item_padding_left">0dip</item>
-        <item name="list_item_gap_between_image_and_text">16dip</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">64dip</item>
-        <item name="list_item_profile_photo_size">80dip</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_height">30dip</item>
-        <item name="list_item_header_text_size">14sp</item>
-        <item name="list_item_header_underline_color">@color/secondary_header_separator_color</item>
-        <item name="list_item_header_underline_height">1dip</item>
-        <item name="list_item_contacts_count_text_color">@color/people_app_theme_color</item>
-        <item name="list_item_contacts_count_text_size">12sp</item>
-        <item name="contact_browser_list_padding_left">0dip</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>
-        <!-- Favorites -->
-        <item name="favorites_padding_bottom">0dip</item>
-    </style>
-</resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
new file mode 100644
index 0000000..a769375
--- /dev/null
+++ b/res/values-ta-rIN/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"தொடர்புகள்"</string>
+    <string name="contactsList" msgid="8661624236494819731">"தொடர்புகள்"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"தொடர்பு"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"நேரடி டயல்"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"நேரடி செய்தி"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"தொடர்பின் குறுக்குவழியைத் தேர்வுசெய்தல்"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"அழைப்பதற்கான எண்ணைத் தேர்வுசெய்யவும்"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"செய்தி அனுப்ப எண்ணைத் தேர்வுசெய்க"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"தொடர்பைத் தேர்வுசெய்யவும்"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"புதிய தொடர்பைத் தேர்ந்தெடு"</string>
+    <string name="starredList" msgid="4817256136413959463">"நட்சத்திரமிட்டது"</string>
+    <string name="frequentList" msgid="7154768136473953056">"அடிக்கடி"</string>
+    <string name="strequentList" msgid="5640192862059373511">"பிடித்தவை"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"தொடர்பு விவரங்கள்"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"தொடர்பைத் திருத்து"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"தொடர்பை உருவாக்கு"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"குழுவைத் திருத்து"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"குழுவை உருவாக்கு"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"அறிமுகம்"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"புதுப்பிப்புகள்"</string>
+    <string name="searchHint" msgid="8482945356247760701">"தொடர்புகளைத் தேடு"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"தொடர்பைக் காட்டு"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"பிடித்தவற்றில் சேர்"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"பிடித்தவற்றிலிருந்து அகற்று"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"விருப்பங்களிலிருந்து அகற்றப்பட்டது"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"விருப்பங்களில் சேர்க்கப்பட்டது"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"திருத்து"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"நீக்கு"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"முகப்புத் திரையில் அமை"</string>
+    <string name="menu_call" msgid="3992595586042260618">"தொடர்பை அழை"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"தொடர்பிற்கு உரைச் செய்தியை அனுப்பு"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"பிரி"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"திருத்து"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"நீக்கு"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"தொடர்பைச் சேர்"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"குழுவைச் சேர்"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"தொடர்பைப் பிரிக்கவா?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"இந்தத் தொடர்பு பல தொடர்புகளாகப் பிரிக்கப்படும்."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"இணை"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"தொடர்புகளில் இணை"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g> உடன் இணைய விரும்பும் தொடர்பைத் தேர்வுசெய்யவும்:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"எல்லா தொடர்புகளையும் காட்டு"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"பரிந்துரைக்கப்பட்ட தொடர்புகள்"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"எல்லா தொடர்புகளும்"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"தொடர்புகள் இணைக்கப்பட்டன"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"ரிங்டோனை அமை"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"எல்லா அழைப்புகளையும் குரலஞ்சலிற்கு திருப்பு"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"படிக்க மட்டுமேயான கணக்குகளின் தொடர்புகளை நீக்க முடியாது, ஆனால் தொடர்புகள் பட்டியல்களில் அவற்றை மறைக்கலாம்."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"தொடர்பில் பல கணக்குகளின் தகவல் உள்ளது. படிக்க மட்டுமேயான கணக்குகளின் தகவல் தொடர்புகள் பட்டியல்களில் மறைக்கப்படும், ஆனால் நீக்கப்படாது."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"தொடர்பை நீக்குவது பல கணக்குகளில் உள்ள தகவலை நீக்கும்."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"தொடர்பு நீக்கப்படும்."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"மாற்றங்களை நிராகரி"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"தொடர்பு இல்லை."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"முகப்புத் திரையில் தொடர்பு விட்ஜெட் சேர்க்கப்பட்டது."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"புதிய தொடர்பை உருவாக்கவும்"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"புதிய தொடர்பை உருவாக்கவும்"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"நிறுவனம்"</item>
+    <item msgid="7196592230748086755">"குறிப்பு"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"டேப்லெட்டில் படங்கள் எதுவும் இல்லை."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"மொபைலில் படங்கள் எதுவும் இல்லை."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"தொடர்பு படம்"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"தனிப்பயன் லேபிள் பெயர்"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"அழைப்புகளை நேரடியாகக் குரலஞ்சலுக்கு அனுப்பு"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"படத்தை அகற்று"</string>
+    <string name="noContacts" msgid="8579310973261953559">"தொடர்புகள் இல்லை."</string>
+    <string name="noGroups" msgid="8614664663561385253">"குழுக்கள் இல்லை."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"குழுக்களை உருவாக்க கணக்கு அவசியம்."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"குழுவில் யாரும் இல்லை."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"சிலவற்றைச் சேர்க்க, குழுவைத் திருத்தவும்."</string>
+    <string name="savingContact" msgid="4075751076741924939">"தொடர்பைச் சேமிக்கிறது…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"தொடர்பு சேமிக்கப்பட்டது."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"தொடர்பின் மாற்றங்களைச் சேமிக்க முடியவில்லை."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"குழு சேமிக்கப்பட்டது."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"குழு மாற்றங்களைச் சேமிக்க முடியவில்லை."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"மொபைல் எண்ணுடன் 1 தொடர்பு"</item>
+    <item quantity="other" msgid="3299954047880968205">"மொபைல் எண்களுடன் <xliff:g id="COUNT">%d</xliff:g> தொடர்புகள்"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"மொபைல் எண்களுடன் தொடர்புகள் இல்லை"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 கண்டறியப்பட்டது"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> கண்டறியப்பட்டன"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"தொடர்புகள் எதுவும் இல்லை"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 கண்டறியப்பட்டது"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> கண்டறியப்பட்டன"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"எல்லா தொடர்புகளும்"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"விருப்பங்கள்"</string>
+    <string name="callBack" msgid="5498224409038809224">"திருப்பி அழை"</string>
+    <string name="callAgain" msgid="3197312117049874778">"மீண்டும் அழை"</string>
+    <string name="returnCall" msgid="8171961914203617813">"திரும்பி அழை"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" ஐத் தொடர்புகளில் சேர்க்கவா?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"தொடர்பு படம்"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"சேர்"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> தொடர்புகளில் <xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"உங்கள் தொடர்புகளின் பெயர்கள்"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"இந்தச் செயலைச் செய்வதற்கான பயன்பாடு எதுவுமில்லை."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"முந்தைய திரைக்குச் செல்ல கிளிக் செய்க"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"ஃபோன் எண்ணைச் சேர்க்கவும்"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"மின்னஞ்சலைச் சேர்க்கவும்"</string>
+    <string name="missing_app" msgid="1466111003546611387">"இந்தச் செயலைச் செய்ய பயன்பாடு எதுவுமில்லை."</string>
+    <string name="menu_share" msgid="943789700636542260">"பகிர்"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"தொடர்புகளில் சேர்"</string>
+    <string name="share_via" msgid="563121028023030093">"இதன் வழியாக தொடர்பைப் பகிர்"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"கணக்கின் கீழ் குழுவை உருவாக்கவும்"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"குரல் அரட்டை"</string>
+    <string name="video_chat" msgid="1872255818640336072">"வீடியோ அரட்டை"</string>
+    <string name="connections" msgid="8098440723172028350">"இணைப்புகள்"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"இணைப்பைச் சேர்"</string>
+    <string name="recent" msgid="2659189233141493004">"சமீபத்தியவை"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"சமீபத்திய புதுப்பிப்புகள்"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> தொடர்பு"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"இந்தப் படத்தைப் பயன்படுத்து"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"இந்தப் பயன்பாட்டிலிருந்து திருத்த முடியாது."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"இந்தச் சாதனத்தில் திருத்தக்கூடியதல்ல."</string>
+    <string name="take_photo" msgid="7496128293167402354">"படமெடு"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"புதிய படத்தை எடு"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"படத்தைத் தேர்வுசெய்யவும்"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"புதிய படத்தைத் தேர்ந்தெடுக்கவும்"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"மொழியின் மாற்றத்தைப் பிரதிபலிக்கத் தொடர்பு பட்டியல் புதுப்பிக்கப்படுகிறது."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"தொடர்பு பட்டியல் புதுப்பிக்கப்படுகிறது."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"தொடர்புகள் மேம்படுத்தல் செயல்முறையில் உள்ளன. \n\nமேம்படுத்தல் செயல்முறைக்குத் தோராயமாக <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> மெ.பை. அகச் சேமிப்பகம் தேவை.\n\nபின்வரும் விருப்பங்களில் ஒன்றைத் தேர்வுசெய்யவும்:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"சில பயன்பாடுகளை நிறுவல் நீக்கு"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"மேம்படுத்தலை மீண்டும் முயற்சி"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"தேடுகிறது..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"தேர்ந்தெடுத்தவற்றைக் காட்டு"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"அனைத்தையும் காட்டு"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"எல்லாவற்றையும் தேர்ந்தெடு"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"எல்லாவற்றையும் தேர்வுநீக்கு"</string>
+    <string name="add_field" msgid="2384260056674995230">"வேறொரு கலத்தைச் சேர்"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"புதியதைச் சேர்"</string>
+    <string name="add_organization" msgid="7311893231158291197">"நிறுவனத்தைச் சேர்"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"தேதி"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"குழு பெயர்"</string>
+    <string name="description_star" msgid="2605854427360036550">"பிடித்தது"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"தொடர்பைத் திருத்து"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"ஒன்றிணைக்கப்படவில்லை"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> ஆதாரங்களிலிருந்து ஒன்றிணைக்கப்பட்டது"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"தேர்ந்தெடுத்த தொடர்புடன் தற்போதைய தொடர்பை இணைக்கவா?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"தேர்ந்தெடுத்த தொடர்பைத் திருத்துதலுக்கு மாறவா? இதுவரை உள்ளிட்ட தகவல் நகலெடுக்கப்படும்."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"எனது தொடர்புகளுக்கு நகலெடு"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"எனது தொடர்புகளில் சேர்"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"கோப்பகம் <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"தனிப்பயன்"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"அமைப்புகள்"</string>
+    <string name="menu_settings" msgid="377929915873428211">"அமைப்புகள்"</string>
+    <string name="menu_help" msgid="5123887102216637725">"உதவி"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"திரை விருப்பங்கள்"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"மொபைல் எண்"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"தொடர்புகளில் சேர்"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"தொடர்பில் சேர்"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"மூடு"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"ஆண்டை வழங்கு"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"தொடர்பு"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"ஏற்றுகிறது..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"புதிய தொடர்பை உருவாக்கு"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"கணக்கில் உள்நுழைக"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"தொடர்புகளை இறக்குமதி செய்"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"புதிய குழுவை உருவாக்கு"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"புதிய குழுவை உருவாக்கு"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 குழு"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> குழுக்கள்"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" குழுவை நீக்கவா? (அதன் தொடர்புகள் நீக்கப்படாது.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> இலிருந்து <xliff:g id="COUNT_0">%1$d</xliff:g> நபர்"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> இலிருந்து <xliff:g id="COUNT_0">%1$d</xliff:g> பேர்"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> நபர்"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> பேர்"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"வேறொன்றுடன் இணைப்பதற்கு முன் தொடர்பின் பெயரை உள்ளிடவும்."</string>
+    <string name="copy_text" msgid="3257145021583508761">"கிளிப்போர்டுக்கு நகலெடு"</string>
+    <string name="set_default" msgid="4417505153468300351">"இயல்புநிலையாக அமை"</string>
+    <string name="clear_default" msgid="7193185801596678067">"இயல்பை அழி"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"உரை நகலெடுக்கப்பட்டது"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"மாற்றங்களை விலக்கவா?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"எனது சுயவிவரத்தை அமை"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"பெயரை உள்ளிடவும்"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"குழுவின் பெயர்"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"எனது சுயவிவரம்"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"எனது <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> சுயவிவரம்"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"எல்லா தொடர்புகளையும் காட்டுகிறது"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Google கணக்குடன் தொடர்புகள் அம்சம் சிறந்த முறையில் வேலை செய்கிறது.\n\n• எந்த இணைய உலாவியிலிருந்தும் அணுகலாம்.\n• தொடர்புகளைப் பாதுகாப்பாகக் காப்புப்பிரதி எடுக்கலாம்."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"மொபைலை தொலைத்தாலும் தொடர்புகளைப் பாதுகாப்புடன் வைத்திருக்கலாம்: ஆன்லைன் சேவையுடன் ஒத்திசைக்கவும்."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"கணக்கைச் சேர்"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"புதிய தொடர்பைக் காப்புப் பிரதியெடுக்க முடியாது. தொடர்புகளை ஆன்லைனில் காப்புப் பிரதியெடுக்கும் கணக்கைச் சேர்க்கவா?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"புதிய தொடர்பு <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> உடன் ஒத்திசைக்கப்படும்."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"புதிய தொடர்பை பின்வரும் கணக்குகள் ஒன்றுடன் ஒத்திசைக்கலாம். எதைப் பயன்படுத்த விரும்புகிறீர்கள்?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"புதிய தொடர்பைச் சேர்"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"தொடர்பைத் திருத்து"</string>
+    <string name="keep_local" msgid="1258761699192993322">"அகத்திலேயே சேமி"</string>
+    <string name="add_account" msgid="8201790677994503186">"கணக்கைச் சேர்"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"புதிய கணக்கைச் சேர்"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"தரவுத்தள கோப்புகளை ஏற்றுமதி செய்"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"புதிய தொடர்பைச் சேர்"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"மேலும் காட்டு"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"குறைவாகக் காட்டு"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"எல்லாம் காட்டு"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"சமீபத்தியவை"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"அறிமுகம்"</string>
+    <string name="send_message" msgid="8938418965550543196">"செய்தி அனுப்பு"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"தனிப்பட்ட நகலை உருவாக்குகிறது..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"நேற்று"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"நாளை"</string>
+    <string name="today" msgid="8041090779381781781">"இன்று"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"இன்று <xliff:g id="TIME_INTERVAL">%s</xliff:g> மணிக்கு"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"நாளை <xliff:g id="TIME_INTERVAL">%s</xliff:g> மணிக்கு"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(பெயரிடப்படாத நிகழ்வு)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"அமை"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"நிறுவனம்"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"செல்லப்பெயர்"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"குறிப்பு"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"இணையதளம்"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"நிகழ்வு"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"உறவு"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"இடத்தை நோக்கிய திசைகள்"</string>
+</resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
new file mode 100644
index 0000000..351c4fa
--- /dev/null
+++ b/res/values-te-rIN/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"పరిచయాలు"</string>
+    <string name="contactsList" msgid="8661624236494819731">"పరిచయాలు"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"పరిచయం"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"డైరెక్ట్ డయల్"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"డైరెక్ట్ సందేశం"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"పరిచయం యొక్క సత్వరమార్గాన్ని ఎంచుకోండి"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"కాల్ చేయాల్సిన నంబర్‌ను ఎంచుకోండి"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"సందేశం పంపడానికి నంబర్‌ను ఎంచుకోండి"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"పరిచయాన్ని ఎంచుకోండి"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"కొత్త పరిచయాన్ని ఎంచుకోండి"</string>
+    <string name="starredList" msgid="4817256136413959463">"నక్షత్రం గుర్తు ఉన్నవి"</string>
+    <string name="frequentList" msgid="7154768136473953056">"తరచుగా"</string>
+    <string name="strequentList" msgid="5640192862059373511">"ఇష్టమైనవి"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"పరిచయ వివరాలు"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"పరిచయాన్ని సవరించు"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"పరిచయాన్ని సృష్టించండి"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"సమూహాన్ని సవరించు"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"సమూహాన్ని సృష్టించండి"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"గురించి"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"నవీకరణలు"</string>
+    <string name="searchHint" msgid="8482945356247760701">"పరిచయాలను శోధించు"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"పరిచయాన్ని వీక్షించండి"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"ఇష్టమైనవాటికి జోడించు"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"ఇష్టమైనవాటి నుండి తీసివేయి"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"ఇష్టమైనవి నుండి తీసివేయబడింది"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"ఇష్టమైనవికి జోడించబడింది"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"సవరించు"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"తొలగించు"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"హోమ్ స్క్రీన్‌లో ఉంచు"</string>
+    <string name="menu_call" msgid="3992595586042260618">"పరిచయానికి కాల్ చేయి"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"పరిచయానికి వచనం పంపు"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"వేరు చేయి"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"సవరించు"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"తొలగించు"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"పరిచయాన్ని జోడించు"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"సమూహాన్ని జోడించు"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"పరిచయాన్ని వేరు చేయాలా?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"ఈ పరిచయం బహుళ పరిచయాలుగా వేరు చేయబడుతుంది."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"కలుపు"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"పరిచయాలను కలపండి"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"మీరు <xliff:g id="NAME">%s</xliff:g>తో కలపాలనుకుంటున్న పరిచయాన్ని ఎంచుకోండి:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"అన్ని పరిచయాలను చూపు"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"సూచిత పరిచయాలు"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"అన్ని పరిచయాలు"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"పరిచయాలు కలపబడ్డాయి"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"రింగ్‌టో‌న్‌ను సెట్ చేయి"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"అన్ని కాల్‌లు వాయిస్ మెయిల్‌కు"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"మీరు చదవడానికి-మాత్రమే అనుమతి ఉన్న ఖాతాల నుండి పరిచయాలను తొలగించలేరు, కానీ వాటిని మీ పరిచయాల జాబితాల్లో దాచవచ్చు."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"ఈ పరిచయం బహుళ ఖాతాల నుండి సమాచారాన్ని కలిగి ఉంటుంది. చదవడానికి-మాత్రమే అనుమతి ఉన్న ఖాతాల్లోని సమాచారం మీ పరిచయాల జాబితాల్లో దాచబడుతుంది, తొలగించబడదు."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ఈ పరిచయాన్ని తొలగించడం వలన బహుళ ఖాతాల నుండి సమాచారం తొలగించబడుతుంది."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"ఈ పరిచయం తొలగించబడుతుంది."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"మార్పులను విస్మరించు"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"పరిచయం ఉనికిలో లేదు."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"హోమ్ స్క్రీన్‌కు పరిచయ విడ్జెట్ జోడించబడింది."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"కొత్త పరిచయాన్ని సృష్టించండి"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"కొత్త పరిచయాన్ని సృష్టించండి"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"సంస్థ"</item>
+    <item msgid="7196592230748086755">"గమనిక"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"టాబ్లెట్‌లో చిత్రాలు ఏవీ అందుబాటులో లేవు."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"ఫోన్‌లో చిత్రాలు ఏవీ అందుబాటులో లేవు."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"పరిచయం ఫోటో"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"అనుకూల లేబుల్ పేరు"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"కాల్‌లను నేరుగా వాయిస్ మెయిల్‌కు పంపండి"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"ఫోటోను తీసివేయి"</string>
+    <string name="noContacts" msgid="8579310973261953559">"పరిచయాలు లేవు."</string>
+    <string name="noGroups" msgid="8614664663561385253">"సమూహాలు లేవు."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"సమూహాలను సృష్టించడానికి మీకు ఖాతా అవసరం."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"ఈ సమూహంలో వ్యక్తులు లేరు."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"కొంతమందిని జోడించడానికి, సమూహాన్ని సవరించండి."</string>
+    <string name="savingContact" msgid="4075751076741924939">"పరిచయాన్ని సేవ్ చేస్తోంది…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"పరిచయం సేవ్ చేయబడింది."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"పరిచయ మార్పులను సేవ్ చేయడం సాధ్యపడలేదు."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"సమూహం సేవ్ చేయబడింది."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"సమూహ మార్పులను సేవ్ చేయడం సాధ్యపడలేదు."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"ఫోన్ నంబర్ గల 1 పరిచయం"</item>
+    <item quantity="other" msgid="3299954047880968205">"ఫోన్ నంబర్‌లు గల <xliff:g id="COUNT">%d</xliff:g> పరిచయాలు"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"ఫోన్ నంబర్‌లు గల పరిచయాలు లేవు"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 కనుగొనబడ్డారు"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> మంది కనుగొనబడ్డారు"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"పరిచయాలు లేవు"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 కనుగొనబడ్డారు"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> మంది కనుగొనబడ్డారు"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"అన్ని పరిచయాలు"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"ఇష్టమైనవి"</string>
+    <string name="callBack" msgid="5498224409038809224">"తిరిగి కాల్ చేయి"</string>
+    <string name="callAgain" msgid="3197312117049874778">"మళ్లీ కాల్ చేయి"</string>
+    <string name="returnCall" msgid="8171961914203617813">"కాల్‌ను తిరిగి చేయి"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\"ని పరిచయాలకు జోడించాలా?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"పరిచయ ఫోటో"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"ప్లస్"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="TOTAL_NUMBER">%s</xliff:g> పరిచయాల్లో <xliff:g id="CURRENT_NUMBER">%s</xliff:g>"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"మీ పరిచయాల యొక్క పేర్లు"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"ఈ చర్యను నిర్వహించడానికి అనువర్తనం ఏదీ కనుగొనబడలేదు."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"మునుపటి స్క్రీన్‌కి తిరిగి రావడానికి క్లిక్ చేయండి"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"ఫోన్ నంబర్‌ను జోడించండి"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"ఇమెయిల్ జోడించండి"</string>
+    <string name="missing_app" msgid="1466111003546611387">"ఈ చర్యను నిర్వహించడానికి అనువర్తనం ఏదీ కనుగొనబడలేదు."</string>
+    <string name="menu_share" msgid="943789700636542260">"భాగస్వామ్యం చేయి"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"పరిచయాలకు జోడించు"</string>
+    <string name="share_via" msgid="563121028023030093">"పరిచయాన్ని దీని ద్వారా భాగస్వామ్యం చేయండి"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"ఖాతాలో సమూహాన్ని సృష్టించండి"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"వాయిస్ చాట్"</string>
+    <string name="video_chat" msgid="1872255818640336072">"వీడియో చాట్"</string>
+    <string name="connections" msgid="8098440723172028350">"కనెక్షన్‌లు"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"కనెక్షన్‌ను జోడించు"</string>
+    <string name="recent" msgid="2659189233141493004">"ఇటీవలివి"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"ఇటీవలి నవీకరణలు"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> పరిచయం"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"ఈ ఫోటోను ఉపయోగించు"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"ఈ అనువర్తనం నుండి సవరించడం కుదరదు."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"ఈ పరికరంలో సవరించడం కుదరదు."</string>
+    <string name="take_photo" msgid="7496128293167402354">"ఫోటో తీసుకోండి"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"కొత్త ఫోటో తీసుకోండి"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"ఫోటోను ఎంచుకోండి"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"కొత్త ఫోటోను ఎంచుకోండి"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"భాష మార్పును ప్రతిబింబించడానికి పరిచయ జాబితా నవీకరించబడుతోంది."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"పరిచయ జాబితా నవీకరించబడుతోంది."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"పరిచయాలు అప్‌గ్రేడ్ అయ్యే ప్రాసెస్‌లో ఉన్నాయి. \n\nఅప్‌గ్రేడ్ ప్రాసెస్‌కు సుమారుగా <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB అంతర్గత నిల్వ అవసరం.\n\nక్రింది ఎంపికల్లో ఒకదాన్ని ఎంచుకోండి:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"కొన్ని అనువర్తనాలను అన్‌ఇన్‌స్టాల్ చేయండి"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"అప్‌గ్రేడ్ చేయడాన్ని మళ్లీ ప్రయత్నించు"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"శోధిస్తోంది..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"ఎంచుకున్న వాటిని చూపు"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"అన్నీ చూపు"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"అన్నింటినీ ఎంచుకోండి"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"అన్నింటి ఎంపికను తీసివేయి"</string>
+    <string name="add_field" msgid="2384260056674995230">"మరో ఫీల్డ్‌ను జోడించు"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"కొత్తదాన్ని జోడించు"</string>
+    <string name="add_organization" msgid="7311893231158291197">"సంస్థను జోడించు"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"తేదీ"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"సమూహం పేరు"</string>
+    <string name="description_star" msgid="2605854427360036550">"ఇష్టంగా గుర్తించు"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"పరిచయాన్ని సవరించు"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"విలీనం చేయబడలేదు"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> మూలాల నుండి విలీనం చేయబడినవి"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"ప్రస్తుత పరిచయాన్ని ఎంచుకున్న పరిచయంతో కలపాలా?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"ఎంచుకున్న పరిచయాన్ని సవరించగల స్థితికి మార్చాలా? మీరు ఇప్పటి వరకు నమోదు చేసిన సమాచారం కాపీ చేయబడుతుంది."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"నా పరిచయాలకు కాపీ చేయి"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"నా పరిచయాలకి జోడించు"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"డైరెక్టరీ <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"అనుకూలం"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"సెట్టింగ్‌లు"</string>
+    <string name="menu_settings" msgid="377929915873428211">"సెట్టింగ్‌లు"</string>
+    <string name="menu_help" msgid="5123887102216637725">"సహాయం"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"ప్రదర్శన ఎంపికలు"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"ఫోన్ నంబర్"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"పరిచయాలకు జోడించు"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"పరిచయానికి జోడించండి"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"మూసివేయి"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"సంవత్సరాన్ని అందించండి"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"పరిచయం"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"లోడ్ చేస్తోంది…"</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"కొత్త పరిచయాన్ని సృష్టించు"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"ఖాతాకు సైన్ ఇన్ చేయి"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"పరిచయాలను దిగుమతి చేయి"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"కొత్త సమూహాన్ని సృష్టించండి"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"కొత్త సమూహాన్ని సృష్టించండి"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 సమూహం"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> సమూహాలు"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"సమూహం \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"ని తొలగించాలా? (పరిచయాలు వాటంతట అవే తొలగించబడవు.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> నుండి <xliff:g id="COUNT_0">%1$d</xliff:g> వ్యక్తి"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> నుండి <xliff:g id="COUNT_0">%1$d</xliff:g> మంది వ్యక్తులు"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> వ్యక్తి"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> మంది వ్యక్తులు"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"మరొకదానితో కలపడానికి ముందు పరిచయం పేరు టైప్ చేయండి."</string>
+    <string name="copy_text" msgid="3257145021583508761">"క్లిప్‌బోర్డ్‌కు కాపీ చేయి"</string>
+    <string name="set_default" msgid="4417505153468300351">"డిఫాల్ట్‌గా సెట్ చేయి"</string>
+    <string name="clear_default" msgid="7193185801596678067">"డిఫాల్ట్‌ను క్లియర్ చేయి"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"వచనం కాపీ చేయబడింది"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"మీ మార్పులను విస్మరించాలా?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"నా ప్రొఫైల్‌ను సెటప్ చేయి"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"వ్యక్తి పేరు టైప్ చేయండి"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"సమూహం పేరు"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"నా స్థానిక ప్రొఫైల్"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"నా <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> ప్రొఫైల్"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"అన్ని పరిచయాలను ప్రదర్శిస్తోంది"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"పరిచయాలు Google ఖాతాతో మెరుగ్గా పని చేస్తాయి.\n\n• ఏదైనా వెబ్ బ్రౌజర్ నుండి ప్రాప్యత చేయండి.\n• మీ పరిచయాలను సురక్షితంగా బ్యాకప్ చేయండి."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"మీరు మీ ఫోన్‌ను పోగొట్టుకున్నప్పటికీ మీ పరిచయాలను సురక్షితంగా ఉంచుకోండి: ఆన్‌లైన్ సేవతో సమకాలీకరించండి."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"ఖాతాను జోడించండి"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"మీ కొత్త పరిచయం బ్యాకప్ చేయబడదు. ఆన్‌లైన్‌లో పరిచయాలను బ్యాకప్ చేసే ఖాతాను జోడించాలా?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"మీ కొత్త పరిచయం <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>తో సమకాలీకరించబడుతుంది."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"మీరు క్రింది ఖాతాల్లో ఒకదానితో మీ కొత్త పరిచయాన్ని సమకాలీకరించవచ్చు. మీరు దేన్ని ఉపయోగించాలనుకుంటున్నారు?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"కొత్త పరిచయం చేర్చు"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"పరిచయాన్ని సవరించండి"</string>
+    <string name="keep_local" msgid="1258761699192993322">"స్థానికంగా ఉంచండి"</string>
+    <string name="add_account" msgid="8201790677994503186">"ఖాతాను జోడించు"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"కొత్త ఖాతాను జోడించు"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"డేటాబేస్ ఫైల్‌లను ఎగుమతి చేయి"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"కొత్త పరిచయాన్ని జోడించు"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"మరిన్ని చూడండి"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"తక్కువ చూడండి"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"అన్నీ చూడండి"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"ఇటీవలివి"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"పరిచయం"</string>
+    <string name="send_message" msgid="8938418965550543196">"సందేశాన్ని పంపండి"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"వ్యక్తిగత కాపీని సృష్టిస్తోంది..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"నిన్న"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"రేపు"</string>
+    <string name="today" msgid="8041090779381781781">"ఈ రోజు"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"ఈ రోజు <xliff:g id="TIME_INTERVAL">%s</xliff:g>కి"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"రేపు <xliff:g id="TIME_INTERVAL">%s</xliff:g>కి"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(శీర్షిక లేని ఈవెంట్)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"సెట్ చేయి"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"సంస్థ"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"మారుపేరు"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"గమనిక"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"వెబ్‌సైట్"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"ఈవెంట్"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"సంబంధం"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"స్థానానికి వెళ్లడానికి దిశలు"</string>
+</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index e4c12c4..49436d8 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"บุคคล"</string>
+    <string name="people" msgid="1190841469952343354">"สมุดติดต่อ"</string>
     <string name="contactsList" msgid="8661624236494819731">"รายชื่อในสมุดโทรศัพท์"</string>
     <string name="shortcutContact" msgid="749243779392912958">"สมุดโทรศัพท์"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"โทรโดยตรง"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"เลือกหมายเลขที่จะโทร"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"เลือกหมายเลขที่จะส่งข้อความ"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"เลือกรายชื่อติดต่อ"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"เลือกผู้ติดต่อใหม่"</string>
     <string name="starredList" msgid="4817256136413959463">"ที่ติดดาว"</string>
     <string name="frequentList" msgid="7154768136473953056">"บ่อยครั้ง"</string>
     <string name="strequentList" msgid="5640192862059373511">"รายการโปรด"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"รายละเอียดของรายชื่อ"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"ดูรายชื่อในสมุดโทรศัพท์"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"แก้ไขรายชื่อในสมุดโทรศัพท์"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"สร้างรายชื่อ"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"แก้ไขกลุ่ม"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"ดูสมุดโทรศัพท์"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"เพิ่มในรายการโปรด"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"ลบจากรายการโปรด"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"นำออกจากรายการโปรดแล้ว"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"เพิ่มลงในรายการโปรดแล้ว"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"แก้ไข"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"ลบ"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"วางบนหน้าจอหลัก"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"สมุดโทรศัพท์นี้มีข้อมูลจากหลายบัญชี ข้อมูลจากบัญชีแบบอ่านอย่างเดียวจะถูกซ่อนในรายการรายชื่อของคุณโดยไม่ถูกลบออก"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"การลบสมุดโทรศัพท์นี้จะลบข้อมูลจากบัญชีแบบหลายรายการ"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"รายชื่อนี้จะถูกลบ"</string>
-    <string name="menu_discard" msgid="6456087569315685632">"ยกเลิก"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"ยกเลิกการเปลี่ยนแปลง"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"ไม่มีรายชื่อติดต่อนี้"</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"เพิ่มวิดเจ็ตสมุดโทรศัพท์ในหน้าจอหลักแล้ว"</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"สร้างรายชื่อในสมุดโทรศัพท์ใหม่"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> รายชื่อติดต่อที่มีหมายเลขโทรศัพท์"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"ไม่มีรายชื่อติดต่อที่มีหมายเลขโทรศัพท์"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 รายชื่อติดต่อ"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> รายชื่อติดต่อ"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"พบ 1 รายการ"</item>
     <item quantity="other" msgid="3852668542926965042">"พบ <xliff:g id="COUNT">%d</xliff:g> รายการ"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"พบ 1 รายการ"</item>
     <item quantity="other" msgid="7988132539476575389">"พบ <xliff:g id="COUNT">%d</xliff:g> รายการ"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"ที่อยู่ติดต่อทั้งหมด"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"กลุ่ม"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"รายชื่อทั้งหมด"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"รายการโปรด"</string>
     <string name="callBack" msgid="5498224409038809224">"ติดต่อกลับ"</string>
     <string name="callAgain" msgid="3197312117049874778">"โทรอีกครั้ง"</string>
     <string name="returnCall" msgid="8171961914203617813">"โทรกลับ"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"รายชื่อในสมุดโทรศัพท์ <xliff:g id="CURRENT_NUMBER">%s</xliff:g> จาก <xliff:g id="TOTAL_NUMBER">%s</xliff:g> รายการ"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"ชื่อของรายชื่อในสมุดโทรศัพท์ของคุณ"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"ไม่พบแอปพลิเคชันสำหรับการทำงานนี้"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"คลิกเพื่อกลับไปยังหน้าจอก่อนหน้า"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"เพิ่มหมายเลขโทรศัพท์"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"เพิ่มอีเมล"</string>
+    <string name="missing_app" msgid="1466111003546611387">"ไม่พบแอปสำหรับการทำงานนี้"</string>
     <string name="menu_share" msgid="943789700636542260">"ใช้ร่วมกัน"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"เพิ่มในสมุดติดต่อ"</string>
     <string name="share_via" msgid="563121028023030093">"ใช้สมุดโทรศัพท์ร่วมกันทาง"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"สร้างกลุ่มภายในบัญชี"</string>
     <string name="audio_chat" msgid="2535716629358298691">"แชทด้วยเสียง"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"ใช้ภาพนี้"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"ไม่สามารถแก้ไขได้จากแอปพลิเคชันนี้"</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"ไม่มีข้อมูลเพิ่มเติมสำหรับรายชื่อติดต่อนี้"</string>
     <string name="group_read_only" msgid="1061762906115697637">"ไม่สามารถแก้ไขได้ในอุปกรณ์นี้"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"เรียงรายการตาม"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"ชื่อ"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"นามสกุล"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"ดูชื่อที่อยู่ติดต่อ"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"ขึ้นต้นด้วยชื่อ"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"ขึ้นต้นด้วยนามสกุล"</string>
     <string name="take_photo" msgid="7496128293167402354">"ถ่ายภาพ"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"ถ่ายภาพใหม่"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"เลือกรูปภาพจากแกลเลอรี"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"เลือกภาพใหม่จากแกลเลอรี"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"เลือกรูปภาพ"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"เลือกรูปภาพใหม่"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"กำลังอัปเดตรายการที่อยู่ติดต่อตามการเปลี่ยนภาษา"</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"กำลังอัปเดตรายการที่อยู่ติดต่อ"</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"กำลังดำเนินการอัปเกรดสมุดโทรศัพท์\n\nกระบวนการอัปเกรดจำเป็นต้องใช้พื้นที่ประมาณ <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB ของที่จัดเก็บข้อมูลภายใน\n\nเลือกหนึ่งในตัวเลือกต่อไปนี้:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"เพิ่มองค์กร"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"วันที่"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"ชื่อกลุ่ม"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"ผ่านทาง <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> ผ่านทาง <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"รายการโปรด"</string>
     <string name="edit_contact" msgid="7529281274005689512">"แก้ไขรายชื่อติดต่อ"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"คัดลอกไปยังสมุดโทรศัพท์ของฉัน"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"เพิ่มในสมุดโทรศัพท์ของฉัน"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"ไดเรกทอรี <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"กำลังสร้างสำเนาส่วนบุคคล..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"กำหนดเอง"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"การตั้งค่า"</string>
     <string name="menu_settings" msgid="377929915873428211">"การตั้งค่า"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"โปรไฟล์ในอุปกรณ์ของฉัน"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"โปรไฟล์ <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> ของฉัน"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"แสดงที่อยู่ติดต่อทั้งหมด"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"People ทำงานได้ดีกว่าหากมีบัญชี Google\n\n•เข้าถึงจากทุกเว็บเบราว์เซอร์\n•สำรองข้อมูลสมุดโทรศัพท์ของคุณอย่างปลอดภัย"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"คุณจะใช้งานที่อยู่ติดต่อได้ดีขึ้นโดยผ่านบัญชี Google\n\n• เข้าถึงได้จากเว็บเบราว์เซอร์ทุกชนิด\n• สำรองข้อมูลที่อยู่ติดต่อของคุณอย่างปลอดภัย"</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"เก็บที่อยู่ติดต่อของคุณไว้อย่างปลอดภัยด้วยการซิงค์กับบริการออนไลน์แม้ว่าคุณจะทำโทรศัพท์หาย"</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"เพิ่มบัญชี"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"ผู้ติดต่อใหม่ของคุณจะไม่ได้รับการสำรองข้อมูล เพิ่มบัญชีที่สำรองข้อมูลผู้ติดต่อออนไลน์หรือไม่"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"ผู้ติดต่อใหม่ของคุณจะซิงค์กับ <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>"</string>
-    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"คุณสามารถซิงค์ผู้ติดต่อใหม่กับบัญชีใดบัญชีหนึ่งต่อไปนี้ได้ คุณต้องการใช้บัญชีใด"</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"คุณสามารถซิงค์ผู้ติดต่อใหม่กับบัญชีใด บัญชีหนึ่งต่อไปนี้ได้ คุณต้องการใช้บัญชีใด"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"เพิ่มที่อยู่ติดต่อ"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"แก้ไขที่อยู่ติดต่อ"</string>
     <string name="keep_local" msgid="1258761699192993322">"จัดเก็บในตัวเครื่อง"</string>
     <string name="add_account" msgid="8201790677994503186">"เพิ่มบัญชี"</string>
     <string name="add_new_account" msgid="5748627740680940264">"เพิ่มบัญชีใหม่"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"ส่งออกไฟล์ฐานข้อมูล"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"ภาพ เลือกเพื่อเปลี่ยน"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"เพิ่มที่อยู่ติดต่อใหม่"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"ดูเพิ่มเติม"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"ดูน้อยลง"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"ดูทั้งหมด"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"ล่าสุด"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"เกี่ยวกับ"</string>
+    <string name="send_message" msgid="8938418965550543196">"ส่งข้อความ"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"กำลังสร้างสำเนาส่วนตัว..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"เมื่อวานนี้"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"พรุ่งนี้"</string>
+    <string name="today" msgid="8041090779381781781">"วันนี้"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"วันนี้เวลา <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"พรุ่งนี้เวลา <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g> <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(กิจกรรมไม่มีชื่อ)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"ตั้งค่า"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"องค์กร"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"ชื่อเล่น"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"โน้ต"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"เว็บไซต์"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"กิจกรรม"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"ความสัมพันธ์"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"เส้นทางไปยังสถานที่"</string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 1c81a74..25509d1 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Mga Tao"</string>
+    <string name="people" msgid="1190841469952343354">"Mga Contact"</string>
     <string name="contactsList" msgid="8661624236494819731">"Mga Contact"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Contact"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Direktang pag-dial"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Pumili ng tatawagang numero"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Pumili ng numero na padadalhan ng mensahe"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Pumili ng isang contact"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Pumili ng bagong contact"</string>
     <string name="starredList" msgid="4817256136413959463">"Naka-star"</string>
     <string name="frequentList" msgid="7154768136473953056">"Madalas"</string>
     <string name="strequentList" msgid="5640192862059373511">"Mga Paborito"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Mga detalye ng contact"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Tingnan ang contact"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"I-edit ang contact"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Lumikha ng contact"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"I-edit ang pangkat"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Tingnan ang contact"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Idagdag sa mga paborito"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Alisin mula sa mga paborito"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Inalis sa mga paborito"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Idinagdag sa mga paborito"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"I-edit"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Tanggalin"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Ilagay sa Home screen"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Naglalaman ang contact na ito ng impormasyon mula sa maramihang account. Itatago ang impormasyon mula sa mga account na read-only sa mga listahan ng iyong mga contact, hindi tatanggalin."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Tatanggalin ng pagtanggal sa account na ito ang impormasyon mula sa maramihang account."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Tatanggalin ang contact na ito."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Itapon"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"I-discard ang mga pagbabago"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Hindi umiiral ang contact."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Idinagdag sa Home screen ang widget ng contact."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Lumikha ng bagong contact"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> (na) contact na may mga numero ng telepono"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Walang mga contact na may mga numero ng telepono"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 contact"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> (na) contact"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 ang nakita"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> ang nakita"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 ang nakita"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> ang nakita"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Lahat ng contact"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Mga Pangkat"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Lahat contact"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Mga Paborito"</string>
     <string name="callBack" msgid="5498224409038809224">"Tumawag pabalik"</string>
     <string name="callAgain" msgid="3197312117049874778">"Tawagan muli"</string>
     <string name="returnCall" msgid="8171961914203617813">"Pabalik na tawag"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> ng <xliff:g id="TOTAL_NUMBER">%s</xliff:g> (na) contact"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Mga pangalan ng iyong mga contact"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Walang natagpuang app na mangangasiwa sa pagkilos na ito."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"I-click upang bumalik sa nakaraang screen"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Magdagdag ng numero ng telepono"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Magdagdag ng email"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Walang nakitang app na gagawa sa aksyong ito."</string>
     <string name="menu_share" msgid="943789700636542260">"Ibahagi"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Idagdag sa mga contact"</string>
     <string name="share_via" msgid="563121028023030093">"Ibahagi ang contact sa pamamagitan ng"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Lumikha ng pangkat sa ilalim ng account"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Voice chat"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Gamitin ang larawang ito"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Hindi maaaring i-edit mula sa app na ito."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Walang karagdagang impormasyon para sa contact na ito."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Hindi maaaring i-edit sa device na ito."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Pag-uri-uriin ang listahan ayon sa"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Pangalan"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Apelyido"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Tingnan ang mga pangalan ng contact"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Pangalan muna"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Apelyido muna"</string>
     <string name="take_photo" msgid="7496128293167402354">"Kumuha ng larawan"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Kumuha ng bagong larawan"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Pumili ng larawan mula sa Gallery"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Pumili ng bagong larawan mula sa Gallery"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Pumili ng larawan"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Pumili ng bagong larawan"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Ina-update ang listahan ng contact upang maipakita ang pagbabago ng wika."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Ina-update ang listahan ng contact."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Nasa proseso ng pag-upgrade ang mga contact. \n\nNangangailangan ng tinatayang <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB ng panloob na storage ang proseso ng pag-upgrade.\n\nPumili ng isa sa mga sumusunod na pagpipilian:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Magdagdag ng samahan"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Petsa"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Pangalan ng pangkat"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"sa pamamagitan ng <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> sa pamamagitan ng <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"paborito"</string>
     <string name="edit_contact" msgid="7529281274005689512">"I-edit ang Contact"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopyahin sa Aking Mga Contact"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Idagdag sa Aking Mga Contact"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Direktoryo na <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Lumilikha ng personal na kopya…"</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Custom"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Mga Setting"</string>
     <string name="menu_settings" msgid="377929915873428211">"Mga Setting"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Aking lokal na profile"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Aking <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> na profile"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Ipinapakita ang lahat ng contact"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Mas mahusay na nakakagawa ang mga tao gamit ang Google Account.\n\n• I-access ito mula sa anumang web browser.\n• I-back up nang secure ang iyong mga contact."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Mas mahusay na gumagana ang Mga Contact kapag may Google Account.\n\n• I-access mula sa anumang web browser.\n• Secure na i-back up ang iyong mga contact."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Panatilihing ligtas ang iyong mga contact kahit na mawala mo ang iyong telepono: mag-synchronize sa isang online na serbisyo."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Magdagdag ng account"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Hindi maba-back up ang iyong bagong contact. Magdagdag ng account na nagba-back up ng mga contact online?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Masi-synchronize ang iyong bagong contact sa <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Masi-synchronize mo ang iyong bagong contact sa isa sa iyong mga sumusunod na account. Alin ang gusto mong gamitin?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Dagdag bago contact"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"I-edit ang contact"</string>
     <string name="keep_local" msgid="1258761699192993322">"Panatilihing lokal"</string>
     <string name="add_account" msgid="8201790677994503186">"Magdagdag ng account"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Magdagdag ng bagong account"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"I-export ang mga file ng database"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Larawan. Piliin upang palitan"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"magdagdag ng bagong contact"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Tumingin nang higit pa"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Tumingin nang mas kaunti"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Tingnan lahat"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Kamakailan"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Tungkol dito"</string>
+    <string name="send_message" msgid="8938418965550543196">"Magpadala ng mensahe"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Gumagawa ng personal na kopya..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Kahapon"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Bukas"</string>
+    <string name="today" msgid="8041090779381781781">"Ngayon"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Ngayong <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Bukas nang <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Kaganapang walang pamagat)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Itakda"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organisasyon"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Palayaw"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Tala"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Website"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Kaganapan"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Kaugnayan"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"mga direksyon sa lokasyon"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index dbe69bb..dc1eed9 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Kişiler"</string>
+    <string name="people" msgid="1190841469952343354">"Kişiler"</string>
     <string name="contactsList" msgid="8661624236494819731">"Kişiler"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Kişi"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Doğrudan çevirme"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Aranacak numarayı seçin"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"İleti gönderilecek bir numara seçin"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Bir kişi seçin"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Yeni kişi seçin"</string>
     <string name="starredList" msgid="4817256136413959463">"Yıldızlı"</string>
     <string name="frequentList" msgid="7154768136473953056">"Sık sık"</string>
     <string name="strequentList" msgid="5640192862059373511">"Sık Kullanılanlar"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Kişi ayrıntıları"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Kişiyi görüntüle"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Kişiyi düzenle"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Kişi oluştur"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Grubu düzenle"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Kişiyi görüntüle"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Sık kullanılanlara ekle"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Sık kullanılanlardan kaldır"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Favorilerden kaldırıldı"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Favorilere eklendi"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Düzenle"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Sil"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Ana ekrana yerleştir"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Bu kişi birden fazla hesaptan bilgiler içeriyor. Salt okunur hesaplardaki bilgiler silinmez, kişiler listelerinizde gizlenir."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Bu kişiyi silmek, birden fazla hesaba ait bilgileri de siler."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Bu kişi silinecek."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Sil"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Değişiklikleri sil"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Kişi mevcut değil."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Kişi widget\'ı Ana ekranınıza eklendi."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Yeni kişi oluştur"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"Telefon numarası olan <xliff:g id="COUNT">%d</xliff:g> kişi"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Telefon numarası olan hiçbir kişi yok"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 kişi"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> kişi"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 kişi bulundu"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> kişi bulundu"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"1 kişi bulundu"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> kişi bulundu"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Tüm kişiler"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Gruplar"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Tüm kişiler"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Favoriler"</string>
     <string name="callBack" msgid="5498224409038809224">"Geri ara"</string>
     <string name="callAgain" msgid="3197312117049874778">"Tekrar çağrı yap"</string>
     <string name="returnCall" msgid="8171961914203617813">"Geri ara"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"Toplam <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kişiden <xliff:g id="CURRENT_NUMBER">%s</xliff:g> kişi"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Kişilerinizin adları"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Bu işlemi gerçekleştirecek uygulama bulunamadı."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Önceki ekrana dönmek için tıklayın"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Telefon numarası ekle"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"E-posta adresi ekle"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Bu işlemi gerçekleştirecek uygulama bulunamadı."</string>
     <string name="menu_share" msgid="943789700636542260">"Paylaş"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Kişilere ekle"</string>
     <string name="share_via" msgid="563121028023030093">"Şunu kullanarak kişi paylaş:"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Grubu şu hesabın altında oluştur:"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Sesli sohbet"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Bu fotoğrafı kullan"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Bu uygulamadan düzenlenemez."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Bu kişi için ek bilgi yok."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Bu cihazda düzenlenemez."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Listeyi şu ölçüte göre sırala:"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Adı"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Soyadı"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Kişi adlarını görüntüle"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Önce adı"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Önce soyadı"</string>
     <string name="take_photo" msgid="7496128293167402354">"Fotoğraf çek"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Yeni fotoğraf çek"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Galeri\'den fotoğraf seçin"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Galeri\'den yeni fotoğraf seç"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Fotoğraf seç"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Yeni fotoğraf seç"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Kişi listesi, dil değişikliğini yansıtmak üzere güncelleniyor."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Kişi listesi güncelleniyor."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kişiler yeni sürüme geçiriliyor. \n\nYeni sürüme geçirme işlemi yaklaşık <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB dahili depolama alanı gerektirir.\n\nAşağıdaki seçeneklerden birini belirleyin:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Kuruluş ekle"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Tarih"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Grup adı"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"<xliff:g id="SOURCE">%1$s</xliff:g> aracılığıyla"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="SOURCE">%2$s</xliff:g> üzerinden şu saatte: <xliff:g id="DATE">%1$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favori"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Kişiyi düzenle"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kişilerime kopyala"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Kişilerime ekle"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"<xliff:g id="TYPE">%1$s</xliff:g> dizini"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Kişisel kopya oluşturuluyor..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Özel"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Ayarlar"</string>
     <string name="menu_settings" msgid="377929915873428211">"Ayarlar"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Yerel profilim"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"<xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> profilim"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Tüm içerik görüntüleniyor"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Kişi Arama bir Google Account hesabıyla daha iyi çalışır.\n\n• Kişi Arama\'ya Herhangi bir tarayıcıdan erişin.\n• Kişilerinizi güvenli bir şekilde yedekleyin."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kişiler bir Google Hesabıyla daha iyi çalışır.\n\n• Herhangi bir tarayıcıdan erişin.\n• Kişilerinizi güvenli bir şekilde yedekleyin."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Telefonunuzu kaybetseniz dahi kişilerinizi güvenle saklayın: çevrimiçi bir hizmetle senkronize edin."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Hesap ekleyin"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Yeni kişiniz yedeklenmeyecek. Kişileri çevrimiçi olarak yedekleyen bir hesap eklensin mi?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Yeni kişiniz <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> ile senkronize edilecek."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Yeni kişinizi aşağıdaki hesaplardan biriyle senkronize edebilirsiniz. Hangisini kullanmak istersiniz?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Yeni kişi ekle"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Kişiyi düzenle"</string>
     <string name="keep_local" msgid="1258761699192993322">"Yerel olarak sakla"</string>
     <string name="add_account" msgid="8201790677994503186">"Hesap ekle"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Yeni hesap ekle"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Veritabanı dosyalarını dışarı aktar"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Resim. Değiştirmek için seçin"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"yeni kişi ekle"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Daha fazla göster"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Daha az göster"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Tümünü göster"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"En son"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Hakkında"</string>
+    <string name="send_message" msgid="8938418965550543196">"İleti gönder"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Kişisel kopya oluşturuluyor..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Dün"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Yarın"</string>
+    <string name="today" msgid="8041090779381781781">"Bugün"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Bugün şu saatler arasında: <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Yarın şu saatler arasında: <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Başlıksız etkinlik)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Ayarla"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Kuruluş"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Takma Ad"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Not"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Web sitesi"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Etkinlik"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"İlişki"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"konum için yol tarifleri"</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 75cf635..69f4886 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Люди"</string>
+    <string name="people" msgid="1190841469952343354">"Контакти"</string>
     <string name="contactsList" msgid="8661624236494819731">"Контакти"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Контакт"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Прямий набір"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Вибір номера для виклику"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Вибір номера для надс. повід."</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Вибрати контакт"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Вибрати новий контакт"</string>
     <string name="starredList" msgid="4817256136413959463">"Із зіроч."</string>
     <string name="frequentList" msgid="7154768136473953056">"Найчастіші"</string>
     <string name="strequentList" msgid="5640192862059373511">"Вибране"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Деталі контакту"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Див. контакт"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Редаг. контакт"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Створити контакт"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Редагувати групу"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Див. контакт"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Додати до вибраного"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Видалити з вибраного"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Видалено з вибраного"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Додано до вибраного"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Редагувати"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Видалити"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Місце на головному екрані"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Цей контакт містить інфор-цію з декількох обл. записів. Інф-цію із записів лише для читання буде сховано у ваших списках контактів, а не видалено."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Якщо видал. цей контакт, буде видалено інф-ю з декількох обл. записів."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Цей контакт буде видалено."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Відхилити"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Відхилити зміни"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Контакт не існує."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Віджет контакта додано на головний екран."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Створ. новий контакт"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"Контактів із номерами тел.: <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Немає контактів з номерами телефону"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 контакт"</item>
-    <item quantity="other" msgid="3578469907265375314">"Контактів: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Знайдено 1"</item>
     <item quantity="other" msgid="3852668542926965042">"Знайдено <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"Знайдено 1"</item>
     <item quantity="other" msgid="7988132539476575389">"Знайдено <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Усі контакти"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Групи"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Усі контакти"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Вибране"</string>
     <string name="callBack" msgid="5498224409038809224">"Передзвонити"</string>
     <string name="callAgain" msgid="3197312117049874778">"Набрати знову"</string>
     <string name="returnCall" msgid="8171961914203617813">"Зворот. виклик"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> із <xliff:g id="TOTAL_NUMBER">%s</xliff:g> контактів"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Імена ваших контактів"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Не знайдено програму для обробки цієї дії."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Натисніть, щоб повернутися на попередній екран"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Додайте номер телефону"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Додайте електронну адресу"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Не знайдено програму для обробки цієї дії."</string>
     <string name="menu_share" msgid="943789700636542260">"Надісл."</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Додати в контакти"</string>
     <string name="share_via" msgid="563121028023030093">"Надісл. контакт через"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Створити групу в обліковому записі"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Голосовий чат"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Викор. це фото"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"З цієї програми неможливо редагувати."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Немає додаткової інформації для цього контакта."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Неможливо редагувати на цьому пристрої"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Сорт. список за"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Ім\'я"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Прізвище"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Переглянути імена контактів"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Спочатку ім\'я"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Спочатку прізвище"</string>
     <string name="take_photo" msgid="7496128293167402354">"Зробити фото"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Зробити нове фото"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Вибрати фото з галереї"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Вибрати нове фото з Галереї"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Вибрати фото"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Вибрати нове фото"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Список контактів оновлено для відображення зміни мови."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Список контактів оновлюється."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Контакти проходять процес оновлення. \n\nДля процесу оновлення потрібно приблизно <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> Мб внутрішньої пам’яті.\n\nВиберіть один із поданих нижче варіантів."</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Додати організацію"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Дата"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Назва групи"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"через <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> через <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"вибране"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Редаг. контакта"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Копіювати в мої контакти"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Додати до групи \"Мої контакти\""</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Каталог <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Створення особистої копії..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Спеціальні"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Налаштування"</string>
     <string name="menu_settings" msgid="377929915873428211">"Налаштування"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Мій локальний профіль"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Мій профіль на <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Відображаються всі контакти"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Програма \"Люди\" пропонує більше можливостей, якщо у вас є обліковий запис Google.\n\n•Отримуйте доступ із будь-якого веб-переглядача\n•Створюйте надійні резервні копії своїх контактів"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Додаток Контакти корисніший, якщо у вас є обліковий запис Google.\n\n• Відкривайте в будь-якому веб-переглядачі.\n• Автоматично завантажуйте контакти."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Збережіть свої контакти на випадок втрати свого телефону: синхронізуйте їх з онлайновою службою."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Додати обліковий запис"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Для вашого нового контакта не буде створено резервні копії. Додати обліковий запис, у якому буде збережено резервні копії контактів в Інтернеті?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Новий контакт буде синхронізовано з обліковим записом <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Свій новий контакт можна синхронізувати з одним з указаних нижче облікових записів. Який із них використати?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Додавання контакта"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Редагування контакта"</string>
     <string name="keep_local" msgid="1258761699192993322">"Зберегти локально"</string>
     <string name="add_account" msgid="8201790677994503186">"Додати обліковий запис"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Додати новий обліковий запис"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Експортувати файли бази даних"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Зображення. Виберіть, щоб змінити"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"додати нового контакта"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Показати більше"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Показати менше"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Показати все"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Остання підказка"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Інформація"</string>
+    <string name="send_message" msgid="8938418965550543196">"Надіслати повідомлення"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Створення особистої копії…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Учора"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Завтра"</string>
+    <string name="today" msgid="8041090779381781781">"Сьогодні"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Сьогодні о <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Завтра о <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Подія без назви)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Установити"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Чат"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Організація"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Псевдонім"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Нотатка"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Веб-сайт"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Подія"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Зв’язок"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"маршрути до місця"</string>
 </resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
new file mode 100644
index 0000000..3e191c0
--- /dev/null
+++ b/res/values-ur-rPK/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"رابطے"</string>
+    <string name="contactsList" msgid="8661624236494819731">"رابطے"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"رابطہ"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"ڈائریکٹ ڈائل"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"ڈائریکٹ پیغام"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"رابطہ کا شارٹ کٹ منتخب کریں"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"کال کرنے کیلئے ایک نمبر منتخب کریں"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"پیغام بھیجنے کیلئے ایک نمبر منتخب کریں"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"ایک رابطہ منتخب کریں"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"نیا رابطہ منتخب کریں"</string>
+    <string name="starredList" msgid="4817256136413959463">"ستارے کے نشان والے"</string>
+    <string name="frequentList" msgid="7154768136473953056">"اکثر"</string>
+    <string name="strequentList" msgid="5640192862059373511">"پسندیدہ"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"رابطہ کی تفصیلات"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"رابطہ میں ترمیم کریں"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"رابطہ بنائیں"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"گروپ میں ترمیم کریں"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"گروپ بنائیں"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"تفصیل"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"اپ ڈیٹس"</string>
+    <string name="searchHint" msgid="8482945356247760701">"رابطے تلاش کریں"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"رابطہ دیکھیں"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"پسندیدہ میں شامل کریں"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"پسندیدہ سے ہٹائیں"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"پسندیدہ سے ہٹا دیا گیا"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"پسندیدہ میں شامل کر دیا گیا"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"ترمیم کریں"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"حذف کریں"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ہوم اسکرین پر رکھیں"</string>
+    <string name="menu_call" msgid="3992595586042260618">"رابطہ کو کال کریں"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"رابطہ کو متن بھیجیں"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"الگ کریں"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"ترمیم کریں"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"حذف کریں"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"رابطہ شامل کریں"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"گروپ شامل کریں"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"رابطہ الگ کریں؟"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"یہ رابطہ متعدد رابطوں میں الگ کیا جائے گا۔"</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"ملائیں"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"رابطوں کو ملائیں"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g> کے ساتھ جس رابطہ کو ملانا ہے اسے منتخب کریں:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"سبھی رابطے دکھائیں"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"مجوزہ رابطے"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"سبھی رابطے"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"رابطے ملا دیے گئے"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"رنگ ٹون طے کریں"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"صوتی میل پر سبھی کالیں"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"آپ صرف پڑھنے کے اکاؤنٹس سے رابطوں کو حذف نہیں کر سکتے ہیں لیکن آپ اپنے رابطوں کی فہرست میں انہیں چھپا سکتے ہیں۔"</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"یہ رابطہ متعدد اکاؤنٹس کی معلومات پر مشتمل ہے۔ صرف پڑھنے کے اکاؤنٹس کی معلومات آپ کے رابطوں کی فہرست میں چھپا دی جائیں گی، حذف نہیں ہوں گی۔"</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"یہ رابطہ حذف کرنے سے متعدد اکاؤنٹس کی معلومات حذف ہوجائے گی۔"</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"یہ رابطہ حذف ہوجائے گا۔"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"تبدیلیاں رد کریں"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"رابطہ موجود نہیں ہے۔"</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"رابطہ کا ویجٹ ہوم اسکرین میں شامل ہوگیا۔"</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"نیا رابطہ بنائیں"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"نیا رابطہ بنائیں"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"تنظیم"</item>
+    <item msgid="7196592230748086755">"نوٹ"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"ٹیبلٹ پر کوئی تصاویر دستیاب نہیں ہیں۔"</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"فون پر کوئی تصاویر دستیاب نہیں ہیں۔"</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"رابطہ کی تصویر"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"حسب ضرورت لیبل کا نام"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"کالیں براہ راست صوتی میل کو بھیجیں"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"تصویر ہٹائیں"</string>
+    <string name="noContacts" msgid="8579310973261953559">"کوئی رابطے نہیں ہیں۔"</string>
+    <string name="noGroups" msgid="8614664663561385253">"کوئی گروپس نہیں ہیں۔"</string>
+    <string name="noAccounts" msgid="7768267764545265909">"گروپس بنانے کیلئے آپ کو ایک اکاؤنٹ درکار ہے۔"</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"اس گروپ میں کوئی لوگ نہیں ہیں۔"</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"کچھ شامل کرنے کیلئے، گروپ میں ترمیم کریں۔"</string>
+    <string name="savingContact" msgid="4075751076741924939">"رابطہ محفوظ ہو رہا ہے…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"رابطہ محفوظ ہوگیا۔"</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"رابطہ میں تبدیلیاں محفوظ نہیں ہوسکیں۔"</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"گروپ محفوظ ہوگیا۔"</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"گروپ میں تبدیلیوں کو محفوظ نہیں کرسکا۔"</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"فون نمبر کے ساتھ 1 رابطہ"</item>
+    <item quantity="other" msgid="3299954047880968205">"فون نمبروں کے ساتھ <xliff:g id="COUNT">%d</xliff:g> رابطے"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"فون نمبروں کے ساتھ کوئی رابطے نہیں ہیں"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 ملا"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> ملے"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"کوئی رابطے نہیں ہیں"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 ملا"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> ملے"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"سبھی رابطے"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"پسندیدہ"</string>
+    <string name="callBack" msgid="5498224409038809224">"واپس کال کریں"</string>
+    <string name="callAgain" msgid="3197312117049874778">"دوبارہ کال کریں"</string>
+    <string name="returnCall" msgid="8171961914203617813">"کال لوٹائیں"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" کو رابطوں میں شامل کریں؟"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"رابطہ کی تصویر"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"پلس"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> از <xliff:g id="TOTAL_NUMBER">%s</xliff:g> رابطے"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"آپ کے رابطوں کے نام"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"اس کارروائی کو نمٹانے کیلئے کوئی ایپ نہیں ملا۔"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"سابقہ اسکرین پر واپس جانے کیلئے کلک کریں"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"فون نمبر شامل کریں"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"ای میل شامل کریں"</string>
+    <string name="missing_app" msgid="1466111003546611387">"اس کارروائی کو نمٹانے کیلئے کوئی ایپ نہیں ملا۔"</string>
+    <string name="menu_share" msgid="943789700636542260">"اشتراک کریں"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"رابطوں میں شامل کریں"</string>
+    <string name="share_via" msgid="563121028023030093">"رابطہ کا اشتراک کریں معرفت"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"اکاؤنٹ کے تحت گروپ بنائیں"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"صوتی چیٹ"</string>
+    <string name="video_chat" msgid="1872255818640336072">"ویڈیو چیٹ"</string>
+    <string name="connections" msgid="8098440723172028350">"کنکشنز"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"کنکشن شامل کریں"</string>
+    <string name="recent" msgid="2659189233141493004">"حالیہ"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"حالیہ اپ ڈیٹس"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> رابطہ"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"یہ تصویر استعمال کریں"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"اس ایپ سے قابل ترمیم نہیں ہے۔"</string>
+    <string name="group_read_only" msgid="1061762906115697637">"اس آلہ پر قابل ترمیم نہیں ہے۔"</string>
+    <string name="take_photo" msgid="7496128293167402354">"تصویر لیں"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"نئی تصویر لیں"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"تصویر منتخب کریں"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"نئی تصویر منتخب کریں"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"زبان کی تبدیلی کی عکاسی کرنے کیلئے رابطہ کی فہرست اپ ڈیٹ کی جا رہی ہے۔"</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"رابطہ کی فہرست اپ ڈیٹ ہو رہی ہے۔"</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"‏رابطوں کو اپ گریڈ کرنے کی کارروائی ہو رہی ہے۔ \n\nاپ گریڈ کی کارروائی کیلئے تقریبا <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB داخلی اسٹوریج درکار ہے۔\n\nدرج ذیل اختیارات میں سے ایک منتخب کریں۔"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"کچھ ایپلیکیشنز ان انسٹال کریں"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"اپ گریڈ کرنے کی دوبارہ کوشش کریں"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"تلاش کر رہا ہے…"</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"منتخب کردہ کو دکھائیں"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"سبھی دکھائیں"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"سبھی کو منتخب کریں"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"سبھی کو غیر منتخب کریں"</string>
+    <string name="add_field" msgid="2384260056674995230">"دوسری فیلڈ شامل کریں"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"نیا شامل کریں"</string>
+    <string name="add_organization" msgid="7311893231158291197">"تنظیم شامل کریں"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"تاریخ"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"گروپ کا نام"</string>
+    <string name="description_star" msgid="2605854427360036550">"پسندیدہ"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"رابطہ میں ترمیم کریں"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"ضم نہیں ہے"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> مآخذ سے ضم کیا گیا"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"موجودہ رابطہ کو منتخب کردہ رابطہ کے ساتھ ملائیں؟"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"منتخب کردہ رابطہ میں ترمیم کرنے کیلئے سوئچ کریں؟ اب تک آپ کی درج کردہ معلومات کاپی ہوجائے گی۔"</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"میرے رابطے میں کاپی کریں"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"میرے رابطوں میں شامل کریں"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"ڈائریکٹری <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"حسب ضرورت"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"ترتیبات"</string>
+    <string name="menu_settings" msgid="377929915873428211">"ترتیبات"</string>
+    <string name="menu_help" msgid="5123887102216637725">"مدد"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"ڈسپلے کے اختیارات"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>، <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"فون نمبر"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"رابطوں میں شامل کریں"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"رابطہ میں شامل کریں"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"بند کریں"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"ایک سال فراہم کریں"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"رابطہ"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"لوڈ ہو رہا ہے…"</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"ایک نیا رابطہ بنائیں"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"ایک اکاؤنٹ میں سائن ان کریں"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"رابطے درآمد کریں"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"نیا گروپ بنائیں"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"نیا گروپ بنائیں"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 گروپ"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> گروپس"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"گروپ \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" کو حذف کریں؟ (رابطے بذات خود حذف نہیں ہوں گے۔)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> سے <xliff:g id="COUNT_0">%1$d</xliff:g> شخص"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> سے <xliff:g id="COUNT_0">%1$d</xliff:g> لوگ"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> شخص"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> لوگ"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"دوسرے کے ساتھ ملانے سے پہلے رابطہ کا نام ٹائپ کریں۔"</string>
+    <string name="copy_text" msgid="3257145021583508761">"کلپ بورڈ میں کاپی کریں"</string>
+    <string name="set_default" msgid="4417505153468300351">"ڈیفالٹ طے کریں"</string>
+    <string name="clear_default" msgid="7193185801596678067">"ڈیفالٹ کو صاف کریں"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"متن کاپی ہوگیا"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"اپنی تبدیلیاں مسترد کریں؟"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"میرا پروفائل ترتیب دیں"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"شخص کا نام ٹائپ کریں"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"گروپ کا نام"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"میرا مقامی پروفائل"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"میرا <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> پروفائل"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"سبھی رابطے ڈسپلے کر رہا ہے"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"‏رابطے Google اکاؤنٹ کے ساتھ بہتر کام کرتے ہیں۔\n\n• کسی بھی ویب براؤزر سے رسائی حاصل کریں۔\n• محفوظ طریقے سے اپنے رابطوں کا بیک اپ لیں۔"</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"اپنے رابطوں کو محفوظ رکھیں اگرچہ آپ کا فون کھو جائے: ایک آن لائن سروس کے ساتھ مطابقت پذیر بنائیں۔"</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"ایک اکاؤنٹ شامل کریں"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"آپ کے نئے رابطے کا بیک اپ نہیں لیا جائے گا۔ ایک ایسا اکاؤنٹ شامل کریں جو رابطوں کا آن لائن بیک اپ لیتا ہے؟"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"آپ کا نیا رابطہ <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> کے ساتھ مطابق پذیر ہوجائے گا۔"</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"آپ درج ذیل اکاؤنٹس میں سے ایک کے ساتھ اپنا نیا رابطہ مطابقت پذیر بنا سکتے ہیں۔ آپ کس کو استعمال کرنا چاہتے ہیں؟"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"نیا رابطہ شامل کریں"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"رابطہ میں ترمیم کریں"</string>
+    <string name="keep_local" msgid="1258761699192993322">"مقامی رکھیں"</string>
+    <string name="add_account" msgid="8201790677994503186">"اکاؤنٹ شامل کریں"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"نیا اکاؤنٹ شامل کریں"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"ڈیٹا بیس فائلیں برآمد کریں"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"نیا رابطہ شامل کریں"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"مزید دیکھیں"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"کم دیکھیں"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"سبھی دیکھیں"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"حالیہ"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"تفصیل"</string>
+    <string name="send_message" msgid="8938418965550543196">"پیغام بھیجیں"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"ایک ذاتی کاپی بنائی جا رہی ہے…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"گزشتہ کل"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"آئندہ کل"</string>
+    <string name="today" msgid="8041090779381781781">"ﺁﺝ"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"آج بوقت <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"کل بوقت <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(بلا عنوان ایونٹ)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"سیٹ کریں"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"تنظیم"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"عرفی نام"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"نوٹ"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"ویب سائٹ"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"ایونٹ"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"رشتہ"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"مقام کیلئے ڈائریکشنز"</string>
+</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
new file mode 100644
index 0000000..425fe35
--- /dev/null
+++ b/res/values-uz-rUZ/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"Kontaktlar"</string>
+    <string name="contactsList" msgid="8661624236494819731">"Kontaktlar"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"Kontakt"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"Tez terish"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"Tez xabar"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Kontakt yorlig‘ini tanlang"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Qo‘ng‘iroq qilish uchun raqamni tanlang"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Xabar yozish uchun raqamni tanlang"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Kontaktni tanlang"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Yangi kontakt tanlash"</string>
+    <string name="starredList" msgid="4817256136413959463">"Baho berilgan"</string>
+    <string name="frequentList" msgid="7154768136473953056">"Ko‘p gaplashilgan"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Saralar"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"Kontakt tafsilotlari"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"Kontaktni tahrirlash"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"Kontakt yaratish"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"Guruhni tahrirlash"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"Guruh yaratish"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"Haqida"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"Yangilanishlar"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Kontaktlarni izlash"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"Kontaktni ko‘rish"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Saralarga qo‘shish"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Saralardan olib tashlash"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Sevimlilardan o‘chirib tashlandi"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Sevimlilarga qo‘shildi"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Tahrirlash"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"O‘chirish"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Uy ekraniga joylashtirish"</string>
+    <string name="menu_call" msgid="3992595586042260618">"Kontaktga qo‘ng‘iroq qilish"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Kontaktga xabar jo‘natish"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Alohida"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Tahrirlash"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"O‘chirish"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Kontakt qo‘shish"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Guruh qo‘shish"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Kontakt ajratilsinmi?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Ushbu kontakt bir nechta kontaktlarga ajratiladi."</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"Qo‘shish"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Kontaktlarni birlashtirish"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g>ga qo‘shishni xohlagan kontaktingizni tanlang:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Barcha kontaktlarni ko‘rsatish"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Tavsiya qilingan kontaktlar"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Barcha kontaktlar"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontaktlar birlashtirildi"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Qo‘ng‘iroq ohangini o‘rnatish"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Barcha qo‘n-lar ovozli xabarga"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Faqat o‘qishga ruxsat etilgan hisoblar kontaktlarini o‘chira olmaysiz, ammo ularni kontaktlaringiz ro‘yxatida ko‘rinmaydigan qila olasiz."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Ushbu kontaktda bir nechta hisoblardan ma’lumotlar jamlangan. Faqat o‘qishga ruxsat etilgan hisoblar ma’lumoti kontaktlar ro‘yxatingizda ko‘rinmay qoladi, lekin o‘chirilmaydi."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Ushbu kontaktni o‘chirish bir nechta hisoblardagi ma’lumotlarni o‘chiradi."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"Ushbu kontakt o‘chiriladi."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"O‘zgarishlarni bekor qilish"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"Kontakt mavjud emas."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Kontakt vidjeti \"Uy\" ekraniga qo‘shildi."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Yangi kontakt yaratish"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Yangi kontakt yaratish"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"Tashkilot"</item>
+    <item msgid="7196592230748086755">"Eslatma"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Planshetda rasmlar mavjud emas."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Telefonda rasmlar mavjud emas."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Kontakt surati"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Maxsus belgi nomi"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Qo‘ng‘iroqlarni to‘g‘ridan to‘g‘ri ovozli xabarga jo‘natish"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"Suratni o‘chirish"</string>
+    <string name="noContacts" msgid="8579310973261953559">"Kontaktlar yo‘q."</string>
+    <string name="noGroups" msgid="8614664663561385253">"Guruhlar yo‘q."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"Guruh yaratish uchun hisobingiz bo‘lishi kerak."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"Ushbu guruhda odam yo‘q."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"Bir nechtani qo‘shish uchun guruhni tahrirlang."</string>
+    <string name="savingContact" msgid="4075751076741924939">"Kontakt saqlanmoqda…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Kontakt saqlandi."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Kontakt o‘zgarishlari saqlanmadi."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"Guruh saqlandi."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Guruh o‘zgarishlarini saqlab bo‘lmadi."</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"1 ta kontakt telefon raqami bilan"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> ta kontakt telefon raqamlari bilan"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Telefon raqamlari bor kontaktlar yo‘q"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"1 ta topildi"</item>
+    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> ta topildi"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Kontaktlar yo‘q"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"1 ta topildi"</item>
+    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> ta topildi"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Barcha kontaktlar"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Sevimlilar"</string>
+    <string name="callBack" msgid="5498224409038809224">"Teskari qo‘ng‘iroq"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Yana qo‘ng‘iroq qilish"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Qo‘ng‘iroqni qaytarish"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Kontaktlarga \"<xliff:g id="EMAIL">%s</xliff:g>\" qo‘shilsinmi?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"kontakt surati"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"plyus"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="TOTAL_NUMBER">%s</xliff:g> dan <xliff:g id="CURRENT_NUMBER">%s</xliff:g>ta kontakt"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"Kontaktlaringiz nomi"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Ushbu amalni bajarish uchun ilova topilmadi."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Avvalgi ekranga qaytish uchun bosing"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Telefon raqamini qo\'shish"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Elektron pochta qo\'shish"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Ushbu amalni bajarish uchun ilova topilmadi."</string>
+    <string name="menu_share" msgid="943789700636542260">"Ulashish"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Kontaktlarga qo‘shish"</string>
+    <string name="share_via" msgid="563121028023030093">"Kontakni bu orqali ulashish:"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"Hisob ostida guruh yaratish"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"Ovozli suhbat"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Video suhbat"</string>
+    <string name="connections" msgid="8098440723172028350">"Ulanishlar"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Aloqa qo‘shish"</string>
+    <string name="recent" msgid="2659189233141493004">"So‘nggi"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"So‘nggi yangilanishlar"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> ta kontakt"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"Ushbu suratdan foydalaning"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"Ushbu ilova orqali tahrirlab bo‘lmaydi."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Ushbu qurilmada tahrir qilib bo‘lmaydi."</string>
+    <string name="take_photo" msgid="7496128293167402354">"Suratga olish"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"Yangi surat olish"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Surat tanlang"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Yangi suratni tanlang"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Til o‘zgarishlarini aks ettirish uchun kontakt ro‘yxati yangilanmoqda."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"Kontakt ro‘yxati yangilanmoqda."</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Kontaktlarni yangilash jarayoni boshlangan. \n\nYangilash jarayoni taxminan <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB ichki xotiradan joy talab qiladi.\n\nQuyidagilardan birini tanlang:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Bir nechta ilovalarni o‘chiring"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Yangilash uchun yana urinib ko‘ring"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"Qidirmoqda…"</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"Tanlanganni ko‘rsatish"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"Barchasini ko‘rsatish"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Barchasini tanlash"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"Barcha tanlashlarni bekor qilish"</string>
+    <string name="add_field" msgid="2384260056674995230">"Boshqa maydon qo‘shish"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Yangisini qo‘shish"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Tashkilot qo‘shish"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Sana"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Guruh nomi"</string>
+    <string name="description_star" msgid="2605854427360036550">"ajratilgan"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Kontaktni tahrirlash"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"birlashtirilmagan"</item>
+    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> ta manbadan birlashtirilgan"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Joriy kontakt tanlangan kontaktga qo‘shilsinmi?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Tanlangan kontaktni tahrir qilishga o‘tilsinmi? Hozirgacha kiritgan ma’lumotlaringizdan nusxa ko‘chiriladi."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"Kontaktlarimga nusxa ko‘chirish"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"Kontaktlarimga qo‘shish"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"Direktoriya <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"Boshqa"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"Sozlamalar"</string>
+    <string name="menu_settings" msgid="377929915873428211">"Sozlamalar"</string>
+    <string name="menu_help" msgid="5123887102216637725">"Yordam"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"Ko‘rsatish sozlamalari"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"Telefon raqami"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Kontaktlarga qo‘shish"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Kontaktlarga qo‘shish"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"Yopish"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"Yilini keltirish"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"Kontakt"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"Yuklanmoqda…"</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Yangi hisob yarating"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Hisobingizga kiring"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Kontaktlarni import qilish"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"Yangi guruh yaratish"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"Yangi guruh yaratish"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 ta guruh"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> ta guruh"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" guruhi o‘chirilsinmi? (Kontaktlarning o‘zi o‘chirilmaydi.)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>dan <xliff:g id="COUNT_0">%1$d</xliff:g> ta odam"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>dan <xliff:g id="COUNT_0">%1$d</xliff:g> ta odam"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> ta odam"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> ta odam"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Boshqasiga qo‘shishdan oldin kontakt nomini yozing."</string>
+    <string name="copy_text" msgid="3257145021583508761">"Vaqtinchalik xotiraga nusxa ko‘chirish"</string>
+    <string name="set_default" msgid="4417505153468300351">"Standart sifatida o‘rnatish"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Standartni tozalash"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"Matndan nuxsa olindi"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"O‘zgartirishlar bekor qilinsinmi?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Profilimni moslash"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Shaxsning ismini yozing"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Guruhning nomi"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"Mening qurilmadagi profilim"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"Mening <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> profilim"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Barcha kontaktlar ko‘rsatilmoqda"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kontaktlar Google hisobi bilan yaxshi ishlaydi.\n\n• Xohlagan veb-brauzerdan kirishingiz mumkin.\n• Kontaktlaringizni nusxasini xavfsiz joyga zaxiralang."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Onlayn xizmat yordamida sinxronlab, telefoningiz yo‘qolganda ham kontaktlaringizni saqlab qoling."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Hisob qo‘shish"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Yangi kontaktingiz zaxiralanmaydi. Kontaktlarni onlayn zaxiralash uchun hisob qo‘shilsinmi?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Yangi kontaktingiz <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> bilan sinxronlanadi."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Yangi kontaktlaringizni quyidagi hisoblar bilan sinxronlashingiz mumkin. Qaysi biridan foydalanmoqchisiz?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Kontakt qo‘shish"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Kontaktni tahrirlash"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Qurilmada saqlash"</string>
+    <string name="add_account" msgid="8201790677994503186">"Hisob qo‘shish"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Yangi hisob qo‘shish"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Ma’lumotlar bazasi fayllarini eksport qilish"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"yangi kontakt qo‘shish"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Ko‘proq"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Kamroq"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Barchasini ko‘rish"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"So‘nggi"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Ma’lumot"</string>
+    <string name="send_message" msgid="8938418965550543196">"Xabar yuborish"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Shaxsiy nusxasi yaratilmoqda…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"Kecha"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Ertaga"</string>
+    <string name="today" msgid="8041090779381781781">"Bugun"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Bugun <xliff:g id="TIME_INTERVAL">%s</xliff:g> da"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Ertaga <xliff:g id="TIME_INTERVAL">%s</xliff:g> da"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Nomsiz tadbir)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"O‘rnatish"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Tezkor xabar (IM)"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Tashkilot"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Taxallus"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Qayd"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Veb-sayt"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Tadbir"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Aloqadorlik"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"manzilga yo\'nalishlar"</string>
+</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 05bd499..683a406 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Danh bạ"</string>
+    <string name="people" msgid="1190841469952343354">"Danh bạ"</string>
     <string name="contactsList" msgid="8661624236494819731">"Danh bạ"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Liên hệ"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Quay số trực tiếp"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Chọn một số để gọi"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Chọn một số để gửi tin nhắn"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Chọn địa chỉ liên hệ"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Chọn liên hệ mới"</string>
     <string name="starredList" msgid="4817256136413959463">"Được gắn dấu sao"</string>
     <string name="frequentList" msgid="7154768136473953056">"Thường xuyên"</string>
     <string name="strequentList" msgid="5640192862059373511">"Mục ưa thích"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Chi tiết liên hệ"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Xem liên hệ"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Chỉnh sửa liên hệ"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Tạo liên hệ"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Chỉnh sửa nhóm"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Xem liên hệ"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Thêm vào mục ưa thích"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Xóa khỏi mục ưa thích"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Đã xóa khỏi mục ưa thích"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Đã thêm vào mục ưa thích"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Chỉnh sửa"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Xóa"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Đặt trên màn hình chính"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Liên hệ này chứa thông tin từ nhiều tài khoản. Thông tin từ các tài khoản ở chế độ chỉ đọc sẽ bị ẩn trong danh sách liên hệ của bạn, chứ không bị xóa."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Xóa liên hệ này sẽ xóa thông tin khỏi nhiều tài khoản."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Liên hệ này sẽ bị xóa."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Hủy bỏ"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Hủy các thay đổi"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Địa chỉ liên hệ không tồn tại."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Đã thêm tiện ích liên hệ vào Màn hình chính."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Tạo liên hệ mới"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> liên hệ có số điện thoại"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Không có liên hệ nào có số điện thoại"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 địa chỉ liên hệ"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> địa chỉ liên hệ"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"Đã tìm thấy 1"</item>
     <item quantity="other" msgid="3852668542926965042">"Đã tìm thấy <xliff:g id="COUNT">%d</xliff:g>"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"Đã tìm thấy 1"</item>
     <item quantity="other" msgid="7988132539476575389">"Đã tìm thấy <xliff:g id="COUNT">%d</xliff:g>"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Tất cả liên hệ"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Nhóm"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Tất cả liên hệ"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Mục yêu thích"</string>
     <string name="callBack" msgid="5498224409038809224">"Gọi lại"</string>
     <string name="callAgain" msgid="3197312117049874778">"Gọi lại"</string>
     <string name="returnCall" msgid="8171961914203617813">"Gọi lại"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> trong tổng số <xliff:g id="TOTAL_NUMBER">%s</xliff:g> liên hệ"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Tên danh bạ của bạn"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"Không tìm thấy ứng dụng nào để xử lý tác vụ này."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Nhấp để quay lại màn hình trước đó"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Thêm số điện thoại"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Thêm email"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Không tìm thấy ứng dụng nào để xử lý tác vụ này."</string>
     <string name="menu_share" msgid="943789700636542260">"Chia sẻ"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Thêm vào danh bạ"</string>
     <string name="share_via" msgid="563121028023030093">"Chia sẻ liên hệ qua"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Tạo nhóm trong tài khoản"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Trò chuyện thoại"</string>
@@ -133,20 +136,13 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Sử dụng ảnh này"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Không chỉnh sửa được từ ứng dụng này."</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Không có thông tin bổ sung nào cho địa chỉ liên hệ này."</string>
     <string name="group_read_only" msgid="1061762906115697637">"Không chỉnh sửa được trên thiết bị này."</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Sắp xếp danh sách theo"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Tên"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Họ"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Xem tên liên hệ"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Tên trước tiên"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Họ trước tiên"</string>
     <string name="take_photo" msgid="7496128293167402354">"Chụp ảnh"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Chụp ảnh mới"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Chọn ảnh từ Thư viện"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Chọn ảnh mới từ Thư viện"</string>
-    <string name="locale_change_in_progress" msgid="7583992153091537467">"Danh sách liên hệ đang được cập nhật để phản ánh sự thay đổi ngôn ngữ."</string>
-    <string name="upgrade_in_progress" msgid="474511436863451061">"Danh sách liên hệ đang được cập nhật."</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Chọn ảnh"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Chọn ảnh mới"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Danh bạ đang được cập nhật để phản ánh sự thay đổi ngôn ngữ."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"Danh bạ đang được cập nhật."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Danh bạ đang được nâng cấp. \n\nQuá trình nâng cấp yêu cầu khoảng <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB bộ nhớ trong.\n\nChọn một trong các tùy chọn sau:"</string>
     <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Gỡ cài đặt một số ứng dụng"</string>
     <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Thử lại nâng cấp"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Thêm tổ chức"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Ngày"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Tên nhóm"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">" qua <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> qua <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"Yêu thích"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Chỉnh sửa liên hệ"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Sao chép vào Danh bạ của tôi"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Thêm vào Danh bạ của tôi"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Thư mục <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Đang tạo bản sao cá nhân..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Tùy chỉnh"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Cài đặt"</string>
     <string name="menu_settings" msgid="377929915873428211">"Cài đặt"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"T.sử cục bộ của tôi"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Tiểu sử <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> của tôi"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Đang hiển thị tất cả liên hệ"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"Ứng dụng Người hoạt động tốt hơn với Tài khoản Google.\n\n• Truy cập từ bất kỳ trình duyệt web nào.\n• Sao lưu danh sách liên hệ của bạn một cách an toàn."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Danh bạ hoạt động tốt hơn với tài khoản Google.\n\n• Truy cập từ bất kỳ trình duyệt web nào.\n• Sao lưu danh bạ của bạn một cách an toàn."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Đảm bảo an toàn cho danh sách liên hệ của bạn ngay cả khi bạn mất điện thoại: hãy đồng bộ hóa với một dịch vụ trực tuyến."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Thêm tài khoản"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Địa chỉ liên hệ mới của bạn sẽ không được sao lưu. Thêm tài khoản sao lưu danh bạ trực tuyến?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Địa chỉ liên hệ mới của bạn sẽ được đồng bộ hóa với <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Bạn có thể đồng bộ hóa địa chỉ liên hệ mới của mình với một trong những tài khoản sau. Bạn muốn sử dụng tài khoản nào?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Thêm liên hệ mới"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Chỉnh sửa liên hệ"</string>
     <string name="keep_local" msgid="1258761699192993322">"Lưu trữ cục bộ"</string>
     <string name="add_account" msgid="8201790677994503186">"Thêm tài khoản"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Thêm tài khoản mới"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Xuất các tệp cơ sở dữ liệu"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Ảnh. Chọn để thay đổi"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"thêm liên hệ mới"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Xem thêm"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Xem bớt"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Xem tất cả"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Gần đây"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Giới thiệu"</string>
+    <string name="send_message" msgid="8938418965550543196">"Gửi tin nhắn"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Đang tạo bản sao cá nhân..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Hôm qua"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Ngày mai"</string>
+    <string name="today" msgid="8041090779381781781">"Hôm nay"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Hôm nay lúc <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Ngày mai lúc <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Sự kiện không có tiêu đề)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Đặt"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Tổ chức"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Biệt hiệu"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Ghi chú"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Trang web"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Sự kiện"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Quan hệ"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"chỉ đường tới địa điểm"</string>
 </resources>
diff --git a/res/values-w470dp/dimens.xml b/res/values-w470dp/dimens.xml
new file mode 100644
index 0000000..2c04e5d
--- /dev/null
+++ b/res/values-w470dp/dimens.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources>
+
+    <!-- The width the that the tabs occupy in the ActionBar when in landscape mode.
+         470dp is the height of a "normal" screen. We should leave 240dp for
+         the title and menu items -->
+    <dimen name="people_activity_landscape_tabs_width">230dip</dimen>
+    <!-- The size of the text displayed in the ActionBar tabs in landscape mode.
+         Text in the tabs should must be width dependent, otherwise it won't fit in the tabs.
+         In portrait mode, the tabs look okay when overflowing their allocated space.
+         We have to be more careful in landscape. -->
+    <dimen name="people_activity_landscape_tabs_text_size">9dp</dimen>
+
+</resources>
\ No newline at end of file
diff --git a/res/values-w590dp/dimens.xml b/res/values-w590dp/dimens.xml
new file mode 100644
index 0000000..2fff6ca
--- /dev/null
+++ b/res/values-w590dp/dimens.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources>
+
+    <!-- The width the that the tabs occupy in the ActionBar when in landscape mode.
+         590dp is almost the height of a "large" screen. We should leave 240dp for
+         the title and menu items -->
+    <dimen name="people_activity_landscape_tabs_width">350dip</dimen>
+    <!-- The size of the text displayed in the ActionBar tabs in landscape mode.
+         Text in the tabs should must be width dependent, otherwise it won't fit in the tabs.
+         In portrait mode, the tabs look okay when overflowing their allocated space.
+         We have to be more careful in landscape. -->
+    <dimen name="people_activity_landscape_tabs_text_size">14dp</dimen>
+
+</resources>
\ No newline at end of file
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 9ed84b6..cfa6e26 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"联系人"</string>
+    <string name="people" msgid="1190841469952343354">"通讯录"</string>
     <string name="contactsList" msgid="8661624236494819731">"联系人"</string>
     <string name="shortcutContact" msgid="749243779392912958">"联系人"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"直接拨打电话"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"选择一个可直接拨号的号码"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"选择一个可直接向其发送短信的号码"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"选择联系人"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"选择新联系人"</string>
     <string name="starredList" msgid="4817256136413959463">"已加星标的内容"</string>
     <string name="frequentList" msgid="7154768136473953056">"经常联系"</string>
     <string name="strequentList" msgid="5640192862059373511">"收藏"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"联系人详情"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"查看联系人"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"编辑联系人"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"创建联系人"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"修改群组"</string>
@@ -39,7 +39,9 @@
     <string name="searchHint" msgid="8482945356247760701">"搜索联系人"</string>
     <string name="menu_viewContact" msgid="2795575601596468581">"查看联系人"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"添加到收藏"</string>
-    <string name="menu_removeStar" msgid="5844227078364227030">"从收藏中删除"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"从收藏中移除"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"已从收藏中移除"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"已添加到收藏"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"修改"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"删除"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"放在主屏幕上"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"该联系人的信息中包含来自多个帐户的信息。来自只读帐户的信息将在您的联系人列表中隐藏,但不会删除。"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"删除该联系人将会删除多个帐户中的信息。"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"将会删除此联系人。"</string>
-    <string name="menu_discard" msgid="6456087569315685632">"舍弃"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"舍弃更改"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"该联系人不存在。"</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"联系人小部件已添加到主屏幕。"</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"新建联系人"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> 位联系人有电话号码"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"没有联系人拥有电话号码"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 位联系人"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> 位联系人"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"找到 1 个联系人"</item>
     <item quantity="other" msgid="3852668542926965042">"找到 <xliff:g id="COUNT">%d</xliff:g> 个联系人"</item>
@@ -108,18 +106,23 @@
     <item quantity="one" msgid="4826918429708286628">"找到 1 个联系人"</item>
     <item quantity="other" msgid="7988132539476575389">"找到 <xliff:g id="COUNT">%d</xliff:g> 个联系人"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"所有联系人"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"群组"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"所有联系人"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"收藏"</string>
     <string name="callBack" msgid="5498224409038809224">"回电"</string>
     <string name="callAgain" msgid="3197312117049874778">"重拨"</string>
     <string name="returnCall" msgid="8171961914203617813">"回拨"</string>
-    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"将“<xliff:g id="EMAIL">%s</xliff:g>”添加到联系人?"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"将“<xliff:g id="EMAIL">%s</xliff:g>”添加到通讯录?"</string>
     <string name="description_contact_photo" msgid="3387458082667894062">"联系人照片"</string>
     <string name="description_plus_button" msgid="515164827856229880">"添加"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"第 <xliff:g id="CURRENT_NUMBER">%s</xliff:g> 个联系人(共 <xliff:g id="TOTAL_NUMBER">%s</xliff:g> 个)"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"联系人姓名"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"未找到可处理此操作的应用。"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"点击即可返回上一屏幕"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"添加电话号码"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"添加电子邮件地址"</string>
+    <string name="missing_app" msgid="1466111003546611387">"未找到可处理此操作的应用。"</string>
     <string name="menu_share" msgid="943789700636542260">"分享"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"添加到通讯录"</string>
     <string name="share_via" msgid="563121028023030093">"联系人分享方式"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"要在哪个帐户下创建群组?"</string>
     <string name="audio_chat" msgid="2535716629358298691">"语音聊天"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"使用此照片"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"无法通过此应用修改。"</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"没有此联系人的其他信息。"</string>
     <string name="group_read_only" msgid="1061762906115697637">"无法在此设备上修改。"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"列表排序依据"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"名字"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"姓氏"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"查看联系人姓名"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"名字在前"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"姓氏在前"</string>
     <string name="take_photo" msgid="7496128293167402354">"拍照"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"拍摄新照片"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"从图库中选择照片"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"从图库中选择新照片"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"选择照片"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"选择新照片"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"正在更新联系人列表,以反映语言的变更。"</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"正在更新联系人列表。"</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"正在升级“联系人”。\n\n升级过程大约需要 <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB 的内存空间。\n\n请选择以下某个选项:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"添加工作单位"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"日期"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"群组名称"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"来源:<xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"时间:<xliff:g id="DATE">%1$s</xliff:g>,来源:<xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"收藏"</string>
     <string name="edit_contact" msgid="7529281274005689512">"编辑联系人"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"复制到“我的联系人”"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"添加到“我的联系人”"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"目录类型:<xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"正在创建个人副本..."</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"自定义"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"设置"</string>
     <string name="menu_settings" msgid="377929915873428211">"设置"</string>
@@ -181,7 +174,7 @@
     <string name="preference_displayOptions" msgid="1341720270148252393">"显示选项"</string>
     <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>,<xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
     <string name="non_phone_caption" msgid="1541655052330027380">"电话号码"</string>
-    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"添加到联系人"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"添加到通讯录"</string>
     <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"添加至联系人"</string>
     <string name="non_phone_close" msgid="7608506439725515667">"关闭"</string>
     <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"我的本地个人资料"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"我的<xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>个人资料"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"显示所有联系人"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"联系人应用与 Google 帐户结合使用效果更佳。\n\n• 通过任意网络浏览器查看您的联系人信息。\n• 安全地备份您的联系人信息。"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"登录Google帐户可获得更棒的通讯录使用体验。\n\n• 可通过任意浏览器访问。\n• 安全妥善地备份您的联系人数据。"</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"即使手机丢了,也能确保您的联系人信息的安全性:与在线服务同步。"</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"添加帐户"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"系统不会备份您的新联系人。要添加用于在线备份联系人的帐户吗?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"系统会将您的新联系人与 <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> 同步。"</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"您可以将您的新联系人与以下某个帐户同步。请选择要使用的帐户:"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"新增联系人"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"修改联系人"</string>
     <string name="keep_local" msgid="1258761699192993322">"本地保存"</string>
     <string name="add_account" msgid="8201790677994503186">"添加帐户"</string>
     <string name="add_new_account" msgid="5748627740680940264">"添加新帐户"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"导出数据库文件"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"照片(选择即可更换)"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"添加新联系人"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"查看更多"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"隐藏部分"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"查看全部"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"最近"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"简介"</string>
+    <string name="send_message" msgid="8938418965550543196">"发送短信"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"正在创建个人副本…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"昨天"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"明天"</string>
+    <string name="today" msgid="8041090779381781781">"今天"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"今天<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"明天<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>,<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(未命名的活动)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"设置"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"聊天工具"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"单位"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"昵称"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"备注"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"网站"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"活动"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"关系"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"到特定地点的路线"</string>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..7e5133c
--- /dev/null
+++ b/res/values-zh-rHK/strings.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2006 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="people" msgid="1190841469952343354">"通訊錄"</string>
+    <string name="contactsList" msgid="8661624236494819731">"通訊錄"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"聯絡人"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"直接撥號"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"私人訊息"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"選擇聯絡人捷徑"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"選擇撥打號碼"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"選擇傳訊號碼"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"選擇聯絡人"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"選取新聯絡人"</string>
+    <string name="starredList" msgid="4817256136413959463">"已加星號"</string>
+    <string name="frequentList" msgid="7154768136473953056">"常用聯絡人"</string>
+    <string name="strequentList" msgid="5640192862059373511">"我的最愛"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"聯絡人詳細資料"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"編輯聯絡人"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"建立聯絡人"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"編輯群組"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"建立群組"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"關於"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"更新"</string>
+    <string name="searchHint" msgid="8482945356247760701">"搜尋聯絡人"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"查看聯絡人"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"新增至我的最愛"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"從「我的最愛」中移除"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"已從我的最愛中移除"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"已加到我的最愛"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"編輯"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"刪除"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"新增到主畫面上"</string>
+    <string name="menu_call" msgid="3992595586042260618">"致電聯絡人"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"傳送簡訊至聯絡人"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"分割"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"編輯"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"刪除"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"新增聯絡人"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"新增群組"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"要分拆聯絡人記錄嗎?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"這個聯絡人記錄即將分拆為多個。"</string>
+    <string name="menu_joinAggregate" msgid="5027981918265667970">"加入"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"合併聯絡人"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"選擇要與<xliff:g id="NAME">%s</xliff:g>合併的聯絡人:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"顯示所有聯絡人"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"建議的聯絡人"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"所有聯絡人"</string>
+    <string name="contactsJoinedMessage" msgid="7208148163607047389">"已合併聯絡人"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"設定鈴聲"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"所有來電轉到留言信箱"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"您無法刪除唯讀帳戶的聯絡人,但可在聯絡人名單中隱藏這些聯絡人。"</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"這個聯絡人包含來自多個帳戶的資訊。您的聯絡人清單不會顯示唯讀帳戶的資訊 (這些資訊並不會被刪除)。"</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"刪除這個聯絡人將刪除多個帳戶的資訊。"</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"刪除此聯絡人?"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"放棄變更"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"聯絡人不存在。"</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"聯絡人小工具已新增到主畫面上。"</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"建立新聯絡人"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"建立新聯絡人"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"機構"</item>
+    <item msgid="7196592230748086755">"備註"</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"平板電腦中沒有相片可供選用。"</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"手機中沒有相片可供選用。"</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"聯絡人相片"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"自訂標籤名稱"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"直接將來電轉到留言信箱"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"移除相片"</string>
+    <string name="noContacts" msgid="8579310973261953559">"沒有聯絡人。"</string>
+    <string name="noGroups" msgid="8614664663561385253">"沒有群組。"</string>
+    <string name="noAccounts" msgid="7768267764545265909">"如要建立群組,您需要有一個帳戶。"</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"這個群組中沒有成員。"</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"如要新增成員,請編輯群組。"</string>
+    <string name="savingContact" msgid="4075751076741924939">"正在儲存聯絡人…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"聯絡人已儲存。"</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"無法儲存聯絡人變更。"</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"群組已儲存。"</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"無法儲存群組變更。"</string>
+  <plurals name="listTotalPhoneContacts">
+    <item quantity="one" msgid="3015357862286673986">"1 個有電話號碼的聯絡人"</item>
+    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> 個有電話號碼的聯絡人"</item>
+  </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"所有聯絡人資訊都沒有電話號碼"</string>
+  <plurals name="listFoundAllContacts">
+    <item quantity="one" msgid="5517063038754171134">"找到 1 位聯絡人"</item>
+    <item quantity="other" msgid="3852668542926965042">"找到 <xliff:g id="COUNT">%d</xliff:g> 位聯絡人"</item>
+  </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"沒有聯絡人"</string>
+  <plurals name="searchFoundContacts">
+    <item quantity="one" msgid="4826918429708286628">"找到 1 位聯絡人"</item>
+    <item quantity="other" msgid="7988132539476575389">"找到 <xliff:g id="COUNT">%d</xliff:g> 位聯絡人"</item>
+  </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"所有聯絡人"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"最愛聯絡人"</string>
+    <string name="callBack" msgid="5498224409038809224">"回撥電話"</string>
+    <string name="callAgain" msgid="3197312117049874778">"重撥"</string>
+    <string name="returnCall" msgid="8171961914203617813">"回覆來電"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"要將「<xliff:g id="EMAIL">%s</xliff:g>」加到通訊錄嗎?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"聯絡人相片"</string>
+    <string name="description_plus_button" msgid="515164827856229880">"加號"</string>
+    <string name="exporting_contact_list_progress" msgid="560522409559101193">"第 <xliff:g id="CURRENT_NUMBER">%s</xliff:g> 位聯絡人,共 <xliff:g id="TOTAL_NUMBER">%s</xliff:g> 位"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"您的聯絡人姓名"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"找不到可以處理這個操作的應用程式。"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"按一下即可返回上一個畫面"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"新增電話號碼"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"新增電郵"</string>
+    <string name="missing_app" msgid="1466111003546611387">"找不到可以處理這個操作的應用程式。"</string>
+    <string name="menu_share" msgid="943789700636542260">"分享"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"加入通訊錄"</string>
+    <string name="share_via" msgid="563121028023030093">"使用下列應用程式分享聯絡人資訊:"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"選擇帳戶以建立群組"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"話音通訊"</string>
+    <string name="video_chat" msgid="1872255818640336072">"視像通訊"</string>
+    <string name="connections" msgid="8098440723172028350">"聯繫"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"加入聯繫"</string>
+    <string name="recent" msgid="2659189233141493004">"近況"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"近期動態"</string>
+    <string name="account_type_format" msgid="718948015590343010">"<xliff:g id="SOURCE">%1$s</xliff:g> 聯絡人"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="use_photo_as_primary" msgid="8807110122951157246">"使用這張相片"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"無法以這個應用程式編輯。"</string>
+    <string name="group_read_only" msgid="1061762906115697637">"無法在這部裝置上編輯。"</string>
+    <string name="take_photo" msgid="7496128293167402354">"拍照"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"拍攝新相片"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"選擇相片"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"選取新相片"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"正在更新聯絡人名單,以反映語言變更。"</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"正在更新聯絡人清單。"</string>
+    <string name="upgrade_out_of_memory" msgid="1209994418877625940">"正在升級通訊錄。\n\n升級程序需要大約 <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB 的內部儲存空間。\n\n請選擇下列其中一個選項:"</string>
+    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"解除安裝部分應用程式"</string>
+    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"重試升級"</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"正在搜尋..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"顯示已選取的項目"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"顯示全部"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"全選"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"全部取消選取"</string>
+    <string name="add_field" msgid="2384260056674995230">"新增其他欄位"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"新增"</string>
+    <string name="add_organization" msgid="7311893231158291197">"新增機構"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"日期"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"群組名稱"</string>
+    <string name="description_star" msgid="2605854427360036550">"我的最愛"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"編輯聯絡人"</string>
+  <plurals name="merge_info">
+    <item quantity="one" msgid="148365587896371969">"未合併"</item>
+    <item quantity="other" msgid="425683718017380845">"從 <xliff:g id="COUNT">%0$d</xliff:g> 個來源合併"</item>
+  </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"要將目前聯絡人與所選聯絡人合併嗎?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"要切換至編輯所選聯絡人嗎?您目前已輸入的資訊將會被複製。"</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"複製到我的通訊錄"</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"新增至通訊錄"</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"名錄 <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"自訂"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"設定"</string>
+    <string name="menu_settings" msgid="377929915873428211">"設定"</string>
+    <string name="menu_help" msgid="5123887102216637725">"說明"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"顯示選項"</string>
+    <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_0">%2$s</xliff:g>,<xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+    <string name="non_phone_caption" msgid="1541655052330027380">"電話號碼"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"加入通訊錄"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"加入聯絡人記錄"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"關閉"</string>
+    <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"提供年份"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"聯絡人"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"正在載入..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"建立新聯絡人"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"登入帳戶"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"匯入通訊錄"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"建立新群組"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"建立新群組"</string>
+  <plurals name="num_groups_in_account">
+    <item quantity="one" msgid="2944819210288517794">"1 個群組"</item>
+    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> 個群組"</item>
+  </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"要刪除「<xliff:g id="GROUP_LABEL">%1$s</xliff:g>」群組嗎?(這並不會刪除聯絡人本身。)"</string>
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> 中有 <xliff:g id="COUNT_0">%1$d</xliff:g> 人"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> 中有 <xliff:g id="COUNT_0">%1$d</xliff:g> 人"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> 人"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> 人"</item>
+  </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"請先輸入聯絡人姓名,然後才能與另一個聯絡人合併。"</string>
+    <string name="copy_text" msgid="3257145021583508761">"複製到剪貼簿"</string>
+    <string name="set_default" msgid="4417505153468300351">"設為預設"</string>
+    <string name="clear_default" msgid="7193185801596678067">"清除預設值"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"文字已複製"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"要丟棄更改嗎?"</string>
+    <string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"設定我的個人資料"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"輸入聯絡人名字"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"群組名稱"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"我的本機個人資料"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"我的 <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> 個人資料"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"顯示所有聯絡人"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"聯絡人與 Google 帳戶搭配使用的效能更卓越。\n\n• 透過任何網絡瀏覽器皆可存取。\n• 安全備份您的聯絡人。"</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"即使丟失手機,也要確保通訊錄安全:與網上服務保持同步。"</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"新增帳戶"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"您的新聯絡人資料不會備份。要新增可在網上備份聯絡人資料的帳戶嗎?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"您的新聯絡人資料將與 <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> 同步處理。"</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"您可以透過下列其中一個帳戶同步處理您的新聯絡人資料。要使用哪個帳戶?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"新增聯絡人"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"編輯聯絡人"</string>
+    <string name="keep_local" msgid="1258761699192993322">"保留在本機中"</string>
+    <string name="add_account" msgid="8201790677994503186">"新增帳戶"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"新增帳戶"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"匯出資料庫檔案"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"新增聯絡人"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"顯示更多"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"顯示較少"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"顯示全部"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"近期"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"關於"</string>
+    <string name="send_message" msgid="8938418965550543196">"傳送訊息"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"正在建立個人副本…"</string>
+    <string name="yesterday" msgid="6840858548955018569">"昨天"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"明天"</string>
+    <string name="today" msgid="8041090779381781781">"今天"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"今天<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"明天<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g><xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(未命名活動)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"設定"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"即時通訊"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"組織"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"暱稱"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"備註"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"網站"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"活動"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"關係"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"規劃前往特定地點的路線"</string>
+</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 2b01fda..b0cbe25 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"使用者"</string>
+    <string name="people" msgid="1190841469952343354">"聯絡人"</string>
     <string name="contactsList" msgid="8661624236494819731">"聯絡人"</string>
     <string name="shortcutContact" msgid="749243779392912958">"聯絡人"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"直接撥號"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"選擇去電號碼"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"選擇傳訊號碼"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"選擇聯絡人"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"選取新聯絡人"</string>
     <string name="starredList" msgid="4817256136413959463">"已加星號"</string>
     <string name="frequentList" msgid="7154768136473953056">"經常聯絡"</string>
-    <string name="strequentList" msgid="5640192862059373511">"我的最愛"</string>
+    <string name="strequentList" msgid="5640192862059373511">"我的收藏"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"聯絡人詳細資料"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"檢視聯絡人"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"編輯聯絡人"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"建立聯絡人"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"編輯群組"</string>
@@ -39,10 +39,12 @@
     <string name="searchHint" msgid="8482945356247760701">"搜尋聯絡人"</string>
     <string name="menu_viewContact" msgid="2795575601596468581">"檢視聯絡人"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"加到我的收藏"</string>
-    <string name="menu_removeStar" msgid="5844227078364227030">"從我的最愛中移除"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"從我的收藏中移除"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"已從我的最愛中移除"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"已加到我的最愛"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"編輯"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"刪除"</string>
-    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"新增到主螢幕上"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"放在主螢幕上"</string>
     <string name="menu_call" msgid="3992595586042260618">"去電聯絡人"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"傳送簡訊至聯絡人"</string>
     <string name="menu_splitAggregate" msgid="8368636463748691868">"分割"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"此聯絡人包含來自多個帳戶的資訊。您的聯絡人清單不會顯示唯讀帳戶的資訊 (這些資訊並不會被刪除)。"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"刪除此聯絡人將會刪除多個帳戶的資訊。"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"刪除此聯絡人?"</string>
-    <string name="menu_discard" msgid="6456087569315685632">"捨棄"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"捨棄變更"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"聯絡人不存在。"</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"聯絡人小工具已新增到主螢幕上。"</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"建立新聯絡人"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> 位有電話號碼的聯絡人"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"所有聯絡人資訊中都沒有電話號碼"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"1 位聯絡人"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> 位聯絡人"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"找到 1 位聯絡人"</item>
     <item quantity="other" msgid="3852668542926965042">"找到 <xliff:g id="COUNT">%d</xliff:g> 位聯絡人"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"找到 1 位聯絡人"</item>
     <item quantity="other" msgid="7988132539476575389">"找到 <xliff:g id="COUNT">%d</xliff:g> 位聯絡人"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"所有聯絡人"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"群組"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"所有聯絡人"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"最愛聯絡人"</string>
     <string name="callBack" msgid="5498224409038809224">"回播電話"</string>
     <string name="callAgain" msgid="3197312117049874778">"重撥"</string>
     <string name="returnCall" msgid="8171961914203617813">"回電"</string>
@@ -119,7 +117,12 @@
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"第 <xliff:g id="CURRENT_NUMBER">%s</xliff:g> 位聯絡人,共 <xliff:g id="TOTAL_NUMBER">%s</xliff:g> 位"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"您的聯絡人姓名"</string>
     <string name="quickcontact_missing_app" msgid="358168575340921552">"找不到可以處理這個動作的應用程式。"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"按一下即可返回上一個畫面"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"新增電話號碼"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"新增電子郵件地址"</string>
+    <string name="missing_app" msgid="1466111003546611387">"找不到可以處理這個動作的應用程式。"</string>
     <string name="menu_share" msgid="943789700636542260">"分享"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"新增為聯絡人"</string>
     <string name="share_via" msgid="563121028023030093">"使用下列應用程式分享聯絡人資訊:"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"選擇帳戶以建立群組"</string>
     <string name="audio_chat" msgid="2535716629358298691">"語音通訊"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"使用此相片"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"無法透過這個應用程式編輯。"</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"沒有這位聯絡人的其他資訊。"</string>
     <string name="group_read_only" msgid="1061762906115697637">"無法在這個裝置上編輯。"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"清單排序依據"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"名字"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"姓氏"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"查看聯絡人姓名"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"名字在前"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"姓氏在前"</string>
     <string name="take_photo" msgid="7496128293167402354">"拍照"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"拍攝新相片"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"從圖片庫選擇相片"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"從圖片庫選取新相片"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"選擇相片"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"選取新相片"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"正在更新聯絡人清單以反映語言變更。"</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"正在更新聯絡人清單。"</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"正在升級通訊錄。\n\n升級程序大約需要 <xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> MB 的內部儲存空間。\n\n請選擇下列其中一個選項:"</string>
@@ -160,9 +156,7 @@
     <string name="add_organization" msgid="7311893231158291197">"新增機構"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"日期"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"群組名稱"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"透過 <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> (透過 <xliff:g id="SOURCE">%2$s</xliff:g>)"</string>
-    <string name="description_star" msgid="2605854427360036550">"我的最愛"</string>
+    <string name="description_star" msgid="2605854427360036550">"我的收藏"</string>
     <string name="edit_contact" msgid="7529281274005689512">"編輯聯絡人"</string>
   <plurals name="merge_info">
     <item quantity="one" msgid="148365587896371969">"未合併"</item>
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"複製到我的通訊錄"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"新增至我的聯絡人"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"目錄:<xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"正在建立個人副本…"</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"自訂"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"設定"</string>
     <string name="menu_settings" msgid="377929915873428211">"設定"</string>
@@ -185,7 +178,7 @@
     <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"加入聯絡人"</string>
     <string name="non_phone_close" msgid="7608506439725515667">"關閉"</string>
     <string name="widget_name_and_phonetic" msgid="8739586586600099979">"<xliff:g id="DISPLAY_NAME">%1$s</xliff:g> (<xliff:g id="PHONETIC_NAME">%2$s</xliff:g>)"</string>
-    <string name="date_year_toggle" msgid="7356532842767854606">"提供年份"</string>
+    <string name="date_year_toggle" msgid="7356532842767854606">"輸入年份"</string>
     <string name="social_widget_label" msgid="6378905543028924592">"聯絡人"</string>
     <string name="social_widget_loading" msgid="5327336597364074608">"載入中…"</string>
     <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"建立新聯絡人"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"我的本機個人資料"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"我的 <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> 個人資料"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"顯示所有聯絡人"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"透過「Google 帳戶」使用「Google 人物搜尋」可獲得更佳的效益。\n\n• 透過任何瀏覽器都可存取。\n• 安全備份您的聯絡人。"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"聯絡人與 Google 帳戶搭配使用的效能更優異。\n\n• 透過任何網路瀏覽器皆可存取。\n• 安全備份您的聯絡人。"</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"即使手機遺失,聯絡人資訊依然萬無一失:與線上服務保持同步。"</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"新增帳戶"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"系統不會備份您新增的聯絡人資料。您是否要新建一個帳戶,將您的聯絡人資料另存在線上?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"您新增的聯絡人資料將會同步儲存在 <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g> 的帳戶中。"</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"您可以將新增的聯絡人資料同步儲存在下列其中一個帳戶中。您要選擇哪一個帳戶?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"新增聯絡人"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"編輯聯絡人"</string>
     <string name="keep_local" msgid="1258761699192993322">"儲存在本機中"</string>
     <string name="add_account" msgid="8201790677994503186">"新增帳戶"</string>
     <string name="add_new_account" msgid="5748627740680940264">"新增帳戶"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"匯出資料庫檔案"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"圖片 (選取即可變更)"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"新增聯絡人"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"顯示更多"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"顯示較少"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"全部顯示"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"近期"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"關於"</string>
+    <string name="send_message" msgid="8938418965550543196">"傳送簡訊"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"正在建立個人副本..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"昨天"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"明天"</string>
+    <string name="today" msgid="8041090779381781781">"今天"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"今天<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"明天<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g><xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(未命名活動)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"設定"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"即時訊息"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"機構"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"暱稱"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"記事"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"網站"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"活動"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"關係"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"規劃前往特定地點的路線"</string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index ba13444..c69636c 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="people" msgid="1048457247435785074">"Abantu"</string>
+    <string name="people" msgid="1190841469952343354">"Oxhumana nabo"</string>
     <string name="contactsList" msgid="8661624236494819731">"Othi tana nabo"</string>
     <string name="shortcutContact" msgid="749243779392912958">"Othintana naye"</string>
     <string name="shortcutDialContact" msgid="746622101599186779">"Ukudayela okuqondile"</string>
@@ -25,11 +25,11 @@
     <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Khetha inombolo ozoyishayela"</string>
     <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Khetha inombolo kumyalezo"</string>
     <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Khetha oxhumana naye"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2062180422920201172">"Khetha oxhumana naye omusha"</string>
     <string name="starredList" msgid="4817256136413959463">"Okunenkanyezi"</string>
     <string name="frequentList" msgid="7154768136473953056">"Okuvamile"</string>
     <string name="strequentList" msgid="5640192862059373511">"Izintandokazi"</string>
     <string name="viewContactTitle" msgid="7989394521836644384">"Imininingwane yothintana naye"</string>
-    <string name="viewContactDesription" msgid="214186610887547860">"Buka othintana naye"</string>
     <string name="editContactDescription" msgid="2947202828256214947">"Hlela othintana naye"</string>
     <string name="insertContactDescription" msgid="4709878105452681987">"Dala othintana naye"</string>
     <string name="editGroupDescription" msgid="6321161304201540561">"Hlela isigcawu"</string>
@@ -40,6 +40,8 @@
     <string name="menu_viewContact" msgid="2795575601596468581">"Buka othintana naye"</string>
     <string name="menu_addStar" msgid="2908478235715404876">"Engeza ezintandokazini"</string>
     <string name="menu_removeStar" msgid="5844227078364227030">"Susa ezintandokazini"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"Kukhishiwe kusuka kuzintandokazi"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"Kungezwe ezintandokazini"</string>
     <string name="menu_editContact" msgid="9042415603857662633">"Hlela"</string>
     <string name="menu_deleteContact" msgid="6788644058868189393">"Susa"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Indawo esikrinini sekhaya"</string>
@@ -65,7 +67,7 @@
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Lona othintana naye uqukethe ulwazi olusuka ema-akhawuntini amaningi. Ulwazi olusuka ema-akhawuntini okufunda kuphela kuzofihlwa ohlwini lwakho lothintana nabo, ngeke kususwe."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Ukususa lona othintana naye kuzosusa ulwazi olusuka kuma-akhawuntini amaningi."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Lo na othintana naye uzosuswa."</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Lahla"</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Lahla izinguquko"</string>
     <string name="invalidContactMessage" msgid="8215051456181842274">"Oxhumana naye akekho."</string>
     <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"isinqunjwana soxhumana nabo singeziwe esikrinini sekhaya."</string>
     <string name="pickerNewContactHeader" msgid="7750705279843568147">"Dala othintana naye omusha"</string>
@@ -95,10 +97,6 @@
     <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> Othintana nabo abanezinombolo zocingo"</item>
   </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Abekho othintana nabo abanezinombolo zocingo"</string>
-  <plurals name="listTotalAllContacts">
-    <item quantity="one" msgid="3405747744700823280">"Othintana naye ongu-1"</item>
-    <item quantity="other" msgid="3578469907265375314">"<xliff:g id="COUNT">%d</xliff:g> Othintana nabo"</item>
-  </plurals>
   <plurals name="listFoundAllContacts">
     <item quantity="one" msgid="5517063038754171134">"1 okutholakele"</item>
     <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> tholakele"</item>
@@ -108,8 +106,8 @@
     <item quantity="one" msgid="4826918429708286628">"otholakele ongu-1"</item>
     <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> tholakele"</item>
   </plurals>
-    <string name="contactsAllLabel" msgid="6479708629170672169">"Bonke oxhumana nabo"</string>
-    <string name="contactsGroupsLabel" msgid="2841971472518003524">"Amaqembu"</string>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Bonke oxhumana nabo"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Izintandokazi"</string>
     <string name="callBack" msgid="5498224409038809224">"Phinda ushayele"</string>
     <string name="callAgain" msgid="3197312117049874778">"Shayela futhi"</string>
     <string name="returnCall" msgid="8171961914203617813">"Buyisela ikholi"</string>
@@ -118,8 +116,13 @@
     <string name="description_plus_button" msgid="515164827856229880">"kuhlanganise"</string>
     <string name="exporting_contact_list_progress" msgid="560522409559101193">"<xliff:g id="CURRENT_NUMBER">%s</xliff:g> kothintana nabo abangu-<xliff:g id="TOTAL_NUMBER">%s</xliff:g>"</string>
     <string name="search_settings_description" msgid="2675223022992445813">"Amagama othintana nabo"</string>
-    <string name="quickcontact_missing_app" msgid="358168575340921552">"Ayikho insiza etholakele ukubhekana nalengxenye."</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Ayikho uhlelo lokusebenza etholakele ukubhekana nalengxenye."</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Chofoza ukuze ubuyele kusikrini sangaphambilini"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Engeza inombolo yefoni"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Engeza i-imeyili"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Alukho uhlelo lokusebenza olutholakalele ukuphatha lesi senzo."</string>
     <string name="menu_share" msgid="943789700636542260">"Yabelana"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Engeza koxhumana nabo"</string>
     <string name="share_via" msgid="563121028023030093">"Abelana nothintana naye nge"</string>
     <string name="dialog_new_group_account" msgid="2318032089273496830">"Yenza isigcawu ngaphansi kwe-akhawunti"</string>
     <string name="audio_chat" msgid="2535716629358298691">"Ingxoxo yezw"</string>
@@ -133,18 +136,11 @@
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Sebenzisa lesi sithombe"</string>
     <string name="contact_read_only" msgid="7421346527289472273">"Ayihleleki kulensiza"</string>
-    <string name="no_contact_details" msgid="6636856378019344497">"Alukho ulwazi olwengeziwe lwalona othintana naye"</string>
     <string name="group_read_only" msgid="1061762906115697637">"Ayihleleki kuledivayisi"</string>
-    <string name="display_options_sort_list_by" msgid="6080091755852211076">"Hlunga uhlu nge"</string>
-    <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Igama elinikeziwe"</string>
-    <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Igama lomkhaya"</string>
-    <string name="display_options_view_names_as" msgid="4386932036180428374">"Buka amagama woxhumana nabo"</string>
-    <string name="display_options_view_given_name_first" msgid="6968288511197363292">"Igama elinikeziwe kuqala"</string>
-    <string name="display_options_view_family_name_first" msgid="1447288164951453714">"Igama lomkhaya kuqala"</string>
     <string name="take_photo" msgid="7496128293167402354">"Thatha isithombe"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Thatha isithombe esisha"</string>
-    <string name="pick_photo" msgid="3746334626214970837">"Khetha isithombe kwiGalari"</string>
-    <string name="pick_new_photo" msgid="7962368009197147617">"Khetha isithombe esisha kwiGalari"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Khetha isithombe"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Khetha isithombe"</string>
     <string name="locale_change_in_progress" msgid="7583992153091537467">"Uhlu lothintana naye luyabuyekezwa ukubonisa ushintsho lolimi."</string>
     <string name="upgrade_in_progress" msgid="474511436863451061">"Uhlu lothintana naye luyabuyekezwa."</string>
     <string name="upgrade_out_of_memory" msgid="1209994418877625940">"Othintana nabo basenqubeni yokuthuthukiswa. \n\nInqubo yokuthuthukisa idinga okungenani i-MB engu-<xliff:g id="SIZE_IN_MEGABYTES">%s</xliff:g> yesitoreji sangaphakathi.\n\nKhetha okukodwa kokukhethwa kukho:"</string>
@@ -160,8 +156,6 @@
     <string name="add_organization" msgid="7311893231158291197">"Ngeza inhlangano"</string>
     <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Usuku"</string>
     <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Igama leqembu"</string>
-    <string name="contact_status_update_attribution" msgid="752179367353018597">"nge <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
-    <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> nge- <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"intandokazi"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Hlela othintana naye"</string>
   <plurals name="merge_info">
@@ -173,7 +167,6 @@
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopisha kwengithintana nabo"</string>
     <string name="add_to_my_contacts" msgid="1068274916793627723">"Faka Kothintana Nabo"</string>
     <string name="contact_directory_description" msgid="683398073603909119">"Uhla lwemibhalo <xliff:g id="TYPE">%1$s</xliff:g>"</string>
-    <string name="toast_making_personal_copy" msgid="288549957278065542">"Idala ikhophi yomuntu siqu"</string>
     <string name="list_filter_custom" msgid="8910173055702057002">"Ngokwezifiso"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Izilungiselelo"</string>
     <string name="menu_settings" msgid="377929915873428211">"Izilungiselelo"</string>
@@ -219,15 +212,40 @@
     <string name="local_profile_title" msgid="2021416826991393684">"Imininingwane yami yakuleli"</string>
     <string name="external_profile_title" msgid="8034998767621359438">"Imininingwane <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> yami"</string>
     <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Ibonisa bonke abathintwayo"</string>
-    <string name="no_account_prompt" msgid="7061052512446855192">"I-People isebenza kangcono nge-akhawunti yakwa-Google. \n\n• Finyelela kuyo nganoma iluphi uhlobo lwesiphequluli.\n• Londoloza oxhumana nabo ngokuphepha."</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Oxhumana nabo basebenza kangcono nge-akhawunti ye-Google.\n\n• Finyelela kusuka kunoma isiphi isiphequluli sewebhu.\n• Yenza isipele oxhumana nabo ngokuvikelekile."</string>
     <string name="generic_no_account_prompt" msgid="7218827704367325460">"Gcina oxhumana nabo bephephile noma ngabe ulahlekelwa yiselula yakho: lungelanisa nensiza yokusebenzisa i-inthanethi."</string>
     <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Yengeza i-akhawunti"</string>
     <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Umxhumani wakho omusha akalondolozeki. Yngeza i-akhawunti ekwazi ukulondoloza abaxhumani emoyeni?"</string>
     <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Oxhumana naye omusha uyovumelaniswa ne <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
     <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Ungavumelanisa umxhumani wakho ousha neyodwa yalama-akhawunti alandelayo. Iyiphi ofuna ukuyisbenzisa?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Engeza oxhumana naye omusha"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Hlela oxhumana naye"</string>
     <string name="keep_local" msgid="1258761699192993322">"Gcina kuseduze"</string>
     <string name="add_account" msgid="8201790677994503186">"Engeza i-akhawunti"</string>
     <string name="add_new_account" msgid="5748627740680940264">"Yengeza i-akhawunti enthsha"</string>
     <string name="menu_export_database" msgid="2659719297530170820">"Khipha amafayela emininingo egciniwe"</string>
-    <string name="contact_detail_picture_description" msgid="6083230522651287030">"Isithombe. Khetha ukuze ushintshe"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"engeza oxhumana naye omusha"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Buka okuningi"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Buka okuncane"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Buka konke"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Okwakamuva"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Mayelana"</string>
+    <string name="send_message" msgid="8938418965550543196">"Thumela umlayezo"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Idala ikhophi yomuntu siqu..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Izolo"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Kusasa"</string>
+    <string name="today" msgid="8041090779381781781">"Namhlanje"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Namhlanje ngo-<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Kusasa ngo-<xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="date_time_fmt" msgid="5053178726906863812">"<xliff:g id="DATE">%s</xliff:g>, <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="untitled_event" msgid="3484859385405939366">"(Umcimbi ongenasihloko)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Setha"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"I-IM"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Inhlangano"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Igama lokudlala"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Inothi"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Iwebhusayithi"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Umcimbi"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Ubudlelwano"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"izikhombisi-ndlela eziya endaweni"</string>
 </resources>
diff --git a/res/values-sw600dp/colors.xml b/res/values/bools.xml
similarity index 77%
copy from res/values-sw600dp/colors.xml
copy to res/values/bools.xml
index 0f8f8de..b94cc85 100644
--- a/res/values-sw600dp/colors.xml
+++ b/res/values/bools.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,10 +13,9 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-
 <resources>
 
-    <!-- Color used for the letter in the A-Z section header -->
-    <color name="section_header_text_color">#ff000000</color>
+    <bool name="quickcontact_two_panel">false</bool>
+    <bool name="contact_all_list_show_card_frame">false</bool>
 
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 362001d..2a53896 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -15,37 +15,49 @@
 -->
 <resources>
 
-    <color name="quickcontact_list_divider">#ffcdcdcd</color>
-    <color name="quickcontact_list_background">#ffe2e2e2</color>
-    <color name="quickcontact_tab_indicator">#ffc6c6c6</color>
-    <color name="quickcontact_track_background">#fff5f5f5</color>
-    <color name="quickcontact_activity_background">#fff5f5f5</color>
     <color name="quickcontact_name_detail_background">#66000000</color>
+    <color name="quickcontact_entry_sub_header_text_color">#737373</color>
+    <color name="quickcontact_entry_header_text_color">#202020</color>
 
     <!-- Color of the background of the contact detail and editor pages -->
     <color name="background_primary">#f5f5f5</color>
 
     <color name="background_social_updates">#ffeeeeee</color>
 
-    <!-- Color used for the letter in the A-Z section header -->
-    <color name="section_header_text_color">#363636</color>
-
-    <!-- Color of the text in the updates tab in the tab carousel on the contact detail page -->
-    <color name="detail_update_tab_text_color">#777777</color>
-
-    <!-- Color of the text of the tab carousel in the contact details  -->
-    <color name="detail_tab_carousel_tab_label_color">#EEEEEE</color>
-
-    <!-- Color of the background of the action bar -->
-    <color name="action_bar_background">#e6e6e6</color>
-
-    <!-- Color of the background of the action bar when highlighted (ie. pressed, focused) -->
+    <!-- TODO: remove these colors once we delete the group code (b/16522929) -->
+    <color name="action_bar_background">#0288d1</color>
     <color name="action_bar_background_highlight">#cecece</color>
-
-    <!-- Color of the text for buttons in the action bar  -->
     <color name="action_bar_button_text_color">#FFFFFF</color>
 
-    <!--  Color of the vertical stripe that goes on the left of a block quote inside a stream item -->
-    <color name="stream_item_stripe_color">#CCCCCC</color>
+    <color name="actionbar_background_color">@color/primary_color</color>
+    <color name="actionbar_background_color_dark">@color/primary_color_dark</color>
 
+    <color name="primary_color_dark">#0277bd</color>
+    <color name="primary_color">#0288d1</color>
+
+    <!-- Color of the selected tab underline -->
+    <color name="contacts_accent_color">#FFFFFF</color>
+
+    <color name="floating_action_button_icon_color">@color/contacts_accent_color</color>
+
+    <!-- Color of the separator between entries in an ExpandingEntryCardView -->
+    <color name="expanding_entry_card_item_separator_color">#e4e4e4</color>
+
+    <!-- Color of the text on an ExpandingEntryCard button -->
+    <color name="expanding_entry_card_button_text_color">@android:color/black</color>
+
+    <!-- Background color for an ExpandingEntryCard -->
+    <color name="expanding_entry_card_background_color">#ffffff</color>
+
+    <!-- Color of the margin for cards -->
+    <color name="card_margin_color">#f4f4f4</color>
+
+    <color name="call_arrow_green">#2aad6f</color>
+    <color name="call_arrow_red">#ff2e58</color>
+
+    <color name="contact_all_list_background_color">#FFFFFF</color>
+    <color name="contact_favorites_list_background_color">#FFFFFF</color>
+
+    <!-- Background color of pinned header items. -->
+    <color name="list_item_pinned_header_color">#f5f5f5</color>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 598846a..52918d5 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -16,9 +16,12 @@
 <resources>
     <dimen name="account_selector_popup_width">400dip</dimen>
 
-    <!-- Top position of quick contact. If this is -1, the vertical position is determined
-    based on the source of the request -->
-    <dimen name="quick_contact_top_position">48dip</dimen>
+    <!-- Initial height of transparent space above QuickContacts -->
+    <dimen name="quickcontact_starting_empty_height">150dp</dimen>
+    <!-- Initial size of QuickContact's title size -->
+    <dimen name="quickcontact_maximum_title_size">36dp</dimen>
+    <!-- When QC is uncollapsed, the title has this much margin on its left, right and bottom -->
+    <dimen name="quickcontact_title_initial_margin">16dp</dimen>
 
     <!-- Top padding of the entire contact editor  -->
     <dimen name="editor_padding_top">0dip</dimen>
@@ -32,54 +35,31 @@
     <!-- Minimum height of a row in the Editor -->
     <dimen name="editor_min_line_item_height">48dip</dimen>
 
+    <!-- Top padding of an EditText in the Editor -->
+    <dimen name="editor_text_field_top_padding">8dip</dimen>
+
+    <!-- Bottom padding of an EditText in the Editor -->
+    <dimen name="editor_text_field_bottom_padding">7dip</dimen>
+
     <!-- Right padding of a field in the Editor -->
     <dimen name="editor_field_right_padding">4dip</dimen>
 
     <!-- Left padding of a field in the Editor -->
     <dimen name="editor_field_left_padding">4dip</dimen>
 
+    <!-- End padding added to spinners in the editor. This separates the spinner text from the
+        spinner graphic when Button gravity is incorrectly set in RTL mode
+        (see framework bug b/17011078. In LTR mode this shouldn't have an observable affect.
+        We set paddingEnd instead of drawablePadding since the spinner graphic is not a normal
+        drawable.  -->
+    <dimen name="editor_spinner_end_padding_workaround">24dip</dimen>
+
     <!-- Width of the Type-Label in the Editor -->
     <dimen name="editor_type_label_width">100dip</dimen>
 
     <!-- Left padding of the label in the add field button for the contact editor -->
     <dimen name="editor_add_field_label_left_padding">16dip</dimen>
 
-    <!-- Height of the shadow asset under the photo on the contact detail page -->
-    <dimen name="detail_contact_photo_shadow_height">10dip</dimen>
-
-    <!-- Height of the tab text label in the tab carousel on the contact detail page -->
-    <dimen name="detail_tab_carousel_tab_label_height">45dip</dimen>
-
-    <!-- Height of the tab text label in the tab carousel on the contact detail page -->
-    <dimen name="detail_tab_carousel_tab_label_indent">24dip</dimen>
-
-    <!-- Left and right padding of the text within the update tab in the tab carousel -->
-    <dimen name="detail_update_tab_side_padding">24dip</dimen>
-
-    <!-- Left and right padding of the update section in the contact detail card -->
-    <dimen name="detail_update_section_side_padding">16dip</dimen>
-
-    <!-- Vertical padding above and below individual stream items -->
-    <dimen name="detail_update_section_item_vertical_padding">16dip</dimen>
-
-    <!-- Vertical padding between text and images in a single stream item -->
-    <dimen name="detail_update_section_between_items_vertical_padding">8dip</dimen>
-
-    <!-- Horizontal padding for individual stream items -->
-    <dimen name="detail_update_section_item_horizontal_padding">8dip</dimen>
-
-    <!-- Padding between images in a single stream item -->
-    <dimen name="detail_update_section_between_items_padding">1dip</dimen>
-
-    <!-- Horizontal padding between attribution and comments -->
-    <dimen name="detail_update_section_attribution_comments_padding">4dip</dimen>
-
-    <!-- Margin around the contact's photo on the contact card -->
-    <dimen name="detail_contact_photo_margin">8dip</dimen>
-
-    <!-- Width and height of the contact photo on the contact detail page -->
-    <dimen name="detail_contact_photo_size">128dip</dimen>
-
     <!-- Width and height of the expanded contact photo on the contact detail page -->
     <dimen name="detail_contact_photo_expanded_size">400dip</dimen>
 
@@ -90,22 +70,12 @@
     <!-- Minimum width for the photo action popup options -->
     <dimen name="photo_action_popup_min_width">300dip</dimen>
 
-    <!-- Left and right padding for a contact detail item -->
-    <dimen name="detail_item_icon_margin">8dip</dimen>
-
     <!-- Top and bottom padding for a contact detail item -->
     <dimen name="detail_item_vertical_margin">8dip</dimen>
 
     <!-- Minimum height of a row in the contact detail -->
     <dimen name="detail_min_line_item_height">48dip</dimen>
 
-    <!-- Font size for the display name in header of the contact detail page -->
-    <dimen name="detail_header_name_text_size">36sp</dimen>
-
-    <!-- Vertical margin for vertical dividers existing between primary data
-         (phone number, email, etc.) and a secondary action button -->
-    <dimen name="detail_vertical_divider_vertical_margin">16dip</dimen>
-
     <!-- Font size used for the contact name in the widget -->
     <dimen name="widget_text_size_name">14sp</dimen>
 
@@ -152,9 +122,6 @@
 
     <dimen name="contact_filter_header_min_height">24dip</dimen>
 
-    <!--  Width of the lead margin on the left of a block quote inside a stream item -->
-    <dimen name="stream_item_stripe_width">8dip</dimen>
-
     <!-- Max width of the SearchView when the contact picker is a dialog (on wide
          screen devices). -->
     <dimen name="contact_picker_search_view_max_width">550dip</dimen>
@@ -163,4 +130,72 @@
         wide screen devices). -->
     <dimen name="contact_picker_contact_list_min_height">550dip</dimen>
 
+
+    <!-- Margins for ExpandingEntryCardView -->
+    <dimen name="expanding_entry_card_marginStart">8dp</dimen>
+    <dimen name="expanding_entry_card_marginEnd">8dp</dimen>
+    <dimen name="expanding_entry_card_marginBottom">12dp</dimen>
+    <!-- Width of the grey border surrounding the expanding entry cards. If we ever add
+         a rounded corner to the expanding entry cards, than we will need to increase this value -->
+    <dimen name="expanding_entry_card_border_width">12dp</dimen>
+
+    <!-- Top margin for the communication card, used to add space from header. -->
+    <dimen name="first_card_marginTop">12dp</dimen>
+
+    <!-- Elevation of an ExpandingEntryCard, for the sake of shadow casting -->
+    <dimen name="expanding_entry_card_elevation">2dp</dimen>
+    <!-- Elevation of the QuickContact's Toolbar, for the sake of shadow casting -->
+    <dimen name="quick_contact_toolbar_elevation">4.5dp</dimen>
+
+    <!-- Size of the title text for a ExpandingEntryCardView -->
+    <dimen name="expanding_entry_card_title_text_size">16sp</dimen>
+    <!-- Padding for the title text for a ExpandingEntryCardView -->
+    <dimen name="expanding_entry_card_title_padding">16dp</dimen>
+    <!-- Extra top padding if the title is set to null -->
+    <dimen name="expanding_entry_card_null_title_top_extra_padding">2dp</dimen>
+
+    <!-- Height of the separator between entries in an ExpandingEntryCardView -->
+    <dimen name="expanding_entry_card_item_separator_height">1dp</dimen>
+    <!-- Dimensions for an entry in ExpandingEntryCardView -->
+    <dimen name="expanding_entry_card_item_padding_start">20dp</dimen>
+    <dimen name="expanding_entry_card_item_padding_end">20dp</dimen>
+    <dimen name="expanding_entry_card_item_padding_top">18dp</dimen>
+    <dimen name="expanding_entry_card_item_padding_bottom">16dp</dimen>
+    <dimen name="expanding_entry_card_item_image_spacing">27dp</dimen>
+
+    <!-- Dimensions for a button in ExpandingEntryCardView -->
+    <dimen name="expanding_entry_card_button_padding_vertical">18dp</dimen>
+
+    <dimen name="expanding_entry_card_item_text_icon_margin_top">7dp</dimen>
+    <dimen name="expanding_entry_card_item_text_icon_margin_right">7dp</dimen>
+    <dimen name="expanding_entry_card_item_sub_header_icon_margin_right">4dp</dimen>
+    <dimen name="expanding_entry_card_item_sub_header_icon_margin_bottom">14dp</dimen>
+
+    <dimen name="expanding_entry_card_item_icon_margin_top">7dp</dimen>
+    <dimen name="expanding_entry_card_item_header_only_margin_top">6dp</dimen>
+    <dimen name="expanding_entry_card_item_alternate_icon_margin_end">0dp</dimen>
+    <dimen name="expanding_entry_card_item_alternate_icon_margin_bottom">10dp</dimen>
+
+    <dimen name="expanding_entry_card_badge_separator_margin">8dp</dimen>
+    <dimen name="expanding_entry_card_card_corner_radius">2dp</dimen>
+    <dimen name="expanding_entry_card_header_margin_bottom">2dp</dimen>
+    <!-- The top margin when the sub header and text views are both gone -->
+    <dimen name="expanding_entry_card_item_header_only_margin_bottom">2dp</dimen>
+
+    <dimen name="people_activity_card_elevation">2dp</dimen>
+    <!-- The width the that the tabs occupy in the ActionBar when in landscape mode.
+         426dp is the height of a "small" screen. We should leave 240dp for
+         the title and menu items -->
+    <dimen name="people_activity_landscape_tabs_width">186dip</dimen>
+    <!-- The size of the text displayed in the ActionBar tabs in landscape mode.
+         Text in the tabs should must be width dependent, otherwise it won't fit in the tabs.
+         In portrait mode, the tabs look okay when overflowing their allocated space.
+         We have to be more careful in landscape. -->
+    <dimen name="people_activity_landscape_tabs_text_size">8dp</dimen>
+
+    <dimen name="expanding_entry_card_item_icon_height">24dp</dimen>
+    <dimen name="expanding_entry_card_item_icon_width">24dp</dimen>
+
+    <!-- Width of the box around a tab when the tab has focus -->
+    <dimen name="tab_focused_stroke_width">1dp</dimen>
 </resources>
diff --git a/res/values/donottranslate_config.xml b/res/values/donottranslate_config.xml
index b74d8ce..5fc4f89 100644
--- a/res/values/donottranslate_config.xml
+++ b/res/values/donottranslate_config.xml
@@ -19,25 +19,9 @@
 
 <resources>
 
-    <!-- Flag indicating whether to show images in browse list -->
-    <bool name="config_browse_list_show_images">true</bool>
-
-    <!-- Flag indicating whether to show images in browse list -->
-    <bool name="config_browse_list_reverse_images">true</bool>
-
     <!-- If true, phonetic name is included in the contact editor by default -->
     <bool name="config_editor_include_phonetic_name">false</bool>
 
-    <!-- If true, Contacts uses two panes: List and Detail. If false, Details are
-         shown in their own screens. This flag must be in sync with the layout definitions. -->
-    <bool name="config_use_two_panes">false</bool>
-
-    <!--  If true, Contacts uses two panes in the favorites view, one for starred and one for
-          frequently contacted.  If false, only one list is shown with starred on top and frequently
-          contacted listed below. Note: This should not be true if config_use_two_panes is
-          false. -->
-    <bool name="config_use_two_panes_in_favorites">false</bool>
-
     <!-- If true, the "home" icon on the action bar will be shown. -->
     <bool name="show_home_icon">false</bool>
 
@@ -47,14 +31,6 @@
     -->
     <bool name="config_show_group_action_in_action_bar">false</bool>
 
-    <!-- Width of a tab in the tab carousel as a percentage of the current screen width on the
-         contact detail page -->
-    <item name="tab_width_screen_width_percentage" type="fraction">75%</item>
-
-    <!-- Height of the tab carousel as a percentage of the current screen width on the
-         contact detail page -->
-    <item name="tab_height_screen_width_percentage" type="fraction">50%</item>
-
     <!-- Help URL pointing to main TOC for People. This is intentionally empty because
          the overlay will fill this in during build time. -->
     <string name="help_url_people_main"></string>
diff --git a/res/values/integers.xml b/res/values/integers.xml
index e742ba0..0de1de1 100644
--- a/res/values/integers.xml
+++ b/res/values/integers.xml
@@ -15,9 +15,13 @@
 -->
 
 <resources>
+    <!--  Determines the number of columns in a ContactTileRow in the favorites tab -->
+    <integer name="contact_tile_column_count_in_favorites">3</integer>
+
     <!-- Determines the number of columns in a ContactTileRow -->
     <integer name="contact_tile_column_count">2</integer>
 
-    <!-- Max lines to display of a contact's snippet in the "updates" tab of the contact card tab carousel  -->
-    <integer name="updates_tab_snippet_max_lines">3</integer>
+    <!-- Number of lines the QuickContact title can have -->
+    <integer name="quickcontact_title_lines">1</integer>
+
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7cd8227..5f17bcd 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -15,9 +15,9 @@
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
 
-    <!-- Title for the activity that opens the People app.  This is the name
+    <!-- Title for the activity that opens the Contacts app.  This is the name
          used in the Launcher icon. -->
-    <string name="people">People</string>
+    <string name="people">Contacts</string>
 
     <!-- Directory partition name -->
     <string name="contactsList">Contacts</string>
@@ -46,6 +46,9 @@
     <!-- Activity title when the user is selecting a contact.  [CHAR LIMIT=128] -->
     <string name="contactPickerActivityTitle">Choose a contact</string>
 
+    <!-- Entry that prompts user to select a newly created contact.  [CHAR LIMIT=30] -->
+    <string name="header_entry_contact_list_adapter_header_title">Create new contact</string>
+
     <!-- Title for the activity that shows only starred contacts -->
     <string name="starredList">Starred</string>
 
@@ -60,10 +63,6 @@
     <string name="viewContactTitle">Contact details</string>
 
     <!-- The description presented to the user in the Intent choose when there are multiple activities that allow
-         viewing a contact. This string represents the built in way to view the contact. -->
-    <string name="viewContactDesription">View contact</string>
-
-    <!-- The description presented to the user in the Intent choose when there are multiple activities that allow
          editing a contact. This string represents the built in way to edit the contact. -->
     <string name="editContactDescription">Edit contact</string>
 
@@ -97,6 +96,11 @@
     <!-- Menu item used to remove a star from a contact, making the contact no longer show up at the top of favorites -->
     <string name="menu_removeStar">Remove from favorites</string>
 
+    <!-- Description of what happens when you click on the unstar MenuItem. [CHAR LIMIT=NONE] -->
+    <string name="description_action_menu_remove_star">Removed from favorites</string>
+    <!-- Description of what happens when you click on the star MenuItem. [CHAR LIMIT=NONE] -->
+    <string name="description_action_menu_add_star">Added to favorites</string>
+
     <!-- Menu item used to edit a specific contact -->
     <string name="menu_editContact">Edit</string>
 
@@ -172,8 +176,8 @@
     <!-- Confirmation dialog contents after users selects to delete a Writable contact. -->
     <string name="deleteConfirmation">This contact will be deleted.</string>
 
-    <!-- Menu item to indicate you want to stop editing a contact and NOT save the changes you've made [CHAR LIMIT=12] -->
-    <string name="menu_discard">Discard</string>
+    <!-- Menu item to indicate you want to stop editing a contact and NOT save the changes you've made [CHAR LIMIT=30] -->
+    <string name="menu_discard">Discard changes</string>
 
     <!-- Message displayed in a toast when you try to view the details of a contact that
          for some reason doesn't exist anymore. [CHAR LIMIT=NONE]-->
@@ -258,12 +262,6 @@
     <!-- Displayed at the top of the contacts showing the zero as total number of contacts visible when "Only contacts with phones" is selected [CHAR LIMIT=64]-->
     <string name="listTotalPhoneContactsZero">No contacts with phone numbers</string>
 
-    <!-- Displayed at the top of the contacts showing the total number of contacts visible when "Only contacts with phones" not selected -->
-    <plurals name="listTotalAllContacts">
-        <item quantity="one">1 contact</item>
-        <item quantity="other"><xliff:g id="count">%d</xliff:g> contacts</item>
-    </plurals>
-
     <!-- Displayed at the top of the contacts showing the total number of contacts found when "Only contacts with phones" not selected [CHAR LIMIT=30] -->
     <plurals name="listFoundAllContacts">
         <item quantity="one">1 found</item>
@@ -279,21 +277,11 @@
         <item quantity="other"><xliff:g id="count">%d</xliff:g> found</item>
     </plurals>
 
-    <!-- The content description for the "all contacts" tab.
+    <!-- The title of "all contacts" tab. [CHAR LIMIT=14] -->
+    <string name="all_contacts_tab_label">All contacts</string>
 
-         Note: AccessibilityServices use this attribute to announce what the view represents.
-         This is especially valuable for views without textual representation like ImageView.
-
-         [CHAR LIMIT=NONE] -->
-    <string name="contactsAllLabel">All contacts</string>
-
-    <!-- The content description text for the groups tab.
-
-         Note: AccessibilityServices use this attribute to announce what the view represents.
-         This is especially valuable for views without textual representation like ImageView.
-
-         [CHAR LIMIT=NONE] -->
-    <string name="contactsGroupsLabel">Groups</string>
+    <!-- The title of "favorites" tab. [CHAR LIMIT=14] -->
+    <string name="favorites_tab_label">Favorites</string>
 
     <!-- Action string for calling back a number in the call log -->
     <string name="callBack">Call back</string>
@@ -329,6 +317,14 @@
     <!-- Shown as a toast when the user taps on a QuickContact icon, and no application
          was found that could perform the selected action. [CHAR LIMIT=NONE] -->
     <string name="quickcontact_missing_app">No app was found to handle this action.</string>
+    <!-- Content description for the transparent view above the visible section of QuickContacts.
+         Clicking this view causes Quick Contacts to close. [CHAR LIMIT=NONE] -->
+    <string name="quickcontact_transparent_view_description">Click to return to previous screen</string>
+
+    <!-- When a contact has no data, we prompt the user to add a phone number for the contact. [CHAR LIMIT=40] -->
+    <string name="quickcontact_add_phone_number">Add phone number</string>
+    <!-- When a contact has no data, we prompt the user to add an email for the contact. [CHAR LIMIT=40] -->
+    <string name="quickcontact_add_email">Add email</string>
 
     <!-- Shown as a toast when the user attempts an action (add contact, edit
          contact, etc) and no application was found that could perform that
@@ -338,6 +334,9 @@
     <!-- The menu item to share the currently viewed contact [CHAR LIMIT=30] -->
     <string name="menu_share">Share</string>
 
+    <!-- The menu item to add the the currently viewed contact to your contacts [CHAR LIMIT=30] -->
+    <string name="menu_add_contact">Add to contacts</string>
+
     <!-- Dialog title when picking the application to share a contact with. -->
     <string name="share_via">Share contact via</string>
 
@@ -373,30 +372,9 @@
     <!-- Text used to explain that a contact cannot be edited from the People application since the data is read only [CHAR LIMIT=40] -->
     <string name="contact_read_only">Not editable from this app.</string>
 
-    <!-- Text describing that a contact has no information available other than name and photo. [CHAR LIMIT=60] -->
-    <string name="no_contact_details">No additional information for this contact.</string>
-
     <!-- Text used to explain that a group cannot be edited since the data is read only [CHAR LIMIT=40] -->
     <string name="group_read_only">Not editable on this device.</string>
 
-    <!-- Label of the "sort list by" display option -->
-    <string name="display_options_sort_list_by">Sort list by</string>
-
-    <!-- An allowable value for the "sort list by" contact display option  -->
-    <string name="display_options_sort_by_given_name">Given name</string>
-
-    <!-- An allowable value for the "sort list by" contact display option  -->
-    <string name="display_options_sort_by_family_name">Family name</string>
-
-    <!-- Label of the "view names as" display option [CHAR LIMIT=64]-->
-    <string name="display_options_view_names_as">View contact names</string>
-
-    <!-- An allowable value for the "view names as" contact display option  -->
-    <string name="display_options_view_given_name_first">Given name first</string>
-
-    <!-- An allowable value for the "view names as" contact display option  -->
-    <string name="display_options_view_family_name_first">Family name first</string>
-
     <!-- An option in the 'Contact photo' dialog, if there is no photo yet [CHAR LIMIT=50] -->
     <string name="take_photo">Take photo</string>
 
@@ -404,10 +382,10 @@
     <string name="take_new_photo">Take new photo</string>
 
     <!-- An option in the 'Contact photo' dialog, if there is no photo yet [CHAR LIMIT=50] -->
-    <string name="pick_photo">Choose photo from Gallery</string>
+    <string name="pick_photo">Choose photo</string>
 
     <!-- An option in the 'Contact photo' dialog, if there is already a photo [CHAR LIMIT=50] -->
-    <string name="pick_new_photo">Select new photo from Gallery</string>
+    <string name="pick_new_photo">Select new photo</string>
 
     <!-- Text shown in the contacts app while the background process updates contacts after a locale change [CHAR LIMIT=300] -->
     <string name="locale_change_in_progress">Contact list is being updated to reflect the change of language.</string>
@@ -494,9 +472,6 @@
     <!-- The description of the directory where the contact was found [CHAR LIMIT=100]-->
     <string name="contact_directory_description">Directory <xliff:g id="type" example="Corporate Directory">%1$s</xliff:g></string>
 
-    <!-- Toast shown when creating a personal copy of a contact [CHAR LIMIT=100] -->
-    <string name="toast_making_personal_copy">Creating a personal copy\u2026</string>
-
     <!-- Contact list filter indicating that the list shows groups chosen by the user [CHAR LIMIT=64] -->
     <string name="list_filter_custom">Custom</string>
 
@@ -629,12 +604,12 @@
     <string name="toast_displaying_all_contacts">Displaying all contacts</string>
 
     <!-- Message in the standard "no account" prompt that encourages the user to add a Google account before continuing to use the People app [CHAR LIMIT=NONE] -->
-    <string name="no_account_prompt">People works better with a Google Account.\n\n\u2022 Access from any web browser.\n\u2022 Back up your contacts securely.</string>
+    <string name="no_account_prompt">Contacts works better with a Google Account.\n\n\u2022 Access from any web browser.\n\u2022 Back up your contacts securely.</string>
 
     <!-- Message in the standard "no account" prompt that encourages the user to add any account (non Google-specific) before continuing to use the People app [CHAR LIMIT=NONE] -->
     <string name="generic_no_account_prompt">Keep your contacts safe even if you lose your phone: synchronize with an online service.</string>
 
-    <!-- Title of the screen that encourages the user to add any account (non Google-specific) for a better People app experience [CHAR LIMIT=20] -->
+    <!-- Title of the screen that encourages the user to add any account (non Google-specific) for a better Contacts app experience [CHAR LIMIT=20] -->
     <string name="generic_no_account_prompt_title">Add an account</string>
 
     <!-- Message in the contact editor prompt that notifies the user that the newly created contact will not be saved to any account, and prompts addition of an account [CHAR LIMIT=NONE] -->
@@ -646,6 +621,16 @@
     <!-- Message in the contact editor prompt that asks the user which account they want to save the newly created contact to. [CHAR LIMIT=NONE] -->
     <string name="contact_editor_prompt_multiple_accounts">You can synchronize your new contact with one of the following accounts. Which do you want to use?</string>
 
+    <!-- Title of the ContactEditorActivity when creating a new contact. The char
+         limit is short and cannot be increased, since this needs to be displayed in a single line
+         at a pre-determined text size. [CHAR LIMIT=20] -->
+    <string name="contact_editor_title_new_contact">Add new contact</string>
+
+    <!-- Title of the ContactEditorActivity when editing a contact that already exists. The char
+         limit is short and cannot be increased, since this needs to be displayed in a single line
+         at a pre-determined text size. [CHAR LIMIT=20] -->
+    <string name="contact_editor_title_existing_contact">Edit contact</string>
+
     <!-- Button label to indicate that the user wants to save the newly created contact locally (instead of backing it up online) [CHAR LIMIT=20] -->
     <string name="keep_local">Keep local</string>
 
@@ -658,6 +643,63 @@
     <!-- Menu item shown only when the special debug mode is enabled, which is used to send all contacts database files via email.  [CHAR LIMI=NONE] -->
     <string name="menu_export_database">Export database files</string>
 
-    <!-- Description when picture in the contact detail view is selected. [CHAR LIMIT=NONE] -->
-    <string name="contact_detail_picture_description">Picture. Select to change</string>
+    <!-- Content description for the button that adds a new contact
+         [CHAR LIMIT=NONE] -->
+    <string name="action_menu_add_new_contact_button">add new contact</string>
+    <!-- Button Label to see more on an ExpandingEntryCardView [CHAR LIMIT=40] -->
+    <string name="expanding_entry_card_view_see_more">See more</string>
+    <!-- Button Label to see less on an ExpandingEntryCardView [CHAR LIMIT=40] -->
+    <string name="expanding_entry_card_view_see_less">See less</string>
+    <!-- Button Label to see all on an ExpandingEntryCardView [CHAR LIMIT=40] -->
+    <string name="expanding_entry_card_view_see_all">See all</string>
+
+    <!-- Title of recent card. [CHAR LIMIT=60] -->
+    <string name="recent_card_title">Recent</string>
+
+    <!-- Title of recent card. [CHAR LIMIT=40] -->
+    <string name="about_card_title">About</string>
+
+    <!-- Title of sms action entry. [CHAR LIMIT=60] -->
+    <string name="send_message">Send message</string>
+
+    <!-- Toast that appears when you are copying a directory contact into your personal contacts -->
+    <string name="toast_making_personal_copy">Creating a personal copy...</string>
+    <!-- Timestamp string for interactions from yesterday. [CHAR LIMIT=40] -->
+    <string name="yesterday">Yesterday</string>
+    <string name="tomorrow">Tomorrow</string>
+    <!-- Timestamp string for interactions from today. [CHAR LIMIT=40] -->
+    <string name="today">Today</string>
+    <!-- Text for an event starting on the current day with a start and end time.
+         For ex, "Today at 5:00pm-6:00pm" [CHAR LIMIT=NONE] -->
+    <string name="today_at_time_fmt">"Today at <xliff:g id="time_interval">%s</xliff:g>"</string>
+    <!-- Text for an event starting on the next day with a start and end time.
+         For ex, "Tomorrow at 5:00pm-6:00pm" [CHAR LIMIT=NONE] -->
+    <string name="tomorrow_at_time_fmt">"Tomorrow at <xliff:g id="time_interval">%s</xliff:g>"</string>
+    <!-- Format string for a date and time description.  For ex:
+         "April 19, 2012, 3:00pm - 4:00pm" [CHAR LIMIT=NONE] -->
+    <string name="date_time_fmt">"<xliff:g id="date">%s</xliff:g>, <xliff:g id="time_interval">%s</xliff:g>"</string>
+    <!-- Title for untitled calendar interactions [CHAR LIMIT=40] -->
+    <string name="untitled_event">(Untitled event)</string>
+
+    <!-- Name of the button in the date/time picker to accept the date/time change [CHAR LIMIT=15] -->
+    <string name="date_time_set">Set</string>
+
+    <!-- Header for the IM entry [CHAR LIMIT=40] -->
+    <string name="header_im_entry">IM</string>
+    <!-- Header for the Organization entry [CHAR LIMIT=40] -->
+    <string name="header_organization_entry">Organization</string>
+    <!-- Header for the Nickname entry [CHAR LIMIT=40] -->
+    <string name="header_nickname_entry">Nickname</string>
+    <!-- Header for the Note entry [CHAR LIMIT=40] -->
+    <string name="header_note_entry">Note</string>
+    <!-- Header for the Website entry [CHAR LIMIT=40] -->
+    <string name="header_website_entry">Website</string>
+    <!-- Header for the Event entry [CHAR LIMIT=40] -->
+    <string name="header_event_entry">Event</string>
+    <!-- Header for the Relation entry [CHAR LIMIT=40] -->
+    <string name="header_relation_entry">Relation</string>
+
+    <!-- Content description for directions secondary button [CHAR LIMIT=NONE] -->
+    <string name="content_description_directions">directions to location</string>
+
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 0c7c0ea..8ff6469 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -26,22 +26,15 @@
         <item name="android:listViewStyle">@style/ListViewStyle</item>
     </style>
 
-    <style name="EditorActivityTheme" parent="@android:style/Theme.Holo.Light">
-        <item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
-        <item name="android:homeAsUpIndicator">@drawable/ic_menu_back</item>
-        <item name="android:actionOverflowButtonStyle">@style/ContactsActionBarOverflow</item>
-        <item name="android:actionBarItemBackground">@drawable/action_bar_item_background</item>
-        <item name="android:actionBarWidgetTheme">@style/ContactsActionBarTheme</item>
-        <item name="android:windowContentOverlay">@null</item>
-        <item name="android:textColorPrimary">@color/primary_text_color</item>
-        <item name="android:textColorSecondary">@color/secondary_text_color</item>
+    <style name="EditorActivityTheme" parent="@style/PeopleTheme">
         <item name="android:listViewStyle">@style/ListViewStyle</item>
+        <item name="android:actionBarStyle">@style/EditorActionBarStyle</item>
     </style>
 
     <style name="Theme">
     </style>
 
-    <style name="Theme.QuickContact" parent="@android:style/Theme.Holo.Light">
+    <style name="Theme.QuickContact" parent="@style/PeopleTheme">
         <item name="android:windowBackground">@android:color/transparent</item>
         <item name="android:colorBackgroundCacheHint">@null</item>
         <item name="android:windowFrame">@null</item>
@@ -51,49 +44,56 @@
         <item name="android:windowIsTranslucent">true</item>
         <item name="android:windowNoTitle">true</item>
         <item name="android:listViewStyle">@style/ListViewStyle</item>
+        <!-- We need to use a light ripple behind ActionBar items in order for them to
+             be visible when using some of the darker ActionBar tints -->
+        <item name="android:actionBarItemBackground">@drawable/item_background_material_borderless_dark</item>
     </style>
 
-    <style name="PeopleTheme" parent="@android:style/Theme.Holo.Light">
+    <style name="PeopleTheme" parent="@android:style/Theme.Material.Light">
         <item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
-        <item name="android:homeAsUpIndicator">@drawable/ic_menu_back</item>
-        <item name="android:actionOverflowButtonStyle">@style/ContactsActionBarOverflow</item>
-        <item name="android:actionBarItemBackground">@drawable/action_bar_item_background</item>
-        <item name="android:actionBarWidgetTheme">@style/ContactsActionBarTheme</item>
-        <item name="android:actionBarTabStyle">@style/ContactsActionBarTabView</item>
-        <item name="android:actionDropDownStyle">@style/ContactsActionBarDropDownStyle</item>
+        <!-- Style for the tab bar (for the divider between tabs) -->
+        <item name="android:actionBarTabBarStyle">@style/ContactsActionBarTabBarStyle</item>
+        <!-- Style for the tab bar text (for text on tabs) -->
+        <item name="android:actionBarTabTextStyle">@style/ContactsActionBarTabTextStyle</item>
+        <!--  Drawable for the back button -->
+        <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item>
+        <!-- Style for the overflow button in the actionbar. -->
+        <item name="android:actionOverflowButtonStyle">@style/ContactsActionBarOverflowQP</item>
         <item name="android:textColorPrimary">@color/primary_text_color</item>
         <item name="android:textColorSecondary">@color/secondary_text_color</item>
+        <item name="android:icon">@android:color/transparent</item>
         <item name="android:listViewStyle">@style/ListViewStyle</item>
+        <item name="android:windowBackground">@color/background_primary</item>
+        <item name="android:colorPrimaryDark">@color/primary_color_dark</item>
+        <item name="android:colorPrimary">@color/primary_color</item>
         <item name="list_item_height">?android:attr/listPreferredItemHeight</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">24dip</item>
-        <item name="list_item_divider">?android:attr/listDivider</item>
         <item name="list_item_padding_top">8dip</item>
-        <item name="list_item_padding_right">0dip</item>
+        <item name="list_item_padding_right">32dp</item>
         <item name="list_item_padding_bottom">8dip</item>
-        <item name="list_item_padding_left">0dip</item>
-        <item name="list_item_gap_between_image_and_text">8dip</item>
+        <item name="list_item_padding_left">16dip</item>
+        <item name="list_item_gap_between_image_and_text">
+            @dimen/contact_browser_list_item_gap_between_image_and_text
+        </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_background_color">@color/list_item_pinned_header_color</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/secondary_header_separator_color</item>
         <item name="list_item_data_width_weight">5</item>
         <item name="list_item_label_width_weight">3</item>
-        <item name="list_item_contacts_count_text_color">@color/people_app_theme_color</item>
         <item name="list_item_header_text_indent">8dip</item>
-        <item name="contact_browser_list_padding_left">16dip</item>
+        <item name="contact_browser_list_padding_left">0dip</item>
         <item name="contact_browser_list_padding_right">0dip</item>
-        <item name="contact_browser_background">@android:color/transparent</item>
+        <item name="contact_browser_background">@color/background_primary</item>
         <item name="list_item_text_indent">@dimen/contact_browser_list_item_text_indent</item>
-        <item name="list_item_contacts_count_text_size">12sp</item>
         <!-- Favorites -->
         <item name="favorites_padding_bottom">0dip</item>
     </style>
@@ -102,13 +102,59 @@
         <item name="android:src">@drawable/ic_overflow_menu</item>
     </style>
 
-    <style name="ContactsActionBarStyle" parent="@android:Widget.Holo.Light.ActionBar">
-        <item name="android:background">@drawable/action_bar_tab</item>
-        <item name="android:backgroundSplit">@drawable/action_bar_tab</item>
-        <item name="android:backgroundStacked">@drawable/action_bar_tab</item>
+    <!-- Use the non-light style so that the up button & icons aren't black. If we use the
+         Light style, then it is impossible to tint the homeAsUp icon anything other than black -->
+    <style name="ContactsActionBarStyle" parent="@android:style/Widget.Material.ActionBar">
+        <item name="android:background">@color/actionbar_background_color</item>
+        <item name="android:titleTextStyle">@style/ContactsActionBarTitleText</item>
+        <item name="android:backgroundStacked">@color/actionbar_background_color</item>
+        <!-- Empty icon -->
+        <item name="android:icon">@android:color/transparent</item>
+    </style>
+
+    <style name="EditorActionBarStyle" parent="@style/ContactsActionBarStyle">
+        <!-- Do not use a contentInsetStart, since we are setting a custom ActionBar view -->
+        <item name="android:contentInsetStart">0dp</item>
+    </style>
+
+    <!-- When this style was added, android:toolbarStyle was private. Therefore, this style
+         must be directly applied to every toolbar -->
+    <style name="ContactsToolbarStyle" parent="@android:style/Widget.Toolbar">
+        <item name="android:titleTextAppearance">@style/ContactsActionBarTitleText</item>
+    </style>
+
+    <style name="ContactsPickerActionBarStyle" parent="@style/ContactsActionBarStyle">
+        <!-- when first loading, don't show title or up button -->
         <item name="android:displayOptions"></item>
     </style>
 
+    <!-- Text in the action bar at the top of the screen -->
+    <style name="ContactsActionBarTitleText"
+           parent="@android:style/TextAppearance.Material.Widget.ActionBar.Title">
+        <item name="android:textColor">@color/actionbar_text_color</item>
+    </style>
+
+    <!-- Styling for the tab bar; handles styling of the divider line. -->
+    <style name="ContactsActionBarTabBarStyle"
+           parent="@android:style/Widget.Material.ActionBar.TabBar">
+        <item name="android:showDividers">none</item>
+    </style>
+
+    <!-- Text style for tabs. -->
+    <style name="ContactsActionBarTabTextStyle"
+           parent="android:style/Widget.Material.Light.ActionBar.TabText">
+        <item name="android:textColor">@color/tab_text_color</item>
+        <item name="android:textSize">@dimen/tab_text_size</item>
+        <item name="android:fontFamily">@string/tab_font_family</item>
+        <item name="android:textStyle">bold</item>
+    </style>
+
+    <!-- Action bar overflow menu icon. -->
+    <style name="ContactsActionBarOverflowQP"
+           parent="@android:style/Widget.Material.Light.ActionButton.Overflow">
+        <item name="android:src">@drawable/ic_menu_overflow_lt</item>
+    </style>
+
     <style name="ContactsActionBarDropDownStyle" parent="@android:style/Widget.Holo.Light.Spinner">
         <item name="android:background">@drawable/ab_dropdown_navigation_item_background</item>
     </style>
@@ -120,43 +166,38 @@
         <item name="android:dropDownListViewStyle">@style/ListViewDropdownStyle</item>
     </style>
 
-    <style name="ContactsActionBarTabView" parent="@android:style/Widget.Holo.ActionBar.TabView">
-        <item name="android:background">@drawable/action_bar_tab</item>
-    </style>
-
     <style name="ListViewDropdownStyle" parent="@android:style/Widget.ListView.DropDown">
         <item name="android:listSelector">?android:attr/listChoiceBackgroundIndicator</item>
     </style>
 
-    <style name="ContactPickerTheme" parent="@style/PeopleTheme" />
+    <style name="ContactPickerTheme" parent="@style/PeopleTheme" >
+        <item name="android:actionBarStyle">@style/ContactsPickerActionBarStyle</item>
+    </style>
 
     <style name="ContactPickerLayout" parent="ContactPickerTheme">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">match_parent</item>
     </style>
 
-    <style name="JoinContactActivityTheme" parent="ContactPickerTheme" >
-    </style>
-
-    <style name="ContactsPreferencesTheme" parent="@android:Theme.Holo.Light">
+    <style name="ContactsPreferencesTheme" parent="@style/PeopleTheme">
         <item name="android:listViewStyle">@style/ListViewStyle</item>
     </style>
 
-    <style name="ContactListFilterTheme" parent="@android:Theme.Holo.Light">
+    <style name="ContactListFilterTheme" parent="@style/PeopleTheme">
         <item name="android:listViewStyle">@style/ListViewStyle</item>
     </style>
 
     <style name="NonPhoneActivityTheme" parent="@android:Theme.Translucent.NoTitleBar">
     </style>
 
-    <style name="NonPhoneDialogTheme" parent="@android:Theme.Holo.Light.Dialog">
+    <style name="NonPhoneDialogTheme" parent="@android:Theme.Material.Light.Dialog">
     </style>
 
-    <style name="ConfirmAddDetailDialogTheme" parent="@android:style/Theme.Holo.Light.Dialog.MinWidth">
+    <style name="ConfirmAddDetailDialogTheme" parent="@android:style/Theme.Material.Light.Dialog.MinWidth">
         <item name="android:windowCloseOnTouchOutside">true</item>
     </style>
 
-    <style name="ContactEditorAccountsChangedActivityTheme" parent="@android:style/Theme.Holo.Light.Dialog.NoActionBar.MinWidth">
+    <style name="ContactEditorAccountsChangedActivityTheme" parent="@android:style/Theme.Material.Light.Dialog.NoActionBar.MinWidth">
         <item name="android:windowCloseOnTouchOutside">true</item>
         <item name="android:textColorPrimary">@color/primary_text_color</item>
         <item name="android:textColorSecondary">@color/secondary_text_color</item>
@@ -169,14 +210,6 @@
         <item name="android:layout_width">match_parent</item>
     </style>
 
-    <style name="ContactDetailItemType">
-        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
-        <item name="android:textColor">?android:attr/textColorSecondary</item>
-        <item name="android:singleLine">true</item>
-        <item name="android:ellipsize">marquee</item>
-        <item name="android:layout_gravity">center_vertical</item>
-    </style>
-
     <style name="ConfirmAddDetailViewStyle">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">wrap_content</item>
@@ -187,12 +220,7 @@
         <item name="android:layout_height">150dip</item>
     </style>
 
-    <style name="QuickContactListItemStyle">
-        <item name="android:layout_width">match_parent</item>
-        <item name="android:layout_height">wrap_content</item>
-        <item name="android:minHeight">?android:attr/listPreferredItemHeight</item>
-        <item name="android:orientation">horizontal</item>
-        <item name="android:gravity">center_vertical</item>
+    <style name="SelectableItem" parent="@android:style/Theme.Material.Light">
         <item name="android:background">?android:attr/selectableItemBackground</item>
     </style>
 
@@ -208,12 +236,6 @@
         <item name="android:orientation">vertical</item>
     </style>
 
-    <style name="QuickContactListBottomStyle">
-        <item name="android:layout_width">match_parent</item>
-        <item name="android:layout_height">2dip</item>
-        <item name="android:background">@color/quickcontact_tab_indicator</item>
-    </style>
-
     <style name="Theme.PhotoSelector" parent="@android:style/Theme.Holo.Light">
         <item name="android:windowBackground">@android:color/transparent</item>
         <item name="android:windowFrame">@null</item>
@@ -236,4 +258,33 @@
         <item name="android:textSize">18sp</item>
     </style>
 
+    <style name="ExpandingEntryCardStyle">
+        <item name="android:elevation">@dimen/expanding_entry_card_elevation</item>
+        <item name="android:background">@color/expanding_entry_card_background_color</item>
+        <item name="android:layout_marginBottom">@dimen/expanding_entry_card_marginBottom</item>
+        <item name="android:layout_marginEnd">@dimen/expanding_entry_card_marginEnd</item>
+        <item name="android:layout_marginStart">@dimen/expanding_entry_card_marginStart</item>
+        <item name="android:orientation">vertical</item>
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+    </style>
+
+    <style name="SpinnerButtonStyle" parent="@android:style/Widget.Material.Spinner">
+        <!-- When applying the spinner style to a Button we need to disable the shadow animation
+            on the button since the spinner background is transparent. Otherwise the spinner-button
+            will look ridiculous. -->
+        <item name="android:stateListAnimator">@null</item>
+    </style>
+
+    <style name="EditKindSeparatorTextViewStyle" parent="ContactListSeparatorTextViewStyle">
+        <item name="android:textAppearance">@style/EditKindTextAppearanceStyle</item>
+    </style>
+
+    <style name="EditKindTextAppearanceStyle" parent="@android:style/TextAppearance.Small">
+        <item name="android:textSize">14sp</item>
+        <item name="android:textStyle">bold</item>
+        <item name="android:textAllCaps">true</item>
+        <item name="android:textColor">#363636</item>
+        <item name="android:fontFamily">sans-serif</item>
+    </style>
 </resources>
diff --git a/res/xml/preference_display_options.xml b/res/xml/preference_display_options.xml
deleted file mode 100644
index 4ec31b2..0000000
--- a/res/xml/preference_display_options.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    <com.android.contacts.preference.SortOrderPreference
-        android:key="sortOrder"
-        android:title="@string/display_options_sort_list_by"
-        android:dialogTitle="@string/display_options_sort_list_by" />
-
-    <com.android.contacts.preference.DisplayOrderPreference
-        android:key="displayOrder"
-        android:title="@string/display_options_view_names_as"
-        android:dialogTitle="@string/display_options_view_names_as" />
-</PreferenceScreen>
diff --git a/res/xml/preference_headers.xml b/res/xml/preference_headers.xml
index ed709fc..98019fd 100644
--- a/res/xml/preference_headers.xml
+++ b/res/xml/preference_headers.xml
@@ -18,7 +18,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android">
 
     <header
-        android:fragment="com.android.contacts.preference.DisplayOptionsPreferenceFragment"
+        android:fragment="com.android.contacts.common.preference.DisplayOptionsPreferenceFragment"
         android:title="@string/preference_displayOptions" />
 
 </preference-headers>
diff --git a/src/com/android/contacts/ContactSaveService.java b/src/com/android/contacts/ContactSaveService.java
index 8688a47..cc687ec 100644
--- a/src/com/android/contacts/ContactSaveService.java
+++ b/src/com/android/contacts/ContactSaveService.java
@@ -829,9 +829,8 @@
 
                 // Don't bother undemoting if this contact is the user's profile.
                 if (id < Profile.MIN_ID) {
-                    values.clear();
-                    values.put(String.valueOf(id), PinnedPositions.UNDEMOTE);
-                    getContentResolver().update(PinnedPositions.UPDATE_URI, values, null, null);
+                    getContentResolver().call(ContactsContract.AUTHORITY_URI,
+                            PinnedPositions.UNDEMOTE_METHOD, String.valueOf(id), null);
                 }
             }
         } finally {
diff --git a/src/com/android/contacts/ContactsActivity.java b/src/com/android/contacts/ContactsActivity.java
index b94a237..82d1f98 100644
--- a/src/com/android/contacts/ContactsActivity.java
+++ b/src/com/android/contacts/ContactsActivity.java
@@ -26,7 +26,7 @@
 import android.view.View;
 
 import com.android.contacts.common.activity.TransactionSafeActivity;
-import com.android.contacts.common.test.InjectedServices;
+import com.android.contacts.common.testing.InjectedServices;
 
 /**
  * A common superclass for Contacts activities that handles application-wide services.
diff --git a/src/com/android/contacts/ContactsApplication.java b/src/com/android/contacts/ContactsApplication.java
index 95fad48..2d2a782 100644
--- a/src/com/android/contacts/ContactsApplication.java
+++ b/src/com/android/contacts/ContactsApplication.java
@@ -32,7 +32,7 @@
 import com.android.contacts.common.ContactPhotoManager;
 import com.android.contacts.common.list.ContactListFilterController;
 import com.android.contacts.common.model.AccountTypeManager;
-import com.android.contacts.common.test.InjectedServices;
+import com.android.contacts.common.testing.InjectedServices;
 import com.android.contacts.common.util.Constants;
 import com.google.common.annotations.VisibleForTesting;
 
diff --git a/src/com/android/contacts/GroupMemberLoader.java b/src/com/android/contacts/GroupMemberLoader.java
index e52ddda..6001f2c 100644
--- a/src/com/android/contacts/GroupMemberLoader.java
+++ b/src/com/android/contacts/GroupMemberLoader.java
@@ -95,7 +95,7 @@
         setSelectionArgs(createSelectionArgs());
 
         ContactsPreferences prefs = new ContactsPreferences(context);
-        if (prefs.getSortOrder() == ContactsContract.Preferences.SORT_ORDER_PRIMARY) {
+        if (prefs.getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY) {
             setSortOrder(Contacts.SORT_KEY_PRIMARY);
         } else {
             setSortOrder(Contacts.SORT_KEY_ALTERNATIVE);
diff --git a/src/com/android/contacts/NfcHandler.java b/src/com/android/contacts/NfcHandler.java
index 3cd4b08..07b3f06 100644
--- a/src/com/android/contacts/NfcHandler.java
+++ b/src/com/android/contacts/NfcHandler.java
@@ -18,6 +18,7 @@
 
 import android.app.Activity;
 import android.content.ContentResolver;
+import android.content.Context;
 import android.net.Uri;
 import android.nfc.NdefMessage;
 import android.nfc.NdefRecord;
@@ -27,8 +28,6 @@
 import android.provider.ContactsContract.Profile;
 import android.util.Log;
 
-import com.android.contacts.detail.ContactDetailFragment;
-
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -45,27 +44,28 @@
 
     private static final String TAG = "ContactNfcHandler";
     private static final String PROFILE_LOOKUP_KEY = "profile";
-    private final ContactDetailFragment mContactFragment;
+    private final Context mContext;
+    private final Uri mContactUri;
 
-    public static void register(Activity activity, ContactDetailFragment contactFragment) {
+    /* Register NFC handler. This should be called in activities' onCreate(), or similar methods */
+    public static void register(Activity activity, Uri contactUri) {
         NfcAdapter adapter = NfcAdapter.getDefaultAdapter(activity.getApplicationContext());
         if (adapter == null) {
             return;  // NFC not available on this device
         }
-        adapter.setNdefPushMessageCallback(new NfcHandler(contactFragment), activity);
+        adapter.setNdefPushMessageCallback(new NfcHandler(activity, contactUri), activity);
     }
 
-    public NfcHandler(ContactDetailFragment contactFragment) {
-        mContactFragment = contactFragment;
+    public NfcHandler(Context context, Uri contactUri) {
+        mContext = context;
+        mContactUri = contactUri;
     }
 
     @Override
     public NdefMessage createNdefMessage(NfcEvent event) {
-        // Get the current contact URI
-        Uri contactUri = mContactFragment.getUri();
-        ContentResolver resolver = mContactFragment.getActivity().getContentResolver();
-        if (contactUri != null) {
-            final String lookupKey = Uri.encode(contactUri.getPathSegments().get(2));
+        ContentResolver resolver = mContext.getContentResolver();
+        if (mContactUri != null) {
+            final String lookupKey = Uri.encode(mContactUri.getPathSegments().get(2));
             final Uri shareUri;
             // TODO find out where to get this constant from, or find another way
             // of determining this.
diff --git a/src/com/android/contacts/activities/ActionBarAdapter.java b/src/com/android/contacts/activities/ActionBarAdapter.java
index f184d12..6a5c1cb 100644
--- a/src/com/android/contacts/activities/ActionBarAdapter.java
+++ b/src/com/android/contacts/activities/ActionBarAdapter.java
@@ -16,24 +16,25 @@
 
 package com.android.contacts.activities;
 
+import android.animation.ValueAnimator;
 import android.app.ActionBar;
-import android.app.ActionBar.LayoutParams;
-import android.app.ActionBar.Tab;
-import android.app.FragmentTransaction;
 import android.content.Context;
 import android.content.SharedPreferences;
+import android.content.res.TypedArray;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
+import android.text.Editable;
 import android.text.TextUtils;
+import android.text.TextWatcher;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.inputmethod.InputMethodManager;
-import android.widget.ArrayAdapter;
 import android.widget.SearchView;
 import android.widget.SearchView.OnCloseListener;
-import android.widget.SearchView.OnQueryTextListener;
-import android.widget.TextView;
+import android.view.View.OnClickListener;
+import android.widget.EditText;
+import android.widget.Toolbar;
 
 import com.android.contacts.R;
 import com.android.contacts.activities.ActionBarAdapter.Listener.Action;
@@ -42,7 +43,7 @@
 /**
  * Adapter for the action bar at the top of the Contacts activity.
  */
-public class ActionBarAdapter implements OnQueryTextListener, OnCloseListener {
+public class ActionBarAdapter implements OnCloseListener {
 
     public interface Listener {
         public abstract class Action {
@@ -58,6 +59,8 @@
          * {@link #getCurrentTab}.
          */
         void onSelectedTabChanged();
+
+        void onUpButtonPressed();
     }
 
     private static final String EXTRA_KEY_SEARCH_MODE = "navBar.searchMode";
@@ -69,7 +72,15 @@
     private boolean mSearchMode;
     private String mQueryString;
 
-    private SearchView mSearchView;
+    private EditText mSearchView;
+    /** The view that represents tabs when we are in portrait mode **/
+    private View mPortraitTabs;
+    /** The view that represents tabs when we are in landscape mode **/
+    private View mLandscapeTabs;
+    private View mSearchContainer;
+
+    private int mMaxPortraitTabHeight;
+    private int mMaxToolbarContentInsetStart;
 
     private final Context mContext;
     private final SharedPreferences mPrefs;
@@ -77,154 +88,73 @@
     private Listener mListener;
 
     private final ActionBar mActionBar;
-    private final int mActionBarNavigationMode;
-    private final MyTabListener mTabListener;
-    private final MyNavigationListener mNavigationListener;
+    private final Toolbar mToolbar;
 
     private boolean mShowHomeIcon;
-    private boolean mShowTabsAsText;
 
     public interface TabState {
         public static int FAVORITES = 0;
         public static int ALL = 1;
-        public static int GROUPS = 2;
 
-        public static int COUNT = 3;
+        public static int COUNT = 2;
         public static int DEFAULT = ALL;
     }
 
     private int mCurrentTab = TabState.DEFAULT;
 
-    /**
-     * Extension of ArrayAdapter to be used for the action bar navigation drop list.  It is not
-     * possible to change the text appearance of a text item that is in the spinner header or
-     * in the drop down list using a selector xml file.  The only way to differentiate the two
-     * is if the view is gotten via {@link #getView(int, View, ViewGroup)} or
-     * {@link #getDropDownView(int, View, ViewGroup)}.
-     */
-    private class CustomArrayAdapter extends ArrayAdapter<String> {
-
-        public CustomArrayAdapter(Context context, int textResId) {
-            super(context, textResId);
-        }
-
-        public View getView (int position, View convertView, ViewGroup parent) {
-            TextView textView = (TextView) super.getView(position, convertView, parent);
-            textView.setTextAppearance(mContext,
-                    R.style.PeopleNavigationDropDownHeaderTextAppearance);
-            return textView;
-        }
-
-        public View getDropDownView (int position, View convertView, ViewGroup parent) {
-            TextView textView = (TextView) super.getDropDownView(position, convertView, parent);
-            textView.setTextAppearance(mContext,
-                    R.style.PeopleNavigationDropDownTextAppearance);
-            return textView;
-        }
-    }
-
     public ActionBarAdapter(Context context, Listener listener, ActionBar actionBar,
-            boolean isUsingTwoPanes) {
+            View portraitTabs, View landscapeTabs, Toolbar toolbar) {
         mContext = context;
         mListener = listener;
         mActionBar = actionBar;
         mPrefs = PreferenceManager.getDefaultSharedPreferences(mContext);
-
+        mPortraitTabs = portraitTabs;
+        mLandscapeTabs = landscapeTabs;
+        mToolbar = toolbar;
+        mMaxToolbarContentInsetStart = mToolbar.getContentInsetStart();
         mShowHomeIcon = mContext.getResources().getBoolean(R.bool.show_home_icon);
 
-        // On wide screens, show the tabs as text (instead of icons)
-        mShowTabsAsText = isUsingTwoPanes;
-        if (isUsingTwoPanes) {
-            mActionBarNavigationMode = ActionBar.NAVIGATION_MODE_LIST;
-            mTabListener = null;
-            mNavigationListener = new MyNavigationListener();
-        } else {
-            mActionBarNavigationMode = ActionBar.NAVIGATION_MODE_TABS;
-            mTabListener = new MyTabListener();
-            mNavigationListener = null;
-        }
-
-        // Set up search view.
-        View customSearchView = LayoutInflater.from(mActionBar.getThemedContext()).inflate(
-                R.layout.custom_action_bar, null);
-        int searchViewWidth = mContext.getResources().getDimensionPixelSize(
-                R.dimen.search_view_width);
-        if (searchViewWidth == 0) {
-            searchViewWidth = LayoutParams.MATCH_PARENT;
-        }
-        LayoutParams layoutParams = new LayoutParams(searchViewWidth, LayoutParams.WRAP_CONTENT);
-        mSearchView = (SearchView) customSearchView.findViewById(R.id.search_view);
-        // Since the {@link SearchView} in this app is "click-to-expand", set the below mode on the
-        // {@link SearchView} so that the magnifying glass icon appears inside the editable text
-        // field. (In the "click-to-expand" search pattern, the user must explicitly expand the
-        // search field and already knows a search is being conducted, so the icon is redundant
-        // and can go away once the user starts typing.)
-        mSearchView.setIconifiedByDefault(true);
-        mSearchView.setQueryHint(mContext.getString(R.string.hint_findContacts));
-        mSearchView.setOnQueryTextListener(this);
-        mSearchView.setOnCloseListener(this);
-        mSearchView.setQuery(mQueryString, false);
-        mActionBar.setCustomView(customSearchView, layoutParams);
-
-        // Set up tabs or navigation list
-        switch(mActionBarNavigationMode) {
-            case ActionBar.NAVIGATION_MODE_TABS:
-                setupTabs();
-                break;
-            case ActionBar.NAVIGATION_MODE_LIST:
-                setupNavigationList();
-                break;
-        }
+        setupSearchView();
+        setupTabs(context);
     }
 
-    private void setupTabs() {
-        addTab(TabState.FAVORITES, R.drawable.ic_tab_starred, R.string.contactsFavoritesLabel);
-        addTab(TabState.ALL, R.drawable.ic_tab_all, R.string.contactsAllLabel);
-        addTab(TabState.GROUPS, R.drawable.ic_tab_groups, R.string.contactsGroupsLabel);
+    private void setupTabs(Context context) {
+        final TypedArray attributeArray = context.obtainStyledAttributes(
+                new int[]{android.R.attr.actionBarSize});
+        mMaxPortraitTabHeight = attributeArray.getDimensionPixelSize(0, 0);
+        // Hide tabs initially
+        setPortraitTabHeight(0);
     }
 
-    private void setupNavigationList() {
-        ArrayAdapter<String> navAdapter = new CustomArrayAdapter(mContext,
-                R.layout.people_navigation_item);
-        navAdapter.add(mContext.getString(R.string.contactsFavoritesLabel));
-        navAdapter.add(mContext.getString(R.string.contactsAllLabel));
-        navAdapter.add(mContext.getString(R.string.contactsGroupsLabel));
-        mActionBar.setListNavigationCallbacks(navAdapter, mNavigationListener);
-    }
+    private void setupSearchView() {
+        final LayoutInflater inflater = (LayoutInflater) mToolbar.getContext().getSystemService(
+                Context.LAYOUT_INFLATER_SERVICE);
+        mSearchContainer = inflater.inflate(R.layout.search_bar_expanded, mToolbar,
+                /* attachToRoot = */ false);
+        mSearchContainer.setVisibility(View.VISIBLE);
+        mToolbar.addView(mSearchContainer);
 
-    /**
-     * Because the navigation list items are in a different order than tab items, this returns
-     * the appropriate tab from the navigation item position.
-     */
-    private int getTabPositionFromNavigationItemPosition(int navItemPos) {
-        switch(navItemPos) {
-            case 0:
-                return TabState.FAVORITES;
-            case 1:
-                return TabState.ALL;
-            case 2:
-                return TabState.GROUPS;
-        }
-        throw new IllegalArgumentException(
-                "Parameter must be between 0 and " + Integer.toString(TabState.COUNT-1)
-                + " inclusive.");
-    }
-
-    /**
-     * This is the inverse of {@link getTabPositionFromNavigationItemPosition}.
-     */
-    private int getNavigationItemPositionFromTabPosition(int tabPos) {
-        switch(tabPos) {
-            case TabState.FAVORITES:
-                return 0;
-            case TabState.ALL:
-                return 1;
-            case TabState.GROUPS:
-                return 2;
-        }
-        throw new IllegalArgumentException(
-                "Parameter must be between 0 and " + Integer.toString(TabState.COUNT-1)
-                + " inclusive.");
+        mSearchContainer.setBackgroundColor(mContext.getResources().getColor(
+                R.color.searchbox_background_color));
+        mSearchView = (EditText) mSearchContainer.findViewById(R.id.search_view);
+        mSearchView.setHint(mContext.getString(R.string.hint_findContacts));
+        mSearchView.addTextChangedListener(new SearchTextWatcher());
+        mSearchContainer.findViewById(R.id.search_close_button).setOnClickListener(
+                new OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                mSearchView.setText(null);
+            }
+        });
+        mSearchContainer.findViewById(R.id.search_back_button).setOnClickListener(
+                new OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (mListener != null) {
+                    mListener.onUpButtonPressed();
+                }
+            }
+        });
     }
 
     public void initialize(Bundle savedState, ContactsRequest request) {
@@ -245,7 +175,7 @@
         }
         // Show tabs or the expanded {@link SearchView}, depending on whether or not we are in
         // search mode.
-        update();
+        update(true /* skipAnimation */);
         // Expanding the {@link SearchView} clears the query, so set the query from the
         // {@link ContactsRequest} after it has been expanded, if applicable.
         if (mSearchMode && !TextUtils.isEmpty(mQueryString)) {
@@ -257,59 +187,39 @@
         mListener = listener;
     }
 
-    private void addTab(int expectedTabIndex, int icon, int description) {
-        final Tab tab = mActionBar.newTab();
-        tab.setTabListener(mTabListener);
-        if (mShowTabsAsText) {
-            tab.setText(description);
-        } else {
-            tab.setIcon(icon);
-            tab.setContentDescription(description);
-        }
-        mActionBar.addTab(tab);
-        if (expectedTabIndex != tab.getPosition()) {
-            throw new IllegalStateException("Tabs must be created in the right order");
-        }
-    }
+    private class SearchTextWatcher implements TextWatcher {
 
-    private class MyTabListener implements ActionBar.TabListener {
-        /**
-         * If true, it won't call {@link #setCurrentTab} in {@link #onTabSelected}.
-         * This flag is used when we want to programmatically update the current tab without
-         * {@link #onTabSelected} getting called.
-         */
-        public boolean mIgnoreTabSelected;
-
-        @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { }
-        @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { }
-
-        @Override public void onTabSelected(Tab tab, FragmentTransaction ft) {
-            if (!mIgnoreTabSelected) {
-                setCurrentTab(tab.getPosition());
+        @Override
+        public void onTextChanged(CharSequence queryString, int start, int before, int count) {
+            if (queryString.equals(mQueryString)) {
+                return;
+            }
+            mQueryString = queryString.toString();
+            if (!mSearchMode) {
+                if (!TextUtils.isEmpty(queryString)) {
+                    setSearchMode(true);
+                }
+            } else if (mListener != null) {
+                mListener.onAction(Action.CHANGE_SEARCH_QUERY);
             }
         }
-    }
 
-    private class MyNavigationListener implements ActionBar.OnNavigationListener {
-        public boolean mIgnoreNavigationItemSelected;
+        @Override
+        public void afterTextChanged(Editable s) {}
 
-        public boolean onNavigationItemSelected(int itemPosition, long itemId) {
-            if (!mIgnoreNavigationItemSelected) {
-                setCurrentTab(getTabPositionFromNavigationItemPosition(itemPosition));
-            }
-            return true;
-        }
+        @Override
+        public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
     }
 
     /**
-     * Change the current tab, and notify the listener.
+     * Save the current tab selection, and notify the listener.
      */
     public void setCurrentTab(int tab) {
         setCurrentTab(tab, true);
     }
 
     /**
-     * Change the current tab
+     * Save the current tab selection.
      */
     public void setCurrentTab(int tab, boolean notifyListener) {
         if (tab == mCurrentTab) {
@@ -317,22 +227,6 @@
         }
         mCurrentTab = tab;
 
-        final int actionBarSelectedNavIndex = mActionBar.getSelectedNavigationIndex();
-        switch(mActionBar.getNavigationMode()) {
-            case ActionBar.NAVIGATION_MODE_TABS:
-                if (mCurrentTab != actionBarSelectedNavIndex) {
-                    mActionBar.setSelectedNavigationItem(mCurrentTab);
-                }
-                break;
-            case ActionBar.NAVIGATION_MODE_LIST:
-                if (mCurrentTab != getTabPositionFromNavigationItemPosition(
-                        actionBarSelectedNavIndex)) {
-                    mActionBar.setSelectedNavigationItem(
-                            getNavigationItemPositionFromTabPosition(mCurrentTab));
-                }
-                break;
-        }
-
         if (notifyListener && mListener != null) mListener.onSelectedTabChanged();
         saveLastTabPreference(mCurrentTab);
     }
@@ -354,14 +248,14 @@
     public void setSearchMode(boolean flag) {
         if (mSearchMode != flag) {
             mSearchMode = flag;
-            update();
+            update(false /* skipAnimation */);
             if (mSearchView == null) {
                 return;
             }
             if (mSearchMode) {
                 setFocusOnSearchView();
             } else {
-                mSearchView.setQuery(null, false);
+                mSearchView.setText(null);
             }
         } else if (flag) {
             // Everything is already set up. Still make sure the keyboard is up
@@ -376,7 +270,7 @@
     public void setQueryString(String query) {
         mQueryString = query;
         if (mSearchView != null) {
-            mSearchView.setQuery(query, false);
+            mSearchView.setText(query);
         }
     }
 
@@ -385,7 +279,7 @@
         return mSearchMode; // Only shown on the search mode.
     }
 
-    private void updateDisplayOptions() {
+    private void updateDisplayOptionsInner() {
         // All the flags we may change in this method.
         final int MASK = ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_HOME
                 | ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_CUSTOM;
@@ -395,16 +289,18 @@
 
         // Build the new flags...
         int newFlags = 0;
-        newFlags |= ActionBar.DISPLAY_SHOW_TITLE;
-        if (mShowHomeIcon) {
+        if (mShowHomeIcon && !mSearchMode) {
             newFlags |= ActionBar.DISPLAY_SHOW_HOME;
         }
         if (mSearchMode) {
-            newFlags |= ActionBar.DISPLAY_SHOW_HOME;
-            newFlags |= ActionBar.DISPLAY_HOME_AS_UP;
             newFlags |= ActionBar.DISPLAY_SHOW_CUSTOM;
+            mToolbar.setContentInsetsRelative(0, mToolbar.getContentInsetEnd());
+        } else {
+            newFlags |= ActionBar.DISPLAY_SHOW_TITLE;
+            mToolbar.setContentInsetsRelative(mMaxToolbarContentInsetStart,
+                    mToolbar.getContentInsetEnd());
         }
-        mActionBar.setHomeButtonEnabled(mSearchMode);
+
 
         if (current != newFlags) {
             // Pass the mask here to preserve other flags that we're not interested here.
@@ -412,97 +308,80 @@
         }
     }
 
-    private void update() {
-        boolean isIconifiedChanging = mSearchView.isIconified() == mSearchMode;
+    private void update(boolean skipAnimation) {
+        final boolean isIconifiedChanging
+                = (mSearchContainer.getParent() == null) == mSearchMode;
+        if (isIconifiedChanging && !skipAnimation) {
+            mToolbar.removeView(mLandscapeTabs);
+            if (mSearchMode) {
+                addSearchContainer();
+                mSearchContainer.setAlpha(0);
+                mSearchContainer.animate().alpha(1);
+                animateTabHeightChange(mMaxPortraitTabHeight, 0);
+                updateDisplayOptions(isIconifiedChanging);
+            } else {
+                mSearchContainer.setAlpha(1);
+                animateTabHeightChange(0, mMaxPortraitTabHeight);
+                mSearchContainer.animate().alpha(0).withEndAction(new Runnable() {
+                    @Override
+                    public void run() {
+                        updateDisplayOptionsInner();
+                        updateDisplayOptions(isIconifiedChanging);
+                        addLandscapeViewPagerTabs();
+                        mToolbar.removeView(mSearchContainer);
+                    }
+                });
+            }
+            return;
+        }
+        if (isIconifiedChanging && skipAnimation) {
+            mToolbar.removeView(mLandscapeTabs);
+            if (mSearchMode) {
+                setPortraitTabHeight(0);
+                addSearchContainer();
+            } else {
+                setPortraitTabHeight(mMaxPortraitTabHeight);
+                mToolbar.removeView(mSearchContainer);
+                addLandscapeViewPagerTabs();
+            }
+        }
+        updateDisplayOptions(isIconifiedChanging);
+    }
+
+    private void addLandscapeViewPagerTabs() {
+        if (mLandscapeTabs != null) {
+            mToolbar.removeView(mLandscapeTabs);
+            mToolbar.addView(mLandscapeTabs);
+        }
+    }
+
+    private void addSearchContainer() {
+        mToolbar.removeView(mSearchContainer);
+        mToolbar.addView(mSearchContainer);
+    }
+
+    private void updateDisplayOptions(boolean isIconifiedChanging) {
         if (mSearchMode) {
             setFocusOnSearchView();
             // Since we have the {@link SearchView} in a custom action bar, we must manually handle
             // expanding the {@link SearchView} when a search is initiated. Note that a side effect
             // of this method is that the {@link SearchView} query text is set to empty string.
             if (isIconifiedChanging) {
-                final CharSequence queryText = mSearchView.getQuery();
-                mSearchView.onActionViewExpanded();
+                final CharSequence queryText = mSearchView.getText();
                 if (!TextUtils.isEmpty(queryText)) {
-                    mSearchView.setQuery(queryText, false);
+                    mSearchView.setText(queryText);
                 }
             }
-            if (mActionBar.getNavigationMode() != ActionBar.NAVIGATION_MODE_STANDARD) {
-                mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
-            }
             if (mListener != null) {
                 mListener.onAction(Action.START_SEARCH_MODE);
             }
         } else {
-            final int currentNavigationMode = mActionBar.getNavigationMode();
-            if (mActionBarNavigationMode == ActionBar.NAVIGATION_MODE_TABS
-                    && currentNavigationMode != ActionBar.NAVIGATION_MODE_TABS) {
-                // setNavigationMode will trigger onTabSelected() with the tab which was previously
-                // selected.
-                // The issue is that when we're first switching to the tab navigation mode after
-                // screen orientation changes, onTabSelected() will get called with the first tab
-                // (i.e. favorite), which would results in mCurrentTab getting set to FAVORITES and
-                // we'd lose restored tab.
-                // So let's just disable the callback here temporarily.  We'll notify the listener
-                // after this anyway.
-                mTabListener.mIgnoreTabSelected = true;
-                mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
-                mActionBar.setSelectedNavigationItem(mCurrentTab);
-                mTabListener.mIgnoreTabSelected = false;
-            } else if (mActionBarNavigationMode == ActionBar.NAVIGATION_MODE_LIST
-                    && currentNavigationMode != ActionBar.NAVIGATION_MODE_LIST) {
-                mNavigationListener.mIgnoreNavigationItemSelected = true;
-                mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
-                mActionBar.setSelectedNavigationItem(
-                        getNavigationItemPositionFromTabPosition(mCurrentTab));
-                mNavigationListener.mIgnoreNavigationItemSelected = false;
-            }
-            mActionBar.setTitle(null);
-            // Since we have the {@link SearchView} in a custom action bar, we must manually handle
-            // collapsing the {@link SearchView} when search mode is exited.
-            if (isIconifiedChanging) {
-                mSearchView.onActionViewCollapsed();
-            }
             if (mListener != null) {
                 mListener.onAction(Action.STOP_SEARCH_MODE);
                 mListener.onSelectedTabChanged();
             }
         }
-        updateDisplayOptions();
-    }
-
-    @Override
-    public boolean onQueryTextChange(String queryString) {
-        // TODO: Clean up SearchView code because it keeps setting the SearchView query,
-        // invoking onQueryChanged, setting up the fragment again, invalidating the options menu,
-        // storing the SearchView again, and etc... unless we add in the early return statements.
-        if (queryString.equals(mQueryString)) {
-            return false;
-        }
-        mQueryString = queryString;
-        if (!mSearchMode) {
-            if (!TextUtils.isEmpty(queryString)) {
-                setSearchMode(true);
-            }
-        } else if (mListener != null) {
-            mListener.onAction(Action.CHANGE_SEARCH_QUERY);
-        }
-
-        return true;
-    }
-
-    @Override
-    public boolean onQueryTextSubmit(String query) {
-        // When the search is "committed" by the user, then hide the keyboard so the user can
-        // more easily browse the list of results.
-        if (mSearchView != null) {
-            InputMethodManager imm = (InputMethodManager) mContext.getSystemService(
-                    Context.INPUT_METHOD_SERVICE);
-            if (imm != null) {
-                imm.hideSoftInputFromWindow(mSearchView.getWindowToken(), 0);
-            }
-            mSearchView.clearFocus();
-        }
-        return true;
+        updateDisplayOptionsInner();
     }
 
     @Override
@@ -531,7 +410,15 @@
 
     public void setFocusOnSearchView() {
         mSearchView.requestFocus();
-        mSearchView.setIconified(false); // Workaround for the "IME not popping up" issue.
+        showInputMethod(mSearchView); // Workaround for the "IME not popping up" issue.
+    }
+
+    private void showInputMethod(View view) {
+        final InputMethodManager imm = (InputMethodManager) mContext.getSystemService(
+                Context.INPUT_METHOD_SERVICE);
+        if (imm != null) {
+            imm.showSoftInput(view, 0);
+        }
     }
 
     private void saveLastTabPreference(int tab) {
@@ -546,4 +433,28 @@
             return TabState.DEFAULT;
         }
     }
+
+    private void animateTabHeightChange(int start, int end) {
+        if (mPortraitTabs == null) {
+            return;
+        }
+        final ValueAnimator animator = ValueAnimator.ofInt(start, end);
+        animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+            @Override
+            public void onAnimationUpdate(ValueAnimator valueAnimator) {
+                int value = (Integer) valueAnimator.getAnimatedValue();
+                setPortraitTabHeight(value);
+            }
+        });
+        animator.setDuration(100).start();
+    }
+
+    private void setPortraitTabHeight(int height) {
+        if (mPortraitTabs == null) {
+            return;
+        }
+        ViewGroup.LayoutParams layoutParams = mPortraitTabs.getLayoutParams();
+        layoutParams.height = height;
+        mPortraitTabs.setLayoutParams(layoutParams);
+    }
 }
diff --git a/src/com/android/contacts/activities/AttachPhotoActivity.java b/src/com/android/contacts/activities/AttachPhotoActivity.java
index 25c23e0..4c4d4dc 100644
--- a/src/com/android/contacts/activities/AttachPhotoActivity.java
+++ b/src/com/android/contacts/activities/AttachPhotoActivity.java
@@ -16,6 +16,7 @@
 
 package com.android.contacts.activities;
 
+import android.content.ActivityNotFoundException;
 import android.content.ContentResolver;
 import android.content.Intent;
 import android.content.Loader;
@@ -30,9 +31,11 @@
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.DisplayPhoto;
 import android.util.Log;
+import android.widget.Toast;
 
 import com.android.contacts.ContactSaveService;
 import com.android.contacts.ContactsActivity;
+import com.android.contacts.R;
 import com.android.contacts.common.model.Contact;
 import com.android.contacts.common.model.ContactLoader;
 import com.android.contacts.common.model.RawContactDelta;
@@ -152,7 +155,12 @@
             ContactPhotoUtils.addPhotoPickerExtras(intent, mCroppedPhotoUri);
             ContactPhotoUtils.addCropExtras(intent, mPhotoDim != 0 ? mPhotoDim : mDefaultPhotoDim);
 
-            startActivityForResult(intent, REQUEST_CROP_PHOTO);
+            try {
+                startActivityForResult(intent, REQUEST_CROP_PHOTO);
+            } catch (ActivityNotFoundException ex) {
+                Toast.makeText(this, R.string.missing_app, Toast.LENGTH_SHORT).show();
+                return;
+            }
 
             mContactUri = result.getData();
 
diff --git a/src/com/android/contacts/activities/ConfirmAddDetailActivity.java b/src/com/android/contacts/activities/ConfirmAddDetailActivity.java
index e613ec1..e3fa7e2 100644
--- a/src/com/android/contacts/activities/ConfirmAddDetailActivity.java
+++ b/src/com/android/contacts/activities/ConfirmAddDetailActivity.java
@@ -746,7 +746,8 @@
 
     private void setDefaultContactImage(String displayName, String lookupKey) {
         mPhotoView.setImageDrawable(ContactPhotoManager.getDefaultAvatarDrawableForContact(
-                getResources(), false, new DefaultImageRequest(displayName, lookupKey)));
+                getResources(), false,
+                new DefaultImageRequest(displayName, lookupKey, false /* isCircular */)));
     }
 
     /**
diff --git a/src/com/android/contacts/activities/ContactDetailActivity.java b/src/com/android/contacts/activities/ContactDetailActivity.java
deleted file mode 100644
index a4e0470..0000000
--- a/src/com/android/contacts/activities/ContactDetailActivity.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.contacts.activities;
-
-import android.app.ActionBar;
-import android.app.Fragment;
-import android.content.ActivityNotFoundException;
-import android.content.ContentValues;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Handler;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.MenuItem.OnMenuItemClickListener;
-import android.view.View;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityManager;
-import android.widget.Toast;
-
-import com.android.contacts.ContactSaveService;
-import com.android.contacts.ContactsActivity;
-import com.android.contacts.R;
-import com.android.contacts.detail.ContactDetailDisplayUtils;
-import com.android.contacts.detail.ContactDetailFragment;
-import com.android.contacts.detail.ContactDetailLayoutController;
-import com.android.contacts.detail.ContactLoaderFragment;
-import com.android.contacts.detail.ContactLoaderFragment.ContactLoaderFragmentListener;
-import com.android.contacts.interactions.ContactDeletionInteraction;
-import com.android.contacts.common.model.Contact;
-import com.android.contacts.common.model.account.AccountWithDataSet;
-import com.android.contacts.util.PhoneCapabilityTester;
-
-import java.util.ArrayList;
-
-public class ContactDetailActivity extends ContactsActivity {
-    private static final String TAG = "ContactDetailActivity";
-
-    private Contact mContactData;
-    private Uri mLookupUri;
-
-    private ContactDetailLayoutController mContactDetailLayoutController;
-    private ContactLoaderFragment mLoaderFragment;
-
-    private Handler mHandler = new Handler();
-
-    @Override
-    protected void onCreate(Bundle savedState) {
-        super.onCreate(savedState);
-        if (PhoneCapabilityTester.isUsingTwoPanes(this)) {
-            // This activity must not be shown. We have to select the contact in the
-            // PeopleActivity instead ==> Create a forward intent and finish
-            final Intent originalIntent = getIntent();
-            Intent intent = new Intent();
-            intent.setAction(originalIntent.getAction());
-            intent.setDataAndType(originalIntent.getData(), originalIntent.getType());
-
-            // If we are launched from the outside, we should create a new task, because the user
-            // can freely navigate the app (this is different from phones, where only the UP button
-            // kicks the user into the full app)
-            if (shouldUpRecreateTask(intent)) {
-                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
-            } else {
-                intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS |
-                        Intent.FLAG_ACTIVITY_FORWARD_RESULT | Intent.FLAG_ACTIVITY_SINGLE_TOP |
-                        Intent.FLAG_ACTIVITY_CLEAR_TOP);
-            }
-            intent.setClass(this, PeopleActivity.class);
-            startActivity(intent);
-            finish();
-            return;
-        }
-
-        setContentView(R.layout.contact_detail_activity);
-
-        mContactDetailLayoutController = new ContactDetailLayoutController(this, savedState,
-                getFragmentManager(), null, findViewById(R.id.contact_detail_container),
-                mContactDetailFragmentListener);
-
-        // We want the UP affordance but no app icon.
-        // Setting HOME_AS_UP, SHOW_TITLE and clearing SHOW_HOME does the trick.
-        ActionBar actionBar = getActionBar();
-        if (actionBar != null) {
-            actionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE,
-                    ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE
-                    | ActionBar.DISPLAY_SHOW_HOME);
-            actionBar.setTitle("");
-        }
-    }
-
-    @Override
-    public void onAttachFragment(Fragment fragment) {
-         if (fragment instanceof ContactLoaderFragment) {
-            mLoaderFragment = (ContactLoaderFragment) fragment;
-            mLoaderFragment.setListener(mLoaderFragmentListener);
-            mLoaderFragment.loadUri(getIntent().getData());
-        }
-    }
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        super.onCreateOptionsMenu(menu);
-        MenuInflater inflater = getMenuInflater();
-        inflater.inflate(R.menu.star, menu);
-        return true;
-    }
-
-    @Override
-    public boolean onPrepareOptionsMenu(Menu menu) {
-        final MenuItem starredMenuItem = menu.findItem(R.id.menu_star);
-        starredMenuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
-            @Override
-            public boolean onMenuItemClick(MenuItem item) {
-                // Toggle "starred" state
-                // Make sure there is a contact
-                if (mLookupUri != null) {
-                    // Read the current starred value from the UI instead of using the last
-                    // loaded state. This allows rapid tapping without writing the same
-                    // value several times
-                    final boolean isStarred = starredMenuItem.isChecked();
-
-                    // To improve responsiveness, swap out the picture (and tag) in the UI already
-                    ContactDetailDisplayUtils.configureStarredMenuItem(starredMenuItem,
-                            mContactData.isDirectoryEntry(), mContactData.isUserProfile(),
-                            !isStarred);
-
-                    // Now perform the real save
-                    Intent intent = ContactSaveService.createSetStarredIntent(
-                            ContactDetailActivity.this, mLookupUri, !isStarred);
-                    ContactDetailActivity.this.startService(intent);
-                }
-                return true;
-            }
-        });
-        // If there is contact data, update the starred state
-        if (mContactData != null) {
-            ContactDetailDisplayUtils.configureStarredMenuItem(starredMenuItem,
-                    mContactData.isDirectoryEntry(), mContactData.isUserProfile(),
-                    mContactData.getStarred());
-        }
-        return true;
-    }
-
-    @Override
-    public boolean onKeyDown(int keyCode, KeyEvent event) {
-        // First check if the {@link ContactLoaderFragment} can handle the key
-        if (mLoaderFragment != null && mLoaderFragment.handleKeyDown(keyCode)) return true;
-
-        // Otherwise find the correct fragment to handle the event
-        FragmentKeyListener mCurrentFragment = mContactDetailLayoutController.getCurrentPage();
-        if (mCurrentFragment != null && mCurrentFragment.handleKeyDown(keyCode)) return true;
-
-        // In the last case, give the key event to the superclass.
-        return super.onKeyDown(keyCode, event);
-    }
-
-    @Override
-    protected void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        if (mContactDetailLayoutController != null) {
-            mContactDetailLayoutController.onSaveInstanceState(outState);
-        }
-    }
-
-    private final ContactLoaderFragmentListener mLoaderFragmentListener =
-            new ContactLoaderFragmentListener() {
-        @Override
-        public void onContactNotFound() {
-            finish();
-        }
-
-        @Override
-        public void onDetailsLoaded(final Contact result) {
-            if (result == null) {
-                return;
-            }
-            // Since {@link FragmentTransaction}s cannot be done in the onLoadFinished() of the
-            // {@link LoaderCallbacks}, then post this {@link Runnable} to the {@link Handler}
-            // on the main thread to execute later.
-            mHandler.post(new Runnable() {
-                @Override
-                public void run() {
-                    // If the activity is destroyed (or will be destroyed soon), don't update the UI
-                    if (isFinishing()) {
-                        return;
-                    }
-                    mContactData = result;
-                    mLookupUri = result.getLookupUri();
-                    invalidateOptionsMenu();
-                    setupTitle();
-                    mContactDetailLayoutController.setContactData(mContactData);
-                }
-            });
-        }
-
-        @Override
-        public void onEditRequested(Uri contactLookupUri) {
-            Intent intent = new Intent(Intent.ACTION_EDIT, contactLookupUri);
-            intent.putExtra(
-                    ContactEditorActivity.INTENT_KEY_FINISH_ACTIVITY_ON_SAVE_COMPLETED, true);
-            // Don't finish the detail activity after launching the editor because when the
-            // editor is done, we will still want to show the updated contact details using
-            // this activity.
-            startActivity(intent);
-        }
-
-        @Override
-        public void onDeleteRequested(Uri contactUri) {
-            ContactDeletionInteraction.start(ContactDetailActivity.this, contactUri, true);
-        }
-    };
-
-    /**
-     * Setup the activity title and subtitle with contact name and company.
-     */
-    private void setupTitle() {
-        CharSequence displayName = ContactDetailDisplayUtils.getDisplayName(this, mContactData);
-        String company =  ContactDetailDisplayUtils.getCompany(this, mContactData);
-
-        ActionBar actionBar = getActionBar();
-        actionBar.setTitle(displayName);
-        actionBar.setSubtitle(company);
-
-        final StringBuilder talkback = new StringBuilder();
-        if (!TextUtils.isEmpty(displayName)) {
-            talkback.append(displayName);
-        }
-        if (!TextUtils.isEmpty(company)) {
-            if (talkback.length() != 0) {
-                talkback.append(", ");
-            }
-            talkback.append(company);
-        }
-
-        if (talkback.length() != 0) {
-            AccessibilityManager accessibilityManager =
-                    (AccessibilityManager) this.getSystemService(Context.ACCESSIBILITY_SERVICE);
-            if (accessibilityManager.isEnabled()) {
-                View decorView = getWindow().getDecorView();
-                decorView.setContentDescription(talkback);
-                decorView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
-            }
-        }
-    }
-
-    private final ContactDetailFragment.Listener mContactDetailFragmentListener =
-            new ContactDetailFragment.Listener() {
-        @Override
-        public void onItemClicked(Intent intent) {
-            if (intent == null) {
-                return;
-            }
-            try {
-                startActivity(intent);
-            } catch (ActivityNotFoundException e) {
-                Log.e(TAG, "No activity found for intent: " + intent);
-            }
-        }
-
-        @Override
-        public void onCreateRawContactRequested(
-                ArrayList<ContentValues> values, AccountWithDataSet account) {
-            Toast.makeText(ContactDetailActivity.this, R.string.toast_making_personal_copy,
-                    Toast.LENGTH_LONG).show();
-            Intent serviceIntent = ContactSaveService.createNewRawContactIntent(
-                    ContactDetailActivity.this, values, account,
-                    ContactDetailActivity.class, Intent.ACTION_VIEW);
-            startService(serviceIntent);
-
-        }
-    };
-
-    /**
-     * This interface should be implemented by {@link Fragment}s within this
-     * activity so that the activity can determine whether the currently
-     * displayed view is handling the key event or not.
-     */
-    public interface FragmentKeyListener {
-        /**
-         * Returns true if the key down event will be handled by the implementing class, or false
-         * otherwise.
-         */
-        public boolean handleKeyDown(int keyCode);
-    }
-}
diff --git a/src/com/android/contacts/activities/ContactEditorActivity.java b/src/com/android/contacts/activities/ContactEditorActivity.java
index d12da85..5f382a7 100644
--- a/src/com/android/contacts/activities/ContactEditorActivity.java
+++ b/src/com/android/contacts/activities/ContactEditorActivity.java
@@ -30,6 +30,7 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View.OnClickListener;
+import android.widget.TextView;
 
 import com.android.contacts.ContactSaveService;
 import com.android.contacts.ContactsActivity;
@@ -39,6 +40,7 @@
 import com.android.contacts.common.model.AccountTypeManager;
 import com.android.contacts.common.model.account.AccountType;
 import com.android.contacts.common.model.account.AccountWithDataSet;
+import com.android.contacts.interactions.ContactDeletionInteraction;
 import com.android.contacts.util.DialogManager;
 
 import java.util.ArrayList;
@@ -105,6 +107,14 @@
                     mFragment.doSaveAction();
                 }
             });
+            TextView title = (TextView) customActionBarView.findViewById(R.id.title);
+            if (Intent.ACTION_EDIT.equals(action)) {
+                title.setText(getResources().getString(
+                        R.string.contact_editor_title_existing_contact));
+            } else {
+                title.setText(getResources().getString(
+                        R.string.contact_editor_title_new_contact));
+            }
             // Show the custom action bar but hide the home icon and title
             actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
                     ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME |
@@ -156,6 +166,12 @@
 
     private final ContactEditorFragment.Listener mFragmentListener =
             new ContactEditorFragment.Listener() {
+
+        @Override
+        public void onDeleteRequested(Uri contactUri) {
+            ContactDeletionInteraction.start(ContactEditorActivity.this, contactUri, true);
+        }
+
         @Override
         public void onReverted() {
             finish();
diff --git a/src/com/android/contacts/activities/ContactSelectionActivity.java b/src/com/android/contacts/activities/ContactSelectionActivity.java
index 9bb7395..c35f192 100644
--- a/src/com/android/contacts/activities/ContactSelectionActivity.java
+++ b/src/com/android/contacts/activities/ContactSelectionActivity.java
@@ -27,6 +27,7 @@
 import android.os.Bundle;
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Intents.Insert;
+import android.provider.ContactsContract.Intents.UI;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -50,6 +51,7 @@
 import com.android.contacts.list.ContactsRequest;
 import com.android.contacts.common.list.DirectoryListLoader;
 import com.android.contacts.list.EmailAddressPickerFragment;
+import com.android.contacts.list.JoinContactListFragment;
 import com.android.contacts.list.LegacyPhoneNumberPickerFragment;
 import com.android.contacts.list.OnContactPickerActionListener;
 import com.android.contacts.list.OnEmailAddressPickerActionListener;
@@ -73,22 +75,18 @@
     private static final int SUBACTIVITY_ADD_TO_EXISTING_CONTACT = 0;
 
     private static final String KEY_ACTION_CODE = "actionCode";
+    private static final String KEY_SEARCH_MODE = "searchMode";
     private static final int DEFAULT_DIRECTORY_RESULT_LIMIT = 20;
 
-    // Delay to allow the UI to settle before making search view visible
-    private static final int FOCUS_DELAY = 200;
-
     private ContactsIntentResolver mIntentResolver;
     protected ContactEntryListFragment<?> mListFragment;
 
     private int mActionCode = -1;
+    private boolean mIsSearchMode;
 
     private ContactsRequest mRequest;
     private SearchView mSearchView;
-    /**
-     * Can be null. If null, the "Create New Contact" button should be on the menu.
-     */
-    private View mCreateNewContactButton;
+    private View mSearchViewContainer;
 
     public ContactSelectionActivity() {
         mIntentResolver = new ContactsIntentResolver(this);
@@ -108,6 +106,7 @@
 
         if (savedState != null) {
             mActionCode = savedState.getInt(KEY_ACTION_CODE);
+            mIsSearchMode = savedState.getBoolean(KEY_SEARCH_MODE);
         }
 
         // Extract relevant information from the intent
@@ -136,31 +135,19 @@
         }
 
         prepareSearchViewAndActionBar();
-
-        mCreateNewContactButton = findViewById(R.id.new_contact);
-        if (mCreateNewContactButton != null) {
-            if (shouldShowCreateNewContactButton()) {
-                mCreateNewContactButton.setVisibility(View.VISIBLE);
-                mCreateNewContactButton.setOnClickListener(this);
-            } else {
-                mCreateNewContactButton.setVisibility(View.GONE);
-            }
-        }
-    }
-
-    private boolean shouldShowCreateNewContactButton() {
-        return (mActionCode == ContactsRequest.ACTION_INSERT_OR_EDIT_CONTACT
-                || (mActionCode == ContactsRequest.ACTION_PICK_OR_CREATE_CONTACT
-                        && !mRequest.isSearchMode()));
     }
 
     private void prepareSearchViewAndActionBar() {
+        final ActionBar actionBar = getActionBar();
+        mSearchViewContainer = LayoutInflater.from(actionBar.getThemedContext())
+                .inflate(R.layout.custom_action_bar, null);
+        mSearchView = (SearchView) mSearchViewContainer.findViewById(R.id.search_view);
+
         // Postal address pickers (and legacy pickers) don't support search, so just show
         // "HomeAsUp" button and title.
         if (mRequest.getActionCode() == ContactsRequest.ACTION_PICK_POSTAL ||
                 mRequest.isLegacyCompatibilityMode()) {
-            findViewById(R.id.search_view).setVisibility(View.GONE);
-            final ActionBar actionBar = getActionBar();
+            mSearchView.setVisibility(View.GONE);
             if (actionBar != null) {
                 actionBar.setDisplayShowHomeEnabled(true);
                 actionBar.setDisplayHomeAsUpEnabled(true);
@@ -169,64 +156,39 @@
             return;
         }
 
-        // If ActionBar is available, show SearchView on it. If not, show SearchView inside the
-        // Activity's layout.
-        final ActionBar actionBar = getActionBar();
-        if (actionBar != null) {
-            final View searchViewOnLayout = findViewById(R.id.search_view);
-            if (searchViewOnLayout != null) {
-                searchViewOnLayout.setVisibility(View.GONE);
-            }
+        actionBar.setDisplayShowHomeEnabled(true);
+        actionBar.setDisplayHomeAsUpEnabled(true);
 
-            final View searchViewContainer = LayoutInflater.from(actionBar.getThemedContext())
-                    .inflate(R.layout.custom_action_bar, null);
-            mSearchView = (SearchView) searchViewContainer.findViewById(R.id.search_view);
+        // In order to make the SearchView look like "shown via search menu", we need to
+        // manually setup its state. See also DialtactsActivity.java and ActionBarAdapter.java.
+        mSearchView.setIconifiedByDefault(true);
+        mSearchView.setQueryHint(getString(R.string.hint_findContacts));
+        mSearchView.setIconified(false);
+        mSearchView.setFocusable(true);
 
-            // In order to make the SearchView look like "shown via search menu", we need to
-            // manually setup its state. See also DialtactsActivity.java and ActionBarAdapter.java.
-            mSearchView.setIconifiedByDefault(true);
-            mSearchView.setQueryHint(getString(R.string.hint_findContacts));
-            mSearchView.setIconified(false);
+        mSearchView.setOnQueryTextListener(this);
+        mSearchView.setOnCloseListener(this);
+        mSearchView.setOnQueryTextFocusChangeListener(this);
 
-            mSearchView.setOnQueryTextListener(this);
-            mSearchView.setOnCloseListener(this);
-            mSearchView.setOnQueryTextFocusChangeListener(this);
+        actionBar.setCustomView(mSearchViewContainer,
+                new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
+        actionBar.setDisplayShowCustomEnabled(true);
 
-            actionBar.setCustomView(searchViewContainer,
-                    new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
-            actionBar.setDisplayShowCustomEnabled(true);
-            actionBar.setDisplayShowHomeEnabled(true);
-            actionBar.setDisplayHomeAsUpEnabled(true);
-        } else {
-            mSearchView = (SearchView) findViewById(R.id.search_view);
-            mSearchView.setQueryHint(getString(R.string.hint_findContacts));
-            mSearchView.setOnQueryTextListener(this);
-
-            // This is a hack to prevent the search view from grabbing focus
-            // at this point.  If search view were visible, it would always grabs focus
-            // because it is the first focusable widget in the window.
-            mSearchView.setVisibility(View.INVISIBLE);
-            mSearchView.postDelayed(new Runnable() {
-                @Override
-                public void run() {
-                    mSearchView.setVisibility(View.VISIBLE);
-                }
-            }, FOCUS_DELAY);
-        }
-
-        // Clear focus and suppress keyboard show-up.
-        mSearchView.clearFocus();
+        configureSearchMode();
     }
 
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        // If we want "Create New Contact" button but there's no such a button in the layout,
-        // try showing a menu for it.
-        if (shouldShowCreateNewContactButton() && mCreateNewContactButton == null) {
-            MenuInflater inflater = getMenuInflater();
-            inflater.inflate(R.menu.contact_picker_options, menu);
+    private void configureSearchMode() {
+        final ActionBar actionBar = getActionBar();
+        if (mIsSearchMode) {
+            actionBar.setDisplayShowTitleEnabled(false);
+            mSearchViewContainer.setVisibility(View.VISIBLE);
+            mSearchView.requestFocus();
+        } else {
+            actionBar.setDisplayShowTitleEnabled(true);
+            mSearchViewContainer.setVisibility(View.GONE);
+            mSearchView.setQuery(null, true);
         }
-        return true;
+        invalidateOptionsMenu();
     }
 
     @Override
@@ -235,12 +197,12 @@
             case android.R.id.home:
                 // Go back to previous screen, intending "cancel"
                 setResult(RESULT_CANCELED);
-                finish();
+                onBackPressed();
                 return true;
-            case R.id.create_new_contact: {
-                startCreateNewContactActivity();
+            case R.id.menu_search:
+                mIsSearchMode = !mIsSearchMode;
+                configureSearchMode();
                 return true;
-            }
         }
         return super.onOptionsItemSelected(item);
     }
@@ -249,6 +211,7 @@
     protected void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
         outState.putInt(KEY_ACTION_CODE, mActionCode);
+        outState.putBoolean(KEY_SEARCH_MODE, mIsSearchMode);
     }
 
     private void configureActivityTitle() {
@@ -303,6 +266,11 @@
                 setTitle(R.string.contactPickerActivityTitle);
                 break;
             }
+
+            case ContactsRequest.ACTION_PICK_JOIN: {
+                setTitle(R.string.titleJoinContactDataWith);
+                break;
+            }
         }
     }
 
@@ -315,6 +283,7 @@
                 ContactPickerFragment fragment = new ContactPickerFragment();
                 fragment.setEditMode(true);
                 fragment.setDirectorySearchMode(DirectoryListLoader.SEARCH_MODE_NONE);
+                fragment.setCreateContactEnabled(!mRequest.isSearchMode());
                 mListFragment = fragment;
                 break;
             }
@@ -329,6 +298,7 @@
 
             case ContactsRequest.ACTION_PICK_OR_CREATE_CONTACT: {
                 ContactPickerFragment fragment = new ContactPickerFragment();
+                fragment.setCreateContactEnabled(!mRequest.isSearchMode());
                 mListFragment = fragment;
                 break;
             }
@@ -369,10 +339,18 @@
 
             case ContactsRequest.ACTION_PICK_POSTAL: {
                 PostalAddressPickerFragment fragment = new PostalAddressPickerFragment();
+
                 mListFragment = fragment;
                 break;
             }
 
+            case ContactsRequest.ACTION_PICK_JOIN: {
+                JoinContactListFragment joinFragment = new JoinContactListFragment();
+                joinFragment.setTargetContactId(getTargetContactId());
+                mListFragment = joinFragment;
+                break;
+            }
+
             default:
                 throw new IllegalStateException("Invalid action code: " + mActionCode);
         }
@@ -409,6 +387,9 @@
         } else if (mListFragment instanceof EmailAddressPickerFragment) {
             ((EmailAddressPickerFragment) mListFragment).setOnEmailAddressPickerActionListener(
                     new EmailAddressPickerActionListener());
+        } else if (mListFragment instanceof JoinContactListFragment) {
+            ((JoinContactListFragment) mListFragment).setOnContactPickerActionListener(
+                    new JoinContactActionListener());
         } else {
             throw new IllegalStateException("Unsupported list fragment type: " + mListFragment);
         }
@@ -508,6 +489,11 @@
         }
 
         @Override
+        public void onCallNumberDirectly(String phoneNumber, boolean isVideoCall) {
+            Log.w(TAG, "Unsupported call.");
+        }
+
+        @Override
         public void onShortcutIntentCreated(Intent intent) {
             returnPickerResult(intent);
         }
@@ -517,6 +503,27 @@
         }
     }
 
+    private final class JoinContactActionListener implements OnContactPickerActionListener {
+        @Override
+        public void onPickContactAction(Uri contactUri) {
+            Intent intent = new Intent(null, contactUri);
+            setResult(RESULT_OK, intent);
+            finish();
+        }
+
+        @Override
+        public void onShortcutIntentCreated(Intent intent) {
+        }
+
+        @Override
+        public void onCreateNewContactAction() {
+        }
+
+        @Override
+        public void onEditContactAction(Uri contactLookupUri) {
+        }
+    }
+
     private final class PostalAddressPickerActionListener implements
             OnPostalAddressPickerActionListener {
         @Override
@@ -596,13 +603,26 @@
     @Override
     public void onClick(View view) {
         switch (view.getId()) {
-            case R.id.new_contact: {
+            case R.id.floating_action_button: {
                 startCreateNewContactActivity();
                 break;
             }
         }
     }
 
+    private long getTargetContactId() {
+        Intent intent = getIntent();
+        final long targetContactId = intent.getLongExtra(UI.TARGET_CONTACT_ID_EXTRA_KEY, -1);
+        if (targetContactId == -1) {
+            Log.e(TAG, "Intent " + intent.getAction() + " is missing required extra: "
+                    + UI.TARGET_CONTACT_ID_EXTRA_KEY);
+            setResult(RESULT_CANCELED);
+            finish();
+            return -1;
+        }
+        return targetContactId;
+    }
+
     private void startCreateNewContactActivity() {
         Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
         intent.putExtra(ContactEditorActivity.INTENT_KEY_FINISH_ACTIVITY_ON_SAVE_COMPLETED, true);
@@ -631,4 +651,26 @@
             }
         }
     }
+
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        super.onCreateOptionsMenu(menu);
+
+        final MenuInflater inflater = getMenuInflater();
+        inflater.inflate(R.menu.search_menu, menu);
+
+        final MenuItem searchItem = menu.findItem(R.id.menu_search);
+        searchItem.setVisible(!mIsSearchMode);
+        return true;
+    }
+
+    @Override
+    public void onBackPressed() {
+        if (mIsSearchMode) {
+            mIsSearchMode = false;
+            configureSearchMode();
+        } else {
+            super.onBackPressed();
+        }
+    }
 }
diff --git a/src/com/android/contacts/activities/GroupEditorActivity.java b/src/com/android/contacts/activities/GroupEditorActivity.java
index ff9301b..b204418 100644
--- a/src/com/android/contacts/activities/GroupEditorActivity.java
+++ b/src/com/android/contacts/activities/GroupEditorActivity.java
@@ -145,20 +145,13 @@
 
         @Override
         public void onSaveFinished(int resultCode, Intent resultIntent) {
-            // TODO: Collapse these 2 cases into 1 that will just launch an intent with the VIEW
-            // action to see the group URI (when group URIs are supported)
-            // For a 2-pane screen, set the activity result, so the original activity (that launched
-            // the editor) can display the group detail page
-            if (PhoneCapabilityTester.isUsingTwoPanes(GroupEditorActivity.this)) {
-                setResult(resultCode, resultIntent);
-            } else if (resultIntent != null) {
-                // For a 1-pane screen, launch the group detail page
+            if (resultIntent != null) {
                 Intent intent = new Intent(GroupEditorActivity.this, GroupDetailActivity.class);
                 intent.setData(resultIntent.getData());
                 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                 startActivity(intent);
+                finish();
             }
-            finish();
         }
     };
 
diff --git a/src/com/android/contacts/activities/JoinContactActivity.java b/src/com/android/contacts/activities/JoinContactActivity.java
deleted file mode 100644
index c345a01..0000000
--- a/src/com/android/contacts/activities/JoinContactActivity.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.contacts.activities;
-
-
-import android.app.ActionBar;
-import android.app.ActionBar.LayoutParams;
-import android.app.Fragment;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.provider.ContactsContract;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.View.OnFocusChangeListener;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.SearchView;
-import android.widget.SearchView.OnCloseListener;
-import android.widget.SearchView.OnQueryTextListener;
-
-import com.android.contacts.ContactsActivity;
-import com.android.contacts.R;
-import com.android.contacts.common.list.ContactEntryListFragment;
-import com.android.contacts.list.JoinContactListFragment;
-import com.android.contacts.list.OnContactPickerActionListener;
-
-/**
- * An activity that shows a list of contacts that can be joined with the target contact.
- */
-public class JoinContactActivity extends ContactsActivity
-        implements OnQueryTextListener, OnCloseListener, OnFocusChangeListener {
-
-    private static final String TAG = "JoinContactActivity";
-
-    /**
-     * The action for the join contact activity.
-     * <p>
-     * Input: extra field {@link #EXTRA_TARGET_CONTACT_ID} is the aggregate ID.
-     * TODO: move to {@link ContactsContract}.
-     */
-    public static final String JOIN_CONTACT = "com.android.contacts.action.JOIN_CONTACT";
-
-    /**
-     * Used with {@link #JOIN_CONTACT} to give it the target for aggregation.
-     * <p>
-     * Type: LONG
-     */
-    public static final String EXTRA_TARGET_CONTACT_ID = "com.android.contacts.action.CONTACT_ID";
-
-    private static final String KEY_TARGET_CONTACT_ID = "targetContactId";
-
-    private long mTargetContactId;
-
-    private JoinContactListFragment mListFragment;
-    private SearchView mSearchView;
-
-    @Override
-    public void onAttachFragment(Fragment fragment) {
-        if (fragment instanceof JoinContactListFragment) {
-            mListFragment = (JoinContactListFragment) fragment;
-            setupActionListener();
-        }
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        Intent intent = getIntent();
-        mTargetContactId = intent.getLongExtra(EXTRA_TARGET_CONTACT_ID, -1);
-        if (mTargetContactId == -1) {
-            Log.e(TAG, "Intent " + intent.getAction() + " is missing required extra: "
-                    + EXTRA_TARGET_CONTACT_ID);
-            setResult(RESULT_CANCELED);
-            finish();
-            return;
-        }
-
-        setContentView(R.layout.join_contact_picker);
-        setTitle(R.string.titleJoinContactDataWith);
-
-        if (mListFragment == null) {
-            mListFragment = new JoinContactListFragment();
-
-            getFragmentManager().beginTransaction()
-                    .replace(R.id.list_container, mListFragment)
-                    .commitAllowingStateLoss();
-        }
-
-        prepareSearchViewAndActionBar();
-    }
-
-    private void setupActionListener() {
-        mListFragment.setTargetContactId(mTargetContactId);
-        mListFragment.setOnContactPickerActionListener(new OnContactPickerActionListener() {
-            @Override
-            public void onPickContactAction(Uri contactUri) {
-                Intent intent = new Intent(null, contactUri);
-                setResult(RESULT_OK, intent);
-                finish();
-            }
-
-            @Override
-            public void onShortcutIntentCreated(Intent intent) {
-            }
-
-            @Override
-            public void onCreateNewContactAction() {
-            }
-
-            @Override
-            public void onEditContactAction(Uri contactLookupUri) {
-            }
-        });
-    }
-
-    private void prepareSearchViewAndActionBar() {
-        final ActionBar actionBar = getActionBar();
-        if (actionBar != null) {
-            final View searchViewOnLayout = findViewById(R.id.search_view);
-            if (searchViewOnLayout != null) {
-                searchViewOnLayout.setVisibility(View.GONE);
-            }
-
-            final View searchViewLayout = LayoutInflater.from(actionBar.getThemedContext())
-                    .inflate(R.layout.custom_action_bar, null);
-            mSearchView = (SearchView) searchViewLayout.findViewById(R.id.search_view);
-
-            // In order to make the SearchView look like "shown via search menu", we need to
-            // manually setup its state. See also DialtactsActivity.java and ActionBarAdapter.java.
-            mSearchView.setIconifiedByDefault(true);
-            mSearchView.setQueryHint(getString(R.string.hint_findContacts));
-            mSearchView.setIconified(false);
-
-            mSearchView.setOnQueryTextListener(this);
-            mSearchView.setOnCloseListener(this);
-            mSearchView.setOnQueryTextFocusChangeListener(this);
-
-            actionBar.setCustomView(searchViewLayout,
-                    new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
-            actionBar.setDisplayShowCustomEnabled(true);
-            actionBar.setDisplayShowHomeEnabled(true);
-            actionBar.setDisplayHomeAsUpEnabled(true);
-        } else {
-            mSearchView = (SearchView) findViewById(R.id.search_view);
-            mSearchView.setQueryHint(getString(R.string.hint_findContacts));
-            mSearchView.setOnQueryTextListener(this);
-            mSearchView.setOnQueryTextFocusChangeListener(this);
-        }
-
-        // Clear focus and suppress keyboard show-up.
-        mSearchView.clearFocus();
-    }
-
-    @Override
-    public boolean onQueryTextChange(String newText) {
-        mListFragment.setQueryString(newText, true);
-        return false;
-    }
-
-    @Override
-    public boolean onQueryTextSubmit(String query) {
-        return false;
-    }
-
-    @Override
-    public boolean onClose() {
-        if (!TextUtils.isEmpty(mSearchView.getQuery())) {
-            mSearchView.setQuery(null, true);
-        }
-        return true;
-    }
-
-    @Override
-    public void onFocusChange(View view, boolean hasFocus) {
-        switch (view.getId()) {
-            case R.id.search_view: {
-                if (hasFocus) {
-                    showInputMethod(mSearchView.findFocus());
-                }
-            }
-        }
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case android.R.id.home:
-                // Go back to previous screen, intending "cancel"
-                setResult(RESULT_CANCELED);
-                finish();
-                return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-
-    @Override
-    protected void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        outState.putLong(KEY_TARGET_CONTACT_ID, mTargetContactId);
-    }
-
-    @Override
-    protected void onRestoreInstanceState(Bundle savedInstanceState) {
-        super.onRestoreInstanceState(savedInstanceState);
-        mTargetContactId = savedInstanceState.getLong(KEY_TARGET_CONTACT_ID);
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (requestCode == ContactEntryListFragment.ACTIVITY_REQUEST_CODE_PICKER
-                && resultCode == RESULT_OK) {
-            mListFragment.onPickerResult(data);
-        }
-    }
-
-    private void showInputMethod(View view) {
-        final InputMethodManager imm = (InputMethodManager)
-                getSystemService(Context.INPUT_METHOD_SERVICE);
-        if (imm != null) {
-            if (!imm.showSoftInput(view, 0)) {
-                Log.w(TAG, "Failed to show soft input method.");
-            }
-        }
-    }
-}
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index bfcd79e..75f3607 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -19,13 +19,12 @@
 import android.app.Fragment;
 import android.app.FragmentManager;
 import android.app.FragmentTransaction;
-import android.content.ActivityNotFoundException;
-import android.content.ContentValues;
+import android.content.Context;
 import android.content.Intent;
+import android.content.res.TypedArray;
 import android.graphics.Rect;
 import android.net.Uri;
 import android.os.Bundle;
-import android.os.Handler;
 import android.os.Parcelable;
 import android.os.UserManager;
 import android.preference.PreferenceActivity;
@@ -44,81 +43,64 @@
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
-import android.view.MenuItem.OnMenuItemClickListener;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.Toast;
+import android.view.Window;
+import android.widget.ImageButton;
+import android.widget.Toolbar;
 
-import com.android.contacts.ContactSaveService;
 import com.android.contacts.ContactsActivity;
 import com.android.contacts.R;
 import com.android.contacts.activities.ActionBarAdapter.TabState;
-import com.android.contacts.detail.ContactDetailFragment;
-import com.android.contacts.detail.ContactDetailLayoutController;
-import com.android.contacts.detail.ContactDetailUpdatesFragment;
-import com.android.contacts.detail.ContactLoaderFragment;
-import com.android.contacts.detail.ContactLoaderFragment.ContactLoaderFragmentListener;
 import com.android.contacts.common.ContactsUtils;
 import com.android.contacts.common.dialog.ClearFrequentsDialog;
-import com.android.contacts.group.GroupBrowseListFragment;
-import com.android.contacts.group.GroupBrowseListFragment.OnGroupBrowserActionListener;
-import com.android.contacts.group.GroupDetailFragment;
 import com.android.contacts.interactions.ContactDeletionInteraction;
 import com.android.contacts.common.interactions.ImportExportDialogFragment;
-import com.android.contacts.list.ContactBrowseListFragment;
 import com.android.contacts.common.list.ContactEntryListFragment;
 import com.android.contacts.common.list.ContactListFilter;
 import com.android.contacts.common.list.ContactListFilterController;
 import com.android.contacts.common.list.ContactTileAdapter.DisplayType;
-import com.android.contacts.list.ContactTileFrequentFragment;
 import com.android.contacts.list.ContactTileListFragment;
 import com.android.contacts.list.ContactsIntentResolver;
 import com.android.contacts.list.ContactsRequest;
 import com.android.contacts.list.ContactsUnavailableFragment;
 import com.android.contacts.list.DefaultContactBrowseListFragment;
 import com.android.contacts.common.list.DirectoryListLoader;
+import com.android.contacts.common.preference.DisplayOptionsPreferenceFragment;
 import com.android.contacts.list.OnContactBrowserActionListener;
 import com.android.contacts.list.OnContactsUnavailableActionListener;
 import com.android.contacts.list.ProviderStatusWatcher;
 import com.android.contacts.list.ProviderStatusWatcher.ProviderStatusListener;
-import com.android.contacts.common.model.Contact;
-import com.android.contacts.common.model.account.AccountWithDataSet;
+import com.android.contacts.common.list.ViewPagerTabs;
 import com.android.contacts.preference.ContactsPreferenceActivity;
-import com.android.contacts.preference.DisplayOptionsPreferenceFragment;
 import com.android.contacts.common.util.AccountFilterUtil;
+import com.android.contacts.common.util.ViewUtil;
+import com.android.contacts.quickcontact.QuickContactActivity;
 import com.android.contacts.util.AccountPromptUtils;
 import com.android.contacts.common.util.Constants;
 import com.android.contacts.util.DialogManager;
 import com.android.contacts.util.HelpUtils;
-import com.android.contacts.util.PhoneCapabilityTester;
-import com.android.contacts.common.util.UriUtils;
-import com.android.contacts.widget.TransitionAnimationView;
 
-import java.util.ArrayList;
 import java.util.Locale;
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**
- * Displays a list to browse contacts. For xlarge screens, this also displays a detail-pane on
- * the right.
+ * Displays a list to browse contacts.
  */
-public class PeopleActivity extends ContactsActivity
-        implements View.OnCreateContextMenuListener, ActionBarAdapter.Listener,
+public class PeopleActivity extends ContactsActivity implements
+        View.OnCreateContextMenuListener,
+        View.OnClickListener,
+        ActionBarAdapter.Listener,
         DialogManager.DialogShowingViewActivity,
-        ContactListFilterController.ContactListFilterListener, ProviderStatusListener {
+        ContactListFilterController.ContactListFilterListener,
+        ProviderStatusListener {
 
     private static final String TAG = "PeopleActivity";
 
-    private static final int TAB_FADE_IN_DURATION = 500;
-
     private static final String ENABLE_DEBUG_OPTIONS_HIDDEN_CODE = "debug debug!";
 
     // These values needs to start at 2. See {@link ContactEntryListFragment}.
-    private static final int SUBACTIVITY_NEW_CONTACT = 2;
-    private static final int SUBACTIVITY_EDIT_CONTACT = 3;
-    private static final int SUBACTIVITY_NEW_GROUP = 4;
-    private static final int SUBACTIVITY_EDIT_GROUP = 5;
-    private static final int SUBACTIVITY_ACCOUNT_FILTER = 6;
+    private static final int SUBACTIVITY_ACCOUNT_FILTER = 2;
 
     private final DialogManager mDialogManager = new DialogManager(this);
 
@@ -127,16 +109,6 @@
 
     private ActionBarAdapter mActionBarAdapter;
 
-    private ContactDetailFragment mContactDetailFragment;
-
-    private ContactLoaderFragment mContactDetailLoaderFragment;
-    private final ContactDetailLoaderFragmentListener mContactDetailLoaderFragmentListener =
-            new ContactDetailLoaderFragmentListener();
-
-    private GroupDetailFragment mGroupDetailFragment;
-    private final GroupDetailFragmentListener mGroupDetailFragmentListener =
-            new GroupDetailFragmentListener();
-
     private ContactTileListFragment.Listener mFavoritesFragmentListener =
             new StrequentContactListFragmentListener();
 
@@ -153,26 +125,16 @@
      */
     private DefaultContactBrowseListFragment mAllFragment;
     private ContactTileListFragment mFavoritesFragment;
-    private ContactTileFrequentFragment mFrequentFragment;
-    private GroupBrowseListFragment mGroupsFragment;
 
-    private View mFavoritesView;
-    private View mBrowserView;
-    private TransitionAnimationView mPeopleActivityView;
-    private TransitionAnimationView mContactDetailsView;
-    private TransitionAnimationView mGroupDetailsView;
-
-    /** ViewPager for swipe, used only on the phone (i.e. one-pane mode) */
+    /** ViewPager for swipe */
     private ViewPager mTabPager;
+    private ViewPagerTabs mViewPagerTabs;
     private TabPagerAdapter mTabPagerAdapter;
+    private String[] mTabTitles;
     private final TabPagerListener mTabPagerListener = new TabPagerListener();
 
-    private ContactDetailLayoutController mContactDetailLayoutController;
-
     private boolean mEnableDebugMenuOptions;
 
-    private final Handler mHandler = new Handler();
-
     /**
      * True if this activity instance is a re-created one.  i.e. set true after orientation change.
      * This is set in {@link #onCreate} for later use in {@link #onStart}.
@@ -188,14 +150,6 @@
     private boolean mFragmentInitialized;
 
     /**
-     * Whether or not the current contact filter is valid or not. We need to do a check on
-     * start of the app to verify that the user is not in single contact mode. If so, we should
-     * dynamically change the filter, unless the incoming intent specifically requested a contact
-     * that should be displayed in that mode.
-     */
-    private boolean mCurrentFilterIsValid;
-
-    /**
      * This is to disable {@link #onOptionsItemSelected} when we trying to stop the activity.
      */
     private boolean mDisableOptionItemSelected;
@@ -235,18 +189,14 @@
      * For the fragments that are in the layout, we initialize them in
      * {@link #createViewsAndFragments(Bundle)} after inflating the layout.
      *
-     * However, there are special fragments which may not be in the layout, so we have to do the
-     * initialization here.
-     * The target fragments are:
-     * - {@link ContactDetailFragment} and {@link ContactDetailUpdatesFragment}:  They may not be
-     *   in the layout depending on the configuration.  (i.e. portrait)
-     * - {@link ContactsUnavailableFragment}: We always create it at runtime.
+     * However, the {@link ContactsUnavailableFragment} is a special fragment which may not
+     * be in the layout, so we have to do the initialization here.
+     *
+     * The ContactsUnavailableFragment is always created at runtime.
      */
     @Override
     public void onAttachFragment(Fragment fragment) {
-        if (fragment instanceof ContactDetailFragment) {
-            mContactDetailFragment = (ContactDetailFragment) fragment;
-        } else if (fragment instanceof ContactsUnavailableFragment) {
+        if (fragment instanceof ContactsUnavailableFragment) {
             mContactsUnavailableFragment = (ContactsUnavailableFragment)fragment;
             mContactsUnavailableFragment.setOnContactsUnavailableActionListener(
                     new ContactsUnavailableFragmentListener());
@@ -272,10 +222,11 @@
 
         mIsRecreatedInstance = (savedState != null);
         createViewsAndFragments(savedState);
-        getWindow().setBackgroundDrawableResource(R.color.background_primary);
+
         if (Log.isLoggable(Constants.PERFORMANCE_TAG, Log.DEBUG)) {
             Log.d(Constants.PERFORMANCE_TAG, "PeopleActivity.onCreate finish");
         }
+        getWindow().setBackgroundDrawable(null);
     }
 
     @Override
@@ -288,7 +239,6 @@
         mActionBarAdapter.initialize(null, mRequest);
 
         mContactListFilterController.checkFilterValidity(false);
-        mCurrentFilterIsValid = true;
 
         // Re-configure fragments.
         configureFragments(true /* from request */);
@@ -323,9 +273,8 @@
             return false;
         }
 
-        if (mRequest.getActionCode() == ContactsRequest.ACTION_VIEW_CONTACT
-                && !PhoneCapabilityTester.isUsingTwoPanes(this)) {
-            redirect = new Intent(this, ContactDetailActivity.class);
+        if (mRequest.getActionCode() == ContactsRequest.ACTION_VIEW_CONTACT) {
+            redirect = new Intent(this, QuickContactActivity.class);
             redirect.setAction(Intent.ACTION_VIEW);
             redirect.setData(mRequest.getContactUri());
             startActivity(redirect);
@@ -335,6 +284,10 @@
     }
 
     private void createViewsAndFragments(Bundle savedState) {
+        // Disable the ActionBar so that we can use a Toolbar. This needs to be called before
+        // setContentView().
+        getWindow().requestFeature(Window.FEATURE_NO_TITLE);
+
         setContentView(R.layout.people_activity);
 
         final FragmentManager fragmentManager = getFragmentManager();
@@ -342,112 +295,80 @@
         // Hide all tabs (the current tab will later be reshown once a tab is selected)
         final FragmentTransaction transaction = fragmentManager.beginTransaction();
 
-        // Prepare the fragments which are used both on 1-pane and on 2-pane.
-        final boolean isUsingTwoPanes = PhoneCapabilityTester.isUsingTwoPanes(this);
-        if (isUsingTwoPanes) {
-            mFavoritesFragment = getFragment(R.id.favorites_fragment);
-            mAllFragment = getFragment(R.id.all_fragment);
-            mGroupsFragment = getFragment(R.id.groups_fragment);
+        mTabTitles = new String[TabState.COUNT];
+        mTabTitles[TabState.FAVORITES] = getString(R.string.favorites_tab_label);
+        mTabTitles[TabState.ALL] = getString(R.string.all_contacts_tab_label);
+        mTabPager = getView(R.id.tab_pager);
+        mTabPagerAdapter = new TabPagerAdapter();
+        mTabPager.setAdapter(mTabPagerAdapter);
+        mTabPager.setOnPageChangeListener(mTabPagerListener);
+
+        // Configure toolbar and toolbar tabs. If in landscape mode, we  configure tabs differntly.
+        final Toolbar toolbar = getView(R.id.toolbar);
+        setActionBar(toolbar);
+        final ViewPagerTabs portraitViewPagerTabs
+                = (ViewPagerTabs) findViewById(R.id.lists_pager_header);
+        ViewPagerTabs landscapeViewPagerTabs = null;
+        if (portraitViewPagerTabs ==  null) {
+            landscapeViewPagerTabs = (ViewPagerTabs) getLayoutInflater().inflate(
+                    R.layout.people_activity_tabs_lands, toolbar, /* attachToRoot = */ false);
+            mViewPagerTabs = landscapeViewPagerTabs;
         } else {
-            mTabPager = getView(R.id.tab_pager);
-            mTabPagerAdapter = new TabPagerAdapter();
-            mTabPager.setAdapter(mTabPagerAdapter);
-            mTabPager.setOnPageChangeListener(mTabPagerListener);
+            mViewPagerTabs = portraitViewPagerTabs;
+        }
+        mViewPagerTabs.setViewPager(mTabPager);
 
-            final String FAVORITE_TAG = "tab-pager-favorite";
-            final String ALL_TAG = "tab-pager-all";
-            final String GROUPS_TAG = "tab-pager-groups";
+        final String FAVORITE_TAG = "tab-pager-favorite";
+        final String ALL_TAG = "tab-pager-all";
 
-            // Create the fragments and add as children of the view pager.
-            // The pager adapter will only change the visibility; it'll never create/destroy
-            // fragments.
-            // However, if it's after screen rotation, the fragments have been re-created by
-            // the fragment manager, so first see if there're already the target fragments
-            // existing.
-            mFavoritesFragment = (ContactTileListFragment)
-                    fragmentManager.findFragmentByTag(FAVORITE_TAG);
-            mAllFragment = (DefaultContactBrowseListFragment)
-                    fragmentManager.findFragmentByTag(ALL_TAG);
-            mGroupsFragment = (GroupBrowseListFragment)
-                    fragmentManager.findFragmentByTag(GROUPS_TAG);
+        // Create the fragments and add as children of the view pager.
+        // The pager adapter will only change the visibility; it'll never create/destroy
+        // fragments.
+        // However, if it's after screen rotation, the fragments have been re-created by
+        // the fragment manager, so first see if there're already the target fragments
+        // existing.
+        mFavoritesFragment = (ContactTileListFragment)
+                fragmentManager.findFragmentByTag(FAVORITE_TAG);
+        mAllFragment = (DefaultContactBrowseListFragment)
+                fragmentManager.findFragmentByTag(ALL_TAG);
 
-            if (mFavoritesFragment == null) {
-                mFavoritesFragment = new ContactTileListFragment();
-                mAllFragment = new DefaultContactBrowseListFragment();
-                mGroupsFragment = new GroupBrowseListFragment();
+        if (mFavoritesFragment == null) {
+            mFavoritesFragment = new ContactTileListFragment();
+            mAllFragment = new DefaultContactBrowseListFragment();
 
-                transaction.add(R.id.tab_pager, mFavoritesFragment, FAVORITE_TAG);
-                transaction.add(R.id.tab_pager, mAllFragment, ALL_TAG);
-                transaction.add(R.id.tab_pager, mGroupsFragment, GROUPS_TAG);
-            }
+            transaction.add(R.id.tab_pager, mFavoritesFragment, FAVORITE_TAG);
+            transaction.add(R.id.tab_pager, mAllFragment, ALL_TAG);
         }
 
         mFavoritesFragment.setListener(mFavoritesFragmentListener);
 
         mAllFragment.setOnContactListActionListener(new ContactBrowserActionListener());
 
-        mGroupsFragment.setListener(new GroupBrowserActionListener());
-
         // Hide all fragments for now.  We adjust visibility when we get onSelectedTabChanged()
         // from ActionBarAdapter.
         transaction.hide(mFavoritesFragment);
         transaction.hide(mAllFragment);
-        transaction.hide(mGroupsFragment);
 
-        if (isUsingTwoPanes) {
-            // Prepare 2-pane only fragments/views...
-
-            // Container views for fragments
-            mPeopleActivityView = getView(R.id.people_view);
-            mFavoritesView = getView(R.id.favorites_view);
-            mContactDetailsView = getView(R.id.contact_details_view);
-            mGroupDetailsView = getView(R.id.group_details_view);
-            mBrowserView = getView(R.id.browse_view);
-
-            // Only favorites tab with two panes has a separate frequent fragment
-            if (PhoneCapabilityTester.isUsingTwoPanesInFavorites(this)) {
-                mFrequentFragment = getFragment(R.id.frequent_fragment);
-                mFrequentFragment.setListener(mFavoritesFragmentListener);
-                mFrequentFragment.setDisplayType(DisplayType.FREQUENT_ONLY);
-                mFrequentFragment.enableQuickContact(true);
-            }
-
-            mContactDetailLoaderFragment = getFragment(R.id.contact_detail_loader_fragment);
-            mContactDetailLoaderFragment.setListener(mContactDetailLoaderFragmentListener);
-
-            mGroupDetailFragment = getFragment(R.id.group_detail_fragment);
-            mGroupDetailFragment.setListener(mGroupDetailFragmentListener);
-            mGroupDetailFragment.setQuickContact(true);
-
-            if (mContactDetailFragment != null) {
-                transaction.hide(mContactDetailFragment);
-            }
-            transaction.hide(mGroupDetailFragment);
-
-            // Configure contact details
-            mContactDetailLayoutController = new ContactDetailLayoutController(this, savedState,
-                    getFragmentManager(), mContactDetailsView,
-                    findViewById(R.id.contact_detail_container),
-                    new ContactDetailFragmentListener());
-        }
         transaction.commitAllowingStateLoss();
         fragmentManager.executePendingTransactions();
 
         // Setting Properties after fragment is created
-        if (PhoneCapabilityTester.isUsingTwoPanesInFavorites(this)) {
-            mFavoritesFragment.enableQuickContact(true);
-            mFavoritesFragment.setDisplayType(DisplayType.STARRED_ONLY);
-        } else {
-            // For 2-pane in All and Groups but not in Favorites fragment, show the chevron
-            // for quick contact popup
-            mFavoritesFragment.enableQuickContact(isUsingTwoPanes);
-            mFavoritesFragment.setDisplayType(DisplayType.STREQUENT);
-        }
+        mFavoritesFragment.setDisplayType(DisplayType.STREQUENT);
 
-        // Configure action bar
-        mActionBarAdapter = new ActionBarAdapter(this, this, getActionBar(), isUsingTwoPanes);
+        mActionBarAdapter = new ActionBarAdapter(this, this, getActionBar(),
+                portraitViewPagerTabs, landscapeViewPagerTabs, toolbar);
         mActionBarAdapter.initialize(savedState, mRequest);
 
+        // Add shadow under toolbar
+        ViewUtil.addRectangularOutlineProvider(findViewById(R.id.toolbar_parent), getResources());
+
+        // Configure action button
+        final View floatingActionButtonContainer = findViewById(
+                R.id.floating_action_button_container);
+        ViewUtil.setupFloatingActionButton(floatingActionButtonContainer, getResources());
+        final ImageButton floatingActionButton = (ImageButton) findViewById(R.id.floating_action_button);
+        floatingActionButton.setOnClickListener(this);
+
         invalidateOptionsMenuIfNeeded();
     }
 
@@ -471,19 +392,6 @@
              * (so the argument.)
              */
             configureFragments(!mIsRecreatedInstance);
-        } else if (PhoneCapabilityTester.isUsingTwoPanes(this) && !mCurrentFilterIsValid) {
-            // We only want to do the filter check in onStart for wide screen devices where it
-            // is often possible to get into single contact mode. Only do this check if
-            // the filter hasn't already been set properly (i.e. onCreate or onActivityResult).
-
-            // Since there is only one {@link ContactListFilterController} across multiple
-            // activity instances, make sure the filter controller is in sync withthe current
-            // contact list fragment filter.
-            // TODO: Clean this up. Perhaps change {@link ContactListFilterController} to not be a
-            // singleton?
-            mContactListFilterController.setContactListFilter(mAllFragment.getFilter(), true);
-            mContactListFilterController.checkFilterValidity(true);
-            mCurrentFilterIsValid = true;
         }
         super.onStart();
     }
@@ -517,7 +425,6 @@
     @Override
     protected void onStop() {
         super.onStop();
-        mCurrentFilterIsValid = false;
     }
 
     @Override
@@ -560,18 +467,8 @@
                     tabToOpen = TabState.FAVORITES;
                     break;
                 case ContactsRequest.ACTION_VIEW_CONTACT:
-                    // We redirect this intent to the detail activity on 1-pane, so we don't get
-                    // here.  It's only for 2-pane.
-                    Uri currentlyLoadedContactUri = mContactDetailFragment.getUri();
-                    if (currentlyLoadedContactUri != null
-                            && !mRequest.getContactUri().equals(currentlyLoadedContactUri)) {
-                        mContactDetailsView.setMaskVisibility(true);
-                    }
                     tabToOpen = TabState.ALL;
                     break;
-                case ContactsRequest.ACTION_GROUP:
-                    tabToOpen = TabState.GROUPS;
-                    break;
                 default:
                     tabToOpen = -1;
                     break;
@@ -594,7 +491,6 @@
         }
 
         configureContactListFragment();
-        configureGroupListFragment();
 
         invalidateOptionsMenuIfNeeded();
     }
@@ -610,21 +506,6 @@
         invalidateOptionsMenuIfNeeded();
     }
 
-    private void setupContactDetailFragment(final Uri contactLookupUri) {
-        mContactDetailLoaderFragment.loadUri(contactLookupUri);
-        invalidateOptionsMenuIfNeeded();
-    }
-
-    private void setupGroupDetailFragment(Uri groupUri) {
-        // If we are switching from one group to another, do a cross-fade
-        if (mGroupDetailFragment != null && mGroupDetailFragment.getGroupUri() != null &&
-                !UriUtils.areEqual(mGroupDetailFragment.getGroupUri(), groupUri)) {
-            mGroupDetailsView.startMaskTransition(false, -1);
-        }
-        mGroupDetailFragment.loadGroup(groupUri);
-        invalidateOptionsMenuIfNeeded();
-    }
-
     /**
      * Handler for action bar actions.
      */
@@ -658,6 +539,11 @@
         updateFragmentsVisibility();
     }
 
+    @Override
+    public void onUpButtonPressed() {
+        onBackPressed();
+    }
+
     private void updateDebugOptionsVisibility(boolean visible) {
         if (mEnableDebugMenuOptions != visible) {
             mEnableDebugMenuOptions = visible;
@@ -672,96 +558,17 @@
     private void updateFragmentsVisibility() {
         int tab = mActionBarAdapter.getCurrentTab();
 
-        // We use ViewPager on 1-pane.
-        if (!PhoneCapabilityTester.isUsingTwoPanes(this)) {
-            if (mActionBarAdapter.isSearchMode()) {
-                mTabPagerAdapter.setSearchMode(true);
-            } else {
-                // No smooth scrolling if quitting from the search mode.
-                final boolean wasSearchMode = mTabPagerAdapter.isSearchMode();
-                mTabPagerAdapter.setSearchMode(false);
-                if (mTabPager.getCurrentItem() != tab) {
-                    mTabPager.setCurrentItem(tab, !wasSearchMode);
-                }
-            }
-            invalidateOptionsMenu();
-            showEmptyStateForTab(tab);
-            if (tab == TabState.GROUPS) {
-                mGroupsFragment.setAddAccountsVisibility(!areGroupWritableAccountsAvailable());
-            }
-            return;
-        }
-
-        // for the tablet...
-
-        // If in search mode, we use the all list + contact details to show the result.
         if (mActionBarAdapter.isSearchMode()) {
-            tab = TabState.ALL;
+            mTabPagerAdapter.setSearchMode(true);
+        } else {
+            // No smooth scrolling if quitting from the search mode.
+            final boolean wasSearchMode = mTabPagerAdapter.isSearchMode();
+            mTabPagerAdapter.setSearchMode(false);
+            if (mTabPager.getCurrentItem() != tab) {
+                mTabPager.setCurrentItem(tab, !wasSearchMode);
+            }
         }
-
-        switch (tab) {
-            case TabState.FAVORITES:
-                mFavoritesView.setVisibility(View.VISIBLE);
-                mBrowserView.setVisibility(View.GONE);
-                mGroupDetailsView.setVisibility(View.GONE);
-                mContactDetailsView.setVisibility(View.GONE);
-                break;
-            case TabState.GROUPS:
-                mFavoritesView.setVisibility(View.GONE);
-                mBrowserView.setVisibility(View.VISIBLE);
-                mGroupDetailsView.setVisibility(View.VISIBLE);
-                mContactDetailsView.setVisibility(View.GONE);
-                mGroupsFragment.setAddAccountsVisibility(!areGroupWritableAccountsAvailable());
-                break;
-            case TabState.ALL:
-                mFavoritesView.setVisibility(View.GONE);
-                mBrowserView.setVisibility(View.VISIBLE);
-                mContactDetailsView.setVisibility(View.VISIBLE);
-                mGroupDetailsView.setVisibility(View.GONE);
-                break;
-        }
-        mPeopleActivityView.startMaskTransition(false, TAB_FADE_IN_DURATION);
-        FragmentManager fragmentManager = getFragmentManager();
-        FragmentTransaction ft = fragmentManager.beginTransaction();
-
-        // Note mContactDetailLoaderFragment is an invisible fragment, but we still have to show/
-        // hide it so its options menu will be shown/hidden.
-        switch (tab) {
-            case TabState.FAVORITES:
-                showFragment(ft, mFavoritesFragment);
-                showFragment(ft, mFrequentFragment);
-                hideFragment(ft, mAllFragment);
-                hideFragment(ft, mContactDetailLoaderFragment);
-                hideFragment(ft, mContactDetailFragment);
-                hideFragment(ft, mGroupsFragment);
-                hideFragment(ft, mGroupDetailFragment);
-                break;
-            case TabState.ALL:
-                hideFragment(ft, mFavoritesFragment);
-                hideFragment(ft, mFrequentFragment);
-                showFragment(ft, mAllFragment);
-                showFragment(ft, mContactDetailLoaderFragment);
-                showFragment(ft, mContactDetailFragment);
-                hideFragment(ft, mGroupsFragment);
-                hideFragment(ft, mGroupDetailFragment);
-                break;
-            case TabState.GROUPS:
-                hideFragment(ft, mFavoritesFragment);
-                hideFragment(ft, mFrequentFragment);
-                hideFragment(ft, mAllFragment);
-                hideFragment(ft, mContactDetailLoaderFragment);
-                hideFragment(ft, mContactDetailFragment);
-                showFragment(ft, mGroupsFragment);
-                showFragment(ft, mGroupDetailFragment);
-                break;
-        }
-        if (!ft.isEmpty()) {
-            ft.commitAllowingStateLoss();
-            fragmentManager.executePendingTransactions();
-            // When switching tabs, we need to invalidate options menu, but executing a
-            // fragment transaction does it implicitly.  We don't have to call invalidateOptionsMenu
-            // manually.
-        }
+        invalidateOptionsMenu();
         showEmptyStateForTab(tab);
     }
 
@@ -772,14 +579,14 @@
                     mContactsUnavailableFragment.setMessageText(
                             R.string.listTotalAllContactsZeroStarred, -1);
                     break;
-                case TabState.GROUPS:
-                    mContactsUnavailableFragment.setMessageText(R.string.noGroups,
-                            areGroupWritableAccountsAvailable() ? -1 : R.string.noAccounts);
-                    break;
                 case TabState.ALL:
                     mContactsUnavailableFragment.setMessageText(R.string.noContacts, -1);
                     break;
             }
+            // When using the mContactsUnavailableFragment the ViewPager doesn't contain two views.
+            // Therefore, we have to trick the ViewPagerTabs into thinking we have changed tabs
+            // when the mContactsUnavailableFragment changes. Otherwise the tab strip won't move.
+            mViewPagerTabs.onPageScrolled(tab, 0, 0);
         }
     }
 
@@ -801,10 +608,16 @@
 
         @Override
         public void onPageScrollStateChanged(int state) {
+            if (!mTabPagerAdapter.isSearchMode()) {
+                mViewPagerTabs.onPageScrollStateChanged(state);
+            }
         }
 
         @Override
         public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+            if (!mTabPagerAdapter.isSearchMode()) {
+                mViewPagerTabs.onPageScrolled(position, positionOffset, positionOffsetPixels);
+            }
         }
 
         @Override
@@ -812,10 +625,8 @@
             // Make sure not in the search mode, in which case position != TabState.ordinal().
             if (!mTabPagerAdapter.isSearchMode()) {
                 mActionBarAdapter.setCurrentTab(position, false);
+                mViewPagerTabs.onPageSelected(position);
                 showEmptyStateForTab(position);
-                if (position == TabState.GROUPS) {
-                    mGroupsFragment.setAddAccountsVisibility(!areGroupWritableAccountsAvailable());
-                }
                 invalidateOptionsMenu();
             }
         }
@@ -874,9 +685,6 @@
                 if (object == mAllFragment) {
                     return TabState.ALL;
                 }
-                if (object == mGroupsFragment) {
-                    return TabState.GROUPS;
-                }
             }
             return POSITION_NONE;
         }
@@ -899,8 +707,6 @@
                     return mFavoritesFragment;
                 } else if (position == TabState.ALL) {
                     return mAllFragment;
-                } else if (position == TabState.GROUPS) {
-                    return mGroupsFragment;
                 }
             }
             throw new IllegalArgumentException("position: " + position);
@@ -963,6 +769,11 @@
         @Override
         public void restoreState(Parcelable state, ClassLoader loader) {
         }
+
+        @Override
+        public CharSequence getPageTitle(int position) {
+            return mTabTitles[position];
+        }
     }
 
     private void setQueryTextToFragment(String query) {
@@ -973,12 +784,6 @@
     private void configureContactListFragmentForRequest() {
         Uri contactUri = mRequest.getContactUri();
         if (contactUri != null) {
-            // For an incoming request, explicitly require a selection if we are on 2-pane UI,
-            // (i.e. even if we view the same selected contact, the contact may no longer be
-            // in the list, so we must refresh the list).
-            if (PhoneCapabilityTester.isUsingTwoPanes(this)) {
-                mAllFragment.setSelectionRequired(true);
-            }
             mAllFragment.setSelectedContactUri(contactUri);
         }
 
@@ -996,22 +801,12 @@
         // Filter may be changed when this Activity is in background.
         mAllFragment.setFilter(mContactListFilterController.getFilter());
 
-        final boolean useTwoPane = PhoneCapabilityTester.isUsingTwoPanes(this);
-
-        mAllFragment.setVerticalScrollbarPosition(getScrollBarPosition(useTwoPane));
-        mAllFragment.setSelectionVisible(useTwoPane);
-        mAllFragment.setQuickContactEnabled(!useTwoPane);
+        mAllFragment.setVerticalScrollbarPosition(getScrollBarPosition());
+        mAllFragment.setSelectionVisible(false);
     }
 
-    private int getScrollBarPosition(boolean useTwoPane) {
-        final boolean isLayoutRtl = isRTL();
-        final int position;
-        if (useTwoPane) {
-            position = isLayoutRtl ? View.SCROLLBAR_POSITION_RIGHT : View.SCROLLBAR_POSITION_LEFT;
-        } else {
-            position = isLayoutRtl ? View.SCROLLBAR_POSITION_LEFT : View.SCROLLBAR_POSITION_RIGHT;
-        }
-        return position;
+    private int getScrollBarPosition() {
+        return isRTL() ? View.SCROLLBAR_POSITION_LEFT : View.SCROLLBAR_POSITION_RIGHT;
     }
 
     private boolean isRTL() {
@@ -1019,12 +814,6 @@
         return TextUtils.getLayoutDirectionFromLocale(locale) == View.LAYOUT_DIRECTION_RTL;
     }
 
-    private void configureGroupListFragment() {
-        final boolean useTwoPane = PhoneCapabilityTester.isUsingTwoPanes(this);
-        mGroupsFragment.setVerticalScrollbarPosition(getScrollBarPosition(useTwoPane));
-        mGroupsFragment.setSelectionVisible(useTwoPane);
-    }
-
     @Override
     public void onProviderStatusChange() {
         updateViewConfiguration(false);
@@ -1037,7 +826,6 @@
         mProviderStatus = providerStatus;
 
         View contactsUnavailableView = findViewById(R.id.contacts_unavailable_view);
-        View mainView = findViewById(R.id.main_view);
 
         if (mProviderStatus.status == ProviderStatus.STATUS_NORMAL) {
             // Ensure that the mTabPager is visible; we may have made it invisible below.
@@ -1046,9 +834,6 @@
                 mTabPager.setVisibility(View.VISIBLE);
             }
 
-            if (mainView != null) {
-                mainView.setVisibility(View.VISIBLE);
-            }
             if (mAllFragment != null) {
                 mAllFragment.setEnabled(true);
             }
@@ -1064,6 +849,7 @@
                     UserManager.DISALLOW_MODIFY_ACCOUNTS);
             if (!disallowModifyAccounts && !areContactWritableAccountsAvailable() &&
                     AccountPromptUtils.shouldShowAccountPrompt(this)) {
+                AccountPromptUtils.neverShowAccountPromptAgain(this);
                 AccountPromptUtils.launchAccountPrompt(this);
                 return;
             }
@@ -1090,10 +876,6 @@
                 mTabPager.setVisibility(View.GONE);
             }
 
-            if (mainView != null) {
-                mainView.setVisibility(View.INVISIBLE);
-            }
-
             showEmptyStateForTab(mActionBarAdapter.getCurrentTab());
         }
 
@@ -1105,58 +887,17 @@
 
         @Override
         public void onSelectionChange() {
-            if (PhoneCapabilityTester.isUsingTwoPanes(PeopleActivity.this)) {
-                setupContactDetailFragment(mAllFragment.getSelectedContactUri());
-            }
+
         }
 
         @Override
         public void onViewContactAction(Uri contactLookupUri) {
-            if (PhoneCapabilityTester.isUsingTwoPanes(PeopleActivity.this)) {
-                setupContactDetailFragment(contactLookupUri);
-            } else {
-                Intent intent = new Intent(Intent.ACTION_VIEW, contactLookupUri);
-                startActivity(intent);
-            }
-        }
-
-        @Override
-        public void onCreateNewContactAction() {
-            Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
-            Bundle extras = getIntent().getExtras();
-            if (extras != null) {
-                intent.putExtras(extras);
-            }
+            Intent intent = QuickContact.composeQuickContactsIntent(PeopleActivity.this,
+                    (Rect) null, contactLookupUri, QuickContactActivity.MODE_FULLY_EXPANDED, null);
             startActivity(intent);
         }
 
         @Override
-        public void onEditContactAction(Uri contactLookupUri) {
-            Intent intent = new Intent(Intent.ACTION_EDIT, contactLookupUri);
-            Bundle extras = getIntent().getExtras();
-            if (extras != null) {
-                intent.putExtras(extras);
-            }
-            intent.putExtra(
-                    ContactEditorActivity.INTENT_KEY_FINISH_ACTIVITY_ON_SAVE_COMPLETED, true);
-            startActivityForResult(intent, SUBACTIVITY_EDIT_CONTACT);
-        }
-
-        @Override
-        public void onAddToFavoritesAction(Uri contactUri) {
-            ContentValues values = new ContentValues(1);
-            values.put(Contacts.STARRED, 1);
-            getContentResolver().update(contactUri, values, null, null);
-        }
-
-        @Override
-        public void onRemoveFromFavoritesAction(Uri contactUri) {
-            ContentValues values = new ContentValues(1);
-            values.put(Contacts.STARRED, 0);
-            getContentResolver().update(contactUri, values, null, null);
-        }
-
-        @Override
         public void onDeleteContactAction(Uri contactUri) {
             ContactDeletionInteraction.start(PeopleActivity.this, contactUri, false);
         }
@@ -1184,75 +925,6 @@
         }
     }
 
-    private class ContactDetailLoaderFragmentListener implements ContactLoaderFragmentListener {
-        ContactDetailLoaderFragmentListener() {}
-
-        @Override
-        public void onContactNotFound() {
-            // Nothing needs to be done here
-        }
-
-        @Override
-        public void onDetailsLoaded(final Contact result) {
-            if (result == null) {
-                // Nothing is loaded. Show empty state.
-                mContactDetailLayoutController.showEmptyState();
-                return;
-            }
-            // Since {@link FragmentTransaction}s cannot be done in the onLoadFinished() of the
-            // {@link LoaderCallbacks}, then post this {@link Runnable} to the {@link Handler}
-            // on the main thread to execute later.
-            mHandler.post(new Runnable() {
-                @Override
-                public void run() {
-                    // If the activity is destroyed (or will be destroyed soon), don't update the UI
-                    if (isFinishing()) {
-                        return;
-                    }
-                    mContactDetailLayoutController.setContactData(result);
-                }
-            });
-        }
-
-        @Override
-        public void onEditRequested(Uri contactLookupUri) {
-            Intent intent = new Intent(Intent.ACTION_EDIT, contactLookupUri);
-            intent.putExtra(
-                    ContactEditorActivity.INTENT_KEY_FINISH_ACTIVITY_ON_SAVE_COMPLETED, true);
-            startActivityForResult(intent, SUBACTIVITY_EDIT_CONTACT);
-        }
-
-        @Override
-        public void onDeleteRequested(Uri contactUri) {
-            ContactDeletionInteraction.start(PeopleActivity.this, contactUri, false);
-        }
-    }
-
-    public class ContactDetailFragmentListener implements ContactDetailFragment.Listener {
-        @Override
-        public void onItemClicked(Intent intent) {
-            if (intent == null) {
-                return;
-            }
-            try {
-                startActivity(intent);
-            } catch (ActivityNotFoundException e) {
-                Log.e(TAG, "No activity found for intent: " + intent);
-            }
-        }
-
-        @Override
-        public void onCreateRawContactRequested(ArrayList<ContentValues> values,
-                AccountWithDataSet account) {
-            Toast.makeText(PeopleActivity.this, R.string.toast_making_personal_copy,
-                    Toast.LENGTH_LONG).show();
-            Intent serviceIntent = ContactSaveService.createNewRawContactIntent(
-                    PeopleActivity.this, values, account,
-                    PeopleActivity.class, Intent.ACTION_VIEW);
-            startService(serviceIntent);
-        }
-    }
-
     private class ContactsUnavailableFragmentListener
             implements OnContactsUnavailableActionListener {
         ContactsUnavailableFragmentListener() {}
@@ -1289,11 +961,9 @@
 
         @Override
         public void onContactSelected(Uri contactUri, Rect targetRect) {
-            if (PhoneCapabilityTester.isUsingTwoPanes(PeopleActivity.this)) {
-                QuickContact.showQuickContact(PeopleActivity.this, targetRect, contactUri, 0, null);
-            } else {
-                startActivity(new Intent(Intent.ACTION_VIEW, contactUri));
-            }
+            Intent intent = QuickContact.composeQuickContactsIntent(PeopleActivity.this,
+                    targetRect, contactUri, QuickContactActivity.MODE_FULLY_EXPANDED, null);
+            startActivity(intent);
         }
 
         @Override
@@ -1303,71 +973,6 @@
         }
     }
 
-    private final class GroupBrowserActionListener implements OnGroupBrowserActionListener {
-
-        GroupBrowserActionListener() {}
-
-        @Override
-        public void onViewGroupAction(Uri groupUri) {
-            if (PhoneCapabilityTester.isUsingTwoPanes(PeopleActivity.this)) {
-                setupGroupDetailFragment(groupUri);
-            } else {
-                Intent intent = new Intent(PeopleActivity.this, GroupDetailActivity.class);
-                intent.setData(groupUri);
-                startActivity(intent);
-            }
-        }
-    }
-
-    private class GroupDetailFragmentListener implements GroupDetailFragment.Listener {
-
-        GroupDetailFragmentListener() {}
-
-        @Override
-        public void onGroupSizeUpdated(String size) {
-            // Nothing needs to be done here because the size will be displayed in the detail
-            // fragment
-        }
-
-        @Override
-        public void onGroupTitleUpdated(String title) {
-            // Nothing needs to be done here because the title will be displayed in the detail
-            // fragment
-        }
-
-        @Override
-        public void onAccountTypeUpdated(String accountTypeString, String dataSet) {
-            // Nothing needs to be done here because the group source will be displayed in the
-            // detail fragment
-        }
-
-        @Override
-        public void onEditRequested(Uri groupUri) {
-            final Intent intent = new Intent(PeopleActivity.this, GroupEditorActivity.class);
-            intent.setData(groupUri);
-            intent.setAction(Intent.ACTION_EDIT);
-            startActivityForResult(intent, SUBACTIVITY_EDIT_GROUP);
-        }
-
-        @Override
-        public void onContactSelected(Uri contactUri) {
-            // Nothing needs to be done here because either quickcontact will be displayed
-            // or activity will take care of selection
-        }
-    }
-
-    public void startActivityAndForwardResult(final Intent intent) {
-        intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
-
-        // Forward extras to the new activity
-        Bundle extras = getIntent().getExtras();
-        if (extras != null) {
-            intent.putExtras(extras);
-        }
-        startActivity(intent);
-        finish();
-    }
-
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         if (!areContactsAvailable()) {
@@ -1397,15 +1002,6 @@
             return true;
         }
 
-        if (mContactDetailLoaderFragment != null &&
-                mContactDetailLoaderFragment.isOptionsMenuChanged()) {
-            return true;
-        }
-
-        if (mGroupDetailFragment != null && mGroupDetailFragment.isOptionsMenuChanged()) {
-            return true;
-        }
-
         return false;
     }
 
@@ -1417,46 +1013,25 @@
         }
 
         // Get references to individual menu items in the menu
-        final MenuItem addContactMenu = menu.findItem(R.id.menu_add_contact);
         final MenuItem contactsFilterMenu = menu.findItem(R.id.menu_contacts_filter);
-
-        MenuItem addGroupMenu = menu.findItem(R.id.menu_add_group);
-
         final MenuItem clearFrequentsMenu = menu.findItem(R.id.menu_clear_frequents);
         final MenuItem helpMenu = menu.findItem(R.id.menu_help);
 
         final boolean isSearchMode = mActionBarAdapter.isSearchMode();
         if (isSearchMode) {
-            addContactMenu.setVisible(false);
-            addGroupMenu.setVisible(false);
             contactsFilterMenu.setVisible(false);
             clearFrequentsMenu.setVisible(false);
             helpMenu.setVisible(false);
         } else {
             switch (mActionBarAdapter.getCurrentTab()) {
                 case TabState.FAVORITES:
-                    addContactMenu.setVisible(true);
-                    addGroupMenu.setVisible(false);
                     contactsFilterMenu.setVisible(false);
                     clearFrequentsMenu.setVisible(hasFrequents());
                     break;
                 case TabState.ALL:
-                    addContactMenu.setVisible(true);
-                    addGroupMenu.setVisible(false);
                     contactsFilterMenu.setVisible(true);
                     clearFrequentsMenu.setVisible(false);
                     break;
-                case TabState.GROUPS:
-                    // Do not display the "new group" button if no accounts are available
-                    if (areGroupWritableAccountsAvailable()) {
-                        addGroupMenu.setVisible(true);
-                    } else {
-                        addGroupMenu.setVisible(false);
-                    }
-                    addContactMenu.setVisible(false);
-                    contactsFilterMenu.setVisible(false);
-                    clearFrequentsMenu.setVisible(false);
-                    break;
             }
             HelpUtils.prepareHelpMenuItem(this, helpMenu, R.string.help_url_people_main);
         }
@@ -1478,11 +1053,7 @@
      * @return
      */
     private boolean hasFrequents() {
-        if (PhoneCapabilityTester.isUsingTwoPanesInFavorites(this)) {
-            return mFrequentFragment.hasFrequents();
-        } else {
-            return mFavoritesFragment.hasFrequents();
-        }
+        return mFavoritesFragment.hasFrequents();
     }
 
     private void makeMenuItemVisible(Menu menu, int itemId, boolean visible) {
@@ -1509,17 +1080,16 @@
             }
             case R.id.menu_settings: {
                 final Intent intent = new Intent(this, ContactsPreferenceActivity.class);
-                // as there is only one section right now, make sure it is selected
-                // on small screens, this also hides the section selector
-                // Due to b/5045558, this code unfortunately only works properly on phones
-                boolean settingsAreMultiPane = getResources().getBoolean(
-                        com.android.internal.R.bool.preferences_prefer_dual_pane);
-                if (!settingsAreMultiPane) {
-                    intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT,
-                            DisplayOptionsPreferenceFragment.class.getName());
-                    intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT_TITLE,
-                            R.string.activity_title_settings);
-                }
+                // Since there is only one section right now, make sure it is selected on
+                // small screens.
+                intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT,
+                        DisplayOptionsPreferenceFragment.class.getName());
+                // By default, the title of the activity should be equivalent to the fragment
+                // title. We set this argument to avoid this. Because of a bug, the following
+                // line isn't necessary. But, once the bug is fixed this may become necessary.
+                // b/5045558 refers to this issue, as well as another.
+                intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT_TITLE,
+                        R.string.activity_title_settings);
                 startActivity(intent);
                 return true;
             }
@@ -1533,26 +1103,6 @@
                 onSearchRequested();
                 return true;
             }
-            case R.id.menu_add_contact: {
-                final Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
-                // On 2-pane UI, we can let the editor activity finish itself and return
-                // to this activity to display the new contact.
-                if (PhoneCapabilityTester.isUsingTwoPanes(this)) {
-                    intent.putExtra(
-                            ContactEditorActivity.INTENT_KEY_FINISH_ACTIVITY_ON_SAVE_COMPLETED,
-                            true);
-                    startActivityForResult(intent, SUBACTIVITY_NEW_CONTACT);
-                } else {
-                    // Otherwise, on 1-pane UI, we need the editor to launch the view contact
-                    // intent itself.
-                    startActivity(intent);
-                }
-                return true;
-            }
-            case R.id.menu_add_group: {
-                createNewGroup();
-                return true;
-            }
             case R.id.menu_import_export: {
                 ImportExportDialogFragment.show(getFragmentManager(), areContactsAvailable(),
                         PeopleActivity.class);
@@ -1581,12 +1131,6 @@
         return false;
     }
 
-    private void createNewGroup() {
-        final Intent intent = new Intent(this, GroupEditorActivity.class);
-        intent.setAction(Intent.ACTION_INSERT);
-        startActivityForResult(intent, SUBACTIVITY_NEW_GROUP);
-    }
-
     @Override
     public boolean onSearchRequested() { // Search key pressed.
         mActionBarAdapter.setSearchMode(true);
@@ -1602,31 +1146,6 @@
                 break;
             }
 
-            case SUBACTIVITY_NEW_CONTACT:
-            case SUBACTIVITY_EDIT_CONTACT: {
-                if (resultCode == RESULT_OK && PhoneCapabilityTester.isUsingTwoPanes(this)) {
-                    mRequest.setActionCode(ContactsRequest.ACTION_VIEW_CONTACT);
-                    mAllFragment.setSelectionRequired(true);
-                    mAllFragment.setSelectedContactUri(data.getData());
-                    // Suppress IME if in search mode
-                    if (mActionBarAdapter != null) {
-                        mActionBarAdapter.clearFocusOnSearchView();
-                    }
-                    // No need to change the contact filter
-                    mCurrentFilterIsValid = true;
-                }
-                break;
-            }
-
-            case SUBACTIVITY_NEW_GROUP:
-            case SUBACTIVITY_EDIT_GROUP: {
-                if (resultCode == RESULT_OK && PhoneCapabilityTester.isUsingTwoPanes(this)) {
-                    mRequest.setActionCode(ContactsRequest.ACTION_GROUP);
-                    mGroupsFragment.setSelectedUri(data.getData());
-                }
-                break;
-            }
-
             // TODO: Using the new startActivityWithResultFromFragment API this should not be needed
             // anymore
             case ContactEntryListFragment.ACTIVITY_REQUEST_CODE_PICKER:
@@ -1709,9 +1228,6 @@
     protected void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
         mActionBarAdapter.onSaveInstanceState(outState);
-        if (mContactDetailLayoutController != null) {
-            mContactDetailLayoutController.onSaveInstanceState(outState);
-        }
 
         // Clear the listener to make sure we don't get callbacks after onSaveInstanceState,
         // in order to avoid doing fragment transactions after it.
@@ -1739,13 +1255,19 @@
         return mDialogManager;
     }
 
-    // Visible for testing
-    public ContactBrowseListFragment getListFragment() {
-        return mAllFragment;
-    }
-
-    // Visible for testing
-    public ContactDetailFragment getDetailFragment() {
-        return mContactDetailFragment;
+    @Override
+    public void onClick(View view) {
+        switch (view.getId()) {
+            case R.id.floating_action_button:
+                Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
+                Bundle extras = getIntent().getExtras();
+                if (extras != null) {
+                    intent.putExtras(extras);
+                }
+                startActivity(intent);
+                break;
+        default:
+            Log.wtf(TAG, "Unexpected onClick event from " + view);
+        }
     }
 }
diff --git a/src/com/android/contacts/activities/PhotoSelectionActivity.java b/src/com/android/contacts/activities/PhotoSelectionActivity.java
index c3b2eeb..da0d2e4 100644
--- a/src/com/android/contacts/activities/PhotoSelectionActivity.java
+++ b/src/com/android/contacts/activities/PhotoSelectionActivity.java
@@ -319,7 +319,7 @@
         if (mPhotoUri != null) {
             // If we have a URI, the bitmap should be cached directly.
             ContactPhotoManager.getInstance(this).loadPhoto(mPhotoView, mPhotoUri, photoWidth,
-                    false, null);
+                    false /* darkTheme */, false /* isCircular */, null);
         } else {
             // If we don't have a URI, just display an empty ImageView. The default image from the
             // ContactDetailFragment will show up in the background instead.
diff --git a/src/com/android/contacts/datepicker/DatePicker.java b/src/com/android/contacts/datepicker/DatePicker.java
index d662c3a..1b3b807 100644
--- a/src/com/android/contacts/datepicker/DatePicker.java
+++ b/src/com/android/contacts/datepicker/DatePicker.java
@@ -171,6 +171,8 @@
                 updateDaySpinner();
             }
         });
+        mYearPicker.setMinValue(DEFAULT_START_YEAR);
+        mYearPicker.setMaxValue(DEFAULT_END_YEAR);
 
         mYearToggle = (CheckBox) findViewById(R.id.yearToggle);
         mYearToggle.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@@ -183,19 +185,6 @@
             }
         });
 
-        // attributes
-        TypedArray a = context.obtainStyledAttributes(attrs,
-                com.android.internal.R.styleable.DatePicker);
-
-        int mStartYear =
-                a.getInt(com.android.internal.R.styleable.DatePicker_startYear, DEFAULT_START_YEAR);
-        int mEndYear =
-                a.getInt(com.android.internal.R.styleable.DatePicker_endYear, DEFAULT_END_YEAR);
-        mYearPicker.setMinValue(mStartYear);
-        mYearPicker.setMaxValue(mEndYear);
-
-        a.recycle();
-
         // initialize to current date
         Calendar cal = Calendar.getInstance();
         init(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), null);
diff --git a/src/com/android/contacts/datepicker/DatePickerDialog.java b/src/com/android/contacts/datepicker/DatePickerDialog.java
index 5ed143b..2b470d5 100644
--- a/src/com/android/contacts/datepicker/DatePickerDialog.java
+++ b/src/com/android/contacts/datepicker/DatePickerDialog.java
@@ -17,18 +17,15 @@
 package com.android.contacts.datepicker;
 
 // This is a fork of the standard Android DatePicker that additionally allows toggling the year
-// on/off. It uses some private API so that not everything has to be copied.
+// on/off.
 
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.DialogInterface.OnClickListener;
-import android.os.Build;
 import android.os.Bundle;
-import android.text.TextUtils.TruncateAt;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.widget.TextView;
 
 import com.android.contacts.R;
 import com.android.contacts.common.util.DateUtils;
@@ -108,10 +105,8 @@
             int monthOfYear,
             int dayOfMonth,
             boolean yearOptional) {
-        this(context, context.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.HONEYCOMB
-                        ? com.android.internal.R.style.Theme_Holo_Light_Dialog_Alert
-                        : com.android.internal.R.style.Theme_Dialog_Alert,
-                callBack, year, monthOfYear, dayOfMonth, yearOptional);
+        this(context, THEME_DEVICE_DEFAULT_LIGHT, callBack, year, monthOfYear, dayOfMonth,
+                yearOptional);
     }
 
     /**
@@ -160,7 +155,7 @@
         mTitleNoYearDateFormat = DateUtils.getLocalizedDateFormatWithoutYear(getContext());
         updateTitle(mInitialYear, mInitialMonth, mInitialDay);
 
-        setButton(BUTTON_POSITIVE, context.getText(com.android.internal.R.string.date_time_set),
+        setButton(BUTTON_POSITIVE, context.getText(R.string.date_time_set),
                 this);
         setButton(BUTTON_NEGATIVE, context.getText(android.R.string.cancel),
                 (OnClickListener) null);
@@ -174,19 +169,6 @@
     }
 
     @Override
-    public void show() {
-        super.show();
-
-        /* Sometimes the full month is displayed causing the title
-         * to be very long, in those cases ensure it doesn't wrap to
-         * 2 lines (as that looks jumpy) and ensure we ellipsize the end.
-         */
-        TextView title = (TextView) findViewById(com.android.internal.R.id.alertTitle);
-        title.setSingleLine();
-        title.setEllipsize(TruncateAt.END);
-    }
-
-    @Override
     public void onClick(DialogInterface dialog, int which) {
         if (mCallBack != null) {
             mDatePicker.clearFocus();
diff --git a/src/com/android/contacts/detail/CarouselTab.java b/src/com/android/contacts/detail/CarouselTab.java
deleted file mode 100644
index 09e097a..0000000
--- a/src/com/android/contacts/detail/CarouselTab.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.detail;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.View;
-import android.view.ViewPropertyAnimator;
-import android.widget.TextView;
-
-import com.android.contacts.R;
-import com.android.contacts.widget.FrameLayoutWithOverlay;
-
-/**
- * This is a tab in the {@link ContactDetailTabCarousel}.
- */
-public class CarouselTab extends FrameLayoutWithOverlay {
-
-    private static final String TAG = CarouselTab.class.getSimpleName();
-
-    private static final long FADE_TRANSITION_TIME = 150;
-
-    private TextView mLabelView;
-    private View mLabelBackgroundView;
-
-    /**
-     * This view adds an alpha layer over the entire tab (except for the label).
-     */
-    private View mAlphaLayer;
-
-    public CarouselTab(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    @Override
-    protected void onFinishInflate() {
-        super.onFinishInflate();
-
-        mLabelView = (TextView) findViewById(R.id.label);
-        mLabelBackgroundView = findViewById(R.id.label_background);
-        mAlphaLayer = findViewById(R.id.alpha_overlay);
-        setAlphaLayer(mAlphaLayer);
-    }
-
-    public void setLabel(String label) {
-        mLabelView.setText(label);
-    }
-
-    public void showSelectedState() {
-        mLabelView.setSelected(true);
-    }
-
-    public void showDeselectedState() {
-        mLabelView.setSelected(false);
-    }
-
-    public void fadeInLabelViewAnimator(int startDelay, boolean fadeBackground) {
-        final ViewPropertyAnimator labelAnimator = mLabelView.animate();
-        mLabelView.setAlpha(0.0f);
-        labelAnimator.alpha(1.0f);
-        labelAnimator.setStartDelay(startDelay);
-        labelAnimator.setDuration(FADE_TRANSITION_TIME);
-
-        if (fadeBackground) {
-            final ViewPropertyAnimator backgroundAnimator = mLabelBackgroundView.animate();
-            mLabelBackgroundView.setAlpha(0.0f);
-            backgroundAnimator.alpha(1.0f);
-            backgroundAnimator.setStartDelay(startDelay);
-            backgroundAnimator.setDuration(FADE_TRANSITION_TIME);
-        }
-    }
-}
diff --git a/src/com/android/contacts/detail/ContactDetailFragment.java b/src/com/android/contacts/detail/ContactDetailFragment.java
deleted file mode 100644
index 629e36b..0000000
--- a/src/com/android/contacts/detail/ContactDetailFragment.java
+++ /dev/null
@@ -1,2262 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.contacts.detail;
-
-import android.app.Activity;
-import android.app.Fragment;
-import android.app.SearchManager;
-import android.content.ComponentName;
-import android.content.ContentUris;
-import android.content.ContentValues;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.graphics.drawable.Drawable;
-import android.net.ParseException;
-import android.net.Uri;
-import android.net.WebAddress;
-import android.os.Bundle;
-import android.os.Parcelable;
-import android.provider.CalendarContract;
-import android.provider.ContactsContract;
-import android.provider.ContactsContract.CommonDataKinds.Email;
-import android.provider.ContactsContract.CommonDataKinds.GroupMembership;
-import android.provider.ContactsContract.CommonDataKinds.Im;
-import android.provider.ContactsContract.CommonDataKinds.Phone;
-import android.provider.ContactsContract.Contacts;
-import android.provider.ContactsContract.Data;
-import android.provider.ContactsContract.Directory;
-import android.provider.ContactsContract.DisplayNameSources;
-import android.provider.ContactsContract.StatusUpdates;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.ContextMenu;
-import android.view.ContextMenu.ContextMenuInfo;
-import android.view.DragEvent;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.MenuItem;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.View.OnDragListener;
-import android.view.View.OnTouchListener;
-import android.view.ViewGroup;
-import android.widget.AbsListView.OnScrollListener;
-import android.widget.AdapterView;
-import android.widget.AdapterView.AdapterContextMenuInfo;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.BaseAdapter;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.ListAdapter;
-import android.widget.ListPopupWindow;
-import android.widget.ListView;
-import android.widget.TextView;
-
-import com.android.contacts.ContactSaveService;
-import com.android.contacts.R;
-import com.android.contacts.TypePrecedence;
-import com.android.contacts.activities.ContactDetailActivity.FragmentKeyListener;
-import com.android.contacts.common.CallUtil;
-import com.android.contacts.common.ClipboardUtils;
-import com.android.contacts.common.Collapser;
-import com.android.contacts.common.ContactsUtils;
-import com.android.contacts.common.GroupMetaData;
-import com.android.contacts.common.Collapser.Collapsible;
-import com.android.contacts.common.ContactPresenceIconUtil;
-import com.android.contacts.common.GeoUtil;
-import com.android.contacts.common.MoreContactUtils;
-import com.android.contacts.common.editor.SelectAccountDialogFragment;
-import com.android.contacts.common.model.AccountTypeManager;
-import com.android.contacts.common.model.ValuesDelta;
-import com.android.contacts.common.model.account.AccountType;
-import com.android.contacts.common.model.account.AccountType.EditType;
-import com.android.contacts.common.model.account.AccountWithDataSet;
-import com.android.contacts.common.model.dataitem.DataKind;
-import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter;
-import com.android.contacts.common.util.ContactDisplayUtils;
-import com.android.contacts.common.util.DataStatus;
-import com.android.contacts.common.util.DateUtils;
-import com.android.contacts.common.model.Contact;
-import com.android.contacts.common.model.RawContact;
-import com.android.contacts.common.model.RawContactDelta;
-import com.android.contacts.common.model.RawContactDeltaList;
-import com.android.contacts.common.model.RawContactModifier;
-import com.android.contacts.common.model.dataitem.DataItem;
-import com.android.contacts.common.model.dataitem.EmailDataItem;
-import com.android.contacts.common.model.dataitem.EventDataItem;
-import com.android.contacts.common.model.dataitem.GroupMembershipDataItem;
-import com.android.contacts.common.model.dataitem.ImDataItem;
-import com.android.contacts.common.model.dataitem.NicknameDataItem;
-import com.android.contacts.common.model.dataitem.NoteDataItem;
-import com.android.contacts.common.model.dataitem.OrganizationDataItem;
-import com.android.contacts.common.model.dataitem.PhoneDataItem;
-import com.android.contacts.common.model.dataitem.RelationDataItem;
-import com.android.contacts.common.model.dataitem.SipAddressDataItem;
-import com.android.contacts.common.model.dataitem.StructuredNameDataItem;
-import com.android.contacts.common.model.dataitem.StructuredPostalDataItem;
-import com.android.contacts.common.model.dataitem.WebsiteDataItem;
-import com.android.contacts.util.PhoneCapabilityTester;
-import com.android.contacts.util.StructuredPostalUtils;
-import com.android.contacts.util.UiClosables;
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Objects;
-import com.google.common.collect.Iterables;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class ContactDetailFragment extends Fragment implements FragmentKeyListener,
-        SelectAccountDialogFragment.Listener, OnItemClickListener {
-
-    private static final String TAG = "ContactDetailFragment";
-
-    private static final int TEXT_DIRECTION_UNDEFINED = -1;
-
-    private interface ContextMenuIds {
-        static final int COPY_TEXT = 0;
-        static final int CLEAR_DEFAULT = 1;
-        static final int SET_DEFAULT = 2;
-    }
-
-    private static final String KEY_CONTACT_URI = "contactUri";
-    private static final String KEY_LIST_STATE = "liststate";
-
-    private Context mContext;
-    private View mView;
-    private OnScrollListener mVerticalScrollListener;
-    private Uri mLookupUri;
-    private Listener mListener;
-
-    private Contact mContactData;
-    private ViewGroup mStaticPhotoContainer;
-    private View mPhotoTouchOverlay;
-    private ListView mListView;
-    private ViewAdapter mAdapter;
-    private Uri mPrimaryPhoneUri = null;
-    private ViewEntryDimensions mViewEntryDimensions;
-
-    private final ContactDetailPhotoSetter mPhotoSetter = new ContactDetailPhotoSetter();
-
-    private Button mQuickFixButton;
-    private QuickFix mQuickFix;
-    private boolean mContactHasSocialUpdates;
-    private boolean mShowStaticPhoto = true;
-
-    private final QuickFix[] mPotentialQuickFixes = new QuickFix[] {
-            new MakeLocalCopyQuickFix(),
-            new AddToMyContactsQuickFix()
-    };
-
-    /**
-     * The view shown if the detail list is empty.
-     * We set this to the list view when first bind the adapter, so that it won't be shown while
-     * we're loading data.
-     */
-    private View mEmptyView;
-
-    /**
-     * Saved state of the {@link ListView}. This must be saved and applied to the {@ListView} only
-     * when the adapter has been populated again.
-     */
-    private Parcelable mListState;
-
-    /**
-     * Lists of specific types of entries to be shown in contact details.
-     */
-    private ArrayList<DetailViewEntry> mPhoneEntries = new ArrayList<DetailViewEntry>();
-    private ArrayList<DetailViewEntry> mSmsEntries = new ArrayList<DetailViewEntry>();
-    private ArrayList<DetailViewEntry> mEmailEntries = new ArrayList<DetailViewEntry>();
-    private ArrayList<DetailViewEntry> mPostalEntries = new ArrayList<DetailViewEntry>();
-    private ArrayList<DetailViewEntry> mImEntries = new ArrayList<DetailViewEntry>();
-    private ArrayList<DetailViewEntry> mNicknameEntries = new ArrayList<DetailViewEntry>();
-    private ArrayList<DetailViewEntry> mGroupEntries = new ArrayList<DetailViewEntry>();
-    private ArrayList<DetailViewEntry> mRelationEntries = new ArrayList<DetailViewEntry>();
-    private ArrayList<DetailViewEntry> mNoteEntries = new ArrayList<DetailViewEntry>();
-    private ArrayList<DetailViewEntry> mWebsiteEntries = new ArrayList<DetailViewEntry>();
-    private ArrayList<DetailViewEntry> mSipEntries = new ArrayList<DetailViewEntry>();
-    private ArrayList<DetailViewEntry> mEventEntries = new ArrayList<DetailViewEntry>();
-    private final Map<AccountType, List<DetailViewEntry>> mOtherEntriesMap =
-            new HashMap<AccountType, List<DetailViewEntry>>();
-    private ArrayList<ViewEntry> mAllEntries = new ArrayList<ViewEntry>();
-    private LayoutInflater mInflater;
-
-    private boolean mIsUniqueNumber;
-    private boolean mIsUniqueEmail;
-
-    private ListPopupWindow mPopup;
-
-    /**
-     * This is to forward touch events to the list view to enable users to scroll the list view
-     * from the blank area underneath the static photo when the layout with static photo is used.
-     */
-    private OnTouchListener mForwardTouchToListView = new OnTouchListener() {
-        @Override
-        public boolean onTouch(View v, MotionEvent event) {
-            if (mListView != null) {
-                mListView.dispatchTouchEvent(event);
-                return true;
-            }
-            return false;
-        }
-    };
-
-    /**
-     * This is to forward drag events to the list view to enable users to scroll the list view
-     * from the blank area underneath the static photo when the layout with static photo is used.
-     */
-    private OnDragListener mForwardDragToListView = new OnDragListener() {
-        @Override
-        public boolean onDrag(View v, DragEvent event) {
-            if (mListView != null) {
-                mListView.dispatchDragEvent(event);
-                return true;
-            }
-            return false;
-        }
-    };
-
-    public ContactDetailFragment() {
-        // Explicit constructor for inflation
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        if (savedInstanceState != null) {
-            mLookupUri = savedInstanceState.getParcelable(KEY_CONTACT_URI);
-            mListState = savedInstanceState.getParcelable(KEY_LIST_STATE);
-        }
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        outState.putParcelable(KEY_CONTACT_URI, mLookupUri);
-        if (mListView != null) {
-            outState.putParcelable(KEY_LIST_STATE, mListView.onSaveInstanceState());
-        }
-    }
-
-    @Override
-    public void onPause() {
-        dismissPopupIfShown();
-        super.onPause();
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-    }
-
-    @Override
-    public void onAttach(Activity activity) {
-        super.onAttach(activity);
-        mContext = activity;
-        mViewEntryDimensions = new ViewEntryDimensions(mContext.getResources());
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
-        mView = inflater.inflate(R.layout.contact_detail_fragment, container, false);
-        // Set the touch and drag listener to forward the event to the mListView so that
-        // vertical scrolling can happen from outside of the list view.
-        mView.setOnTouchListener(mForwardTouchToListView);
-        mView.setOnDragListener(mForwardDragToListView);
-
-        mInflater = inflater;
-
-        mStaticPhotoContainer = (ViewGroup) mView.findViewById(R.id.static_photo_container);
-        mPhotoTouchOverlay = mView.findViewById(R.id.photo_touch_intercept_overlay);
-
-        mListView = (ListView) mView.findViewById(android.R.id.list);
-        mListView.setOnItemClickListener(this);
-        mListView.setItemsCanFocus(true);
-        mListView.setOnScrollListener(mVerticalScrollListener);
-
-        // Don't set it to mListView yet.  We do so later when we bind the adapter.
-        mEmptyView = mView.findViewById(android.R.id.empty);
-
-        mQuickFixButton = (Button) mView.findViewById(R.id.contact_quick_fix);
-        mQuickFixButton.setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (mQuickFix != null) {
-                    mQuickFix.execute();
-                }
-            }
-        });
-
-        mView.setVisibility(View.INVISIBLE);
-
-        if (mContactData != null) {
-            bindData();
-        }
-
-        return mView;
-    }
-
-    public void setListener(Listener value) {
-        mListener = value;
-    }
-
-    protected Context getContext() {
-        return mContext;
-    }
-
-    protected Listener getListener() {
-        return mListener;
-    }
-
-    protected Contact getContactData() {
-        return mContactData;
-    }
-
-    public void setVerticalScrollListener(OnScrollListener listener) {
-        mVerticalScrollListener = listener;
-    }
-
-    public Uri getUri() {
-        return mLookupUri;
-    }
-
-    /**
-     * Sets whether the static contact photo (that is not in a scrolling region), should be shown
-     * or not.
-     */
-    public void setShowStaticPhoto(boolean showPhoto) {
-        mShowStaticPhoto = showPhoto;
-    }
-
-    /**
-     * Shows the contact detail with a message indicating there are no contact details.
-     */
-    public void showEmptyState() {
-        setData(null, null);
-    }
-
-    public void setData(Uri lookupUri, Contact result) {
-        mLookupUri = lookupUri;
-        mContactData = result;
-        bindData();
-    }
-
-    /**
-     * Reset the list adapter in this {@link Fragment} to get rid of any saved scroll position
-     * from a previous contact.
-     */
-    public void resetAdapter() {
-        if (mListView != null) {
-            mListView.setAdapter(mAdapter);
-        }
-    }
-
-    /**
-     * Returns the top coordinate of the first item in the {@link ListView}. If the first item
-     * in the {@link ListView} is not visible or there are no children in the list, then return
-     * Integer.MIN_VALUE. Note that the returned value will be <= 0 because the first item in the
-     * list cannot have a positive offset.
-     */
-    public int getFirstListItemOffset() {
-        return ContactDetailDisplayUtils.getFirstListItemOffset(mListView);
-    }
-
-    /**
-     * Tries to scroll the first item to the given offset (this can be a no-op if the list is
-     * already in the correct position).
-     * @param offset which should be <= 0
-     */
-    public void requestToMoveToOffset(int offset) {
-        ContactDetailDisplayUtils.requestToMoveToOffset(mListView, offset);
-    }
-
-    protected void bindData() {
-        if (mView == null) {
-            return;
-        }
-
-        if (isAdded()) {
-            getActivity().invalidateOptionsMenu();
-        }
-
-        if (mContactData == null) {
-            mView.setVisibility(View.INVISIBLE);
-            if (mStaticPhotoContainer != null) {
-                mStaticPhotoContainer.setVisibility(View.GONE);
-            }
-            mAllEntries.clear();
-            if (mAdapter != null) {
-                mAdapter.notifyDataSetChanged();
-            }
-            return;
-        }
-
-        // Setup the photo if applicable
-        if (mStaticPhotoContainer != null) {
-            // The presence of a static photo container is not sufficient to determine whether or
-            // not we should show the photo. Check the mShowStaticPhoto flag which can be set by an
-            // outside class depending on screen size, layout, and whether the contact has social
-            // updates or not.
-            if (mShowStaticPhoto) {
-                mStaticPhotoContainer.setVisibility(View.VISIBLE);
-                final ImageView photoView = (ImageView) mStaticPhotoContainer.findViewById(
-                        R.id.photo);
-                final boolean expandPhotoOnClick = mContactData.getPhotoUri() != null;
-                final OnClickListener listener = mPhotoSetter.setupContactPhotoForClick(
-                        mContext, mContactData, photoView, expandPhotoOnClick);
-                if (mPhotoTouchOverlay != null) {
-                    mPhotoTouchOverlay.setVisibility(View.VISIBLE);
-                    if (expandPhotoOnClick || mContactData.isWritableContact(mContext)) {
-                        mPhotoTouchOverlay.setOnClickListener(listener);
-                    } else {
-                        mPhotoTouchOverlay.setClickable(false);
-                    }
-                }
-            } else {
-                mStaticPhotoContainer.setVisibility(View.GONE);
-            }
-        }
-
-        // Build up the contact entries
-        buildEntries();
-
-        // Collapse similar data items for select {@link DataKind}s.
-        Collapser.collapseList(mPhoneEntries);
-        Collapser.collapseList(mSmsEntries);
-        Collapser.collapseList(mEmailEntries);
-        Collapser.collapseList(mPostalEntries);
-        Collapser.collapseList(mImEntries);
-        Collapser.collapseList(mEventEntries);
-        Collapser.collapseList(mWebsiteEntries);
-
-        mIsUniqueNumber = mPhoneEntries.size() == 1;
-        mIsUniqueEmail = mEmailEntries.size() == 1;
-
-        // Make one aggregated list of all entries for display to the user.
-        setupFlattenedList();
-
-        if (mAdapter == null) {
-            mAdapter = new ViewAdapter();
-            mListView.setAdapter(mAdapter);
-        }
-
-        // Restore {@link ListView} state if applicable because the adapter is now populated.
-        if (mListState != null) {
-            mListView.onRestoreInstanceState(mListState);
-            mListState = null;
-        }
-
-        mAdapter.notifyDataSetChanged();
-
-        mListView.setEmptyView(mEmptyView);
-
-        configureQuickFix();
-
-        mView.setVisibility(View.VISIBLE);
-    }
-
-    /*
-     * Sets {@link #mQuickFix} to a useful action and configures the visibility of
-     * {@link #mQuickFixButton}
-     */
-    private void configureQuickFix() {
-        mQuickFix = null;
-
-        for (QuickFix fix : mPotentialQuickFixes) {
-            if (fix.isApplicable()) {
-                mQuickFix = fix;
-                break;
-            }
-        }
-
-        // Configure the button
-        if (mQuickFix == null) {
-            mQuickFixButton.setVisibility(View.GONE);
-        } else {
-            mQuickFixButton.setVisibility(View.VISIBLE);
-            mQuickFixButton.setText(mQuickFix.getTitle());
-        }
-    }
-
-    /** @return default group id or -1 if no group or several groups are marked as default */
-    private long getDefaultGroupId(List<GroupMetaData> groups) {
-        long defaultGroupId = -1;
-        for (GroupMetaData group : groups) {
-            if (group.isDefaultGroup()) {
-                // two default groups? return neither
-                if (defaultGroupId != -1) return -1;
-                defaultGroupId = group.getGroupId();
-            }
-        }
-        return defaultGroupId;
-    }
-
-    /**
-     * Build up the entries to display on the screen.
-     */
-    private final void buildEntries() {
-        final boolean hasPhone = PhoneCapabilityTester.isPhone(mContext);
-        final ComponentName smsComponent = PhoneCapabilityTester.getSmsComponent(getContext());
-        final boolean hasSms = (smsComponent != null);
-        final boolean hasSip = PhoneCapabilityTester.isSipPhone(mContext);
-
-        // Clear out the old entries
-        mAllEntries.clear();
-
-        mPrimaryPhoneUri = null;
-
-        // Build up method entries
-        if (mContactData == null) {
-            return;
-        }
-
-        ArrayList<String> groups = new ArrayList<String>();
-        for (RawContact rawContact: mContactData.getRawContacts()) {
-            final long rawContactId = rawContact.getId();
-            final AccountType accountType = rawContact.getAccountType(mContext);
-            for (DataItem dataItem : rawContact.getDataItems()) {
-                dataItem.setRawContactId(rawContactId);
-
-                if (dataItem.getMimeType() == null) continue;
-
-                if (dataItem instanceof GroupMembershipDataItem) {
-                    GroupMembershipDataItem groupMembership =
-                            (GroupMembershipDataItem) dataItem;
-                    Long groupId = groupMembership.getGroupRowId();
-                    if (groupId != null) {
-                        handleGroupMembership(groups, mContactData.getGroupMetaData(), groupId);
-                    }
-                    continue;
-                }
-
-                final DataKind kind = AccountTypeManager.getInstance(mContext)
-                        .getKindOrFallback(accountType, dataItem.getMimeType());
-                if (kind == null) continue;
-
-                final DetailViewEntry entry = DetailViewEntry.fromValues(mContext, dataItem,
-                        mContactData.isDirectoryEntry(), mContactData.getDirectoryId(), kind);
-                entry.maxLines = kind.maxLinesForDisplay;
-
-                final boolean hasData = !TextUtils.isEmpty(entry.data);
-                final boolean isSuperPrimary = dataItem.isSuperPrimary();
-
-                if (dataItem instanceof StructuredNameDataItem) {
-                    // Always ignore the name. It is shown in the header if set
-                } else if (dataItem instanceof PhoneDataItem && hasData) {
-                    PhoneDataItem phone = (PhoneDataItem) dataItem;
-                    // Build phone entries
-                    entry.data = phone.getFormattedPhoneNumber();
-                    final Intent phoneIntent = hasPhone ?
-                            CallUtil.getCallIntent(entry.data) : null;
-                    Intent smsIntent = null;
-                    if (hasSms) {
-                        smsIntent = new Intent(Intent.ACTION_SENDTO,
-                                Uri.fromParts(CallUtil.SCHEME_SMSTO, entry.data, null));
-                        smsIntent.setComponent(smsComponent);
-                    }
-
-                    // Configure Icons and Intents.
-                    if (hasPhone && hasSms) {
-                        entry.intent = phoneIntent;
-                        entry.secondaryIntent = smsIntent;
-                        entry.secondaryActionIcon = kind.iconAltRes;
-                        entry.secondaryActionDescription =
-                            ContactDisplayUtils.getSmsLabelResourceId(entry.type);
-                    } else if (hasPhone) {
-                        entry.intent = phoneIntent;
-                    } else if (hasSms) {
-                        entry.intent = smsIntent;
-                    } else {
-                        entry.intent = null;
-                    }
-
-                    // Remember super-primary phone
-                    if (isSuperPrimary) mPrimaryPhoneUri = entry.uri;
-
-                    entry.isPrimary = isSuperPrimary;
-
-                    // If the entry is a primary entry, then render it first in the view.
-                    if (entry.isPrimary) {
-                        // add to beginning of list so that this phone number shows up first
-                        mPhoneEntries.add(0, entry);
-                    } else {
-                        // add to end of list
-                        mPhoneEntries.add(entry);
-                    }
-
-                    // Configure the text direction. Phone numbers should be displayed LTR
-                    // regardless of what locale the device is in.
-                    entry.textDirection = View.TEXT_DIRECTION_LTR;
-                } else if (dataItem instanceof EmailDataItem && hasData) {
-                    // Build email entries
-                    entry.intent = new Intent(Intent.ACTION_SENDTO,
-                            Uri.fromParts(CallUtil.SCHEME_MAILTO, entry.data, null));
-                    entry.isPrimary = isSuperPrimary;
-                    // If entry is a primary entry, then render it first in the view.
-                    if (entry.isPrimary) {
-                        mEmailEntries.add(0, entry);
-                    } else {
-                        mEmailEntries.add(entry);
-                    }
-
-                    // When Email rows have status, create additional Im row
-                    final DataStatus status = mContactData.getStatuses().get(entry.id);
-                    if (status != null) {
-                        EmailDataItem email = (EmailDataItem) dataItem;
-                        ImDataItem im = ImDataItem.createFromEmail(email);
-
-                        final DetailViewEntry imEntry = DetailViewEntry.fromValues(mContext, im,
-                                mContactData.isDirectoryEntry(), mContactData.getDirectoryId(),
-                                kind);
-                        buildImActions(mContext, imEntry, im);
-                        imEntry.setPresence(status.getPresence());
-                        imEntry.maxLines = kind.maxLinesForDisplay;
-                        mImEntries.add(imEntry);
-                    }
-                } else if (dataItem instanceof StructuredPostalDataItem && hasData) {
-                    // Build postal entries
-                    entry.intent = StructuredPostalUtils.getViewPostalAddressIntent(entry.data);
-                    mPostalEntries.add(entry);
-                } else if (dataItem instanceof ImDataItem && hasData) {
-                    // Build IM entries
-                    buildImActions(mContext, entry, (ImDataItem) dataItem);
-
-                    // Apply presence when available
-                    final DataStatus status = mContactData.getStatuses().get(entry.id);
-                    if (status != null) {
-                        entry.setPresence(status.getPresence());
-                    }
-                    mImEntries.add(entry);
-                } else if (dataItem instanceof OrganizationDataItem) {
-                    // Organizations are not shown. The first one is shown in the header
-                    // and subsequent ones are not supported anymore
-                } else if (dataItem instanceof NicknameDataItem && hasData) {
-                    // Build nickname entries
-                    final boolean isNameRawContact =
-                        (mContactData.getNameRawContactId() == rawContactId);
-
-                    final boolean duplicatesTitle =
-                        isNameRawContact
-                        && mContactData.getDisplayNameSource() == DisplayNameSources.NICKNAME;
-
-                    if (!duplicatesTitle) {
-                        entry.uri = null;
-                        mNicknameEntries.add(entry);
-                    }
-                } else if (dataItem instanceof NoteDataItem && hasData) {
-                    // Build note entries
-                    entry.uri = null;
-                    mNoteEntries.add(entry);
-                } else if (dataItem instanceof WebsiteDataItem && hasData) {
-                    // Build Website entries
-                    entry.uri = null;
-                    try {
-                        WebAddress webAddress = new WebAddress(entry.data);
-                        entry.intent = new Intent(Intent.ACTION_VIEW,
-                                Uri.parse(webAddress.toString()));
-                    } catch (ParseException e) {
-                        Log.e(TAG, "Couldn't parse website: " + entry.data);
-                    }
-                    mWebsiteEntries.add(entry);
-                } else if (dataItem instanceof SipAddressDataItem && hasData) {
-                    // Build SipAddress entries
-                    entry.uri = null;
-                    if (hasSip) {
-                        entry.intent = CallUtil.getCallIntent(
-                                Uri.fromParts(CallUtil.SCHEME_SIP, entry.data, null));
-                    } else {
-                        entry.intent = null;
-                    }
-                    mSipEntries.add(entry);
-                    // TODO: Now that SipAddress is in its own list of entries
-                    // (instead of grouped in mOtherEntries), consider
-                    // repositioning it right under the phone number.
-                    // (Then, we'd also update FallbackAccountType.java to set
-                    // secondary=false for this field, and tweak the weight
-                    // of its DataKind.)
-                } else if (dataItem instanceof EventDataItem && hasData) {
-                    final Calendar cal = DateUtils.parseDate(entry.data, false);
-                    if (cal != null) {
-                        final Date nextAnniversary =
-                                DateUtils.getNextAnnualDate(cal);
-                        final Uri.Builder builder = CalendarContract.CONTENT_URI.buildUpon();
-                        builder.appendPath("time");
-                        ContentUris.appendId(builder, nextAnniversary.getTime());
-                        entry.intent = new Intent(Intent.ACTION_VIEW).setData(builder.build());
-                    }
-                    entry.data = DateUtils.formatDate(mContext, entry.data);
-                    entry.uri = null;
-                    mEventEntries.add(entry);
-                } else if (dataItem instanceof RelationDataItem && hasData) {
-                    entry.intent = new Intent(Intent.ACTION_SEARCH);
-                    entry.intent.putExtra(SearchManager.QUERY, entry.data);
-                    entry.intent.setType(Contacts.CONTENT_TYPE);
-                    mRelationEntries.add(entry);
-                } else {
-                    // Handle showing custom rows
-                    entry.intent = new Intent(Intent.ACTION_VIEW);
-                    entry.intent.setDataAndType(entry.uri, entry.mimetype);
-
-                    entry.data = dataItem.buildDataString(getContext(), kind);
-
-                    if (!TextUtils.isEmpty(entry.data)) {
-                        // If the account type exists in the hash map, add it as another entry for
-                        // that account type
-                        if (mOtherEntriesMap.containsKey(accountType)) {
-                            List<DetailViewEntry> listEntries = mOtherEntriesMap.get(accountType);
-                            listEntries.add(entry);
-                        } else {
-                            // Otherwise create a new list with the entry and add it to the hash map
-                            List<DetailViewEntry> listEntries = new ArrayList<DetailViewEntry>();
-                            listEntries.add(entry);
-                            mOtherEntriesMap.put(accountType, listEntries);
-                        }
-                    }
-                }
-            }
-        }
-
-        if (!groups.isEmpty()) {
-            DetailViewEntry entry = new DetailViewEntry();
-            Collections.sort(groups);
-            StringBuilder sb = new StringBuilder();
-            int size = groups.size();
-            for (int i = 0; i < size; i++) {
-                if (i != 0) {
-                    sb.append(", ");
-                }
-                sb.append(groups.get(i));
-            }
-            entry.mimetype = GroupMembership.MIMETYPE;
-            entry.kind = mContext.getString(R.string.groupsLabel);
-            entry.data = sb.toString();
-            mGroupEntries.add(entry);
-        }
-    }
-
-    /**
-     * Collapse all contact detail entries into one aggregated list with a {@link HeaderViewEntry}
-     * at the top.
-     */
-    private void setupFlattenedList() {
-        // All contacts should have a header view (even if there is no data for the contact).
-        mAllEntries.add(new HeaderViewEntry());
-
-        addPhoneticName();
-
-        flattenList(mPhoneEntries);
-        flattenList(mSmsEntries);
-        flattenList(mEmailEntries);
-        flattenList(mImEntries);
-        flattenList(mNicknameEntries);
-        flattenList(mWebsiteEntries);
-
-        addNetworks();
-
-        flattenList(mSipEntries);
-        flattenList(mPostalEntries);
-        flattenList(mEventEntries);
-        flattenList(mGroupEntries);
-        flattenList(mRelationEntries);
-        flattenList(mNoteEntries);
-    }
-
-    /**
-     * Add phonetic name (if applicable) to the aggregated list of contact details. This has to be
-     * done manually because phonetic name doesn't have a mimetype or action intent.
-     */
-    private void addPhoneticName() {
-        String phoneticName = ContactDetailDisplayUtils.getPhoneticName(mContext, mContactData);
-        if (TextUtils.isEmpty(phoneticName)) {
-            return;
-        }
-
-        // Add a title
-        String phoneticNameKindTitle = mContext.getString(R.string.name_phonetic);
-        mAllEntries.add(new KindTitleViewEntry(phoneticNameKindTitle.toUpperCase()));
-
-        // Add the phonetic name
-        final DetailViewEntry entry = new DetailViewEntry();
-        entry.kind = phoneticNameKindTitle;
-        entry.data = phoneticName;
-        mAllEntries.add(entry);
-    }
-
-    /**
-     * Add attribution and other third-party entries (if applicable) under the "networks" section
-     * of the aggregated list of contact details. This has to be done manually because the
-     * attribution does not have a mimetype and the third-party entries don't have actually belong
-     * to the same {@link DataKind}.
-     */
-    private void addNetworks() {
-        String attribution = ContactDetailDisplayUtils.getAttribution(mContext, mContactData);
-        boolean hasAttribution = !TextUtils.isEmpty(attribution);
-        int networksCount = mOtherEntriesMap.keySet().size();
-
-        // Note: invitableCount will always be 0 for me profile.  (ContactLoader won't set
-        // invitable types for me profile.)
-        int invitableCount = mContactData.getInvitableAccountTypes().size();
-        if (!hasAttribution && networksCount == 0 && invitableCount == 0) {
-            return;
-        }
-
-        // Add a title
-        String networkKindTitle = mContext.getString(R.string.connections);
-        mAllEntries.add(new KindTitleViewEntry(networkKindTitle.toUpperCase()));
-
-        // Add the attribution if applicable
-        if (hasAttribution) {
-            final DetailViewEntry entry = new DetailViewEntry();
-            entry.kind = networkKindTitle;
-            entry.data = attribution;
-            mAllEntries.add(entry);
-
-            // Add a divider below the attribution if there are network details that will follow
-            if (networksCount > 0) {
-                mAllEntries.add(new SeparatorViewEntry());
-            }
-        }
-
-        // Add the other entries from third parties
-        for (AccountType accountType : mOtherEntriesMap.keySet()) {
-
-            // Add a title for each third party app
-            mAllEntries.add(new NetworkTitleViewEntry(mContext, accountType));
-
-            for (DetailViewEntry detailEntry : mOtherEntriesMap.get(accountType)) {
-                // Add indented separator
-                SeparatorViewEntry separatorEntry = new SeparatorViewEntry();
-                separatorEntry.setIsInSubSection(true);
-                mAllEntries.add(separatorEntry);
-
-                // Add indented detail
-                detailEntry.setIsInSubSection(true);
-                mAllEntries.add(detailEntry);
-            }
-        }
-
-        mOtherEntriesMap.clear();
-
-        // Add the "More networks" button, which opens the invitable account type list popup.
-        if (invitableCount > 0) {
-            addMoreNetworks();
-        }
-    }
-
-    /**
-     * Add the "More networks" entry.  When clicked, show a popup containing a list of invitable
-     * account types.
-     */
-    private void addMoreNetworks() {
-        // First, prepare for the popup.
-
-        // Adapter for the list popup.
-        final InvitableAccountTypesAdapter popupAdapter = new InvitableAccountTypesAdapter(mContext,
-                mContactData);
-
-        // Listener called when a popup item is clicked.
-        final AdapterView.OnItemClickListener popupItemListener
-                = new AdapterView.OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view, int position,
-                    long id) {
-                if (mListener != null && mContactData != null) {
-                    mListener.onItemClicked(MoreContactUtils.getInvitableIntent(
-                            popupAdapter.getItem(position) /* account type */,
-                            mContactData.getLookupUri()));
-                }
-            }
-        };
-
-        // Then create the click listener for the "More network" entry.  Open the popup.
-        View.OnClickListener onClickListener = new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                showListPopup(v, popupAdapter, popupItemListener);
-            }
-        };
-
-        // Finally create the entry.
-        mAllEntries.add(new AddConnectionViewEntry(mContext, onClickListener));
-    }
-
-    /**
-     * Iterate through {@link DetailViewEntry} in the given list and add it to a list of all
-     * entries. Add a {@link KindTitleViewEntry} at the start if the length of the list is not 0.
-     * Add {@link SeparatorViewEntry}s as dividers as appropriate. Clear the original list.
-     */
-    private void flattenList(ArrayList<DetailViewEntry> entries) {
-        int count = entries.size();
-
-        // Add a title for this kind by extracting the kind from the first entry
-        if (count > 0) {
-            String kind = entries.get(0).kind;
-            mAllEntries.add(new KindTitleViewEntry(kind.toUpperCase()));
-        }
-
-        // Add all the data entries for this kind
-        for (int i = 0; i < count; i++) {
-            // For all entries except the first one, add a divider above the entry
-            if (i != 0) {
-                mAllEntries.add(new SeparatorViewEntry());
-            }
-            mAllEntries.add(entries.get(i));
-        }
-
-        // Clear old list because it's not needed anymore.
-        entries.clear();
-    }
-
-    /**
-     * Maps group ID to the corresponding group name, collapses all synonymous groups.
-     * Ignores default groups (e.g. My Contacts) and favorites groups.
-     */
-    private void handleGroupMembership(
-            ArrayList<String> groups, List<GroupMetaData> groupMetaData, long groupId) {
-        if (groupMetaData == null) {
-            return;
-        }
-
-        for (GroupMetaData group : groupMetaData) {
-            if (group.getGroupId() == groupId) {
-                if (!group.isDefaultGroup() && !group.isFavorites()) {
-                    String title = group.getTitle();
-                    if (!TextUtils.isEmpty(title) && !groups.contains(title)) {
-                        groups.add(title);
-                    }
-                }
-                break;
-            }
-        }
-    }
-
-    /**
-     * Writes the Instant Messaging action into the given entry value.
-     */
-    @VisibleForTesting
-    public static void buildImActions(Context context, DetailViewEntry entry,
-            ImDataItem im) {
-        final boolean isEmail = im.isCreatedFromEmail();
-
-        if (!isEmail && !im.isProtocolValid()) {
-            return;
-        }
-
-        final String data = im.getData();
-        if (TextUtils.isEmpty(data)) {
-            return;
-        }
-
-        final int protocol = isEmail ? Im.PROTOCOL_GOOGLE_TALK : im.getProtocol();
-
-        if (protocol == Im.PROTOCOL_GOOGLE_TALK) {
-            final int chatCapability = im.getChatCapability();
-            entry.chatCapability = chatCapability;
-            entry.typeString = Im.getProtocolLabel(context.getResources(), Im.PROTOCOL_GOOGLE_TALK,
-                    null).toString();
-            if ((chatCapability & Im.CAPABILITY_HAS_CAMERA) != 0) {
-                entry.intent =
-                        new Intent(Intent.ACTION_SENDTO, Uri.parse("xmpp:" + data + "?message"));
-                entry.secondaryIntent =
-                        new Intent(Intent.ACTION_SENDTO, Uri.parse("xmpp:" + data + "?call"));
-            } else if ((chatCapability & Im.CAPABILITY_HAS_VOICE) != 0) {
-                // Allow Talking and Texting
-                entry.intent =
-                    new Intent(Intent.ACTION_SENDTO, Uri.parse("xmpp:" + data + "?message"));
-                entry.secondaryIntent =
-                    new Intent(Intent.ACTION_SENDTO, Uri.parse("xmpp:" + data + "?call"));
-            } else {
-                entry.intent =
-                    new Intent(Intent.ACTION_SENDTO, Uri.parse("xmpp:" + data + "?message"));
-            }
-        } else {
-            // Build an IM Intent
-            final Intent imIntent = getCustomIMIntent(im, protocol);
-            if (imIntent != null &&
-                    PhoneCapabilityTester.isIntentRegistered(context, imIntent)) {
-                entry.intent = imIntent;
-            }
-        }
-    }
-
-    @VisibleForTesting
-    public static Intent getCustomIMIntent(ImDataItem im, int protocol) {
-        String host = im.getCustomProtocol();
-        final String data = im.getData();
-        if (TextUtils.isEmpty(data)) {
-            return null;
-        }
-        if (protocol != Im.PROTOCOL_CUSTOM) {
-            // Try bringing in a well-known host for specific protocols
-            host = ContactsUtils.lookupProviderNameFromId(protocol);
-        }
-        if (TextUtils.isEmpty(host)) {
-            return null;
-        }
-        final String authority = host.toLowerCase();
-        final Uri imUri = new Uri.Builder().scheme(CallUtil.SCHEME_IMTO).authority(
-                authority).appendPath(data).build();
-        final Intent intent = new Intent(Intent.ACTION_SENDTO, imUri);
-        return intent;
-    }
-
-    /**
-     * Show a list popup.  Used for "popup-able" entry, such as "More networks".
-     */
-    private void showListPopup(View anchorView, ListAdapter adapter,
-            final AdapterView.OnItemClickListener onItemClickListener) {
-        dismissPopupIfShown();
-        mPopup = new ListPopupWindow(mContext, null);
-        mPopup.setAnchorView(anchorView);
-        mPopup.setWidth(anchorView.getWidth());
-        mPopup.setAdapter(adapter);
-        mPopup.setModal(true);
-
-        // We need to wrap the passed onItemClickListener here, so that we can dismiss() the
-        // popup afterwards.  Otherwise we could directly use the passed listener.
-        mPopup.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view, int position,
-                    long id) {
-                onItemClickListener.onItemClick(parent, view, position, id);
-                dismissPopupIfShown();
-            }
-        });
-        mPopup.show();
-    }
-
-    private void dismissPopupIfShown() {
-        UiClosables.closeQuietly(mPopup);
-        mPopup = null;
-    }
-
-    /**
-     * Base class for an item in the {@link ViewAdapter} list of data, which is
-     * supplied to the {@link ListView}.
-     */
-    static class ViewEntry {
-        private final int viewTypeForAdapter;
-        protected long id = -1;
-        /** Whether or not the entry can be focused on or not. */
-        protected boolean isEnabled = false;
-
-        ViewEntry(int viewType) {
-            viewTypeForAdapter = viewType;
-        }
-
-        int getViewType() {
-            return viewTypeForAdapter;
-        }
-
-        long getId() {
-            return id;
-        }
-
-        boolean isEnabled(){
-            return isEnabled;
-        }
-
-        /**
-         * Called when the entry is clicked.  Only {@link #isEnabled} entries can get clicked.
-         *
-         * @param clickedView  {@link View} that was clicked  (Used, for example, as the anchor view
-         *        for a popup.)
-         * @param fragmentListener  {@link Listener} set to {@link ContactDetailFragment}
-         */
-        public void click(View clickedView, Listener fragmentListener) {
-        }
-    }
-
-    /**
-     * Header item in the {@link ViewAdapter} list of data.
-     */
-    private static class HeaderViewEntry extends ViewEntry {
-
-        HeaderViewEntry() {
-            super(ViewAdapter.VIEW_TYPE_HEADER_ENTRY);
-        }
-
-    }
-
-    /**
-     * Separator between items of the same {@link DataKind} in the
-     * {@link ViewAdapter} list of data.
-     */
-    private static class SeparatorViewEntry extends ViewEntry {
-
-        /**
-         * Whether or not the entry is in a subsection (if true then the contents will be indented
-         * to the right)
-         */
-        private boolean mIsInSubSection = false;
-
-        SeparatorViewEntry() {
-            super(ViewAdapter.VIEW_TYPE_SEPARATOR_ENTRY);
-        }
-
-        public void setIsInSubSection(boolean isInSubSection) {
-            mIsInSubSection = isInSubSection;
-        }
-
-        public boolean isInSubSection() {
-            return mIsInSubSection;
-        }
-    }
-
-    /**
-     * Title entry for items of the same {@link DataKind} in the
-     * {@link ViewAdapter} list of data.
-     */
-    private static class KindTitleViewEntry extends ViewEntry {
-
-        private final String mTitle;
-
-        KindTitleViewEntry(String titleText) {
-            super(ViewAdapter.VIEW_TYPE_KIND_TITLE_ENTRY);
-            mTitle = titleText;
-        }
-
-        public String getTitle() {
-            return mTitle;
-        }
-    }
-
-    /**
-     * A title for a section of contact details from a single 3rd party network.
-     */
-    private static class NetworkTitleViewEntry extends ViewEntry {
-        private final Drawable mIcon;
-        private final CharSequence mLabel;
-
-        public NetworkTitleViewEntry(Context context, AccountType type) {
-            super(ViewAdapter.VIEW_TYPE_NETWORK_TITLE_ENTRY);
-            this.mIcon = type.getDisplayIcon(context);
-            this.mLabel = type.getDisplayLabel(context);
-            this.isEnabled = false;
-        }
-
-        public Drawable getIcon() {
-            return mIcon;
-        }
-
-        public CharSequence getLabel() {
-            return mLabel;
-        }
-    }
-
-    /**
-     * This is used for the "Add Connections" entry.
-     */
-    private static class AddConnectionViewEntry extends ViewEntry {
-        private final Drawable mIcon;
-        private final CharSequence mLabel;
-        private final View.OnClickListener mOnClickListener;
-
-        private AddConnectionViewEntry(Context context, View.OnClickListener onClickListener) {
-            super(ViewAdapter.VIEW_TYPE_ADD_CONNECTION_ENTRY);
-            this.mIcon = context.getResources().getDrawable(
-                    R.drawable.ic_menu_add_field_holo_light);
-            this.mLabel = context.getString(R.string.add_connection_button);
-            this.mOnClickListener = onClickListener;
-            this.isEnabled = true;
-        }
-
-        @Override
-        public void click(View clickedView, Listener fragmentListener) {
-            if (mOnClickListener == null) return;
-            mOnClickListener.onClick(clickedView);
-        }
-
-        public Drawable getIcon() {
-            return mIcon;
-        }
-
-        public CharSequence getLabel() {
-            return mLabel;
-        }
-    }
-
-    /**
-     * An item with a single detail for a contact in the {@link ViewAdapter}
-     * list of data.
-     */
-    static class DetailViewEntry extends ViewEntry implements Collapsible<DetailViewEntry> {
-        // TODO: Make getters/setters for these fields
-        public int type = -1;
-        public String kind;
-        public String typeString;
-        public String data;
-        public Uri uri;
-        public int maxLines = 1;
-        public int textDirection = TEXT_DIRECTION_UNDEFINED;
-        public String mimetype;
-
-        public Context context = null;
-        public boolean isPrimary = false;
-        public int secondaryActionIcon = -1;
-        public int secondaryActionDescription = -1;
-        public Intent intent;
-        public Intent secondaryIntent = null;
-        public ArrayList<Long> ids = new ArrayList<Long>();
-        public int collapseCount = 0;
-
-        public int presence = -1;
-        public int chatCapability = 0;
-
-        private boolean mIsInSubSection = false;
-
-        @Override
-        public String toString() {
-            return Objects.toStringHelper(this)
-                    .add("type", type)
-                    .add("kind", kind)
-                    .add("typeString", typeString)
-                    .add("data", data)
-                    .add("uri", uri)
-                    .add("maxLines", maxLines)
-                    .add("mimetype", mimetype)
-                    .add("context", context)
-                    .add("isPrimary", isPrimary)
-                    .add("secondaryActionIcon", secondaryActionIcon)
-                    .add("secondaryActionDescription", secondaryActionDescription)
-                    .add("intent", intent)
-                    .add("secondaryIntent", secondaryIntent)
-                    .add("ids", ids)
-                    .add("collapseCount", collapseCount)
-                    .add("presence", presence)
-                    .add("chatCapability", chatCapability)
-                    .add("mIsInSubSection", mIsInSubSection)
-                    .toString();
-        }
-
-        DetailViewEntry() {
-            super(ViewAdapter.VIEW_TYPE_DETAIL_ENTRY);
-            isEnabled = true;
-        }
-
-        /**
-         * Build new {@link DetailViewEntry} and populate from the given values.
-         */
-        public static DetailViewEntry fromValues(Context context, DataItem item,
-                boolean isDirectoryEntry, long directoryId, DataKind dataKind) {
-            final DetailViewEntry entry = new DetailViewEntry();
-            entry.id = item.getId();
-            entry.context = context;
-            entry.uri = ContentUris.withAppendedId(Data.CONTENT_URI, entry.id);
-            if (isDirectoryEntry) {
-                entry.uri = entry.uri.buildUpon().appendQueryParameter(
-                        ContactsContract.DIRECTORY_PARAM_KEY, String.valueOf(directoryId)).build();
-            }
-            entry.mimetype = item.getMimeType();
-            entry.kind = dataKind.getKindString(context);
-            entry.data = item.buildDataString(context, dataKind);
-
-            if (item.hasKindTypeColumn(dataKind)) {
-                entry.type = item.getKindTypeColumn(dataKind);
-
-                // get type string
-                entry.typeString = "";
-                for (EditType type : dataKind.typeList) {
-                    if (type.rawValue == entry.type) {
-                        if (type.customColumn == null) {
-                            // Non-custom type. Get its description from the resource
-                            entry.typeString = context.getString(type.labelRes);
-                        } else {
-                            // Custom type. Read it from the database
-                            entry.typeString =
-                                    item.getContentValues().getAsString(type.customColumn);
-                        }
-                        break;
-                    }
-                }
-            } else {
-                entry.typeString = "";
-            }
-
-            return entry;
-        }
-
-        public void setPresence(int presence) {
-            this.presence = presence;
-        }
-
-        public void setIsInSubSection(boolean isInSubSection) {
-            mIsInSubSection = isInSubSection;
-        }
-
-        public boolean isInSubSection() {
-            return mIsInSubSection;
-        }
-
-        @Override
-        public void collapseWith(DetailViewEntry entry) {
-            // Choose the label associated with the highest type precedence.
-            if (TypePrecedence.getTypePrecedence(mimetype, type)
-                    > TypePrecedence.getTypePrecedence(entry.mimetype, entry.type)) {
-                type = entry.type;
-                kind = entry.kind;
-                typeString = entry.typeString;
-            }
-
-            // Choose the max of the maxLines and maxLabelLines values.
-            maxLines = Math.max(maxLines, entry.maxLines);
-
-            // Choose the presence with the highest precedence.
-            if (StatusUpdates.getPresencePrecedence(presence)
-                    < StatusUpdates.getPresencePrecedence(entry.presence)) {
-                presence = entry.presence;
-            }
-
-            // If any of the collapsed entries are primary make the whole thing primary.
-            isPrimary = entry.isPrimary ? true : isPrimary;
-
-            // uri, and contactdId, shouldn't make a difference. Just keep the original.
-
-            // Keep track of all the ids that have been collapsed with this one.
-            ids.add(entry.getId());
-            collapseCount++;
-        }
-
-        @Override
-        public boolean shouldCollapseWith(DetailViewEntry entry) {
-            if (entry == null) {
-                return false;
-            }
-
-            if (!MoreContactUtils.shouldCollapse(mimetype, data, entry.mimetype, entry.data)) {
-                return false;
-            }
-
-            if (!TextUtils.equals(mimetype, entry.mimetype)
-                    || !ContactsUtils.areIntentActionEqual(intent, entry.intent)
-                    || !ContactsUtils.areIntentActionEqual(
-                            secondaryIntent, entry.secondaryIntent)) {
-                return false;
-            }
-
-            return true;
-        }
-
-        @Override
-        public void click(View clickedView, Listener fragmentListener) {
-            if (fragmentListener == null || intent == null) return;
-            fragmentListener.onItemClicked(intent);
-        }
-    }
-
-    /**
-     * Cache of the children views for a view that displays a header view entry.
-     */
-    private static class HeaderViewCache {
-        public final TextView displayNameView;
-        public final TextView companyView;
-        public final ImageView photoView;
-        public final View photoOverlayView;
-        public final ImageView starredView;
-        public final int layoutResourceId;
-
-        public HeaderViewCache(View view, int layoutResourceInflated) {
-            displayNameView = (TextView) view.findViewById(R.id.name);
-            companyView = (TextView) view.findViewById(R.id.company);
-            photoView = (ImageView) view.findViewById(R.id.photo);
-            photoOverlayView = view.findViewById(R.id.photo_touch_intercept_overlay);
-            starredView = (ImageView) view.findViewById(R.id.star);
-            layoutResourceId = layoutResourceInflated;
-        }
-
-        public void enablePhotoOverlay(OnClickListener listener) {
-            if (photoOverlayView != null) {
-                photoOverlayView.setOnClickListener(listener);
-                photoOverlayView.setVisibility(View.VISIBLE);
-            }
-        }
-    }
-
-    private static class KindTitleViewCache {
-        public final TextView titleView;
-
-        public KindTitleViewCache(View view) {
-            titleView = (TextView)view.findViewById(R.id.title);
-        }
-    }
-
-    /**
-     * Cache of the children views for a view that displays a {@link NetworkTitleViewEntry}
-     */
-    private static class NetworkTitleViewCache {
-        public final TextView name;
-        public final ImageView icon;
-
-        public NetworkTitleViewCache(View view) {
-            name = (TextView) view.findViewById(R.id.network_title);
-            icon = (ImageView) view.findViewById(R.id.network_icon);
-        }
-    }
-
-    /**
-     * Cache of the children views for a view that displays a {@link AddConnectionViewEntry}
-     */
-    private static class AddConnectionViewCache {
-        public final TextView name;
-        public final ImageView icon;
-        public final View primaryActionView;
-
-        public AddConnectionViewCache(View view) {
-            name = (TextView) view.findViewById(R.id.add_connection_label);
-            icon = (ImageView) view.findViewById(R.id.add_connection_icon);
-            primaryActionView = view.findViewById(R.id.primary_action_view);
-        }
-    }
-
-    /**
-     * Cache of the children views of a contact detail entry represented by a
-     * {@link DetailViewEntry}
-     */
-    private static class DetailViewCache {
-        public final TextView type;
-        public final TextView data;
-        public final ImageView presenceIcon;
-        public final ImageView secondaryActionButton;
-        public final View actionsViewContainer;
-        public final View primaryActionView;
-        public final View secondaryActionViewContainer;
-        public final View secondaryActionDivider;
-        public final View primaryIndicator;
-
-        public DetailViewCache(View view,
-                OnClickListener primaryActionClickListener,
-                OnClickListener secondaryActionClickListener) {
-            type = (TextView) view.findViewById(R.id.type);
-            data = (TextView) view.findViewById(R.id.data);
-            primaryIndicator = view.findViewById(R.id.primary_indicator);
-            presenceIcon = (ImageView) view.findViewById(R.id.presence_icon);
-
-            actionsViewContainer = view.findViewById(R.id.actions_view_container);
-            actionsViewContainer.setOnClickListener(primaryActionClickListener);
-            primaryActionView = view.findViewById(R.id.primary_action_view);
-
-            secondaryActionViewContainer = view.findViewById(
-                    R.id.secondary_action_view_container);
-            secondaryActionViewContainer.setOnClickListener(
-                    secondaryActionClickListener);
-            secondaryActionButton = (ImageView) view.findViewById(
-                    R.id.secondary_action_button);
-
-            secondaryActionDivider = view.findViewById(R.id.vertical_divider);
-        }
-    }
-
-    private final class ViewAdapter extends BaseAdapter {
-
-        public static final int VIEW_TYPE_DETAIL_ENTRY = 0;
-        public static final int VIEW_TYPE_HEADER_ENTRY = 1;
-        public static final int VIEW_TYPE_KIND_TITLE_ENTRY = 2;
-        public static final int VIEW_TYPE_NETWORK_TITLE_ENTRY = 3;
-        public static final int VIEW_TYPE_ADD_CONNECTION_ENTRY = 4;
-        public static final int VIEW_TYPE_SEPARATOR_ENTRY = 5;
-        private static final int VIEW_TYPE_COUNT = 6;
-
-        @Override
-        public View getView(int position, View convertView, ViewGroup parent) {
-            switch (getItemViewType(position)) {
-                case VIEW_TYPE_HEADER_ENTRY:
-                    return getHeaderEntryView(convertView, parent);
-                case VIEW_TYPE_SEPARATOR_ENTRY:
-                    return getSeparatorEntryView(position, convertView, parent);
-                case VIEW_TYPE_KIND_TITLE_ENTRY:
-                    return getKindTitleEntryView(position, convertView, parent);
-                case VIEW_TYPE_DETAIL_ENTRY:
-                    return getDetailEntryView(position, convertView, parent);
-                case VIEW_TYPE_NETWORK_TITLE_ENTRY:
-                    return getNetworkTitleEntryView(position, convertView, parent);
-                case VIEW_TYPE_ADD_CONNECTION_ENTRY:
-                    return getAddConnectionEntryView(position, convertView, parent);
-                default:
-                    throw new IllegalStateException("Invalid view type ID " +
-                            getItemViewType(position));
-            }
-        }
-
-        private View getHeaderEntryView(View convertView, ViewGroup parent) {
-            final int desiredLayoutResourceId = R.layout.detail_header_contact_without_updates;
-            View result = null;
-            HeaderViewCache viewCache = null;
-
-            // Only use convertView if it has the same layout resource ID as the one desired
-            // (the two can be different on wide 2-pane screens where the detail fragment is reused
-            // for many different contacts that do and do not have social updates).
-            if (convertView != null) {
-                viewCache = (HeaderViewCache) convertView.getTag();
-                if (viewCache.layoutResourceId == desiredLayoutResourceId) {
-                    result = convertView;
-                }
-            }
-
-            // Otherwise inflate a new header view and create a new view cache.
-            if (result == null) {
-                result = mInflater.inflate(desiredLayoutResourceId, parent, false);
-                viewCache = new HeaderViewCache(result, desiredLayoutResourceId);
-                result.setTag(viewCache);
-            }
-
-            ContactDetailDisplayUtils.setDisplayName(mContext, mContactData,
-                    viewCache.displayNameView);
-            ContactDetailDisplayUtils.setCompanyName(mContext, mContactData, viewCache.companyView);
-
-            // Set the photo if it should be displayed
-            if (viewCache.photoView != null) {
-                final boolean expandOnClick = mContactData.getPhotoUri() != null;
-                final OnClickListener listener = mPhotoSetter.setupContactPhotoForClick(
-                        mContext, mContactData, viewCache.photoView, expandOnClick);
-
-                if (expandOnClick || mContactData.isWritableContact(mContext)) {
-                    viewCache.enablePhotoOverlay(listener);
-                }
-            }
-
-            // Set the starred state if it should be displayed
-            final ImageView favoritesStar = viewCache.starredView;
-            if (favoritesStar != null) {
-                ContactDetailDisplayUtils.configureStarredImageView(favoritesStar,
-                        mContactData.isDirectoryEntry(), mContactData.isUserProfile(),
-                        mContactData.getStarred());
-                final Uri lookupUri = mContactData.getLookupUri();
-                favoritesStar.setOnClickListener(new OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        // Toggle "starred" state
-                        // Make sure there is a contact
-                        if (lookupUri != null) {
-                            // Read the current starred value from the UI instead of using the last
-                            // loaded state. This allows rapid tapping without writing the same
-                            // value several times
-                            final Object tag = favoritesStar.getTag();
-                            final boolean isStarred = tag == null
-                                    ? false : (Boolean) favoritesStar.getTag();
-
-                            // To improve responsiveness, swap out the picture (and tag) in the UI
-                            // already
-                            ContactDetailDisplayUtils.configureStarredImageView(favoritesStar,
-                                    mContactData.isDirectoryEntry(), mContactData.isUserProfile(),
-                                    !isStarred);
-
-                            // Now perform the real save
-                            Intent intent = ContactSaveService.createSetStarredIntent(
-                                    getContext(), lookupUri, !isStarred);
-                            getContext().startService(intent);
-                        }
-                    }
-                });
-            }
-
-            return result;
-        }
-
-        private View getSeparatorEntryView(int position, View convertView, ViewGroup parent) {
-            final SeparatorViewEntry entry = (SeparatorViewEntry) getItem(position);
-            final View result = (convertView != null) ? convertView :
-                    mInflater.inflate(R.layout.contact_detail_separator_entry_view, parent, false);
-
-            result.setPadding(entry.isInSubSection() ? mViewEntryDimensions.getWidePaddingLeft() :
-                    mViewEntryDimensions.getPaddingLeft(), 0,
-                    mViewEntryDimensions.getPaddingRight(), 0);
-
-            return result;
-        }
-
-        private View getKindTitleEntryView(int position, View convertView, ViewGroup parent) {
-            final KindTitleViewEntry entry = (KindTitleViewEntry) getItem(position);
-            final View result;
-            final KindTitleViewCache viewCache;
-
-            if (convertView != null) {
-                result = convertView;
-                viewCache = (KindTitleViewCache)result.getTag();
-            } else {
-                result = mInflater.inflate(R.layout.list_separator, parent, false);
-                viewCache = new KindTitleViewCache(result);
-                result.setTag(viewCache);
-            }
-
-            viewCache.titleView.setText(entry.getTitle());
-
-            return result;
-        }
-
-        private View getNetworkTitleEntryView(int position, View convertView, ViewGroup parent) {
-            final NetworkTitleViewEntry entry = (NetworkTitleViewEntry) getItem(position);
-            final View result;
-            final NetworkTitleViewCache viewCache;
-
-            if (convertView != null) {
-                result = convertView;
-                viewCache = (NetworkTitleViewCache) result.getTag();
-            } else {
-                result = mInflater.inflate(R.layout.contact_detail_network_title_entry_view,
-                        parent, false);
-                viewCache = new NetworkTitleViewCache(result);
-                result.setTag(viewCache);
-            }
-
-            viewCache.name.setText(entry.getLabel());
-            viewCache.icon.setImageDrawable(entry.getIcon());
-
-            return result;
-        }
-
-        private View getAddConnectionEntryView(int position, View convertView, ViewGroup parent) {
-            final AddConnectionViewEntry entry = (AddConnectionViewEntry) getItem(position);
-            final View result;
-            final AddConnectionViewCache viewCache;
-
-            if (convertView != null) {
-                result = convertView;
-                viewCache = (AddConnectionViewCache) result.getTag();
-            } else {
-                result = mInflater.inflate(R.layout.contact_detail_add_connection_entry_view,
-                        parent, false);
-                viewCache = new AddConnectionViewCache(result);
-                result.setTag(viewCache);
-            }
-            viewCache.name.setText(entry.getLabel());
-            viewCache.icon.setImageDrawable(entry.getIcon());
-            viewCache.primaryActionView.setOnClickListener(entry.mOnClickListener);
-
-            return result;
-        }
-
-        private View getDetailEntryView(int position, View convertView, ViewGroup parent) {
-            final DetailViewEntry entry = (DetailViewEntry) getItem(position);
-            final View v;
-            final DetailViewCache viewCache;
-
-            // Check to see if we can reuse convertView
-            if (convertView != null) {
-                v = convertView;
-                viewCache = (DetailViewCache) v.getTag();
-            } else {
-                // Create a new view if needed
-                v = mInflater.inflate(R.layout.contact_detail_list_item, parent, false);
-
-                // Cache the children
-                viewCache = new DetailViewCache(v,
-                        mPrimaryActionClickListener, mSecondaryActionClickListener);
-                v.setTag(viewCache);
-            }
-
-            bindDetailView(position, v, entry);
-            return v;
-        }
-
-        private void bindDetailView(int position, View view, DetailViewEntry entry) {
-            final Resources resources = mContext.getResources();
-            DetailViewCache views = (DetailViewCache) view.getTag();
-
-            if (!TextUtils.isEmpty(entry.typeString)) {
-                views.type.setText(entry.typeString.toUpperCase());
-                views.type.setVisibility(View.VISIBLE);
-            } else {
-                views.type.setVisibility(View.GONE);
-            }
-
-            views.data.setText(entry.data);
-            setMaxLines(views.data, entry.maxLines);
-
-            // Gray out the data item if it does not perform an action when clicked
-            // Set primary_text_color even if it might have been set by default to avoid
-            // views being gray sometimes when they are not supposed to, due to view reuse
-            ((TextView) view.findViewById(R.id.data)).setTextColor(
-                        getResources().getColor((entry.intent == null) ?
-                        R.color.secondary_text_color : R.color.primary_text_color));
-
-            // Set the default contact method
-            views.primaryIndicator.setVisibility(entry.isPrimary ? View.VISIBLE : View.GONE);
-
-            // Set the presence icon
-            final Drawable presenceIcon = ContactPresenceIconUtil.getPresenceIcon(
-                    mContext, entry.presence);
-            final ImageView presenceIconView = views.presenceIcon;
-            if (presenceIcon != null) {
-                presenceIconView.setImageDrawable(presenceIcon);
-                presenceIconView.setVisibility(View.VISIBLE);
-            } else {
-                presenceIconView.setVisibility(View.GONE);
-            }
-
-            final ActionsViewContainer actionsButtonContainer =
-                    (ActionsViewContainer) views.actionsViewContainer;
-            actionsButtonContainer.setTag(entry);
-            actionsButtonContainer.setPosition(position);
-            registerForContextMenu(actionsButtonContainer);
-
-            // Set the secondary action button
-            final ImageView secondaryActionView = views.secondaryActionButton;
-            Drawable secondaryActionIcon = null;
-            String secondaryActionDescription = null;
-            if (entry.secondaryActionIcon != -1) {
-                secondaryActionIcon = resources.getDrawable(entry.secondaryActionIcon);
-                if (ContactDisplayUtils.isCustomPhoneType(entry.type)) {
-                    secondaryActionDescription = resources.getString(
-                            entry.secondaryActionDescription, entry.typeString);
-                } else {
-                    secondaryActionDescription = resources.getString(
-                            entry.secondaryActionDescription);
-                }
-            } else if ((entry.chatCapability & Im.CAPABILITY_HAS_CAMERA) != 0) {
-                secondaryActionIcon =
-                        resources.getDrawable(R.drawable.sym_action_videochat_holo_light);
-                secondaryActionDescription = resources.getString(R.string.video_chat);
-            } else if ((entry.chatCapability & Im.CAPABILITY_HAS_VOICE) != 0) {
-                secondaryActionIcon =
-                        resources.getDrawable(R.drawable.sym_action_audiochat_holo_light);
-                secondaryActionDescription = resources.getString(R.string.audio_chat);
-            }
-
-            final View secondaryActionViewContainer = views.secondaryActionViewContainer;
-            if (entry.secondaryIntent != null && secondaryActionIcon != null) {
-                secondaryActionView.setImageDrawable(secondaryActionIcon);
-                secondaryActionView.setContentDescription(secondaryActionDescription);
-                secondaryActionViewContainer.setTag(entry);
-                secondaryActionViewContainer.setVisibility(View.VISIBLE);
-                views.secondaryActionDivider.setVisibility(View.VISIBLE);
-            } else {
-                secondaryActionViewContainer.setVisibility(View.GONE);
-                views.secondaryActionDivider.setVisibility(View.GONE);
-            }
-
-            // Right and left padding should not have "pressed" effect.
-            view.setPadding(
-                    entry.isInSubSection()
-                            ? mViewEntryDimensions.getWidePaddingLeft()
-                            : mViewEntryDimensions.getPaddingLeft(),
-                    0, mViewEntryDimensions.getPaddingRight(), 0);
-            // Top and bottom padding should have "pressed" effect.
-            final View primaryActionView = views.primaryActionView;
-            primaryActionView.setPadding(
-                    primaryActionView.getPaddingLeft(),
-                    mViewEntryDimensions.getPaddingTop(),
-                    primaryActionView.getPaddingRight(),
-                    mViewEntryDimensions.getPaddingBottom());
-            secondaryActionViewContainer.setPadding(
-                    secondaryActionViewContainer.getPaddingLeft(),
-                    mViewEntryDimensions.getPaddingTop(),
-                    secondaryActionViewContainer.getPaddingRight(),
-                    mViewEntryDimensions.getPaddingBottom());
-
-            // Set the text direction
-            if (entry.textDirection != TEXT_DIRECTION_UNDEFINED) {
-                views.data.setTextDirection(entry.textDirection);
-            }
-        }
-
-        private void setMaxLines(TextView textView, int maxLines) {
-            if (maxLines == 1) {
-                textView.setSingleLine(true);
-                textView.setEllipsize(TextUtils.TruncateAt.END);
-            } else {
-                textView.setSingleLine(false);
-                textView.setMaxLines(maxLines);
-                textView.setEllipsize(null);
-            }
-        }
-
-        private final OnClickListener mPrimaryActionClickListener = new OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                if (mListener == null) return;
-                final ViewEntry entry = (ViewEntry) view.getTag();
-                if (entry == null) return;
-                entry.click(view, mListener);
-            }
-        };
-
-        private final OnClickListener mSecondaryActionClickListener = new OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                if (mListener == null) return;
-                if (view == null) return;
-                final ViewEntry entry = (ViewEntry) view.getTag();
-                if (entry == null || !(entry instanceof DetailViewEntry)) return;
-                final DetailViewEntry detailViewEntry = (DetailViewEntry) entry;
-                final Intent intent = detailViewEntry.secondaryIntent;
-                if (intent == null) return;
-                mListener.onItemClicked(intent);
-            }
-        };
-
-        @Override
-        public int getCount() {
-            return mAllEntries.size();
-        }
-
-        @Override
-        public ViewEntry getItem(int position) {
-            return mAllEntries.get(position);
-        }
-
-        @Override
-        public int getItemViewType(int position) {
-            return mAllEntries.get(position).getViewType();
-        }
-
-        @Override
-        public int getViewTypeCount() {
-            return VIEW_TYPE_COUNT;
-        }
-
-        @Override
-        public long getItemId(int position) {
-            final ViewEntry entry = mAllEntries.get(position);
-            if (entry != null) {
-                return entry.getId();
-            }
-            return -1;
-        }
-
-        @Override
-        public boolean areAllItemsEnabled() {
-            // Header will always be an item that is not enabled.
-            return false;
-        }
-
-        @Override
-        public boolean isEnabled(int position) {
-            return getItem(position).isEnabled();
-        }
-    }
-
-    @Override
-    public void onAccountSelectorCancelled() {
-    }
-
-    @Override
-    public void onAccountChosen(AccountWithDataSet account, Bundle extraArgs) {
-        createCopy(account);
-    }
-
-    private void createCopy(AccountWithDataSet account) {
-        if (mListener != null) {
-            mListener.onCreateRawContactRequested(mContactData.getContentValues(), account);
-        }
-    }
-
-    /**
-     * Default (fallback) list item click listener.  Note the click event for DetailViewEntry is
-     * caught by individual views in the list item view to distinguish the primary action and the
-     * secondary action, so this method won't be invoked for that.  (The listener is set in the
-     * bindview in the adapter)
-     * This listener is used for other kind of entries.
-     */
-    @Override
-    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-        if (mListener == null) return;
-        final ViewEntry entry = mAdapter.getItem(position);
-        if (entry == null) return;
-        entry.click(view, mListener);
-    }
-
-    @Override
-    public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) {
-        super.onCreateContextMenu(menu, view, menuInfo);
-
-        AdapterView.AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
-        DetailViewEntry selectedEntry = (DetailViewEntry) mAllEntries.get(info.position);
-
-        menu.setHeaderTitle(selectedEntry.data);
-        menu.add(ContextMenu.NONE, ContextMenuIds.COPY_TEXT,
-                ContextMenu.NONE, getString(R.string.copy_text));
-
-        // Don't allow setting or clearing of defaults for directory contacts
-        if (mContactData.isDirectoryEntry()) {
-            return;
-        }
-
-        String selectedMimeType = selectedEntry.mimetype;
-
-        // Defaults to true will only enable the detail to be copied to the clipboard.
-        boolean isUniqueMimeType = true;
-
-        // Only allow primary support for Phone and Email content types
-        if (Phone.CONTENT_ITEM_TYPE.equals(selectedMimeType)) {
-            isUniqueMimeType = mIsUniqueNumber;
-        } else if (Email.CONTENT_ITEM_TYPE.equals(selectedMimeType)) {
-            isUniqueMimeType = mIsUniqueEmail;
-        }
-
-        // Checking for previously set default
-        if (selectedEntry.isPrimary) {
-            menu.add(ContextMenu.NONE, ContextMenuIds.CLEAR_DEFAULT,
-                    ContextMenu.NONE, getString(R.string.clear_default));
-        } else if (!isUniqueMimeType) {
-            menu.add(ContextMenu.NONE, ContextMenuIds.SET_DEFAULT,
-                    ContextMenu.NONE, getString(R.string.set_default));
-        }
-    }
-
-    @Override
-    public boolean onContextItemSelected(MenuItem item) {
-        AdapterView.AdapterContextMenuInfo menuInfo;
-        try {
-            menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
-        } catch (ClassCastException e) {
-            Log.e(TAG, "bad menuInfo", e);
-            return false;
-        }
-
-        switch (item.getItemId()) {
-            case ContextMenuIds.COPY_TEXT:
-                copyToClipboard(menuInfo.position);
-                return true;
-            case ContextMenuIds.SET_DEFAULT:
-                setDefaultContactMethod(mListView.getItemIdAtPosition(menuInfo.position));
-                return true;
-            case ContextMenuIds.CLEAR_DEFAULT:
-                clearDefaultContactMethod(mListView.getItemIdAtPosition(menuInfo.position));
-                return true;
-            default:
-                throw new IllegalArgumentException("Unknown menu option " + item.getItemId());
-        }
-    }
-
-    private void setDefaultContactMethod(long id) {
-        Intent setIntent = ContactSaveService.createSetSuperPrimaryIntent(mContext, id);
-        mContext.startService(setIntent);
-    }
-
-    private void clearDefaultContactMethod(long id) {
-        Intent clearIntent = ContactSaveService.createClearPrimaryIntent(mContext, id);
-        mContext.startService(clearIntent);
-    }
-
-    private void copyToClipboard(int viewEntryPosition) {
-        // Getting the text to copied
-        DetailViewEntry detailViewEntry = (DetailViewEntry) mAllEntries.get(viewEntryPosition);
-        CharSequence textToCopy = detailViewEntry.data;
-
-        // Checking for empty string
-        if (TextUtils.isEmpty(textToCopy)) return;
-
-        ClipboardUtils.copyText(getActivity(), detailViewEntry.typeString, textToCopy, true);
-    }
-
-    @Override
-    public boolean handleKeyDown(int keyCode) {
-        switch (keyCode) {
-            case KeyEvent.KEYCODE_CALL: {
-                TelephonyManager telephonyManager =
-                    (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE);
-                if (telephonyManager != null &&
-                        telephonyManager.getCallState() != TelephonyManager.CALL_STATE_IDLE) {
-                    // Skip out and let the key be handled at a higher level
-                    break;
-                }
-
-                int index = mListView.getSelectedItemPosition();
-                if (index != -1) {
-                    final DetailViewEntry entry = (DetailViewEntry) mAdapter.getItem(index);
-                    if (entry != null && entry.intent != null &&
-                            entry.intent.getAction() == Intent.ACTION_CALL_PRIVILEGED) {
-                        mContext.startActivity(entry.intent);
-                        return true;
-                    }
-                } else if (mPrimaryPhoneUri != null) {
-                    // There isn't anything selected, call the default number
-                    mContext.startActivity(CallUtil.getCallIntent(mPrimaryPhoneUri));
-                    return true;
-                }
-                return false;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Base class for QuickFixes. QuickFixes quickly fix issues with the Contact without
-     * requiring the user to go to the editor. Example: Add to My Contacts.
-     */
-    private static abstract class QuickFix {
-        public abstract boolean isApplicable();
-        public abstract String getTitle();
-        public abstract void execute();
-    }
-
-    private class AddToMyContactsQuickFix extends QuickFix {
-        @Override
-        public boolean isApplicable() {
-            // Only local contacts
-            if (mContactData == null || mContactData.isDirectoryEntry()) return false;
-
-            // User profile cannot be added to contacts
-            if (mContactData.isUserProfile()) return false;
-
-            // Only if exactly one raw contact
-            if (mContactData.getRawContacts().size() != 1) return false;
-
-            // test if the default group is assigned
-            final List<GroupMetaData> groups = mContactData.getGroupMetaData();
-
-            // For accounts without group support, groups is null
-            if (groups == null) return false;
-
-            // remember the default group id. no default group? bail out early
-            final long defaultGroupId = getDefaultGroupId(groups);
-            if (defaultGroupId == -1) return false;
-
-            final RawContact rawContact = (RawContact) mContactData.getRawContacts().get(0);
-            final AccountType type = rawContact.getAccountType(getContext());
-            // Offline or non-writeable account? Nothing to fix
-            if (type == null || !type.areContactsWritable()) return false;
-
-            // Check whether the contact is in the default group
-            boolean isInDefaultGroup = false;
-            for (DataItem dataItem : Iterables.filter(
-                    rawContact.getDataItems(), GroupMembershipDataItem.class)) {
-                GroupMembershipDataItem groupMembership = (GroupMembershipDataItem) dataItem;
-                final Long groupId = groupMembership.getGroupRowId();
-                if (groupId != null && groupId == defaultGroupId) {
-                    isInDefaultGroup = true;
-                    break;
-                }
-            }
-
-            return !isInDefaultGroup;
-        }
-
-        @Override
-        public String getTitle() {
-            return getString(R.string.add_to_my_contacts);
-        }
-
-        @Override
-        public void execute() {
-            final long defaultGroupId = getDefaultGroupId(mContactData.getGroupMetaData());
-            // there should always be a default group (otherwise the button would be invisible),
-            // but let's be safe here
-            if (defaultGroupId == -1) return;
-
-            // add the group membership to the current state
-            final RawContactDeltaList contactDeltaList = mContactData.createRawContactDeltaList();
-            final RawContactDelta rawContactEntityDelta = contactDeltaList.get(0);
-
-            final AccountTypeManager accountTypes = AccountTypeManager.getInstance(mContext);
-            final AccountType type = rawContactEntityDelta.getAccountType(accountTypes);
-            final DataKind groupMembershipKind = type.getKindForMimetype(
-                    GroupMembership.CONTENT_ITEM_TYPE);
-            final ValuesDelta entry = RawContactModifier.insertChild(rawContactEntityDelta,
-                    groupMembershipKind);
-            if (entry == null) return;
-            entry.setGroupRowId(defaultGroupId);
-
-            // and fire off the intent. we don't need a callback, as the database listener
-            // should update the ui
-            final Intent intent = ContactSaveService.createSaveContactIntent(getActivity(),
-                    contactDeltaList, "", 0, false, getActivity().getClass(),
-                    Intent.ACTION_VIEW, null);
-            getActivity().startService(intent);
-        }
-    }
-
-    private class MakeLocalCopyQuickFix extends QuickFix {
-        @Override
-        public boolean isApplicable() {
-            // Not a directory contact? Nothing to fix here
-            if (mContactData == null || !mContactData.isDirectoryEntry()) return false;
-
-            // No export support? Too bad
-            if (mContactData.getDirectoryExportSupport() == Directory.EXPORT_SUPPORT_NONE) {
-                return false;
-            }
-
-            return true;
-        }
-
-        @Override
-        public String getTitle() {
-            return getString(R.string.menu_copyContact);
-        }
-
-        @Override
-        public void execute() {
-            if (mListener == null) {
-                return;
-            }
-
-            int exportSupport = mContactData.getDirectoryExportSupport();
-            switch (exportSupport) {
-                case Directory.EXPORT_SUPPORT_SAME_ACCOUNT_ONLY: {
-                    createCopy(new AccountWithDataSet(mContactData.getDirectoryAccountName(),
-                                    mContactData.getDirectoryAccountType(), null));
-                    break;
-                }
-                case Directory.EXPORT_SUPPORT_ANY_ACCOUNT: {
-                    final List<AccountWithDataSet> accounts =
-                            AccountTypeManager.getInstance(mContext).getAccounts(true);
-                    if (accounts.isEmpty()) {
-                        createCopy(null);
-                        return;  // Don't show a dialog.
-                    }
-
-                    // In the common case of a single writable account, auto-select
-                    // it without showing a dialog.
-                    if (accounts.size() == 1) {
-                        createCopy(accounts.get(0));
-                        return;  // Don't show a dialog.
-                    }
-
-                    SelectAccountDialogFragment.show(getFragmentManager(),
-                            ContactDetailFragment.this, R.string.dialog_new_contact_account,
-                            AccountListFilter.ACCOUNTS_CONTACT_WRITABLE, null);
-                    break;
-                }
-            }
-        }
-    }
-
-    /**
-     * This class loads the correct padding values for a contact detail item so they can be applied
-     * dynamically. For example, this supports the case where some detail items can be indented and
-     * need extra padding.
-     */
-    private static class ViewEntryDimensions {
-
-        private final int mWidePaddingLeft;
-        private final int mPaddingLeft;
-        private final int mPaddingRight;
-        private final int mPaddingTop;
-        private final int mPaddingBottom;
-
-        public ViewEntryDimensions(Resources resources) {
-            mPaddingLeft = resources.getDimensionPixelSize(
-                    R.dimen.detail_item_side_margin);
-            mPaddingTop = resources.getDimensionPixelSize(
-                    R.dimen.detail_item_vertical_margin);
-            mWidePaddingLeft = mPaddingLeft +
-                    resources.getDimensionPixelSize(R.dimen.detail_item_icon_margin) +
-                    resources.getDimensionPixelSize(R.dimen.detail_network_icon_size);
-            mPaddingRight = mPaddingLeft;
-            mPaddingBottom = mPaddingTop;
-        }
-
-        public int getWidePaddingLeft() {
-            return mWidePaddingLeft;
-        }
-
-        public int getPaddingLeft() {
-            return mPaddingLeft;
-        }
-
-        public int getPaddingRight() {
-            return mPaddingRight;
-        }
-
-        public int getPaddingTop() {
-            return mPaddingTop;
-        }
-
-        public int getPaddingBottom() {
-            return mPaddingBottom;
-        }
-    }
-
-    public static interface Listener {
-        /**
-         * User clicked a single item (e.g. mail). The intent passed in could be null.
-         */
-        public void onItemClicked(Intent intent);
-
-        /**
-         * User requested creation of a new contact with the specified values.
-         *
-         * @param values ContentValues containing data rows for the new contact.
-         * @param account Account where the new contact should be created.
-         */
-        public void onCreateRawContactRequested(ArrayList<ContentValues> values,
-                AccountWithDataSet account);
-    }
-
-    /**
-     * Adapter for the invitable account types; used for the invitable account type list popup.
-     */
-    private final static class InvitableAccountTypesAdapter extends BaseAdapter {
-        private final Context mContext;
-        private final LayoutInflater mInflater;
-        private final ArrayList<AccountType> mAccountTypes;
-
-        public InvitableAccountTypesAdapter(Context context, Contact contactData) {
-            mContext = context;
-            mInflater = LayoutInflater.from(context);
-            final List<AccountType> types = contactData.getInvitableAccountTypes();
-            mAccountTypes = new ArrayList<AccountType>(types.size());
-
-            for (int i = 0; i < types.size(); i++) {
-                mAccountTypes.add(types.get(i));
-            }
-
-            Collections.sort(mAccountTypes, new AccountType.DisplayLabelComparator(mContext));
-        }
-
-        @Override
-        public View getView(int position, View convertView, ViewGroup parent) {
-            final View resultView =
-                    (convertView != null) ? convertView
-                    : mInflater.inflate(R.layout.account_selector_list_item, parent, false);
-
-            final TextView text1 = (TextView)resultView.findViewById(android.R.id.text1);
-            final TextView text2 = (TextView)resultView.findViewById(android.R.id.text2);
-            final ImageView icon = (ImageView)resultView.findViewById(android.R.id.icon);
-
-            final AccountType accountType = mAccountTypes.get(position);
-
-            CharSequence action = accountType.getInviteContactActionLabel(mContext);
-            CharSequence label = accountType.getDisplayLabel(mContext);
-            if (TextUtils.isEmpty(action)) {
-                text1.setText(label);
-                text2.setVisibility(View.GONE);
-            } else {
-                text1.setText(action);
-                text2.setVisibility(View.VISIBLE);
-                text2.setText(label);
-            }
-            icon.setImageDrawable(accountType.getDisplayIcon(mContext));
-
-            return resultView;
-        }
-
-        @Override
-        public int getCount() {
-            return mAccountTypes.size();
-        }
-
-        @Override
-        public AccountType getItem(int position) {
-            return mAccountTypes.get(position);
-        }
-
-        @Override
-        public long getItemId(int position) {
-            return position;
-        }
-    }
-}
diff --git a/src/com/android/contacts/detail/ContactDetailFragmentCarousel.java b/src/com/android/contacts/detail/ContactDetailFragmentCarousel.java
deleted file mode 100644
index 434d8f5..0000000
--- a/src/com/android/contacts/detail/ContactDetailFragmentCarousel.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.detail;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.LayoutInflater;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.View.OnTouchListener;
-import android.view.ViewPropertyAnimator;
-import android.widget.HorizontalScrollView;
-
-import com.android.contacts.R;
-import com.android.contacts.widget.FrameLayoutWithOverlay;
-
-/**
- * This is a horizontally scrolling carousel with 2 fragments: one to see info about the contact and
- * one to see updates from the contact. Depending on the scroll position and user selection of which
- * fragment to currently view, the touch interceptors over each fragment are configured accordingly.
- */
-public class ContactDetailFragmentCarousel extends HorizontalScrollView implements OnTouchListener {
-
-    private static final String TAG = ContactDetailFragmentCarousel.class.getSimpleName();
-
-    /**
-     * Number of pixels that this view can be scrolled horizontally.
-     */
-    private int mAllowedHorizontalScrollLength = Integer.MIN_VALUE;
-
-    /**
-     * Minimum X scroll position that must be surpassed (if the user is on the "about" page of the
-     * contact card), in order for this view to automatically snap to the "updates" page.
-     */
-    private int mLowerThreshold = Integer.MIN_VALUE;
-
-    /**
-     * Maximum X scroll position (if the user is on the "updates" page of the contact card), below
-     * which this view will automatically snap to the "about" page.
-     */
-    private int mUpperThreshold = Integer.MIN_VALUE;
-
-    /**
-     * Minimum width of a fragment (if there is more than 1 fragment in the carousel, then this is
-     * the width of one of the fragments).
-     */
-    private int mMinFragmentWidth = Integer.MIN_VALUE;
-
-    /**
-     * Fragment width (if there are 1+ fragments in the carousel) as defined as a fraction of the
-     * screen width.
-     */
-    private static final float FRAGMENT_WIDTH_SCREEN_WIDTH_FRACTION = 0.85f;
-
-    private static final int ABOUT_PAGE = 0;
-    private static final int UPDATES_PAGE = 1;
-
-    private static final int MAX_FRAGMENT_VIEW_COUNT = 2;
-
-    private boolean mEnableSwipe;
-
-    private int mCurrentPage = ABOUT_PAGE;
-    private int mLastScrollPosition;
-
-    private FrameLayoutWithOverlay mAboutFragment;
-    private FrameLayoutWithOverlay mUpdatesFragment;
-
-    public ContactDetailFragmentCarousel(Context context) {
-        this(context, null);
-    }
-
-    public ContactDetailFragmentCarousel(Context context, AttributeSet attrs) {
-        this(context, attrs, 0);
-    }
-
-    public ContactDetailFragmentCarousel(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-
-        final LayoutInflater inflater =
-                (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-        inflater.inflate(R.layout.contact_detail_fragment_carousel, this);
-
-        setOnTouchListener(this);
-    }
-
-    @Override
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        int screenWidth = MeasureSpec.getSize(widthMeasureSpec);
-        int screenHeight = MeasureSpec.getSize(heightMeasureSpec);
-
-        // Take the width of this view as the width of the screen and compute necessary thresholds.
-        // Only do this computation 1x.
-        if (mAllowedHorizontalScrollLength == Integer.MIN_VALUE) {
-            mMinFragmentWidth = (int) (FRAGMENT_WIDTH_SCREEN_WIDTH_FRACTION * screenWidth);
-            mAllowedHorizontalScrollLength = (MAX_FRAGMENT_VIEW_COUNT * mMinFragmentWidth) -
-                    screenWidth;
-            mLowerThreshold = (screenWidth - mMinFragmentWidth) / MAX_FRAGMENT_VIEW_COUNT;
-            mUpperThreshold = mAllowedHorizontalScrollLength - mLowerThreshold;
-        }
-
-        if (getChildCount() > 0) {
-            View child = getChildAt(0);
-            // If we enable swipe, then the {@link LinearLayout} child width must be the sum of the
-            // width of all its children fragments.
-            // Or the current page may already be set to something other than the first.  If so,
-            // it also means there are multiple child fragments.
-            if (mEnableSwipe || mCurrentPage == 1 ||
-                    (mCurrentPage == 0 && getLayoutDirection() == View.LAYOUT_DIRECTION_RTL)) {
-                child.measure(MeasureSpec.makeMeasureSpec(
-                        mMinFragmentWidth * MAX_FRAGMENT_VIEW_COUNT, MeasureSpec.EXACTLY),
-                        MeasureSpec.makeMeasureSpec(screenHeight, MeasureSpec.EXACTLY));
-            } else {
-                // Otherwise, the {@link LinearLayout} child width will just be the screen width
-                // because it will only have 1 child fragment.
-                child.measure(MeasureSpec.makeMeasureSpec(screenWidth, MeasureSpec.EXACTLY),
-                        MeasureSpec.makeMeasureSpec(screenHeight, MeasureSpec.EXACTLY));
-            }
-        }
-
-        setMeasuredDimension(
-                resolveSize(screenWidth, widthMeasureSpec),
-                resolveSize(screenHeight, heightMeasureSpec));
-    }
-
-    /**
-     * Set the current page. This dims out the non-selected page but doesn't do any scrolling of
-     * the carousel.
-     */
-    public void setCurrentPage(int pageIndex) {
-        mCurrentPage = pageIndex;
-
-        updateTouchInterceptors();
-    }
-
-    /**
-     * Set the view containers for the detail and updates fragment.
-     */
-    public void setFragmentViews(FrameLayoutWithOverlay about, FrameLayoutWithOverlay updates) {
-        mAboutFragment = about;
-        mUpdatesFragment = updates;
-
-        mAboutFragment.setOverlayOnClickListener(mAboutFragTouchInterceptListener);
-        mUpdatesFragment.setOverlayOnClickListener(mUpdatesFragTouchInterceptListener);
-    }
-
-    /**
-     * Enable swiping if the detail and update fragments should be showing. Otherwise disable
-     * swiping if only the detail fragment should be showing.
-     */
-    public void enableSwipe(boolean enable) {
-        if (mEnableSwipe != enable) {
-            mEnableSwipe = enable;
-            if (mUpdatesFragment != null) {
-                mUpdatesFragment.setVisibility(enable ? View.VISIBLE : View.GONE);
-                snapToEdge();
-                updateTouchInterceptors();
-            }
-        }
-    }
-
-    /**
-     * Reset the fragment carousel to show the about page.
-     */
-    public void reset() {
-        if (mCurrentPage != ABOUT_PAGE) {
-            mCurrentPage = ABOUT_PAGE;
-            snapToEdgeSmooth();
-        }
-    }
-
-    public int getCurrentPage() {
-        return mCurrentPage;
-    }
-
-    private final OnClickListener mAboutFragTouchInterceptListener = new OnClickListener() {
-        @Override
-        public void onClick(View v) {
-            mCurrentPage = ABOUT_PAGE;
-            snapToEdgeSmooth();
-        }
-    };
-
-    private final OnClickListener mUpdatesFragTouchInterceptListener = new OnClickListener() {
-        @Override
-        public void onClick(View v) {
-            mCurrentPage = UPDATES_PAGE;
-            snapToEdgeSmooth();
-        }
-    };
-
-    private void updateTouchInterceptors() {
-        // Disable the touch-interceptor on the selected page, and enable it on the other.
-        if (mAboutFragment != null) {
-            mAboutFragment.setOverlayClickable(mCurrentPage != ABOUT_PAGE);
-        }
-        if (mUpdatesFragment != null) {
-            mUpdatesFragment.setOverlayClickable(mCurrentPage != UPDATES_PAGE);
-        }
-    }
-
-    @Override
-    protected void onScrollChanged(int l, int t, int oldl, int oldt) {
-        super.onScrollChanged(l, t, oldl, oldt);
-        if (!mEnableSwipe) {
-            return;
-        }
-        mLastScrollPosition = l;
-    }
-
-    /**
-     * Used to set initial scroll offset.  Not smooth.
-     */
-    private void snapToEdge() {
-        setScrollX(calculateHorizontalOffset());
-        updateTouchInterceptors();
-    }
-
-    /**
-     * Smooth version of snapToEdge().
-     */
-    private void snapToEdgeSmooth() {
-        smoothScrollTo(calculateHorizontalOffset(), 0);
-        updateTouchInterceptors();
-    }
-
-    private int calculateHorizontalOffset() {
-        int offset;
-        if (getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
-            offset = (mCurrentPage == ABOUT_PAGE) ? mAllowedHorizontalScrollLength : 0;
-        } else {
-            offset = (mCurrentPage == ABOUT_PAGE) ? 0 : mAllowedHorizontalScrollLength;
-        }
-        return offset;
-    }
-
-    /**
-     * Returns the desired page we should scroll to based on the current X scroll position and the
-     * current page.
-     */
-    private int getDesiredPage() {
-        switch (mCurrentPage) {
-            case ABOUT_PAGE:
-                if (getLayoutDirection() == View.LAYOUT_DIRECTION_LTR) {
-                    // If the user is on the "about" page, and the scroll position exceeds the lower
-                    // threshold, then we should switch to the "updates" page.
-                    return (mLastScrollPosition > mLowerThreshold) ? UPDATES_PAGE : ABOUT_PAGE;
-                } else {
-                    return (mLastScrollPosition < mUpperThreshold) ? UPDATES_PAGE : ABOUT_PAGE;
-                }
-            case UPDATES_PAGE:
-                if (getLayoutDirection() == View.LAYOUT_DIRECTION_LTR) {
-                    // If the user is on the "updates" page, and the scroll position goes below the
-                    // upper threshold, then we should switch to the "about" page.
-                    return (mLastScrollPosition < mUpperThreshold) ? ABOUT_PAGE : UPDATES_PAGE;
-                } else {
-                    return (mLastScrollPosition > mLowerThreshold) ? ABOUT_PAGE : UPDATES_PAGE;
-                }
-        }
-        throw new IllegalStateException("Invalid current page " + mCurrentPage);
-    }
-
-    @Override
-    public boolean onTouch(View v, MotionEvent event) {
-        if (!mEnableSwipe) {
-            return false;
-        }
-        if (event.getAction() == MotionEvent.ACTION_UP) {
-            mCurrentPage = getDesiredPage();
-            snapToEdgeSmooth();
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Starts an "appear" animation by moving in the "Updates" from the right.
-     */
-    public void animateAppear() {
-        final int x = Math.round((1.0f - FRAGMENT_WIDTH_SCREEN_WIDTH_FRACTION) * getWidth());
-        mUpdatesFragment.setTranslationX(x);
-        final ViewPropertyAnimator animator = mUpdatesFragment.animate();
-        animator.translationX(0.0f);
-    }
-}
diff --git a/src/com/android/contacts/detail/ContactDetailLayoutController.java b/src/com/android/contacts/detail/ContactDetailLayoutController.java
deleted file mode 100644
index 1ee31a5..0000000
--- a/src/com/android/contacts/detail/ContactDetailLayoutController.java
+++ /dev/null
@@ -1,742 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.detail;
-
-import android.animation.Animator;
-import android.animation.Animator.AnimatorListener;
-import android.animation.ObjectAnimator;
-import android.app.Activity;
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
-import android.content.Context;
-import android.net.Uri;
-import android.os.Bundle;
-import android.support.v4.view.ViewPager;
-import android.support.v4.view.ViewPager.OnPageChangeListener;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewPropertyAnimator;
-import android.view.animation.AnimationUtils;
-import android.widget.AbsListView;
-import android.widget.AbsListView.OnScrollListener;
-
-import com.android.contacts.NfcHandler;
-import com.android.contacts.R;
-import com.android.contacts.activities.ContactDetailActivity.FragmentKeyListener;
-import com.android.contacts.common.model.Contact;
-import com.android.contacts.util.PhoneCapabilityTester;
-import com.android.contacts.common.util.UriUtils;
-import com.android.contacts.widget.FrameLayoutWithOverlay;
-import com.android.contacts.widget.TransitionAnimationView;
-
-/**
- * Determines the layout of the contact card.
- */
-public class ContactDetailLayoutController {
-
-    private static final String KEY_CONTACT_URI = "contactUri";
-    private static final String KEY_CONTACT_HAS_UPDATES = "contactHasUpdates";
-    private static final String KEY_CURRENT_PAGE_INDEX = "currentPageIndex";
-
-    private static final int TAB_INDEX_DETAIL = 0;
-    private static final int TAB_INDEX_UPDATES = 1;
-
-    private final int SINGLE_PANE_FADE_IN_DURATION = 275;
-
-    /**
-     * There are 4 possible layouts for the contact detail screen: TWO_COLUMN,
-     * VIEW_PAGER_AND_TAB_CAROUSEL, FRAGMENT_CAROUSEL, and TWO_COLUMN_FRAGMENT_CAROUSEL.
-     */
-    private interface LayoutMode {
-        /**
-         * Tall and wide screen with details and updates shown side-by-side.
-         */
-        static final int TWO_COLUMN = 0;
-        /**
-         * Tall and narrow screen to allow swipe between the details and updates.
-         */
-        static final int VIEW_PAGER_AND_TAB_CAROUSEL = 1;
-        /**
-         * Short and wide screen to allow part of the other page to show.
-         */
-        static final int FRAGMENT_CAROUSEL = 2;
-        /**
-         * Same as FRAGMENT_CAROUSEL (allowing part of the other page to show) except the details
-         * layout is similar to the details layout in TWO_COLUMN mode.
-         */
-        static final int TWO_COLUMN_FRAGMENT_CAROUSEL = 3;
-    }
-
-    private final Activity mActivity;
-    private final LayoutInflater mLayoutInflater;
-    private final FragmentManager mFragmentManager;
-
-    private final View mViewContainer;
-    private final TransitionAnimationView mTransitionAnimationView;
-    private ContactDetailFragment mDetailFragment;
-    private ContactDetailUpdatesFragment mUpdatesFragment;
-
-    private View mDetailFragmentView;
-    private View mUpdatesFragmentView;
-
-    private final ViewPager mViewPager;
-    private ContactDetailViewPagerAdapter mViewPagerAdapter;
-    private int mViewPagerState;
-
-    private final ContactDetailTabCarousel mTabCarousel;
-    private final ContactDetailFragmentCarousel mFragmentCarousel;
-
-    private final ContactDetailFragment.Listener mContactDetailFragmentListener;
-
-    private Contact mContactData;
-    private Uri mContactUri;
-
-    private boolean mTabCarouselIsAnimating;
-
-    private boolean mContactHasUpdates;
-
-    private int mLayoutMode;
-
-    public ContactDetailLayoutController(Activity activity, Bundle savedState,
-            FragmentManager fragmentManager, TransitionAnimationView animationView,
-            View viewContainer, ContactDetailFragment.Listener contactDetailFragmentListener) {
-
-        if (fragmentManager == null) {
-            throw new IllegalStateException("Cannot initialize a ContactDetailLayoutController "
-                    + "without a non-null FragmentManager");
-        }
-
-        mActivity = activity;
-        mLayoutInflater = (LayoutInflater) activity.getSystemService(
-                Context.LAYOUT_INFLATER_SERVICE);
-        mFragmentManager = fragmentManager;
-        mContactDetailFragmentListener = contactDetailFragmentListener;
-
-        mTransitionAnimationView = animationView;
-
-        // Retrieve views in case this is view pager and carousel mode
-        mViewContainer = viewContainer;
-
-        mViewPager = (ViewPager) viewContainer.findViewById(R.id.pager);
-        mTabCarousel = (ContactDetailTabCarousel) viewContainer.findViewById(R.id.tab_carousel);
-
-        // Retrieve view in case this is in fragment carousel mode
-        mFragmentCarousel = (ContactDetailFragmentCarousel) viewContainer.findViewById(
-                R.id.fragment_carousel);
-
-        // Retrieve container views in case they are already in the XML layout
-        mDetailFragmentView = viewContainer.findViewById(R.id.about_fragment_container);
-        mUpdatesFragmentView = viewContainer.findViewById(R.id.updates_fragment_container);
-
-        // Determine the layout mode based on the presence of certain views in the layout XML.
-        if (mViewPager != null) {
-            mLayoutMode = LayoutMode.VIEW_PAGER_AND_TAB_CAROUSEL;
-        } else if (mFragmentCarousel != null) {
-            if (PhoneCapabilityTester.isUsingTwoPanes(mActivity)) {
-                mLayoutMode = LayoutMode.TWO_COLUMN_FRAGMENT_CAROUSEL;
-            } else {
-                mLayoutMode = LayoutMode.FRAGMENT_CAROUSEL;
-            }
-        } else {
-            mLayoutMode = LayoutMode.TWO_COLUMN;
-        }
-
-        initialize(savedState);
-    }
-
-    private void initialize(Bundle savedState) {
-        boolean fragmentsAddedToFragmentManager = true;
-        mDetailFragment = (ContactDetailFragment) mFragmentManager.findFragmentByTag(
-                ContactDetailViewPagerAdapter.ABOUT_FRAGMENT_TAG);
-        mUpdatesFragment = (ContactDetailUpdatesFragment) mFragmentManager.findFragmentByTag(
-                ContactDetailViewPagerAdapter.UPDATES_FRAGMENT_TAG);
-
-        // If the detail fragment was found in the {@link FragmentManager} then we don't need to add
-        // it again. Otherwise, create the fragments dynamically and remember to add them to the
-        // {@link FragmentManager}.
-        if (mDetailFragment == null) {
-            mDetailFragment = new ContactDetailFragment();
-            mUpdatesFragment = new ContactDetailUpdatesFragment();
-            fragmentsAddedToFragmentManager = false;
-        }
-
-        mDetailFragment.setListener(mContactDetailFragmentListener);
-        NfcHandler.register(mActivity, mDetailFragment);
-
-        // Read from savedState if possible
-        int currentPageIndex = 0;
-        if (savedState != null) {
-            mContactUri = savedState.getParcelable(KEY_CONTACT_URI);
-            mContactHasUpdates = savedState.getBoolean(KEY_CONTACT_HAS_UPDATES);
-            currentPageIndex = savedState.getInt(KEY_CURRENT_PAGE_INDEX, 0);
-        }
-
-        switch (mLayoutMode) {
-            case LayoutMode.VIEW_PAGER_AND_TAB_CAROUSEL: {
-                // Inflate 2 view containers to pass in as children to the {@link ViewPager},
-                // which will in turn be the parents to the mDetailFragment and mUpdatesFragment
-                // since the fragments must have the same parent view IDs in both landscape and
-                // portrait layouts.
-                mDetailFragmentView = mLayoutInflater.inflate(
-                        R.layout.contact_detail_about_fragment_container, mViewPager, false);
-                mUpdatesFragmentView = mLayoutInflater.inflate(
-                        R.layout.contact_detail_updates_fragment_container, mViewPager, false);
-
-                mViewPagerAdapter = new ContactDetailViewPagerAdapter();
-                mViewPagerAdapter.setAboutFragmentView(mDetailFragmentView);
-                mViewPagerAdapter.setUpdatesFragmentView(mUpdatesFragmentView);
-
-                mViewPager.addView(mDetailFragmentView);
-                mViewPager.addView(mUpdatesFragmentView);
-                mViewPager.setAdapter(mViewPagerAdapter);
-                mViewPager.setOnPageChangeListener(mOnPageChangeListener);
-
-                if (!fragmentsAddedToFragmentManager) {
-                    FragmentTransaction transaction = mFragmentManager.beginTransaction();
-                    transaction.add(R.id.about_fragment_container, mDetailFragment,
-                            ContactDetailViewPagerAdapter.ABOUT_FRAGMENT_TAG);
-                    transaction.add(R.id.updates_fragment_container, mUpdatesFragment,
-                            ContactDetailViewPagerAdapter.UPDATES_FRAGMENT_TAG);
-                    transaction.commitAllowingStateLoss();
-                    mFragmentManager.executePendingTransactions();
-                }
-
-                mTabCarousel.setListener(mTabCarouselListener);
-                mTabCarousel.restoreCurrentTab(currentPageIndex);
-                mDetailFragment.setVerticalScrollListener(
-                        new VerticalScrollListener(TAB_INDEX_DETAIL));
-                mUpdatesFragment.setVerticalScrollListener(
-                        new VerticalScrollListener(TAB_INDEX_UPDATES));
-                mViewPager.setCurrentItem(currentPageIndex);
-                break;
-            }
-            case LayoutMode.TWO_COLUMN: {
-                if (!fragmentsAddedToFragmentManager) {
-                    FragmentTransaction transaction = mFragmentManager.beginTransaction();
-                    transaction.add(R.id.about_fragment_container, mDetailFragment,
-                            ContactDetailViewPagerAdapter.ABOUT_FRAGMENT_TAG);
-                    transaction.add(R.id.updates_fragment_container, mUpdatesFragment,
-                            ContactDetailViewPagerAdapter.UPDATES_FRAGMENT_TAG);
-                    transaction.commitAllowingStateLoss();
-                    mFragmentManager.executePendingTransactions();
-                }
-                break;
-            }
-            case LayoutMode.FRAGMENT_CAROUSEL:
-            case LayoutMode.TWO_COLUMN_FRAGMENT_CAROUSEL: {
-                // Add the fragments to the fragment containers in the carousel using a
-                // {@link FragmentTransaction} if they haven't already been added to the
-                // {@link FragmentManager}.
-                if (!fragmentsAddedToFragmentManager) {
-                    FragmentTransaction transaction = mFragmentManager.beginTransaction();
-                    transaction.add(R.id.about_fragment_container, mDetailFragment,
-                            ContactDetailViewPagerAdapter.ABOUT_FRAGMENT_TAG);
-                    transaction.add(R.id.updates_fragment_container, mUpdatesFragment,
-                            ContactDetailViewPagerAdapter.UPDATES_FRAGMENT_TAG);
-                    transaction.commitAllowingStateLoss();
-                    mFragmentManager.executePendingTransactions();
-                }
-
-                mFragmentCarousel.setFragmentViews(
-                        (FrameLayoutWithOverlay) mDetailFragmentView,
-                        (FrameLayoutWithOverlay) mUpdatesFragmentView);
-                mFragmentCarousel.setCurrentPage(currentPageIndex);
-
-                break;
-            }
-        }
-
-        // Setup the layout if we already have a saved state
-        if (savedState != null) {
-            if (mContactHasUpdates) {
-                showContactWithUpdates(false);
-            } else {
-                showContactWithoutUpdates();
-            }
-        }
-    }
-
-    public void setContactData(Contact data) {
-        final boolean contactWasLoaded;
-        final boolean contactHadUpdates;
-        final boolean isDifferentContact;
-        if (mContactData == null) {
-            contactHadUpdates = false;
-            contactWasLoaded = false;
-            isDifferentContact = true;
-        } else {
-            contactHadUpdates = mContactHasUpdates;
-            contactWasLoaded = true;
-            isDifferentContact =
-                    !UriUtils.areEqual(mContactData.getLookupUri(), data.getLookupUri());
-        }
-        mContactData = data;
-
-        if (PhoneCapabilityTester.isUsingTwoPanes(mActivity)) {
-            // Tablet: If we already showed data before, we want to cross-fade from screen to screen
-            if (contactWasLoaded && mTransitionAnimationView != null && isDifferentContact) {
-                mTransitionAnimationView.startMaskTransition(mContactData == null, -1);
-            }
-        } else {
-            // Small screen: We are on our own screen. Fade the data in, but only the first time
-            if (!contactWasLoaded) {
-                mViewContainer.setAlpha(0.0f);
-                final ViewPropertyAnimator animator = mViewContainer.animate();
-                animator.alpha(1.0f);
-                animator.setDuration(SINGLE_PANE_FADE_IN_DURATION);
-            }
-        }
-
-        showContactWithoutUpdates();
-    }
-
-    public void showEmptyState() {
-        switch (mLayoutMode) {
-            case LayoutMode.FRAGMENT_CAROUSEL: {
-                mFragmentCarousel.setCurrentPage(0);
-                mFragmentCarousel.enableSwipe(false);
-                mDetailFragment.showEmptyState();
-                break;
-            }
-            case LayoutMode.TWO_COLUMN: {
-                mDetailFragment.setShowStaticPhoto(false);
-                mUpdatesFragmentView.setVisibility(View.GONE);
-                mDetailFragment.showEmptyState();
-                break;
-            }
-            case LayoutMode.TWO_COLUMN_FRAGMENT_CAROUSEL: {
-                mFragmentCarousel.setCurrentPage(0);
-                mFragmentCarousel.enableSwipe(false);
-                mDetailFragment.setShowStaticPhoto(false);
-                mUpdatesFragmentView.setVisibility(View.GONE);
-                mDetailFragment.showEmptyState();
-                break;
-            }
-            case LayoutMode.VIEW_PAGER_AND_TAB_CAROUSEL: {
-                mDetailFragment.setShowStaticPhoto(false);
-                mDetailFragment.showEmptyState();
-                mTabCarousel.loadData(null);
-                mTabCarousel.setVisibility(View.GONE);
-                mViewPagerAdapter.enableSwipe(false);
-                mViewPager.setCurrentItem(0);
-                break;
-            }
-            default:
-                throw new IllegalStateException("Invalid LayoutMode " + mLayoutMode);
-        }
-    }
-
-    /**
-     * Setup the layout for the contact with updates.
-     * TODO: Clean up this method so it's easier to understand.
-     */
-    private void showContactWithUpdates(boolean animateStateChange) {
-        if (mContactData == null) {
-            return;
-        }
-
-        Uri previousContactUri = mContactUri;
-        mContactUri = mContactData.getLookupUri();
-        boolean isDifferentContact = !UriUtils.areEqual(previousContactUri, mContactUri);
-
-        switch (mLayoutMode) {
-            case LayoutMode.TWO_COLUMN: {
-                if (!isDifferentContact && animateStateChange) {
-                    // This is screen is very hard to animate properly, because there is such a hard
-                    // cut from the regular version. A proper animation would have to reflow text
-                    // and move things around. Doing a simple cross-fade instead.
-                    mTransitionAnimationView.startMaskTransition(false, -1);
-                }
-
-                // Set the contact data (hide the static photo because the photo will already be in
-                // the header that scrolls with contact details).
-                mDetailFragment.setShowStaticPhoto(false);
-                // Show the updates fragment
-                mUpdatesFragmentView.setVisibility(View.VISIBLE);
-                break;
-            }
-            case LayoutMode.VIEW_PAGER_AND_TAB_CAROUSEL: {
-                // Update and show the tab carousel (also restore its last saved position)
-                mTabCarousel.loadData(mContactData);
-                mTabCarousel.restoreYCoordinate();
-                mTabCarousel.setVisibility(View.VISIBLE);
-                // Update ViewPager to allow swipe between all the fragments (to see updates)
-                mViewPagerAdapter.enableSwipe(true);
-                // If this is a different contact than before, then reset some views.
-                if (isDifferentContact) {
-                    resetViewPager();
-                    resetTabCarousel();
-                }
-                if (!isDifferentContact && animateStateChange) {
-                    mTabCarousel.animateAppear(mViewContainer.getWidth(),
-                            mDetailFragment.getFirstListItemOffset());
-                }
-                break;
-            }
-            case LayoutMode.FRAGMENT_CAROUSEL: {
-                // Allow swiping between all fragments
-                mFragmentCarousel.enableSwipe(true);
-                if (!isDifferentContact && animateStateChange) {
-                    mFragmentCarousel.animateAppear();
-                }
-                break;
-            }
-            case LayoutMode.TWO_COLUMN_FRAGMENT_CAROUSEL: {
-                // Allow swiping between all fragments
-                mFragmentCarousel.enableSwipe(true);
-                if (isDifferentContact) {
-                    mFragmentCarousel.reset();
-                }
-                if (!isDifferentContact && animateStateChange) {
-                    mFragmentCarousel.animateAppear();
-                }
-                mDetailFragment.setShowStaticPhoto(false);
-                break;
-            }
-            default:
-                throw new IllegalStateException("Invalid LayoutMode " + mLayoutMode);
-        }
-
-        if (isDifferentContact) {
-            resetFragments();
-        }
-
-        mDetailFragment.setData(mContactUri, mContactData);
-        mUpdatesFragment.setData(mContactUri, mContactData);
-    }
-
-    /**
-     * Setup the layout for the contact without updates.
-     * TODO: Clean up this method so it's easier to understand.
-     */
-    private void showContactWithoutUpdates() {
-        if (mContactData == null) {
-            return;
-        }
-
-        Uri previousContactUri = mContactUri;
-        mContactUri = mContactData.getLookupUri();
-        boolean isDifferentContact = !UriUtils.areEqual(previousContactUri, mContactUri);
-
-        switch (mLayoutMode) {
-            case LayoutMode.TWO_COLUMN:
-                // Show the static photo which is next to the list of scrolling contact details
-                mDetailFragment.setShowStaticPhoto(true);
-                // Hide the updates fragment
-                mUpdatesFragmentView.setVisibility(View.GONE);
-                break;
-            case LayoutMode.VIEW_PAGER_AND_TAB_CAROUSEL:
-                // Hide the tab carousel
-                mTabCarousel.setVisibility(View.GONE);
-                // Update ViewPager to disable swipe so that it only shows the detail fragment
-                // and switch to the detail fragment
-                mViewPagerAdapter.enableSwipe(false);
-                mViewPager.setCurrentItem(0, false /* smooth transition */);
-                break;
-            case LayoutMode.FRAGMENT_CAROUSEL:
-                // Disable swipe so only the detail fragment shows
-                mFragmentCarousel.setCurrentPage(0);
-                mFragmentCarousel.enableSwipe(false);
-                break;
-            case LayoutMode.TWO_COLUMN_FRAGMENT_CAROUSEL:
-                mFragmentCarousel.setCurrentPage(0);
-                mFragmentCarousel.enableSwipe(false);
-                mDetailFragment.setShowStaticPhoto(true);
-                break;
-            default:
-                throw new IllegalStateException("Invalid LayoutMode " + mLayoutMode);
-        }
-
-        if (isDifferentContact) {
-            resetFragments();
-        }
-
-        mDetailFragment.setData(mContactUri, mContactData);
-    }
-
-    private void resetTabCarousel() {
-        mTabCarousel.reset();
-    }
-
-    private void resetViewPager() {
-        mViewPager.setCurrentItem(0, false /* smooth transition */);
-    }
-
-    private void resetFragments() {
-        mDetailFragment.resetAdapter();
-        mUpdatesFragment.resetAdapter();
-    }
-
-    public FragmentKeyListener getCurrentPage() {
-        switch (getCurrentPageIndex()) {
-            case 0:
-                return mDetailFragment;
-            case 1:
-                return mUpdatesFragment;
-            default:
-                throw new IllegalStateException("Invalid current item for ViewPager");
-        }
-    }
-
-    private int getCurrentPageIndex() {
-        // If the contact has social updates, then retrieve the current page based on the
-        // {@link ViewPager} or fragment carousel.
-        if (mContactHasUpdates) {
-            if (mViewPager != null) {
-                return mViewPager.getCurrentItem();
-            } else if (mFragmentCarousel != null) {
-                return mFragmentCarousel.getCurrentPage();
-            }
-        }
-        // Otherwise return the default page (detail fragment).
-        return 0;
-    }
-
-    public void onSaveInstanceState(Bundle outState) {
-        outState.putParcelable(KEY_CONTACT_URI, mContactUri);
-        outState.putBoolean(KEY_CONTACT_HAS_UPDATES, mContactHasUpdates);
-        outState.putInt(KEY_CURRENT_PAGE_INDEX, getCurrentPageIndex());
-    }
-
-    private final OnPageChangeListener mOnPageChangeListener = new OnPageChangeListener() {
-
-        private ObjectAnimator mTabCarouselAnimator;
-
-        @Override
-        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
-            // The user is horizontally dragging the {@link ViewPager}, so send
-            // these scroll changes to the tab carousel. Ignore these events though if the carousel
-            // is actually controlling the {@link ViewPager} scrolls because it will already be
-            // in the correct position.
-            if (mViewPager.isFakeDragging()) return;
-
-            int x = (int) ((position + positionOffset) *
-                    mTabCarousel.getAllowedHorizontalScrollLength());
-            mTabCarousel.scrollTo(x, 0);
-        }
-
-        @Override
-        public void onPageSelected(int position) {
-            // Since the {@link ViewPager} has committed to a new page now (but may not have
-            // finished scrolling yet), update the tab selection in the carousel.
-            mTabCarousel.setCurrentTab(position);
-        }
-
-        @Override
-        public void onPageScrollStateChanged(int state) {
-            if (mViewPagerState == ViewPager.SCROLL_STATE_IDLE) {
-
-                // If we are leaving the IDLE state, we are starting a swipe.
-                // First cancel any pending animations on the tab carousel.
-                cancelTabCarouselAnimator();
-
-                // Sync the two lists because the list on the other page will start to show as
-                // we swipe over more.
-                syncScrollStateBetweenLists(mViewPager.getCurrentItem());
-
-            } else if (state == ViewPager.SCROLL_STATE_IDLE) {
-
-                // Otherwise if the {@link ViewPager} is idle now, a page has been selected and
-                // scrolled into place. Perform an animation of the tab carousel is needed.
-                int currentPageIndex = mViewPager.getCurrentItem();
-                int tabCarouselOffset = (int) mTabCarousel.getY();
-                boolean shouldAnimateTabCarousel;
-
-                // Find the offset position of the first item in the list of the current page.
-                int listOffset = getOffsetOfFirstItemInList(currentPageIndex);
-
-                // If the list was able to successfully offset by the tab carousel amount, then
-                // log this as the new Y coordinate for that page, and no animation is needed.
-                if (listOffset == tabCarouselOffset) {
-                    mTabCarousel.storeYCoordinate(currentPageIndex, tabCarouselOffset);
-                    shouldAnimateTabCarousel = false;
-                } else if (listOffset == Integer.MIN_VALUE) {
-                    // If the offset of the first item in the list is unknown (i.e. the item
-                    // is no longer visible on screen) then just animate the tab carousel to the
-                    // previously logged position.
-                    shouldAnimateTabCarousel = true;
-                } else if (Math.abs(listOffset) < Math.abs(tabCarouselOffset)) {
-                    // If the list could not offset the full amount of the tab carousel offset (i.e.
-                    // the list can only be scrolled a tiny amount), then animate the carousel down
-                    // to compensate.
-                    mTabCarousel.storeYCoordinate(currentPageIndex, listOffset);
-                    shouldAnimateTabCarousel = true;
-                } else {
-                    // By default, animate back to the Y coordinate of the tab carousel the last
-                    // time the other page was selected.
-                    shouldAnimateTabCarousel = true;
-                }
-
-                if (shouldAnimateTabCarousel) {
-                    float desiredOffset = mTabCarousel.getStoredYCoordinateForTab(currentPageIndex);
-                    if (desiredOffset != tabCarouselOffset) {
-                        createTabCarouselAnimator(desiredOffset);
-                        mTabCarouselAnimator.start();
-                    }
-                }
-            }
-            mViewPagerState = state;
-        }
-
-        private void createTabCarouselAnimator(float desiredValue) {
-            mTabCarouselAnimator = ObjectAnimator.ofFloat(
-                    mTabCarousel, "y", desiredValue).setDuration(75);
-            mTabCarouselAnimator.setInterpolator(AnimationUtils.loadInterpolator(
-                    mActivity, android.R.anim.accelerate_decelerate_interpolator));
-            mTabCarouselAnimator.addListener(mTabCarouselAnimatorListener);
-        }
-
-        private void cancelTabCarouselAnimator() {
-            if (mTabCarouselAnimator != null) {
-                mTabCarouselAnimator.cancel();
-                mTabCarouselAnimator = null;
-                mTabCarouselIsAnimating = false;
-            }
-        }
-    };
-
-    private void syncScrollStateBetweenLists(int currentPageIndex) {
-        // Since the user interacted with the currently visible page, we need to sync the
-        // list on the other page (i.e. if the updates page is the current page, modify the
-        // list in the details page).
-        if (currentPageIndex == TAB_INDEX_UPDATES) {
-            mDetailFragment.requestToMoveToOffset((int) mTabCarousel.getY());
-        } else {
-            mUpdatesFragment.requestToMoveToOffset((int) mTabCarousel.getY());
-        }
-    }
-
-    private int getOffsetOfFirstItemInList(int currentPageIndex) {
-        if (currentPageIndex == TAB_INDEX_DETAIL) {
-            return mDetailFragment.getFirstListItemOffset();
-        } else {
-            return mUpdatesFragment.getFirstListItemOffset();
-        }
-    }
-
-    /**
-     * This listener keeps track of whether the tab carousel animation is currently going on or not,
-     * in order to prevent other simultaneous changes to the Y position of the tab carousel which
-     * can cause flicker.
-     */
-    private final AnimatorListener mTabCarouselAnimatorListener = new AnimatorListener() {
-
-        @Override
-        public void onAnimationCancel(Animator animation) {
-            mTabCarouselIsAnimating = false;
-        }
-
-        @Override
-        public void onAnimationEnd(Animator animation) {
-            mTabCarouselIsAnimating = false;
-        }
-
-        @Override
-        public void onAnimationRepeat(Animator animation) {
-            mTabCarouselIsAnimating = true;
-        }
-
-        @Override
-        public void onAnimationStart(Animator animation) {
-            mTabCarouselIsAnimating = true;
-        }
-    };
-
-    private final ContactDetailTabCarousel.Listener mTabCarouselListener
-            = new ContactDetailTabCarousel.Listener() {
-
-        @Override
-        public void onTouchDown() {
-            // The user just started scrolling the carousel, so begin
-            // "fake dragging" the {@link ViewPager} if it's not already
-            // doing so.
-            if (!mViewPager.isFakeDragging()) mViewPager.beginFakeDrag();
-        }
-
-        @Override
-        public void onTouchUp() {
-            // The user just stopped scrolling the carousel, so stop
-            // "fake dragging" the {@link ViewPager} if it was doing so
-            // before.
-            if (mViewPager.isFakeDragging()) mViewPager.endFakeDrag();
-        }
-
-        @Override
-        public void onScrollChanged(int l, int t, int oldl, int oldt) {
-            // The user is scrolling the carousel, so send the scroll
-            // deltas to the {@link ViewPager} so it can move in sync.
-            if (mViewPager.isFakeDragging()) {
-                mViewPager.fakeDragBy(oldl - l);
-            }
-        }
-
-        @Override
-        public void onTabSelected(int position) {
-            // The user selected a tab, so update the {@link ViewPager}
-            mViewPager.setCurrentItem(position);
-        }
-    };
-
-    private final class VerticalScrollListener implements OnScrollListener {
-
-        private final int mPageIndex;
-
-        public VerticalScrollListener(int pageIndex) {
-            mPageIndex = pageIndex;
-        }
-
-        @Override
-        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount,
-                int totalItemCount) {
-            int currentPageIndex = mViewPager.getCurrentItem();
-            // Don't move the carousel if: 1) the contact does not have social updates because then
-            // tab carousel must not be visible, 2) if the view pager is still being scrolled,
-            // 3) if the current page being viewed is not this one, or 4) if the tab carousel
-            // is already being animated vertically.
-            if (!mContactHasUpdates || mViewPagerState != ViewPager.SCROLL_STATE_IDLE ||
-                    mPageIndex != currentPageIndex || mTabCarouselIsAnimating) {
-                return;
-            }
-            // If the FIRST item is not visible on the screen, then the carousel must be pinned
-            // at the top of the screen.
-            if (firstVisibleItem != 0) {
-                mTabCarousel.moveToYCoordinate(mPageIndex,
-                        -mTabCarousel.getAllowedVerticalScrollLength());
-                return;
-            }
-            View topView = view.getChildAt(firstVisibleItem);
-            if (topView == null) {
-                return;
-            }
-            int amtToScroll = Math.max((int) view.getChildAt(firstVisibleItem).getY(),
-                    -mTabCarousel.getAllowedVerticalScrollLength());
-            mTabCarousel.moveToYCoordinate(mPageIndex, amtToScroll);
-        }
-
-        @Override
-        public void onScrollStateChanged(AbsListView view, int scrollState) {
-            // Once the list has become IDLE, check if we need to sync the scroll position of
-            // the other list now. This will make swiping faster by doing the re-layout now
-            // (instead of at the start of a swipe). However, there will still be another check
-            // when we start swiping if the scroll positions are correct (to catch the edge case
-            // where the user flings and immediately starts a swipe so we never get the idle state).
-            if (scrollState == SCROLL_STATE_IDLE) {
-                syncScrollStateBetweenLists(mPageIndex);
-            }
-        }
-    }
-}
diff --git a/src/com/android/contacts/detail/ContactDetailTabCarousel.java b/src/com/android/contacts/detail/ContactDetailTabCarousel.java
deleted file mode 100644
index 25bcac6..0000000
--- a/src/com/android/contacts/detail/ContactDetailTabCarousel.java
+++ /dev/null
@@ -1,516 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.detail;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.util.TypedValue;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.View.OnTouchListener;
-import android.view.ViewPropertyAnimator;
-import android.widget.HorizontalScrollView;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.android.contacts.R;
-import com.android.contacts.common.model.Contact;
-import com.android.contacts.util.MoreMath;
-import com.android.contacts.util.SchedulingUtils;
-
-/**
- * This is a horizontally scrolling carousel with 2 tabs: one to see info about the contact and
- * one to see updates from the contact.
- */
-public class ContactDetailTabCarousel extends HorizontalScrollView implements OnTouchListener {
-
-    private static final String TAG = ContactDetailTabCarousel.class.getSimpleName();
-
-    private static final int TRANSITION_TIME = 200;
-    private static final int TRANSITION_MOVE_IN_TIME = 150;
-
-    private static final int TAB_INDEX_ABOUT = 0;
-    private static final int TAB_INDEX_UPDATES = 1;
-    private static final int TAB_COUNT = 2;
-
-    /** Tab width as defined as a fraction of the screen width */
-    private float mTabWidthScreenWidthFraction;
-
-    /** Tab height as defined as a fraction of the screen width */
-    private float mTabHeightScreenWidthFraction;
-
-    /** Height in pixels of the shadow under the tab carousel */
-    private int mTabShadowHeight;
-
-    private ImageView mPhotoView;
-    private View mPhotoViewOverlay;
-    private TextView mStatusView;
-    private ImageView mStatusPhotoView;
-    private final ContactDetailPhotoSetter mPhotoSetter = new ContactDetailPhotoSetter();
-
-    private Listener mListener;
-
-    private int mCurrentTab = TAB_INDEX_ABOUT;
-
-    private View mTabAndShadowContainer;
-    private View mShadow;
-    private CarouselTab mAboutTab;
-    private View mTabDivider;
-    private CarouselTab mUpdatesTab;
-
-    /** Last Y coordinate of the carousel when the tab at the given index was selected */
-    private final float[] mYCoordinateArray = new float[TAB_COUNT];
-
-    private int mTabDisplayLabelHeight;
-
-    private boolean mScrollToCurrentTab = false;
-    private int mLastScrollPosition = Integer.MIN_VALUE;
-    private int mAllowedHorizontalScrollLength = Integer.MIN_VALUE;
-    private int mAllowedVerticalScrollLength = Integer.MIN_VALUE;
-
-    /** Factor to scale scroll-amount sent to listeners. */
-    private float mScrollScaleFactor = 1.0f;
-
-    private static final float MAX_ALPHA = 0.5f;
-
-    /**
-     * Interface for callbacks invoked when the user interacts with the carousel.
-     */
-    public interface Listener {
-        public void onTouchDown();
-        public void onTouchUp();
-
-        public void onScrollChanged(int l, int t, int oldl, int oldt);
-        public void onTabSelected(int position);
-    }
-
-    public ContactDetailTabCarousel(Context context, AttributeSet attrs) {
-        super(context, attrs);
-
-        setOnTouchListener(this);
-
-        Resources resources = mContext.getResources();
-        mTabDisplayLabelHeight = resources.getDimensionPixelSize(
-                R.dimen.detail_tab_carousel_tab_label_height);
-        mTabShadowHeight = resources.getDimensionPixelSize(
-                R.dimen.detail_contact_photo_shadow_height);
-        mTabWidthScreenWidthFraction = resources.getFraction(
-                R.fraction.tab_width_screen_width_percentage, 1, 1);
-        mTabHeightScreenWidthFraction = resources.getFraction(
-                R.fraction.tab_height_screen_width_percentage, 1, 1);
-    }
-
-    @Override
-    protected void onFinishInflate() {
-        super.onFinishInflate();
-        mTabAndShadowContainer = findViewById(R.id.tab_and_shadow_container);
-        mAboutTab = (CarouselTab) findViewById(R.id.tab_about);
-        mAboutTab.setLabel(mContext.getString(R.string.contactDetailAbout));
-        mAboutTab.setOverlayOnClickListener(mAboutTabTouchInterceptListener);
-
-        mTabDivider = findViewById(R.id.tab_divider);
-
-        mUpdatesTab = (CarouselTab) findViewById(R.id.tab_update);
-        mUpdatesTab.setLabel(mContext.getString(R.string.contactDetailUpdates));
-        mUpdatesTab.setOverlayOnClickListener(mUpdatesTabTouchInterceptListener);
-
-        mShadow = findViewById(R.id.shadow);
-
-        // Retrieve the photo view for the "about" tab
-        // TODO: This should be moved down to mAboutTab, so that it hosts its own controls
-        mPhotoView = (ImageView) mAboutTab.findViewById(R.id.photo);
-        mPhotoViewOverlay = mAboutTab.findViewById(R.id.photo_overlay);
-
-        // Retrieve the social update views for the "updates" tab
-        // TODO: This should be moved down to mUpdatesTab, so that it hosts its own controls
-        mStatusView = (TextView) mUpdatesTab.findViewById(R.id.status);
-        mStatusPhotoView = (ImageView) mUpdatesTab.findViewById(R.id.status_photo);
-
-        // Workaround for framework issue... it shouldn't be necessary to have a
-        // clickable object in the hierarchy, but if not the horizontal scroll
-        // behavior doesn't work. Note: the "About" tab doesn't need this
-        // because we set a real click-handler elsewhere.
-        mStatusView.setClickable(true);
-        mStatusPhotoView.setClickable(true);
-    }
-
-    @Override
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        int screenWidth = MeasureSpec.getSize(widthMeasureSpec);
-        // Compute the width of a tab as a fraction of the screen width
-        int tabWidth = Math.round(mTabWidthScreenWidthFraction * screenWidth);
-
-        // Find the allowed scrolling length by subtracting the current visible screen width
-        // from the total length of the tabs.
-        mAllowedHorizontalScrollLength = tabWidth * TAB_COUNT - screenWidth;
-
-        // Scrolling by mAllowedHorizontalScrollLength causes listeners to
-        // scroll by the entire screen amount; compute the scale-factor
-        // necessary to make this so.
-        if (mAllowedHorizontalScrollLength == 0) {
-            // Guard against divide-by-zero.
-            // Note: this hard-coded value prevents a crash, but won't result in the
-            // desired scrolling behavior.  We rely on the framework calling onMeasure()
-            // again with a non-zero screen width.
-            mScrollScaleFactor = 1.0f;
-            Log.w(TAG, "set scale-factor to 1.0 to avoid divide-by-zero");
-        } else {
-            mScrollScaleFactor = screenWidth / mAllowedHorizontalScrollLength;
-        }
-
-        int tabHeight = Math.round(screenWidth * mTabHeightScreenWidthFraction) + mTabShadowHeight;
-        // Set the child {@link LinearLayout} to be TAB_COUNT * the computed tab width so that the
-        // {@link LinearLayout}'s children (which are the tabs) will evenly split that width.
-        if (getChildCount() > 0) {
-            View child = getChildAt(0);
-
-            // add 1 dip of separation between the tabs
-            final int seperatorPixels =
-                    (int)(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1,
-                    getResources().getDisplayMetrics()) + 0.5f);
-
-            child.measure(
-                    MeasureSpec.makeMeasureSpec(
-                            TAB_COUNT * tabWidth +
-                            (TAB_COUNT - 1) * seperatorPixels, MeasureSpec.EXACTLY),
-                    MeasureSpec.makeMeasureSpec(tabHeight, MeasureSpec.EXACTLY));
-        }
-
-        mAllowedVerticalScrollLength = tabHeight - mTabDisplayLabelHeight - mTabShadowHeight;
-        setMeasuredDimension(
-                resolveSize(screenWidth, widthMeasureSpec),
-                resolveSize(tabHeight, heightMeasureSpec));
-    }
-
-    @Override
-    protected void onLayout(boolean changed, int l, int t, int r, int b) {
-        super.onLayout(changed, l, t, r, b);
-
-        // Defer this stuff until after the layout has finished.  This is because
-        // updateAlphaLayers() ultimately results in another layout request, and
-        // the framework currently can't handle this safely.
-        if (!mScrollToCurrentTab) return;
-        mScrollToCurrentTab = false;
-        SchedulingUtils.doAfterLayout(this, new Runnable() {
-            @Override
-            public void run() {
-                scrollTo(mCurrentTab == TAB_INDEX_ABOUT ? 0 : mAllowedHorizontalScrollLength, 0);
-                updateAlphaLayers();
-            }
-        });
-    }
-
-    /** When clicked, selects the corresponding tab. */
-    private class TabClickListener implements OnClickListener {
-        private final int mTab;
-
-        public TabClickListener(int tab) {
-            super();
-            mTab = tab;
-        }
-
-        @Override
-        public void onClick(View v) {
-            mListener.onTabSelected(mTab);
-        }
-    }
-
-    private final TabClickListener mAboutTabTouchInterceptListener =
-            new TabClickListener(TAB_INDEX_ABOUT);
-
-    private final TabClickListener mUpdatesTabTouchInterceptListener =
-            new TabClickListener(TAB_INDEX_UPDATES);
-
-    /**
-     * Does in "appear" animation to allow a seamless transition from
-     * the "No updates" mode.
-     * @param width Width of the container. As we haven't been layed out yet, we can't know
-     * @param scrollOffset The offset by how far we scrolled, where 0=not scrolled, -x=scrolled by
-     * x pixels, Integer.MIN_VALUE=scrolled so far that the image is not visible in "no updates"
-     * mode of this screen
-     */
-    public void animateAppear(int width, int scrollOffset) {
-        final float photoHeight = mTabHeightScreenWidthFraction * width;
-        final boolean animateZoomAndFade;
-        int pixelsToScrollVertically = 0;
-
-        // Depending on how far we are scrolled down, there is one of three animations:
-        //   - Zoom and fade the picture (if it is still visible)
-        //   - Scroll, zoom and fade (if the picture is mostly invisible and we now have a
-        //     bigger visible region due to the pinning)
-        //   - Just scroll if the picture is completely invisible. This time, no zoom is needed
-        if (scrollOffset == Integer.MIN_VALUE) {
-            // animate in completely by scrolling. no need for zooming here
-            pixelsToScrollVertically = mTabDisplayLabelHeight;
-            animateZoomAndFade = false;
-        } else {
-            final int pixelsOfPhotoLeft = Math.round(photoHeight) + scrollOffset;
-            if (pixelsOfPhotoLeft > mTabDisplayLabelHeight) {
-                // nothing to scroll
-                pixelsToScrollVertically = 0;
-            } else {
-                pixelsToScrollVertically = mTabDisplayLabelHeight - pixelsOfPhotoLeft;
-            }
-            animateZoomAndFade = true;
-        }
-
-        if (pixelsToScrollVertically != 0) {
-            // We can't animate ourselves here, because our own translation is needed for the user's
-            // scrolling. Instead, we use our only child. As we are transparent, that is just as
-            // good
-            mTabAndShadowContainer.setTranslationY(-pixelsToScrollVertically);
-            final ViewPropertyAnimator animator = mTabAndShadowContainer.animate();
-            animator.translationY(0.0f);
-            animator.setDuration(TRANSITION_MOVE_IN_TIME);
-        }
-
-        if (animateZoomAndFade) {
-            // Hack: We have two types of possible layouts:
-            //   If the picture is square, it is square in both "with updates" and "without updates"
-            //     --> no need for scale animation here
-            //     example: 10inch tablet portrait
-            //   If the picture is non-square, it is full-width in "without updates" and something
-            //     arbitrary in "with updates"
-            //     --> do animation with container
-            //     example: 4.6inch phone portrait
-            final boolean squarePicture =
-                    mTabWidthScreenWidthFraction == mTabHeightScreenWidthFraction;
-            final int firstTransitionTime;
-            if (squarePicture) {
-                firstTransitionTime = 0;
-            } else {
-                // For x, we need to scale our container so we'll animate the whole tab
-                // (unfortunately, we need to have the text invisible during this transition as it
-                // would also be stretched)
-                float revScale = 1.0f/mTabWidthScreenWidthFraction;
-                mAboutTab.setScaleX(revScale);
-                mAboutTab.setPivotX(0.0f);
-                final ViewPropertyAnimator aboutAnimator = mAboutTab.animate();
-                aboutAnimator.setDuration(TRANSITION_TIME);
-                aboutAnimator.scaleX(1.0f);
-
-                // For y, we need to scale only the picture itself because we want it to be cropped
-                mPhotoView.setScaleY(revScale);
-                mPhotoView.setPivotY(photoHeight * 0.5f);
-                final ViewPropertyAnimator photoAnimator = mPhotoView.animate();
-                photoAnimator.setDuration(TRANSITION_TIME);
-                photoAnimator.scaleY(1.0f);
-                firstTransitionTime = TRANSITION_TIME;
-            }
-
-            // Animate in the labels after the above transition is finished
-            mAboutTab.fadeInLabelViewAnimator(firstTransitionTime, true);
-            mUpdatesTab.fadeInLabelViewAnimator(firstTransitionTime, false);
-
-            final float pixelsToTranslate = (1.0f - mTabWidthScreenWidthFraction) * width;
-            // Views to translate
-            for (View view : new View[] { mUpdatesTab, mTabDivider }) {
-                view.setTranslationX(pixelsToTranslate);
-                final ViewPropertyAnimator translateAnimator = view.animate();
-                translateAnimator.translationX(0.0f);
-                translateAnimator.setDuration(TRANSITION_TIME);
-            }
-
-            // Another hack: If the picture is square, there is no shadow in "Without updates"
-            //    --> fade it in after the translations are done
-            if (squarePicture) {
-                mShadow.setAlpha(0.0f);
-                mShadow.animate().setStartDelay(TRANSITION_TIME).alpha(1.0f);
-            }
-        }
-    }
-
-    private void updateAlphaLayers() {
-        float alpha = mLastScrollPosition * MAX_ALPHA / mAllowedHorizontalScrollLength;
-        alpha = MoreMath.clamp(alpha, 0.0f, 1.0f);
-        mAboutTab.setAlphaLayerValue(alpha);
-        mUpdatesTab.setAlphaLayerValue(MAX_ALPHA - alpha);
-    }
-
-    @Override
-    protected void onScrollChanged(int x, int y, int oldX, int oldY) {
-        super.onScrollChanged(x, y, oldX, oldY);
-
-        // Guard against framework issue where onScrollChanged() is called twice
-        // for each touch-move event.  This wreaked havoc on the tab-carousel: the
-        // view-pager moved twice as fast as it should because we called fakeDragBy()
-        // twice with the same value.
-        if (mLastScrollPosition == x) return;
-
-        // Since we never completely scroll the about/updates tabs off-screen,
-        // the draggable range is less than the width of the carousel. Our
-        // listeners don't care about this... if we scroll 75% percent of our
-        // draggable range, they want to scroll 75% of the entire carousel
-        // width, not the same number of pixels that we scrolled.
-        int scaledL = (int) (x * mScrollScaleFactor);
-        int oldScaledL = (int) (oldX * mScrollScaleFactor);
-        mListener.onScrollChanged(scaledL, y, oldScaledL, oldY);
-
-        mLastScrollPosition = x;
-        updateAlphaLayers();
-    }
-
-    /**
-     * Reset the carousel to the start position (i.e. because new data will be loaded in for a
-     * different contact).
-     */
-    public void reset() {
-        scrollTo(0, 0);
-        setCurrentTab(0);
-        moveToYCoordinate(0, 0);
-    }
-
-    /**
-     * Set the current tab that should be restored when the view is first laid out.
-     */
-    public void restoreCurrentTab(int position) {
-        setCurrentTab(position);
-        // It is only possible to scroll the view after onMeasure() has been called (where the
-        // allowed horizontal scroll length is determined). Hence, set a flag that will be read
-        // in onLayout() after the children and this view have finished being laid out.
-        mScrollToCurrentTab = true;
-    }
-
-    /**
-     * Restore the Y position of this view to the last manually requested value. This can be done
-     * after the parent has been re-laid out again, where this view's position could have been
-     * lost if the view laid outside its parent's bounds.
-     */
-    public void restoreYCoordinate() {
-        setY(getStoredYCoordinateForTab(mCurrentTab));
-    }
-
-    /**
-     * Request that the view move to the given Y coordinate. Also store the Y coordinate as the
-     * last requested Y coordinate for the given tabIndex.
-     */
-    public void moveToYCoordinate(int tabIndex, float y) {
-        setY(y);
-        storeYCoordinate(tabIndex, y);
-    }
-
-    /**
-     * Store this information as the last requested Y coordinate for the given tabIndex.
-     */
-    public void storeYCoordinate(int tabIndex, float y) {
-        mYCoordinateArray[tabIndex] = y;
-    }
-
-    /**
-     * Returns the stored Y coordinate of this view the last time the user was on the selected
-     * tab given by tabIndex.
-     */
-    public float getStoredYCoordinateForTab(int tabIndex) {
-        return mYCoordinateArray[tabIndex];
-    }
-
-    /**
-     * Returns the number of pixels that this view can be scrolled horizontally.
-     */
-    public int getAllowedHorizontalScrollLength() {
-        return mAllowedHorizontalScrollLength;
-    }
-
-    /**
-     * Returns the number of pixels that this view can be scrolled vertically while still allowing
-     * the tab labels to still show.
-     */
-    public int getAllowedVerticalScrollLength() {
-        return mAllowedVerticalScrollLength;
-    }
-
-    /**
-     * Updates the tab selection.
-     */
-    public void setCurrentTab(int position) {
-        final CarouselTab selected, deselected;
-
-        switch (position) {
-            case TAB_INDEX_ABOUT:
-                selected = mAboutTab;
-                deselected = mUpdatesTab;
-                break;
-            case TAB_INDEX_UPDATES:
-                selected = mUpdatesTab;
-                deselected = mAboutTab;
-                break;
-            default:
-                throw new IllegalStateException("Invalid tab position " + position);
-        }
-        selected.showSelectedState();
-        selected.setOverlayClickable(false);
-        deselected.showDeselectedState();
-        deselected.setOverlayClickable(true);
-        mCurrentTab = position;
-    }
-
-    /**
-     * Loads the data from the Loader-Result. This is the only function that has to be called
-     * from the outside to fully setup the View
-     */
-    public void loadData(Contact contactData) {
-        if (contactData == null) return;
-
-        // TODO: Move this into the {@link CarouselTab} class when the updates
-        // fragment code is more finalized.
-        final boolean expandOnClick = contactData.getPhotoUri() != null;
-        final OnClickListener listener = mPhotoSetter.setupContactPhotoForClick(
-                mContext, contactData, mPhotoView, expandOnClick);
-
-        if (expandOnClick || contactData.isWritableContact(mContext)) {
-            mPhotoViewOverlay.setOnClickListener(listener);
-        } else {
-            // Work around framework issue... if we instead use
-            // setClickable(false), then we can't swipe horizontally.
-            mPhotoViewOverlay.setOnClickListener(null);
-        }
-
-        ContactDetailDisplayUtils.setSocialSnippet(
-                mContext, contactData, mStatusView, mStatusPhotoView);
-    }
-
-    /**
-     * Set the given {@link Listener} to handle carousel events.
-     */
-    public void setListener(Listener listener) {
-        mListener = listener;
-    }
-
-    @Override
-    public boolean onTouch(View v, MotionEvent event) {
-        switch (event.getAction()) {
-            case MotionEvent.ACTION_DOWN:
-                mListener.onTouchDown();
-                return true;
-            case MotionEvent.ACTION_UP:
-                mListener.onTouchUp();
-                return true;
-        }
-        return super.onTouchEvent(event);
-    }
-
-    @Override
-    public boolean onInterceptTouchEvent(MotionEvent ev) {
-        boolean interceptTouch = super.onInterceptTouchEvent(ev);
-        if (interceptTouch) {
-            mListener.onTouchDown();
-        }
-        return interceptTouch;
-    }
-}
diff --git a/src/com/android/contacts/detail/ContactDetailUpdatesFragment.java b/src/com/android/contacts/detail/ContactDetailUpdatesFragment.java
deleted file mode 100644
index 71186fe..0000000
--- a/src/com/android/contacts/detail/ContactDetailUpdatesFragment.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * 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
- */
-
-package com.android.contacts.detail;
-
-import android.app.ListFragment;
-import android.content.ContentUris;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.provider.ContactsContract.StreamItems;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.AbsListView.OnScrollListener;
-import android.widget.ListView;
-
-import com.android.contacts.R;
-import com.android.contacts.activities.ContactDetailActivity.FragmentKeyListener;
-import com.android.contacts.detail.ContactDetailDisplayUtils.StreamPhotoTag;
-import com.android.contacts.util.StreamItemEntry;
-import com.android.contacts.common.model.AccountTypeManager;
-import com.android.contacts.common.model.Contact;
-import com.android.contacts.common.model.account.AccountType;
-
-public class ContactDetailUpdatesFragment extends ListFragment implements FragmentKeyListener {
-
-    private static final String TAG = "ContactDetailUpdatesFragment";
-
-    private Contact mContactData;
-    private Uri mLookupUri;
-
-    private LayoutInflater mInflater;
-    private StreamItemAdapter mStreamItemAdapter;
-
-    private OnScrollListener mVerticalScrollListener;
-
-    /**
-     * Listener on clicks on a stream item.
-     * <p>
-     * It assumes the view has a tag of type {@link StreamItemEntry} associated with it.
-     */
-    private final View.OnClickListener mStreamItemClickListener = new View.OnClickListener() {
-        @Override
-        public void onClick(View view) {
-            StreamItemEntry streamItemEntry = (StreamItemEntry) view.getTag();
-            if (streamItemEntry == null) {
-                // Ignore if this item does not have a stream item associated with it.
-                return;
-            }
-            final AccountType accountType = getAccountTypeForStreamItemEntry(streamItemEntry);
-
-            final Uri uri = ContentUris.withAppendedId(StreamItems.CONTENT_URI,
-                    streamItemEntry.getId());
-            final Intent intent = new Intent(Intent.ACTION_VIEW, uri);
-            intent.setClassName(accountType.syncAdapterPackageName,
-                    accountType.getViewStreamItemActivity());
-            startActivity(intent);
-        }
-    };
-
-    private final View.OnClickListener mStreamItemPhotoItemClickListener
-            = new View.OnClickListener() {
-        @Override
-        public void onClick(View view) {
-            StreamPhotoTag tag = (StreamPhotoTag) view.getTag();
-            if (tag == null) {
-                return;
-            }
-            final AccountType accountType = getAccountTypeForStreamItemEntry(tag.streamItem);
-
-            final Intent intent = new Intent(Intent.ACTION_VIEW, tag.getStreamItemPhotoUri());
-            intent.setClassName(accountType.syncAdapterPackageName,
-                    accountType.getViewStreamItemPhotoActivity());
-            startActivity(intent);
-        }
-    };
-
-    private AccountType getAccountTypeForStreamItemEntry(StreamItemEntry streamItemEntry) {
-        return AccountTypeManager.getInstance(getActivity()).getAccountType(
-                streamItemEntry.getAccountType(), streamItemEntry.getDataSet());
-    }
-
-    public ContactDetailUpdatesFragment() {
-        // Explicit constructor for inflation
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
-        mInflater = inflater;
-        return mInflater.inflate(R.layout.contact_detail_updates_fragment, container, false);
-    }
-
-    @Override
-    public void onViewCreated(View view, Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        mStreamItemAdapter = new StreamItemAdapter(getActivity(), mStreamItemClickListener,
-                mStreamItemPhotoItemClickListener);
-        setListAdapter(mStreamItemAdapter);
-        getListView().setOnScrollListener(mVerticalScrollListener);
-    }
-
-    public void setData(Uri lookupUri, Contact result) {
-        if (result == null) {
-            return;
-        }
-        mLookupUri = lookupUri;
-        mContactData = result;
-    }
-
-    /**
-     * Reset the list adapter in this {@link Fragment} to get rid of any saved scroll position
-     * from a previous contact.
-     */
-    public void resetAdapter() {
-        setListAdapter(mStreamItemAdapter);
-    }
-
-    @Override
-    public boolean handleKeyDown(int keyCode) {
-        return false;
-    }
-
-    public void setVerticalScrollListener(OnScrollListener listener) {
-        mVerticalScrollListener = listener;
-    }
-
-    /**
-     * Returns the top coordinate of the first item in the {@link ListView}. If the first item
-     * in the {@link ListView} is not visible or there are no children in the list, then return
-     * Integer.MIN_VALUE. Note that the returned value will be <= 0 because the first item in the
-     * list cannot have a positive offset.
-     */
-    public int getFirstListItemOffset() {
-        return ContactDetailDisplayUtils.getFirstListItemOffset(getListView());
-    }
-
-    /**
-     * Tries to scroll the first item to the given offset (this can be a no-op if the list is
-     * already in the correct position).
-     * @param offset which should be <= 0
-     */
-    public void requestToMoveToOffset(int offset) {
-        ContactDetailDisplayUtils.requestToMoveToOffset(getListView(), offset);
-    }
-}
diff --git a/src/com/android/contacts/detail/ContactDetailViewPagerAdapter.java b/src/com/android/contacts/detail/ContactDetailViewPagerAdapter.java
deleted file mode 100644
index 4213490..0000000
--- a/src/com/android/contacts/detail/ContactDetailViewPagerAdapter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * 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.
- */
-package com.android.contacts.detail;
-
-import android.os.Parcelable;
-import android.support.v4.view.PagerAdapter;
-import android.support.v4.view.ViewPager;
-import android.view.View;
-import android.view.ViewGroup;
-
-/**
- * Adapter for the {@link ViewPager} for the contact detail page for a contact in 2 cases:
- * 1) without social updates, and 2) with social updates. The default initial case is for
- * the contact with social updates which uses all possible pages.
- */
-public class ContactDetailViewPagerAdapter extends PagerAdapter {
-
-    public static final String ABOUT_FRAGMENT_TAG = "view-pager-about-fragment";
-    public static final String UPDATES_FRAGMENT_TAG = "view-pager-updates-fragment";
-
-    private static final int INDEX_ABOUT_FRAGMENT = 0;
-    private static final int INDEX_UPDATES_FRAGMENT = 1;
-
-    private static final int MAX_FRAGMENT_VIEW_COUNT = 2;
-
-    /**
-     * The initial value for the view count needs to be MAX_FRAGMENT_VIEW_COUNT,
-     * otherwise anything smaller would break screen rotation functionality for a user viewing
-     * a contact with social updates (i.e. the user was viewing the second page, rotates the
-     * device, the view pager requires the second page to exist immediately on launch).
-     */
-    private int mFragmentViewCount = MAX_FRAGMENT_VIEW_COUNT;
-
-    private View mAboutFragmentView;
-    private View mUpdatesFragmentView;
-
-    public ContactDetailViewPagerAdapter() {
-    }
-
-    public void setAboutFragmentView(View view) {
-        mAboutFragmentView = view;
-    }
-
-    public void setUpdatesFragmentView(View view) {
-        mUpdatesFragmentView = view;
-    }
-
-    /**
-     * Enable swiping if the detail and update fragments should be showing. Otherwise diable
-     * swiping if only the detail fragment should be showing.
-     */
-    public void enableSwipe(boolean enable) {
-        mFragmentViewCount = enable ? MAX_FRAGMENT_VIEW_COUNT : 1;
-        notifyDataSetChanged();
-    }
-
-    @Override
-    public int getCount() {
-        return mFragmentViewCount;
-    }
-
-    /** Gets called when the number of items changes. */
-    @Override
-    public int getItemPosition(Object object) {
-        // Always return a valid index for the about fragment view because it's always shown
-        // whether the contact has social updates or not.
-        if (object == mAboutFragmentView) {
-            return INDEX_ABOUT_FRAGMENT;
-        }
-        // Only return a valid index for the updates fragment view if our view count > 1.
-        if (object == mUpdatesFragmentView && mFragmentViewCount > 1) {
-            return INDEX_UPDATES_FRAGMENT;
-        }
-        // Otherwise the view should have no position.
-        return POSITION_NONE;
-    }
-
-    @Override
-    public void startUpdate(ViewGroup container) {
-    }
-
-    @Override
-    public Object instantiateItem(ViewGroup container, int position) {
-        switch (position) {
-            case INDEX_ABOUT_FRAGMENT:
-                mAboutFragmentView.setVisibility(View.VISIBLE);
-                return mAboutFragmentView;
-            case INDEX_UPDATES_FRAGMENT:
-                mUpdatesFragmentView.setVisibility(View.VISIBLE);
-                return mUpdatesFragmentView;
-        }
-        throw new IllegalArgumentException("Invalid position: " + position);
-    }
-
-    @Override
-    public void destroyItem(ViewGroup container, int position, Object object) {
-        ((View) object).setVisibility(View.GONE);
-    }
-
-    @Override
-    public void finishUpdate(ViewGroup container) {
-    }
-
-    @Override
-    public boolean isViewFromObject(View view, Object object) {
-        return ((View) object) == view;
-    }
-
-    @Override
-    public Parcelable saveState() {
-        return null;
-    }
-
-    @Override
-    public void restoreState(Parcelable state, ClassLoader loader) {
-    }
-}
diff --git a/src/com/android/contacts/detail/ContactDetailDisplayUtils.java b/src/com/android/contacts/detail/ContactDisplayUtils.java
similarity index 65%
rename from src/com/android/contacts/detail/ContactDetailDisplayUtils.java
rename to src/com/android/contacts/detail/ContactDisplayUtils.java
index 5adc57a..1180219 100644
--- a/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
+++ b/src/com/android/contacts/detail/ContactDisplayUtils.java
@@ -16,7 +16,16 @@
 
 package com.android.contacts.detail;
 
-import android.content.ContentUris;
+import com.google.common.collect.Iterables;
+
+import com.android.contacts.R;
+import com.android.contacts.common.model.Contact;
+import com.android.contacts.common.model.RawContact;
+import com.android.contacts.common.model.dataitem.DataItem;
+import com.android.contacts.common.model.dataitem.OrganizationDataItem;
+import com.android.contacts.common.preference.ContactsPreferences;
+import com.android.contacts.util.MoreMath;
+
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
@@ -24,37 +33,16 @@
 import android.content.res.Resources.NotFoundException;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
-import android.provider.ContactsContract;
 import android.provider.ContactsContract.DisplayNameSources;
-import android.provider.ContactsContract.Preferences;
-import android.provider.ContactsContract.StreamItems;
 import android.text.Html;
-import android.text.Html.ImageGetter;
 import android.text.TextUtils;
 import android.util.Log;
-import android.view.LayoutInflater;
 import android.view.MenuItem;
 import android.view.View;
-import android.view.ViewGroup;
 import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.TextView;
 
-import com.android.contacts.common.ContactPhotoManager;
-import com.android.contacts.R;
-import com.android.contacts.common.model.Contact;
-import com.android.contacts.common.model.RawContact;
-import com.android.contacts.common.model.dataitem.DataItem;
-import com.android.contacts.common.model.dataitem.OrganizationDataItem;
-import com.android.contacts.common.preference.ContactsPreferences;
-import com.android.contacts.util.StreamItemEntry;
-import com.android.contacts.util.ContactBadgeUtil;
-import com.android.contacts.util.HtmlUtils;
-import com.android.contacts.util.MoreMath;
-import com.android.contacts.util.StreamItemPhotoEntry;
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.collect.Iterables;
-
 import java.util.List;
 
 /**
@@ -62,33 +50,8 @@
  * (meaning name, phonetic name, job, and attribution) from a
  * {@link Contact} data object to appropriate {@link View}s.
  */
-public class ContactDetailDisplayUtils {
-    private static final String TAG = "ContactDetailDisplayUtils";
-
-    /**
-     * Tag object used for stream item photos.
-     */
-    public static class StreamPhotoTag {
-        public final StreamItemEntry streamItem;
-        public final StreamItemPhotoEntry streamItemPhoto;
-
-        public StreamPhotoTag(StreamItemEntry streamItem, StreamItemPhotoEntry streamItemPhoto) {
-            this.streamItem = streamItem;
-            this.streamItemPhoto = streamItemPhoto;
-        }
-
-        public Uri getStreamItemPhotoUri() {
-            final Uri.Builder builder = StreamItems.CONTENT_URI.buildUpon();
-            ContentUris.appendId(builder, streamItem.getId());
-            builder.appendPath(StreamItems.StreamItemPhotos.CONTENT_DIRECTORY);
-            ContentUris.appendId(builder, streamItemPhoto.getId());
-            return builder.build();
-        }
-    }
-
-    private ContactDetailDisplayUtils() {
-        // Disallow explicit creation of this class.
-    }
+public class ContactDisplayUtils {
+    private static final String TAG = "ContactDisplayUtils";
 
     /**
      * Returns the display name of the contact, using the current display order setting.
@@ -97,7 +60,7 @@
     public static CharSequence getDisplayName(Context context, Contact contactData) {
         ContactsPreferences prefs = new ContactsPreferences(context);
         final CharSequence displayName = contactData.getDisplayName();
-        if (prefs.getDisplayOrder() == Preferences.DISPLAY_ORDER_PRIMARY) {
+        if (prefs.getDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_PRIMARY) {
             if (!TextUtils.isEmpty(displayName)) {
                 return displayName;
             }
@@ -212,8 +175,8 @@
         if (!isDirectoryEntry && !isUserProfile) {
             starredMenuItem.setVisible(true);
             final int resId = isStarred
-                    ? R.drawable.btn_star_on_normal_holo_light
-                    : R.drawable.btn_star_off_normal_holo_light;
+                    ? R.drawable.ic_star_24dp
+                    : R.drawable.ic_star_outline_24dp;
             starredMenuItem.setIcon(resId);
             starredMenuItem.setChecked(isStarred);
             starredMenuItem.setTitle(isStarred ? R.string.menu_removeStar : R.string.menu_addStar);
@@ -223,146 +186,6 @@
     }
 
     /**
-     * Set the social snippet text. If there isn't one, then set the view to gone.
-     */
-    public static void setSocialSnippet(Context context, Contact contactData, TextView statusView,
-            ImageView statusPhotoView) {
-        if (statusView == null) {
-            return;
-        }
-
-        CharSequence snippet = null;
-        String photoUri = null;
-        setDataOrHideIfNone(snippet, statusView);
-        if (photoUri != null) {
-            ContactPhotoManager.getInstance(context).loadPhoto(
-                    statusPhotoView, Uri.parse(photoUri), -1, false, null);
-            statusPhotoView.setVisibility(View.VISIBLE);
-        } else {
-            statusPhotoView.setVisibility(View.GONE);
-        }
-    }
-
-    /** Creates the view that represents a stream item. */
-    public static View createStreamItemView(LayoutInflater inflater, Context context,
-            View convertView, StreamItemEntry streamItem, View.OnClickListener photoClickListener) {
-
-        // Try to recycle existing views.
-        final View container;
-        if (convertView != null) {
-            container = convertView;
-        } else {
-            container = inflater.inflate(R.layout.stream_item_container, null, false);
-        }
-
-        final ContactPhotoManager contactPhotoManager = ContactPhotoManager.getInstance(context);
-        final List<StreamItemPhotoEntry> photos = streamItem.getPhotos();
-        final int photoCount = photos.size();
-
-        // Add the text part.
-        addStreamItemText(context, streamItem, container);
-
-        // Add images.
-        final ViewGroup imageRows = (ViewGroup) container.findViewById(R.id.stream_item_image_rows);
-
-        if (photoCount == 0) {
-            // This stream item only has text.
-            imageRows.setVisibility(View.GONE);
-        } else {
-            // This stream item has text and photos.
-            imageRows.setVisibility(View.VISIBLE);
-
-            // Number of image rows needed, which is cailing(photoCount / 2)
-            final int numImageRows = (photoCount + 1) / 2;
-
-            // Actual image rows.
-            final int numOldImageRows = imageRows.getChildCount();
-
-            // Make sure we have enough stream_item_row_images.
-            if (numOldImageRows == numImageRows) {
-                // Great, we have the just enough number of rows...
-
-            } else if (numOldImageRows < numImageRows) {
-                // Need to add more image rows.
-                for (int i = numOldImageRows; i < numImageRows; i++) {
-                    View imageRow = inflater.inflate(R.layout.stream_item_row_images, imageRows,
-                            true);
-                }
-            } else {
-                // We have exceeding image rows.  Hide them.
-                for (int i = numImageRows; i < numOldImageRows; i++) {
-                    imageRows.getChildAt(i).setVisibility(View.GONE);
-                }
-            }
-
-            // Put images, two by two.
-            for (int i = 0; i < photoCount; i += 2) {
-                final View imageRow = imageRows.getChildAt(i / 2);
-                // Reused image rows may not visible, so make sure they're shown.
-                imageRow.setVisibility(View.VISIBLE);
-
-                // Show first image.
-                loadPhoto(contactPhotoManager, streamItem, photos.get(i), imageRow,
-                        R.id.stream_item_first_image, photoClickListener);
-                final View secondContainer = imageRow.findViewById(R.id.second_image_container);
-                if (i + 1 < photoCount) {
-                    // Show the second image too.
-                    loadPhoto(contactPhotoManager, streamItem, photos.get(i + 1), imageRow,
-                            R.id.stream_item_second_image, photoClickListener);
-                    secondContainer.setVisibility(View.VISIBLE);
-                } else {
-                    // Hide the second image, but it still has to occupy the space.
-                    secondContainer.setVisibility(View.INVISIBLE);
-                }
-            }
-        }
-
-        return container;
-    }
-
-    /** Loads a photo into an image view. The image view is identified by the given id. */
-    private static void loadPhoto(ContactPhotoManager contactPhotoManager,
-            final StreamItemEntry streamItem, final StreamItemPhotoEntry streamItemPhoto,
-            View photoContainer, int imageViewId, View.OnClickListener photoClickListener) {
-        final View frame = photoContainer.findViewById(imageViewId);
-        final View pushLayerView = frame.findViewById(R.id.push_layer);
-        final ImageView imageView = (ImageView) frame.findViewById(R.id.image);
-        if (photoClickListener != null) {
-            pushLayerView.setOnClickListener(photoClickListener);
-            pushLayerView.setTag(new StreamPhotoTag(streamItem, streamItemPhoto));
-            pushLayerView.setFocusable(true);
-            pushLayerView.setEnabled(true);
-        } else {
-            pushLayerView.setOnClickListener(null);
-            pushLayerView.setTag(null);
-            pushLayerView.setFocusable(false);
-            // setOnClickListener makes it clickable, so we need to overwrite it
-            pushLayerView.setClickable(false);
-            pushLayerView.setEnabled(false);
-        }
-        contactPhotoManager.loadPhoto(imageView, Uri.parse(streamItemPhoto.getPhotoUri()), -1,
-                false, null);
-    }
-
-    @VisibleForTesting
-    static View addStreamItemText(Context context, StreamItemEntry streamItem, View rootView) {
-        TextView htmlView = (TextView) rootView.findViewById(R.id.stream_item_html);
-        TextView attributionView = (TextView) rootView.findViewById(
-                R.id.stream_item_attribution);
-        TextView commentsView = (TextView) rootView.findViewById(R.id.stream_item_comments);
-        ImageGetter imageGetter = new DefaultImageGetter(context.getPackageManager());
-
-        // Stream item text
-        setDataOrHideIfNone(streamItem.getDecodedText(), htmlView);
-        // Attribution
-        setDataOrHideIfNone(ContactBadgeUtil.getSocialDate(streamItem, context),
-                attributionView);
-        // Comments
-        setDataOrHideIfNone(streamItem.getDecodedComments(), commentsView);
-        return rootView;
-    }
-
-    /**
      * Sets the display name of this contact to the given {@link TextView}. If
      * there is none, then set the view to gone.
      */
diff --git a/src/com/android/contacts/detail/ContactLoaderFragment.java b/src/com/android/contacts/detail/ContactLoaderFragment.java
deleted file mode 100644
index 0b420f7..0000000
--- a/src/com/android/contacts/detail/ContactLoaderFragment.java
+++ /dev/null
@@ -1,470 +0,0 @@
-/*
- * 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
- */
-
-package com.android.contacts.detail;
-
-import android.app.Activity;
-import android.app.Fragment;
-import android.app.LoaderManager;
-import android.app.LoaderManager.LoaderCallbacks;
-import android.content.ActivityNotFoundException;
-import android.content.Context;
-import android.content.Intent;
-import android.content.Loader;
-import android.media.RingtoneManager;
-import android.net.Uri;
-import android.os.Bundle;
-import android.provider.ContactsContract;
-import android.provider.ContactsContract.Contacts;
-import android.util.Log;
-import android.view.KeyEvent;
-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.Toast;
-
-import com.android.contacts.ContactSaveService;
-import com.android.contacts.R;
-import com.android.contacts.activities.ContactDetailActivity.FragmentKeyListener;
-import com.android.contacts.common.list.ShortcutIntentBuilder;
-import com.android.contacts.common.list.ShortcutIntentBuilder.OnShortcutIntentCreatedListener;
-import com.android.contacts.common.model.Contact;
-import com.android.contacts.common.model.ContactLoader;
-import com.android.contacts.util.PhoneCapabilityTester;
-import com.google.common.base.Objects;
-
-/**
- * This is an invisible worker {@link Fragment} that loads the contact details for the contact card.
- * The data is then passed to the listener, who can then pass the data to other {@link View}s.
- */
-public class ContactLoaderFragment extends Fragment implements FragmentKeyListener {
-
-    private static final String TAG = ContactLoaderFragment.class.getSimpleName();
-
-    /** The launch code when picking a ringtone */
-    private static final int REQUEST_CODE_PICK_RINGTONE = 1;
-
-    /** This is the Intent action to install a shortcut in the launcher. */
-    private static final String ACTION_INSTALL_SHORTCUT =
-            "com.android.launcher.action.INSTALL_SHORTCUT";
-
-    private boolean mOptionsMenuOptions;
-    private boolean mOptionsMenuEditable;
-    private boolean mOptionsMenuShareable;
-    private boolean mOptionsMenuCanCreateShortcut;
-    private boolean mSendToVoicemailState;
-    private String mCustomRingtone;
-
-    /**
-     * This is a listener to the {@link ContactLoaderFragment} and will be notified when the
-     * contact details have finished loading or if the user selects any menu options.
-     */
-    public static interface ContactLoaderFragmentListener {
-        /**
-         * Contact was not found, so somehow close this fragment. This is raised after a contact
-         * is removed via Menu/Delete
-         */
-        public void onContactNotFound();
-
-        /**
-         * Contact details have finished loading.
-         */
-        public void onDetailsLoaded(Contact result);
-
-        /**
-         * User decided to go to Edit-Mode
-         */
-        public void onEditRequested(Uri lookupUri);
-
-        /**
-         * User decided to delete the contact
-         */
-        public void onDeleteRequested(Uri lookupUri);
-
-    }
-
-    private static final int LOADER_DETAILS = 1;
-
-    private static final String KEY_CONTACT_URI = "contactUri";
-    private static final String LOADER_ARG_CONTACT_URI = "contactUri";
-
-    private Context mContext;
-    private Uri mLookupUri;
-    private ContactLoaderFragmentListener mListener;
-
-    private Contact mContactData;
-
-    public ContactLoaderFragment() {
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        if (savedInstanceState != null) {
-            mLookupUri = savedInstanceState.getParcelable(KEY_CONTACT_URI);
-        }
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        outState.putParcelable(KEY_CONTACT_URI, mLookupUri);
-    }
-
-    @Override
-    public void onAttach(Activity activity) {
-        super.onAttach(activity);
-        mContext = activity;
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
-        setHasOptionsMenu(true);
-        // This is an invisible view.  This fragment is declared in a layout, so it can't be
-        // "viewless".  (i.e. can't return null here.)
-        // See also the comment in the layout file.
-        return inflater.inflate(R.layout.contact_detail_loader_fragment, container, false);
-    }
-
-    @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-
-        if (mLookupUri != null) {
-            Bundle args = new Bundle();
-            args.putParcelable(LOADER_ARG_CONTACT_URI, mLookupUri);
-            getLoaderManager().initLoader(LOADER_DETAILS, args, mDetailLoaderListener);
-        }
-    }
-
-    public void loadUri(Uri lookupUri) {
-        if (Objects.equal(lookupUri, mLookupUri)) {
-            // Same URI, no need to load the data again
-            return;
-        }
-
-        mLookupUri = lookupUri;
-        if (mLookupUri == null) {
-            getLoaderManager().destroyLoader(LOADER_DETAILS);
-            mContactData = null;
-            if (mListener != null) {
-                mListener.onDetailsLoaded(mContactData);
-            }
-        } else if (getActivity() != null) {
-            Bundle args = new Bundle();
-            args.putParcelable(LOADER_ARG_CONTACT_URI, mLookupUri);
-            getLoaderManager().restartLoader(LOADER_DETAILS, args, mDetailLoaderListener);
-        }
-    }
-
-    public void setListener(ContactLoaderFragmentListener value) {
-        mListener = value;
-    }
-
-    /**
-     * The listener for the detail loader
-     */
-    private final LoaderManager.LoaderCallbacks<Contact> mDetailLoaderListener =
-            new LoaderCallbacks<Contact>() {
-        @Override
-        public Loader<Contact> onCreateLoader(int id, Bundle args) {
-            Uri lookupUri = args.getParcelable(LOADER_ARG_CONTACT_URI);
-            return new ContactLoader(mContext, lookupUri, true /* loadGroupMetaData */,
-                    true /* load invitable account types */, true /* postViewNotification */,
-                    true /* computeFormattedPhoneNumber */);
-        }
-
-        @Override
-        public void onLoadFinished(Loader<Contact> loader, Contact data) {
-            if (!mLookupUri.equals(data.getRequestedUri())) {
-                Log.e(TAG, "Different URI: requested=" + mLookupUri + "  actual=" + data);
-                return;
-            }
-
-            if (data.isError()) {
-                // This shouldn't ever happen, so throw an exception. The {@link ContactLoader}
-                // should log the actual exception.
-                throw new IllegalStateException("Failed to load contact", data.getException());
-            } else if (data.isNotFound()) {
-                Log.i(TAG, "No contact found: " + ((ContactLoader)loader).getLookupUri());
-                mContactData = null;
-            } else {
-                mContactData = data;
-            }
-
-            if (mListener != null) {
-                if (mContactData == null) {
-                    mListener.onContactNotFound();
-                } else {
-                    mListener.onDetailsLoaded(mContactData);
-                }
-            }
-            // Make sure the options menu is setup correctly with the loaded data.
-            if (getActivity() != null) getActivity().invalidateOptionsMenu();
-        }
-
-        @Override
-        public void onLoaderReset(Loader<Contact> loader) {}
-    };
-
-    @Override
-    public void onCreateOptionsMenu(Menu menu, final MenuInflater inflater) {
-        inflater.inflate(R.menu.view_contact, menu);
-    }
-
-    public boolean isOptionsMenuChanged() {
-        return mOptionsMenuOptions != isContactOptionsChangeEnabled()
-                || mOptionsMenuEditable != isContactEditable()
-                || mOptionsMenuShareable != isContactShareable()
-                || mOptionsMenuCanCreateShortcut != isContactCanCreateShortcut();
-    }
-
-    @Override
-    public void onPrepareOptionsMenu(Menu menu) {
-        mOptionsMenuOptions = isContactOptionsChangeEnabled();
-        mOptionsMenuEditable = isContactEditable();
-        mOptionsMenuShareable = isContactShareable();
-        mOptionsMenuCanCreateShortcut = isContactCanCreateShortcut();
-        if (mContactData != null) {
-            mSendToVoicemailState = mContactData.isSendToVoicemail();
-            mCustomRingtone = mContactData.getCustomRingtone();
-        }
-
-        // Hide telephony-related settings (ringtone, send to voicemail)
-        // if we don't have a telephone
-        final MenuItem optionsSendToVoicemail = menu.findItem(R.id.menu_send_to_voicemail);
-        if (optionsSendToVoicemail != null) {
-            optionsSendToVoicemail.setChecked(mSendToVoicemailState);
-            optionsSendToVoicemail.setVisible(mOptionsMenuOptions);
-        }
-        final MenuItem optionsRingtone = menu.findItem(R.id.menu_set_ringtone);
-        if (optionsRingtone != null) {
-            optionsRingtone.setVisible(mOptionsMenuOptions);
-        }
-
-        final MenuItem editMenu = menu.findItem(R.id.menu_edit);
-        if (editMenu != null) {
-            editMenu.setVisible(mOptionsMenuEditable);
-        }
-
-        final MenuItem deleteMenu = menu.findItem(R.id.menu_delete);
-        if (deleteMenu != null) {
-            deleteMenu.setVisible(mOptionsMenuEditable);
-        }
-
-        final MenuItem shareMenu = menu.findItem(R.id.menu_share);
-        if (shareMenu != null) {
-            shareMenu.setVisible(mOptionsMenuShareable);
-        }
-
-        final MenuItem createContactShortcutMenu = menu.findItem(R.id.menu_create_contact_shortcut);
-        if (createContactShortcutMenu != null) {
-            createContactShortcutMenu.setVisible(mOptionsMenuCanCreateShortcut);
-        }
-    }
-
-    public boolean isContactOptionsChangeEnabled() {
-        return mContactData != null && !mContactData.isDirectoryEntry()
-                && PhoneCapabilityTester.isPhone(mContext);
-    }
-
-    public boolean isContactEditable() {
-        return mContactData != null && !mContactData.isDirectoryEntry();
-    }
-
-    public boolean isContactShareable() {
-        return mContactData != null && !mContactData.isDirectoryEntry();
-    }
-
-    public boolean isContactCanCreateShortcut() {
-        return mContactData != null && !mContactData.isUserProfile()
-                && !mContactData.isDirectoryEntry();
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case R.id.menu_edit: {
-                if (mListener != null) mListener.onEditRequested(mLookupUri);
-                break;
-            }
-            case R.id.menu_delete: {
-                if (mListener != null) mListener.onDeleteRequested(mLookupUri);
-                return true;
-            }
-            case R.id.menu_set_ringtone: {
-                if (mContactData == null) return false;
-                doPickRingtone();
-                return true;
-            }
-            case R.id.menu_share: {
-                if (mContactData == null) return false;
-
-                final String lookupKey = mContactData.getLookupKey();
-                Uri shareUri = Uri.withAppendedPath(Contacts.CONTENT_VCARD_URI, lookupKey);
-                if (mContactData.isUserProfile()) {
-                    // User is sharing the profile.  We don't want to force the receiver to have
-                    // the highly-privileged READ_PROFILE permission, so we need to request a
-                    // pre-authorized URI from the provider.
-                    shareUri = getPreAuthorizedUri(shareUri);
-                }
-
-                final Intent intent = new Intent(Intent.ACTION_SEND);
-                intent.setType(Contacts.CONTENT_VCARD_TYPE);
-                intent.putExtra(Intent.EXTRA_STREAM, shareUri);
-
-                // Launch chooser to share contact via
-                final CharSequence chooseTitle = mContext.getText(R.string.share_via);
-                final Intent chooseIntent = Intent.createChooser(intent, chooseTitle);
-
-                try {
-                    mContext.startActivity(chooseIntent);
-                } catch (ActivityNotFoundException ex) {
-                    Toast.makeText(mContext, R.string.share_error, Toast.LENGTH_SHORT).show();
-                }
-                return true;
-            }
-            case R.id.menu_send_to_voicemail: {
-                // Update state and save
-                mSendToVoicemailState = !mSendToVoicemailState;
-                item.setChecked(mSendToVoicemailState);
-                Intent intent = ContactSaveService.createSetSendToVoicemail(
-                        mContext, mLookupUri, mSendToVoicemailState);
-                mContext.startService(intent);
-                return true;
-            }
-            case R.id.menu_create_contact_shortcut: {
-                // Create a launcher shortcut with this contact
-                createLauncherShortcutWithContact();
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Creates a launcher shortcut with the current contact.
-     */
-    private void createLauncherShortcutWithContact() {
-        // Hold the parent activity of this fragment in case this fragment is destroyed
-        // before the callback to onShortcutIntentCreated(...)
-        final Activity parentActivity = getActivity();
-
-        ShortcutIntentBuilder builder = new ShortcutIntentBuilder(parentActivity,
-                new OnShortcutIntentCreatedListener() {
-
-            @Override
-            public void onShortcutIntentCreated(Uri uri, Intent shortcutIntent) {
-                // Broadcast the shortcutIntent to the launcher to create a
-                // shortcut to this contact
-                shortcutIntent.setAction(ACTION_INSTALL_SHORTCUT);
-                parentActivity.sendBroadcast(shortcutIntent);
-
-                // Send a toast to give feedback to the user that a shortcut to this
-                // contact was added to the launcher.
-                Toast.makeText(parentActivity,
-                        R.string.createContactShortcutSuccessful,
-                        Toast.LENGTH_SHORT).show();
-            }
-
-        });
-        builder.createContactShortcutIntent(mLookupUri);
-    }
-
-    /**
-     * Calls into the contacts provider to get a pre-authorized version of the given URI.
-     */
-    private Uri getPreAuthorizedUri(Uri uri) {
-        Bundle uriBundle = new Bundle();
-        uriBundle.putParcelable(ContactsContract.Authorization.KEY_URI_TO_AUTHORIZE, uri);
-        Bundle authResponse = mContext.getContentResolver().call(
-                ContactsContract.AUTHORITY_URI,
-                ContactsContract.Authorization.AUTHORIZATION_METHOD,
-                null,
-                uriBundle);
-        if (authResponse != null) {
-            return (Uri) authResponse.getParcelable(
-                    ContactsContract.Authorization.KEY_AUTHORIZED_URI);
-        } else {
-            return uri;
-        }
-    }
-
-    @Override
-    public boolean handleKeyDown(int keyCode) {
-        switch (keyCode) {
-            case KeyEvent.KEYCODE_DEL: {
-                if (mListener != null) mListener.onDeleteRequested(mLookupUri);
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private void doPickRingtone() {
-
-        Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
-        // Allow user to pick 'Default'
-        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
-        // Show only ringtones
-        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);
-        // Allow the user to pick a silent ringtone
-        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, true);
-
-        Uri ringtoneUri;
-        if (mCustomRingtone != null) {
-            ringtoneUri = Uri.parse(mCustomRingtone);
-        } else {
-            // Otherwise pick default ringtone Uri so that something is selected.
-            ringtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
-        }
-
-        // Put checkmark next to the current ringtone for this contact
-        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, ringtoneUri);
-
-        // Launch!
-        startActivityForResult(intent, REQUEST_CODE_PICK_RINGTONE);
-    }
-
-    @Override
-    public void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (resultCode != Activity.RESULT_OK) {
-            return;
-        }
-
-        switch (requestCode) {
-            case REQUEST_CODE_PICK_RINGTONE: {
-                Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
-                handleRingtonePicked(pickedUri);
-                break;
-            }
-        }
-    }
-
-    private void handleRingtonePicked(Uri pickedUri) {
-        if (pickedUri == null || RingtoneManager.isDefault(pickedUri)) {
-            mCustomRingtone = null;
-        } else {
-            mCustomRingtone = pickedUri.toString();
-        }
-        Intent intent = ContactSaveService.createSetRingtone(
-                mContext, mLookupUri, mCustomRingtone);
-        mContext.startService(intent);
-    }
-}
diff --git a/src/com/android/contacts/detail/StreamItemAdapter.java b/src/com/android/contacts/detail/StreamItemAdapter.java
deleted file mode 100644
index 6e1adc5..0000000
--- a/src/com/android/contacts/detail/StreamItemAdapter.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * 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
- */
-
-package com.android.contacts.detail;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-
-import com.android.contacts.R;
-import com.android.contacts.common.model.AccountTypeManager;
-import com.android.contacts.common.model.account.AccountType;
-import com.android.contacts.util.StreamItemEntry;
-
-import com.google.common.collect.Lists;
-
-import java.util.List;
-
-/**
- * List adapter for stream items of a given contact.
- */
-public class StreamItemAdapter extends BaseAdapter {
-    /** The header view, hidden under the tab carousel, if present. */
-    private static final int ITEM_VIEW_TYPE_HEADER = 0;
-    /** The updates in the list. */
-    private static final int ITEM_VIEW_TYPE_STREAM_ITEM = 1;
-
-    private final Context mContext;
-    private final View.OnClickListener mItemClickListener;
-    private final View.OnClickListener mPhotoClickListener;
-    private final LayoutInflater mInflater;
-
-    private List<StreamItemEntry> mStreamItems;
-
-    public StreamItemAdapter(Context context, View.OnClickListener itemClickListener,
-            View.OnClickListener photoClickListener) {
-        mContext = context;
-        mItemClickListener = itemClickListener;
-        mPhotoClickListener = photoClickListener;
-        mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-        mStreamItems = Lists.newArrayList();
-    }
-
-    @Override
-    public int getCount() {
-        // The header should only be included as items in the list if there are other
-        // stream items.
-        int count = mStreamItems.size();
-        return (count == 0) ? 0 : (count + 1);
-    }
-
-    @Override
-    public Object getItem(int position) {
-        if (position == 0) {
-            return null;
-        }
-        return mStreamItems.get(position - 1);
-    }
-
-    @Override
-    public long getItemId(int position) {
-        if (position == 0) {
-            return -1;
-        }
-        return position - 1;
-    }
-
-    @Override
-    public boolean isEnabled(int position) {
-        // Make all list items disabled, so they're not clickable.
-        // We make child views clickable in getvView() if the account type supports
-        // viewStreamItemActivity or viewStreamItemPhotoActivity.
-        return false;
-    }
-
-    @Override
-    public boolean areAllItemsEnabled() {
-        // See isEnabled().
-        return false;
-    }
-
-    @Override
-    public View getView(int position, View convertView, ViewGroup parent) {
-        if (position == 0) {
-            return mInflater.inflate(R.layout.updates_header_contact, null);
-        }
-        final StreamItemEntry streamItem = (StreamItemEntry) getItem(position);
-        final AccountTypeManager manager = AccountTypeManager.getInstance(mContext);
-        final AccountType accountType =
-                manager.getAccountType(streamItem.getAccountType(), streamItem.getDataSet());
-
-        final View view = ContactDetailDisplayUtils.createStreamItemView(
-                mInflater, mContext, convertView, streamItem,
-                // Only pass the photo click listener if the account type has the photo
-                // view activity.
-                (accountType.getViewStreamItemPhotoActivity() == null) ? null : mPhotoClickListener
-                );
-        final View contentView = view.findViewById(R.id.stream_item_content);
-
-        // If the account type has the stream item view activity, make the stream container
-        // clickable.
-        if (accountType.getViewStreamItemActivity() != null) {
-            contentView.setTag(streamItem);
-            contentView.setFocusable(true);
-            contentView.setOnClickListener(mItemClickListener);
-            contentView.setEnabled(true);
-        } else {
-            contentView.setTag(null);
-            contentView.setFocusable(false);
-            contentView.setOnClickListener(null);
-            // setOnClickListener makes it clickable, so we need to overwrite it.
-            contentView.setClickable(false);
-            contentView.setEnabled(false);
-        }
-        return view;
-    }
-
-    @Override
-    public int getViewTypeCount() {
-        // ITEM_VIEW_TYPE_HEADER and ITEM_VIEW_TYPE_STREAM_ITEM
-        return 2;
-    }
-
-    @Override
-    public int getItemViewType(int position) {
-        if (position == 0) {
-            return ITEM_VIEW_TYPE_HEADER;
-        }
-        return ITEM_VIEW_TYPE_STREAM_ITEM;
-    }
-
-    public void setStreamItems(List<StreamItemEntry> streamItems) {
-        mStreamItems = streamItems;
-        notifyDataSetChanged();
-    }
-}
diff --git a/src/com/android/contacts/editor/AggregationSuggestionEngine.java b/src/com/android/contacts/editor/AggregationSuggestionEngine.java
index f121605..91df272 100644
--- a/src/com/android/contacts/editor/AggregationSuggestionEngine.java
+++ b/src/com/android/contacts/editor/AggregationSuggestionEngine.java
@@ -335,25 +335,24 @@
         }
     }
 
-    private boolean updateSuggestedContactIds(Cursor cursor) {
-        int count = cursor.getCount();
+    private boolean updateSuggestedContactIds(final Cursor cursor) {
+        final int count = cursor.getCount();
         boolean changed = count != mSuggestedContactIds.length;
-        if (!changed) {
-            while (cursor.moveToNext()) {
-                long contactId = cursor.getLong(0);
-                if (Arrays.binarySearch(mSuggestedContactIds, contactId) < 0) {
-                    changed = true;
-                    break;
-                }
+        final ArrayList<Long> newIds = new ArrayList<Long>(count);
+        while (cursor.moveToNext()) {
+            final long contactId = cursor.getLong(0);
+            if (!changed &&
+                    Arrays.binarySearch(mSuggestedContactIds, contactId) < 0) {
+                changed = true;
             }
+            newIds.add(contactId);
         }
 
         if (changed) {
-            mSuggestedContactIds = new long[count];
-            cursor.moveToPosition(-1);
-            for (int i = 0; i < count; i++) {
-                cursor.moveToNext();
-                mSuggestedContactIds[i] = cursor.getLong(0);
+            mSuggestedContactIds = new long[newIds.size()];
+            int i = 0;
+            for (final Long newId : newIds) {
+                mSuggestedContactIds[i++] = newId;
             }
             Arrays.sort(mSuggestedContactIds);
         }
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index 54c9d3b..b4ec7f9 100644
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -24,6 +24,7 @@
 import android.app.Fragment;
 import android.app.LoaderManager;
 import android.app.LoaderManager.LoaderCallbacks;
+import android.content.ActivityNotFoundException;
 import android.content.ContentUris;
 import android.content.ContentValues;
 import android.content.Context;
@@ -34,6 +35,8 @@
 import android.database.Cursor;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
+import android.graphics.Rect;
+import android.media.RingtoneManager;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.SystemClock;
@@ -46,6 +49,8 @@
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Groups;
 import android.provider.ContactsContract.Intents;
+import android.provider.ContactsContract.Intents.UI;
+import android.provider.ContactsContract.QuickContact;
 import android.provider.ContactsContract.RawContacts;
 import android.text.TextUtils;
 import android.util.Log;
@@ -67,7 +72,6 @@
 import com.android.contacts.R;
 import com.android.contacts.activities.ContactEditorAccountsChangedActivity;
 import com.android.contacts.activities.ContactEditorActivity;
-import com.android.contacts.activities.JoinContactActivity;
 import com.android.contacts.common.model.AccountTypeManager;
 import com.android.contacts.common.model.ValuesDelta;
 import com.android.contacts.common.model.account.AccountType;
@@ -84,13 +88,14 @@
 import com.android.contacts.common.model.RawContactDelta;
 import com.android.contacts.common.model.RawContactDeltaList;
 import com.android.contacts.common.model.RawContactModifier;
+import com.android.contacts.quickcontact.QuickContactActivity;
 import com.android.contacts.util.ContactPhotoUtils;
 import com.android.contacts.util.HelpUtils;
+import com.android.contacts.util.PhoneCapabilityTester;
 import com.android.contacts.util.UiClosables;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 
-import java.io.File;
 import java.io.FileNotFoundException;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -201,6 +206,7 @@
 
     private static final int REQUEST_CODE_JOIN = 0;
     private static final int REQUEST_CODE_ACCOUNTS_CHANGED = 1;
+    private static final int REQUEST_CODE_PICK_RINGTONE = 2;
 
     /**
      * The raw contact for which we started "take photo" or "choose photo from gallery" most
@@ -252,6 +258,11 @@
     private boolean mIsEdit = false;
     private boolean mExistingContactDataReady = false;
 
+    // Variables related to phone specific option menus
+    private boolean mSendToVoicemailState;
+    private boolean mArePhoneOptionsChangable;
+    private String mCustomRingtone;
+
     // This is used to pre-populate the editor with a display name when a user edits a read-only
     // contact.
     private String mDefaultDisplayName;
@@ -552,6 +563,8 @@
         // If displayName is null at this point it is simply ignored later on by the editor.
         bindEditorsForExistingContact(displayName, contact.isUserProfile(),
                 mRawContacts);
+
+        bindMenuItemsForPhone(contact);
     }
 
     @Override
@@ -597,6 +610,17 @@
         bindEditors();
     }
 
+    private void bindMenuItemsForPhone(Contact contact) {
+        mSendToVoicemailState = contact.isSendToVoicemail();
+        mCustomRingtone = contact.getCustomRingtone();
+        mArePhoneOptionsChangable = arePhoneOptionsChangable(contact);
+    }
+
+    private boolean arePhoneOptionsChangable(Contact contact) {
+        return contact != null && !contact.isDirectoryEntry()
+                && PhoneCapabilityTester.isPhone(mContext);
+    }
+
     /**
      * Merges extras from the intent.
      */
@@ -892,7 +916,7 @@
     */
     private Bitmap updatedBitmapForRawContact(long rawContactId) {
         String path = mUpdatedPhotos.getString(String.valueOf(rawContactId));
-        return BitmapFactory.decodeFile(path);
+        return path == null ? null : BitmapFactory.decodeFile(path);
     }
 
     private void bindPhotoHandler(BaseRawContactEditorView editor, AccountType type,
@@ -1020,32 +1044,40 @@
         final MenuItem joinMenu = menu.findItem(R.id.menu_join);
         final MenuItem helpMenu = menu.findItem(R.id.menu_help);
         final MenuItem discardMenu = menu.findItem(R.id.menu_discard);
+        final MenuItem sendToVoiceMailMenu = menu.findItem(R.id.menu_send_to_voicemail);
+        final MenuItem ringToneMenu = menu.findItem(R.id.menu_set_ringtone);
+        final MenuItem deleteMenu = menu.findItem(R.id.menu_delete);
 
         // Set visibility of menus
         doneMenu.setVisible(false);
 
-        // Split only if more than one raw profile and not a user profile
-        splitMenu.setVisible(mState.size() > 1 && !isEditingUserProfile());
-
-        // Cannot join a user profile
-        joinMenu.setVisible(!isEditingUserProfile());
-
         // Discard menu is only available if at least one raw contact is editable
         discardMenu.setVisible(mState != null &&
                 mState.getFirstWritableRawContact(mContext) != null);
 
         // help menu depending on whether this is inserting or editing
         if (Intent.ACTION_INSERT.equals(mAction)) {
-            // inserting
             HelpUtils.prepareHelpMenuItem(mContext, helpMenu, R.string.help_url_people_add);
+            splitMenu.setVisible(false);
+            joinMenu.setVisible(false);
+            deleteMenu.setVisible(false);
         } else if (Intent.ACTION_EDIT.equals(mAction)) {
-            // editing
             HelpUtils.prepareHelpMenuItem(mContext, helpMenu, R.string.help_url_people_edit);
+            // Split only if more than one raw profile and not a user profile
+            splitMenu.setVisible(mState.size() > 1 && !isEditingUserProfile());
+            // Cannot join a user profile
+            joinMenu.setVisible(!isEditingUserProfile());
         } else {
             // something else, so don't show the help menu
             helpMenu.setVisible(false);
         }
 
+        // Hide telephony-related settings (ringtone, send to voicemail)
+        // if we don't have a telephone or are editing a new contact.
+        sendToVoiceMailMenu.setChecked(mSendToVoicemailState);
+        sendToVoiceMailMenu.setVisible(mArePhoneOptionsChangable);
+        ringToneMenu.setVisible(mArePhoneOptionsChangable);
+
         int size = menu.size();
         for (int i = 0; i < size; i++) {
             menu.getItem(i).setEnabled(mEnabled);
@@ -1059,11 +1091,26 @@
                 return save(SaveMode.CLOSE);
             case R.id.menu_discard:
                 return revert();
+            case R.id.menu_delete:
+                if (mListener != null) mListener.onDeleteRequested(mLookupUri);
+                return true;
             case R.id.menu_split:
                 return doSplitContactAction();
             case R.id.menu_join:
                 return doJoinContactAction();
+            case R.id.menu_set_ringtone:
+                doPickRingtone();
+                return true;
+            case R.id.menu_send_to_voicemail:
+                // Update state and save
+                mSendToVoicemailState = !mSendToVoicemailState;
+                item.setChecked(mSendToVoicemailState);
+                final Intent intent = ContactSaveService.createSetSendToVoicemail(
+                        mContext, mLookupUri, mSendToVoicemailState);
+                mContext.startService(intent);
+                return true;
         }
+
         return false;
     }
 
@@ -1155,6 +1202,46 @@
         return true;
     }
 
+    private void doPickRingtone() {
+
+        final Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
+        // Allow user to pick 'Default'
+        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
+        // Show only ringtones
+        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);
+        // Allow the user to pick a silent ringtone
+        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, true);
+
+        final Uri ringtoneUri;
+        if (mCustomRingtone != null) {
+            ringtoneUri = Uri.parse(mCustomRingtone);
+        } else {
+            // Otherwise pick default ringtone Uri so that something is selected.
+            ringtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
+        }
+
+        // Put checkmark next to the current ringtone for this contact
+        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, ringtoneUri);
+
+        // Launch!
+        try {
+            startActivityForResult(intent, REQUEST_CODE_PICK_RINGTONE);
+        } catch (ActivityNotFoundException ex) {
+            Toast.makeText(mContext, R.string.missing_app, Toast.LENGTH_SHORT).show();
+        }
+    }
+
+    private void handleRingtonePicked(Uri pickedUri) {
+        if (pickedUri == null || RingtoneManager.isDefault(pickedUri)) {
+            mCustomRingtone = null;
+        } else {
+            mCustomRingtone = pickedUri.toString();
+        }
+        Intent intent = ContactSaveService.createSetRingtone(
+                mContext, mLookupUri, mCustomRingtone);
+        mContext.startService(intent);
+    }
+
     public static class CancelEditDialogFragment extends DialogFragment {
 
         public static void show(ContactEditorFragment fragment) {
@@ -1225,9 +1312,7 @@
                             mLookupUri == null ? null : mLookupUri.getAuthority();
 
                     final String legacyAuthority = "contacts";
-
-                    resultIntent = new Intent();
-                    resultIntent.setAction(Intent.ACTION_VIEW);
+                    final Uri lookupUri;
                     if (legacyAuthority.equals(requestAuthority)) {
                         // Build legacy Uri when requested by caller
                         final long contactId = ContentUris.parseId(Contacts.lookupContact(
@@ -1235,12 +1320,15 @@
                         final Uri legacyContentUri = Uri.parse("content://contacts/people");
                         final Uri legacyUri = ContentUris.withAppendedId(
                                 legacyContentUri, contactId);
-                        resultIntent.setData(legacyUri);
+                        lookupUri = legacyUri;
                     } else {
                         // Otherwise pass back a lookup-style Uri
-                        resultIntent.setData(contactLookupUri);
+                        lookupUri = contactLookupUri;
                     }
-
+                    resultIntent = QuickContact.composeQuickContactsIntent(getActivity(),
+                            (Rect) null, lookupUri, QuickContactActivity.MODE_FULLY_EXPANDED, null);
+                    // Make sure not to show QuickContacts on top of another QuickContacts.
+                    resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                 } else {
                     resultIntent = null;
                 }
@@ -1289,8 +1377,8 @@
 
         mContactIdForJoin = ContentUris.parseId(contactLookupUri);
         mContactWritableForJoin = isContactWritable();
-        final Intent intent = new Intent(JoinContactActivity.JOIN_CONTACT);
-        intent.putExtra(JoinContactActivity.EXTRA_TARGET_CONTACT_ID, mContactIdForJoin);
+        final Intent intent = new Intent(UI.PICK_JOIN_CONTACT_ACTION);
+        intent.putExtra(UI.TARGET_CONTACT_ID_EXTRA_KEY, mContactIdForJoin);
         startActivityForResult(intent, REQUEST_CODE_JOIN);
     }
 
@@ -1371,6 +1459,8 @@
          */
         void onCustomEditContactActivityRequested(AccountWithDataSet account, Uri rawContactUri,
                 Bundle intentExtras, boolean redirect);
+
+        void onDeleteRequested(Uri contactUri);
     }
 
     private class EntityDeltaComparator implements Comparator<RawContactDelta> {
@@ -1728,6 +1818,14 @@
                 createContact();
                 break;
             }
+            case REQUEST_CODE_PICK_RINGTONE: {
+                if (data != null) {
+                    final Uri pickedUri = data.getParcelableExtra(
+                            RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
+                    handleRingtonePicked(pickedUri);
+                }
+                break;
+            }
         }
     }
 
diff --git a/src/com/android/contacts/editor/ContactEditorUtils.java b/src/com/android/contacts/editor/ContactEditorUtils.java
index e93d3c8..b132217 100644
--- a/src/com/android/contacts/editor/ContactEditorUtils.java
+++ b/src/com/android/contacts/editor/ContactEditorUtils.java
@@ -26,7 +26,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 
-import com.android.contacts.common.test.NeededForTesting;
+import com.android.contacts.common.testing.NeededForTesting;
 import com.android.contacts.common.model.AccountTypeManager;
 import com.android.contacts.common.model.account.AccountType;
 import com.android.contacts.common.model.account.AccountWithDataSet;
diff --git a/src/com/android/contacts/editor/StructuredNameEditorView.java b/src/com/android/contacts/editor/StructuredNameEditorView.java
index bf548f6..3408435 100644
--- a/src/com/android/contacts/editor/StructuredNameEditorView.java
+++ b/src/com/android/contacts/editor/StructuredNameEditorView.java
@@ -155,6 +155,7 @@
 
         mSnapshot.getContentValues().clear();
         mSnapshot.setDisplayName(values.getDisplayName());
+        mSnapshot.setMimeType(StructuredName.CONTENT_ITEM_TYPE);
         for (String field : structuredNameMap.keySet()) {
             mSnapshot.getContentValues().put(field, structuredNameMap.get(field));
         }
diff --git a/src/com/android/contacts/editor/TextFieldsEditorView.java b/src/com/android/contacts/editor/TextFieldsEditorView.java
index 85cbac8..e658f53 100644
--- a/src/com/android/contacts/editor/TextFieldsEditorView.java
+++ b/src/com/android/contacts/editor/TextFieldsEditorView.java
@@ -58,6 +58,8 @@
     private boolean mHideOptional = true;
     private boolean mHasShortAndLongForms;
     private int mMinFieldHeight;
+    private int mEditTextTopPadding;
+    private int mEditTextBottomPadding;
     private int mPreviousViewHeight;
 
     public TextFieldsEditorView(Context context) {
@@ -82,6 +84,10 @@
 
         mMinFieldHeight = mContext.getResources().getDimensionPixelSize(
                 R.dimen.editor_min_line_item_height);
+        mEditTextBottomPadding = mContext.getResources().getDimensionPixelSize(
+                R.dimen.editor_text_field_bottom_padding);
+        mEditTextTopPadding = mContext.getResources().getDimensionPixelSize(
+                R.dimen.editor_text_field_top_padding);
         mFields = (ViewGroup) findViewById(R.id.editors);
         mExpansionView = (ImageView) findViewById(R.id.expansion_view);
         mExpansionViewContainer = findViewById(R.id.expansion_view_container);
@@ -196,7 +202,7 @@
             final EditField field = kind.fieldList.get(index);
             final EditText fieldView = new EditText(mContext);
             fieldView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
-                    field.isMultiLine() ? LayoutParams.WRAP_CONTENT : mMinFieldHeight));
+                    LayoutParams.WRAP_CONTENT));
             // Set either a minimum line requirement or a minimum height (because {@link TextView}
             // only takes one or the other at a single time).
             if (field.minLines != 0) {
@@ -205,6 +211,9 @@
                 fieldView.setMinHeight(mMinFieldHeight);
             }
             fieldView.setTextAppearance(getContext(), android.R.style.TextAppearance_Medium);
+            fieldView.setPadding(fieldView.getPaddingLeft(), mEditTextTopPadding,
+                    fieldView.getPaddingRight(), mEditTextBottomPadding);
+            fieldView.setHintTextColor(R.color.secondary_text_color);
             fieldView.setGravity(Gravity.TOP);
             mFieldEditTexts[index] = fieldView;
             fieldView.setId(vig.getId(state, kind, entry, index));
diff --git a/src/com/android/contacts/group/GroupDetailFragment.java b/src/com/android/contacts/group/GroupDetailFragment.java
index 9d46583..c12595d 100644
--- a/src/com/android/contacts/group/GroupDetailFragment.java
+++ b/src/com/android/contacts/group/GroupDetailFragment.java
@@ -245,6 +245,10 @@
 
         @Override
         public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
+            if (data == null || data.isClosed()) {
+                Log.e(TAG, "Failed to load group metadata");
+                return;
+            }
             data.moveToPosition(-1);
             if (data.moveToNext()) {
                 boolean deleted = data.getInt(GroupMetaDataLoader.DELETED) == 1;
@@ -277,6 +281,10 @@
 
         @Override
         public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
+            if (data == null || data.isClosed()) {
+                Log.e(TAG, "Failed to load group members");
+                return;
+            }
             updateSize(data.getCount());
             mAdapter.setContactCursor(data);
             mMemberListView.setEmptyView(mEmptyView);
diff --git a/src/com/android/contacts/group/GroupEditorFragment.java b/src/com/android/contacts/group/GroupEditorFragment.java
index 91800f8..3d13bdd 100644
--- a/src/com/android/contacts/group/GroupEditorFragment.java
+++ b/src/com/android/contacts/group/GroupEditorFragment.java
@@ -974,9 +974,10 @@
                 });
             }
             DefaultImageRequest request = new DefaultImageRequest(member.getDisplayName(),
-                    member.getLookupKey());
+                    member.getLookupKey(), true /* isCircular */);
             mPhotoManager.loadPhoto(badge, member.getPhotoUri(),
-                    ViewUtil.getConstantPreLayoutWidth(badge), false, request);
+                    ViewUtil.getConstantPreLayoutWidth(badge), false, true /* isCircular */,
+                            request);
             return result;
         }
 
diff --git a/src/com/android/contacts/interactions/CalendarInteraction.java b/src/com/android/contacts/interactions/CalendarInteraction.java
new file mode 100644
index 0000000..b3862a2
--- /dev/null
+++ b/src/com/android/contacts/interactions/CalendarInteraction.java
@@ -0,0 +1,279 @@
+package com.android.contacts.interactions;
+
+import com.android.contacts.R;
+
+import android.content.ContentValues;
+import android.content.ContentUris;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.provider.CalendarContract.Attendees;
+import android.provider.CalendarContract.Events;
+import android.text.TextUtils;
+import android.text.format.Time;
+import android.util.Log;
+
+/**
+ * Represents a calendar event interaction, wrapping the columns in
+ * {@link android.provider.CalendarContract.Attendees}.
+ */
+public class CalendarInteraction implements ContactInteraction {
+    private static final String TAG = CalendarInteraction.class.getSimpleName();
+
+    private static final int CALENDAR_ICON_RES = R.drawable.ic_event_24dp;
+
+    private ContentValues mValues;
+
+    public CalendarInteraction(ContentValues values) {
+        mValues = values;
+    }
+
+    @Override
+    public Intent getIntent() {
+        return new Intent(Intent.ACTION_VIEW).setData(
+                ContentUris.withAppendedId(Events.CONTENT_URI, getEventId()));
+    }
+
+    @Override
+    public long getInteractionDate() {
+        return getDtstart();
+    }
+
+    @Override
+    public String getViewHeader(Context context) {
+        String title = getTitle();
+        if (TextUtils.isEmpty(title)) {
+            return context.getResources().getString(R.string.untitled_event);
+        }
+        return title;
+    }
+
+    @Override
+    public String getViewBody(Context context) {
+        return null;
+    }
+
+    @Override
+    public String getViewFooter(Context context) {
+        // Pulled from com.android.calendar.EventInfoFragment.updateEvent(View view)
+        // TODO: build callback to update time zone if different than preferences
+        String localTimezone = Time.getCurrentTimezone();
+
+        Long dateEnd = getDtend();
+        Long dateStart = getDtstart();
+        if (dateStart == null && dateEnd == null) {
+            return null;
+        } else if (dateEnd == null) {
+            dateEnd = dateStart;
+        } else if (dateStart == null) {
+            dateStart = dateEnd;
+        }
+
+        String displayedDatetime = CalendarInteractionUtils.getDisplayedDatetime(
+                dateStart, dateEnd, System.currentTimeMillis(), localTimezone,
+                getAllDay(), context);
+
+        return displayedDatetime;
+    }
+
+    @Override
+    public Drawable getIcon(Context context) {
+        return context.getResources().getDrawable(CALENDAR_ICON_RES);
+    }
+
+    @Override
+    public Drawable getBodyIcon(Context context) {
+        return null;
+    }
+
+    @Override
+    public Drawable getFooterIcon(Context context) {
+        return null;
+    }
+
+    public String getAttendeeEmail() {
+        return mValues.getAsString(Attendees.ATTENDEE_EMAIL);
+    }
+
+    public String getAttendeeIdentity() {
+        return mValues.getAsString(Attendees.ATTENDEE_IDENTITY);
+    }
+
+    public String getAttendeeIdNamespace() {
+        return mValues.getAsString(Attendees.ATTENDEE_ID_NAMESPACE);
+    }
+
+    public String getAttendeeName() {
+        return mValues.getAsString(Attendees.ATTENDEE_NAME);
+    }
+
+    public Integer getAttendeeRelationship() {
+        return mValues.getAsInteger(Attendees.ATTENDEE_RELATIONSHIP);
+    }
+
+    public Integer getAttendeeStatus() {
+        return mValues.getAsInteger(Attendees.ATTENDEE_STATUS);
+    }
+
+    public Integer getAttendeeType() {
+        return mValues.getAsInteger(Attendees.ATTENDEE_TYPE);
+    }
+
+    public Integer getEventId() {
+        return mValues.getAsInteger(Attendees.EVENT_ID);
+    }
+
+    public Integer getAccessLevel() {
+        return mValues.getAsInteger(Attendees.ACCESS_LEVEL);
+    }
+
+    public Boolean getAllDay() {
+        return mValues.getAsBoolean(Attendees.ALL_DAY);
+    }
+
+    public Integer getAvailability() {
+        return mValues.getAsInteger(Attendees.AVAILABILITY);
+    }
+
+    public Integer getCalendarId() {
+        return mValues.getAsInteger(Attendees.CALENDAR_ID);
+    }
+
+    public Boolean getCanInviteOthers() {
+        return mValues.getAsBoolean(Attendees.CAN_INVITE_OTHERS);
+    }
+
+    public String getCustomAppPackage() {
+        return mValues.getAsString(Attendees.CUSTOM_APP_PACKAGE);
+    }
+
+    public String getCustomAppUri() {
+        return mValues.getAsString(Attendees.CUSTOM_APP_URI);
+    }
+
+    public String getDescription() {
+        return mValues.getAsString(Attendees.DESCRIPTION);
+    }
+
+    public Integer getDisplayColor() {
+        return mValues.getAsInteger(Attendees.DISPLAY_COLOR);
+    }
+
+    public Long getDtend() {
+        return mValues.getAsLong(Attendees.DTEND);
+    }
+
+    public Long getDtstart() {
+        return mValues.getAsLong(Attendees.DTSTART);
+    }
+
+    public String getDuration() {
+        return mValues.getAsString(Attendees.DURATION);
+    }
+
+    public Integer getEventColor() {
+        return mValues.getAsInteger(Attendees.EVENT_COLOR);
+    }
+
+    public String getEventColorKey() {
+        return mValues.getAsString(Attendees.EVENT_COLOR_KEY);
+    }
+
+    public String getEventEndTimezone() {
+        return mValues.getAsString(Attendees.EVENT_END_TIMEZONE);
+    }
+
+    public String getEventLocation() {
+        return mValues.getAsString(Attendees.EVENT_LOCATION);
+    }
+
+    public String getExdate() {
+        return mValues.getAsString(Attendees.EXDATE);
+    }
+
+    public String getExrule() {
+        return mValues.getAsString(Attendees.EXRULE);
+    }
+
+    public Boolean getGuestsCanInviteOthers() {
+        return mValues.getAsBoolean(Attendees.GUESTS_CAN_INVITE_OTHERS);
+    }
+
+    public Boolean getGuestsCanModify() {
+        return mValues.getAsBoolean(Attendees.GUESTS_CAN_MODIFY);
+    }
+
+    public Boolean getGuestsCanSeeGuests() {
+        return mValues.getAsBoolean(Attendees.GUESTS_CAN_SEE_GUESTS);
+    }
+
+    public Boolean getHasAlarm() {
+        return mValues.getAsBoolean(Attendees.HAS_ALARM);
+    }
+
+    public Boolean getHasAttendeeData() {
+        return mValues.getAsBoolean(Attendees.HAS_ATTENDEE_DATA);
+    }
+
+    public Boolean getHasExtendedProperties() {
+        return mValues.getAsBoolean(Attendees.HAS_EXTENDED_PROPERTIES);
+    }
+
+    public String getIsOrganizer() {
+        return mValues.getAsString(Attendees.IS_ORGANIZER);
+    }
+
+    public Long getLastDate() {
+        return mValues.getAsLong(Attendees.LAST_DATE);
+    }
+
+    public Boolean getLastSynced() {
+        return mValues.getAsBoolean(Attendees.LAST_SYNCED);
+    }
+
+    public String getOrganizer() {
+        return mValues.getAsString(Attendees.ORGANIZER);
+    }
+
+    public Boolean getOriginalAllDay() {
+        return mValues.getAsBoolean(Attendees.ORIGINAL_ALL_DAY);
+    }
+
+    public String getOriginalId() {
+        return mValues.getAsString(Attendees.ORIGINAL_ID);
+    }
+
+    public Long getOriginalInstanceTime() {
+        return mValues.getAsLong(Attendees.ORIGINAL_INSTANCE_TIME);
+    }
+
+    public String getOriginalSyncId() {
+        return mValues.getAsString(Attendees.ORIGINAL_SYNC_ID);
+    }
+
+    public String getRdate() {
+        return mValues.getAsString(Attendees.RDATE);
+    }
+
+    public String getRrule() {
+        return mValues.getAsString(Attendees.RRULE);
+    }
+
+    public Integer getSelfAttendeeStatus() {
+        return mValues.getAsInteger(Attendees.SELF_ATTENDEE_STATUS);
+    }
+
+    public Integer getStatus() {
+        return mValues.getAsInteger(Attendees.STATUS);
+    }
+
+    public String getTitle() {
+        return mValues.getAsString(Attendees.TITLE);
+    }
+
+    public String getUid2445() {
+        return mValues.getAsString(Attendees.UID_2445);
+    }
+}
diff --git a/src/com/android/contacts/interactions/CalendarInteractionUtils.java b/src/com/android/contacts/interactions/CalendarInteractionUtils.java
new file mode 100644
index 0000000..c7943f0
--- /dev/null
+++ b/src/com/android/contacts/interactions/CalendarInteractionUtils.java
@@ -0,0 +1,192 @@
+package com.android.contacts.interactions;
+
+import com.android.contacts.R;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.text.format.DateFormat;
+import android.text.format.DateUtils;
+import android.text.format.Time;
+
+import java.util.Formatter;
+import java.util.Locale;
+
+/**
+ * The following methods were pulled from
+ * {@link com.android.calendar.EventInfoFragment.updateEvent(View view)}
+ * TODO: Move this to frameworks/opt
+ */
+public class CalendarInteractionUtils {
+
+    // Using int constants as a return value instead of an enum to minimize resources.
+    private static final int TODAY = 1;
+    private static final int TOMORROW = 2;
+    private static final int NONE = 0;
+
+    /**
+     * Returns a string description of the specified time interval.
+     */
+    public static String getDisplayedDatetime(long startMillis, long endMillis, long currentMillis,
+            String localTimezone, boolean allDay, Context context) {
+        // Configure date/time formatting.
+        int flagsDate = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_WEEKDAY;
+        int flagsTime = DateUtils.FORMAT_SHOW_TIME;
+        if (DateFormat.is24HourFormat(context)) {
+            flagsTime |= DateUtils.FORMAT_24HOUR;
+        }
+
+        Time currentTime = new Time(localTimezone);
+        currentTime.set(currentMillis);
+        Resources resources = context.getResources();
+        String datetimeString = null;
+        if (allDay) {
+            // All day events require special timezone adjustment.
+            long localStartMillis = convertAlldayUtcToLocal(null, startMillis, localTimezone);
+            long localEndMillis = convertAlldayUtcToLocal(null, endMillis, localTimezone);
+            if (singleDayEvent(localStartMillis, localEndMillis, currentTime.gmtoff)) {
+                // If possible, use "Today" or "Tomorrow" instead of a full date string.
+                int todayOrTomorrow = isTodayOrTomorrow(context.getResources(),
+                        localStartMillis, currentMillis, currentTime.gmtoff);
+                if (TODAY == todayOrTomorrow) {
+                    datetimeString = resources.getString(R.string.today);
+                } else if (TOMORROW == todayOrTomorrow) {
+                    datetimeString = resources.getString(R.string.tomorrow);
+                }
+            }
+            if (datetimeString == null) {
+                // For multi-day allday events or single-day all-day events that are not
+                // today or tomorrow, use framework formatter.
+                Formatter f = new Formatter(new StringBuilder(50), Locale.getDefault());
+                datetimeString = DateUtils.formatDateRange(context, f, startMillis,
+                        endMillis, flagsDate, Time.TIMEZONE_UTC).toString();
+            }
+        } else {
+            if (singleDayEvent(startMillis, endMillis, currentTime.gmtoff)) {
+                // Format the time.
+                String timeString = formatDateRange(context, startMillis, endMillis,
+                        flagsTime);
+
+                // If possible, use "Today" or "Tomorrow" instead of a full date string.
+                int todayOrTomorrow = isTodayOrTomorrow(context.getResources(), startMillis,
+                        currentMillis, currentTime.gmtoff);
+                if (TODAY == todayOrTomorrow) {
+                    // Example: "Today at 1:00pm - 2:00 pm"
+                    datetimeString = resources.getString(R.string.today_at_time_fmt,
+                            timeString);
+                } else if (TOMORROW == todayOrTomorrow) {
+                    // Example: "Tomorrow at 1:00pm - 2:00 pm"
+                    datetimeString = resources.getString(R.string.tomorrow_at_time_fmt,
+                            timeString);
+                } else {
+                    // Format the full date. Example: "Thursday, April 12, 1:00pm - 2:00pm"
+                    String dateString = formatDateRange(context, startMillis, endMillis,
+                            flagsDate);
+                    datetimeString = resources.getString(R.string.date_time_fmt, dateString,
+                            timeString);
+                }
+            } else {
+                // For multiday events, shorten day/month names.
+                // Example format: "Fri Apr 6, 5:00pm - Sun, Apr 8, 6:00pm"
+                int flagsDatetime = flagsDate | flagsTime | DateUtils.FORMAT_ABBREV_MONTH |
+                        DateUtils.FORMAT_ABBREV_WEEKDAY;
+                datetimeString = formatDateRange(context, startMillis, endMillis,
+                        flagsDatetime);
+            }
+        }
+        return datetimeString;
+    }
+
+    /**
+     * Convert given UTC time into current local time. This assumes it is for an
+     * allday event and will adjust the time to be on a midnight boundary.
+     *
+     * @param recycle Time object to recycle, otherwise null.
+     * @param utcTime Time to convert, in UTC.
+     * @param tz The time zone to convert this time to.
+     */
+    private static long convertAlldayUtcToLocal(Time recycle, long utcTime, String tz) {
+        if (recycle == null) {
+            recycle = new Time();
+        }
+        recycle.timezone = Time.TIMEZONE_UTC;
+        recycle.set(utcTime);
+        recycle.timezone = tz;
+        return recycle.normalize(true);
+    }
+
+    public static long convertAlldayLocalToUTC(Time recycle, long localTime, String tz) {
+        if (recycle == null) {
+            recycle = new Time();
+        }
+        recycle.timezone = tz;
+        recycle.set(localTime);
+        recycle.timezone = Time.TIMEZONE_UTC;
+        return recycle.normalize(true);
+    }
+
+    /**
+     * Returns whether the specified time interval is in a single day.
+     */
+    private static boolean singleDayEvent(long startMillis, long endMillis, long localGmtOffset) {
+        if (startMillis == endMillis) {
+            return true;
+        }
+
+        // An event ending at midnight should still be a single-day event, so check
+        // time end-1.
+        int startDay = Time.getJulianDay(startMillis, localGmtOffset);
+        int endDay = Time.getJulianDay(endMillis - 1, localGmtOffset);
+        return startDay == endDay;
+    }
+
+    /**
+     * Returns TODAY or TOMORROW if applicable.  Otherwise returns NONE.
+     */
+    private static int isTodayOrTomorrow(Resources r, long dayMillis,
+            long currentMillis, long localGmtOffset) {
+        int startDay = Time.getJulianDay(dayMillis, localGmtOffset);
+        int currentDay = Time.getJulianDay(currentMillis, localGmtOffset);
+
+        int days = startDay - currentDay;
+        if (days == 1) {
+            return TOMORROW;
+        } else if (days == 0) {
+            return TODAY;
+        } else {
+            return NONE;
+        }
+    }
+
+    /**
+     * Formats a date or a time range according to the local conventions.
+     *
+     * This formats a date/time range using Calendar's time zone and the
+     * local conventions for the region of the device.
+     *
+     * If the {@link DateUtils#FORMAT_UTC} flag is used it will pass in
+     * the UTC time zone instead.
+     *
+     * @param context the context is required only if the time is shown
+     * @param startMillis the start time in UTC milliseconds
+     * @param endMillis the end time in UTC milliseconds
+     * @param flags a bit mask of options See
+     * {@link DateUtils#formatDateRange(Context, Formatter, long, long, int, String) formatDateRange}
+     * @return a string containing the formatted date/time range.
+     */
+    private static String formatDateRange(Context context, long startMillis,
+            long endMillis, int flags) {
+        String date;
+        String tz;
+        if ((flags & DateUtils.FORMAT_UTC) != 0) {
+            tz = Time.TIMEZONE_UTC;
+        } else {
+            tz = Time.getCurrentTimezone();
+        }
+        StringBuilder sb = new StringBuilder(50);
+        Formatter f = new Formatter(sb, Locale.getDefault());
+        sb.setLength(0);
+        date = DateUtils.formatDateRange(context, f, startMillis, endMillis, flags,
+                tz).toString();
+        return date;
+    }
+}
diff --git a/src/com/android/contacts/interactions/CalendarInteractionsLoader.java b/src/com/android/contacts/interactions/CalendarInteractionsLoader.java
new file mode 100644
index 0000000..7d7a8f2
--- /dev/null
+++ b/src/com/android/contacts/interactions/CalendarInteractionsLoader.java
@@ -0,0 +1,228 @@
+package com.android.contacts.interactions;
+
+import com.google.common.base.Preconditions;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import android.content.AsyncTaskLoader;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.database.DatabaseUtils;
+import android.provider.CalendarContract;
+import android.provider.CalendarContract.Calendars;
+import android.util.Log;
+
+
+/**
+ * Loads a list of calendar interactions showing shared calendar events with everyone passed in
+ * {@param emailAddresses}.
+ *
+ * Note: the calendar provider treats mailing lists as atomic email addresses.
+ */
+public class CalendarInteractionsLoader extends AsyncTaskLoader<List<ContactInteraction>> {
+    private static final String TAG = CalendarInteractionsLoader.class.getSimpleName();
+
+    private List<String> mEmailAddresses;
+    private int mMaxFutureToRetrieve;
+    private int mMaxPastToRetrieve;
+    private long mNumberFutureMillisecondToSearchLocalCalendar;
+    private long mNumberPastMillisecondToSearchLocalCalendar;
+    private List<ContactInteraction> mData;
+
+
+    /**
+     * @param maxFutureToRetrieve The maximum number of future events to retrieve
+     * @param maxPastToRetrieve The maximum number of past events to retrieve
+     */
+    public CalendarInteractionsLoader(Context context, List<String> emailAddresses,
+            int maxFutureToRetrieve, int maxPastToRetrieve,
+            long numberFutureMillisecondToSearchLocalCalendar,
+            long numberPastMillisecondToSearchLocalCalendar) {
+        super(context);
+        mEmailAddresses = emailAddresses;
+        mMaxFutureToRetrieve = maxFutureToRetrieve;
+        mMaxPastToRetrieve = maxPastToRetrieve;
+        mNumberFutureMillisecondToSearchLocalCalendar =
+                numberFutureMillisecondToSearchLocalCalendar;
+        mNumberPastMillisecondToSearchLocalCalendar = numberPastMillisecondToSearchLocalCalendar;
+    }
+
+    @Override
+    public List<ContactInteraction> loadInBackground() {
+        if (mEmailAddresses == null || mEmailAddresses.size() < 1) {
+            return Collections.emptyList();
+        }
+        // Perform separate calendar queries for events in the past and future.
+        Cursor cursor = getSharedEventsCursor(/* isFuture= */ true, mMaxFutureToRetrieve);
+        List<ContactInteraction> interactions = getInteractionsFromEventsCursor(cursor);
+        cursor = getSharedEventsCursor(/* isFuture= */ false, mMaxPastToRetrieve);
+        List<ContactInteraction> interactions2 = getInteractionsFromEventsCursor(cursor);
+
+        ArrayList<ContactInteraction> allInteractions = new ArrayList<ContactInteraction>(
+                interactions.size() + interactions2.size());
+        allInteractions.addAll(interactions);
+        allInteractions.addAll(interactions2);
+
+        Log.v(TAG, "# ContactInteraction Loaded: " + allInteractions.size());
+        return allInteractions;
+    }
+
+    /**
+     * @return events inside phone owners' calendars, that are shared with people inside mEmails
+     */
+    private Cursor getSharedEventsCursor(boolean isFuture, int limit) {
+        List<String> calendarIds = getOwnedCalendarIds();
+        if (calendarIds == null) {
+            return null;
+        }
+        long timeMillis = System.currentTimeMillis();
+
+        List<String> selectionArgs = new ArrayList<>();
+        selectionArgs.addAll(mEmailAddresses);
+        selectionArgs.addAll(calendarIds);
+
+        // Add time constraints to selectionArgs
+        String timeOperator = isFuture ? " > " : " < ";
+        long pastTimeCutoff = timeMillis - mNumberPastMillisecondToSearchLocalCalendar;
+        long futureTimeCutoff = timeMillis
+                + mNumberFutureMillisecondToSearchLocalCalendar;
+        String[] timeArguments = {String.valueOf(timeMillis), String.valueOf(pastTimeCutoff),
+                String.valueOf(futureTimeCutoff)};
+        selectionArgs.addAll(Arrays.asList(timeArguments));
+
+        String orderBy = CalendarContract.Attendees.DTSTART + (isFuture ? " ASC " : " DESC ");
+        String selection = caseAndDotInsensitiveEmailComparisonClause(mEmailAddresses.size())
+                + " AND " + CalendarContract.Attendees.CALENDAR_ID
+                + " IN " + ContactInteractionUtil.questionMarks(calendarIds.size())
+                + " AND " + CalendarContract.Attendees.DTSTART + timeOperator + " ? "
+                + " AND " + CalendarContract.Attendees.DTSTART + " > ? "
+                + " AND " + CalendarContract.Attendees.DTSTART + " < ? ";
+
+        return getContext().getContentResolver().query(CalendarContract.Attendees.CONTENT_URI,
+                /* projection = */ null, selection,
+                selectionArgs.toArray(new String[selectionArgs.size()]),
+                orderBy + " LIMIT " + limit);
+    }
+
+    /**
+     * Returns a clause that checks whether an attendee's email is equal to one of
+     * {@param count} values. The comparison is insensitive to dots and case.
+     *
+     * NOTE #1: This function is only needed for supporting non google accounts. For calendars
+     * synced by a google account, attendee email values will be be modified by the server to ensure
+     * they match an entry in contacts.google.com.
+     *
+     * NOTE #2: This comparison clause can result in false positives. Ex#1, test@gmail.com will
+     * match test@gmailco.m. Ex#2, a.2@exchange.com will match a2@exchange.com (exchange addresses
+     * should be dot sensitive). This probably isn't a large concern.
+     */
+    private String caseAndDotInsensitiveEmailComparisonClause(int count) {
+        Preconditions.checkArgument(count > 0, "Count needs to be positive");
+        final String COMPARISON
+                = " REPLACE(" + CalendarContract.Attendees.ATTENDEE_EMAIL
+                + ", '.', '') = REPLACE(?, '.', '') COLLATE NOCASE";
+        StringBuilder sb = new StringBuilder("( " + COMPARISON);
+        for (int i = 1; i < count; i++) {
+            sb.append(" OR " + COMPARISON);
+        }
+        return sb.append(")").toString();
+    }
+
+    /**
+     * @return A list with upto one Card. The Card contains events from {@param Cursor}.
+     * Only returns unique events.
+     */
+    private List<ContactInteraction> getInteractionsFromEventsCursor(Cursor cursor) {
+        try {
+            if (cursor == null || cursor.getCount() == 0) {
+                return Collections.emptyList();
+            }
+            Set<String> uniqueUris = new HashSet<String>();
+            ArrayList<ContactInteraction> interactions = new ArrayList<ContactInteraction>();
+            while (cursor.moveToNext()) {
+                ContentValues values = new ContentValues();
+                DatabaseUtils.cursorRowToContentValues(cursor, values);
+                CalendarInteraction calendarInteraction = new CalendarInteraction(values);
+                if (!uniqueUris.contains(calendarInteraction.getIntent().getData().toString())) {
+                    uniqueUris.add(calendarInteraction.getIntent().getData().toString());
+                    interactions.add(calendarInteraction);
+                }
+            }
+
+            return interactions;
+        } finally {
+            if (cursor != null) {
+                cursor.close();
+            }
+        }
+    }
+
+    /**
+     * @return the Ids of calendars that are owned by accounts on the phone.
+     */
+    private List<String> getOwnedCalendarIds() {
+        String[] projection = new String[] {Calendars._ID, Calendars.CALENDAR_ACCESS_LEVEL};
+        Cursor cursor = getContext().getContentResolver().query(Calendars.CONTENT_URI, projection,
+                Calendars.VISIBLE + " = 1 AND " + Calendars.CALENDAR_ACCESS_LEVEL + " = ? ",
+                new String[] {String.valueOf(Calendars.CAL_ACCESS_OWNER)}, null);
+        try {
+            if (cursor == null || cursor.getCount() < 1) {
+                return null;
+            }
+            cursor.moveToPosition(-1);
+            List<String> calendarIds = new ArrayList<>(cursor.getCount());
+            while (cursor.moveToNext()) {
+                calendarIds.add(String.valueOf(cursor.getInt(0)));
+            }
+            return calendarIds;
+        } finally {
+            if (cursor != null) {
+                cursor.close();
+            }
+        }
+    }
+
+    @Override
+    protected void onStartLoading() {
+        super.onStartLoading();
+
+        if (mData != null) {
+            deliverResult(mData);
+        }
+
+        if (takeContentChanged() || mData == null) {
+            forceLoad();
+        }
+    }
+
+    @Override
+    protected void onStopLoading() {
+        // Attempt to cancel the current load task if possible.
+        cancelLoad();
+    }
+
+    @Override
+    protected void onReset() {
+        super.onReset();
+
+        // Ensure the loader is stopped
+        onStopLoading();
+        if (mData != null) {
+            mData.clear();
+        }
+    }
+
+    @Override
+    public void deliverResult(List<ContactInteraction> data) {
+        mData = data;
+        if (isStarted()) {
+            super.deliverResult(data);
+        }
+    }
+}
diff --git a/src/com/android/contacts/interactions/CallLogInteraction.java b/src/com/android/contacts/interactions/CallLogInteraction.java
new file mode 100644
index 0000000..28b9655
--- /dev/null
+++ b/src/com/android/contacts/interactions/CallLogInteraction.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.contacts.interactions;
+
+import com.android.contacts.R;
+import com.android.contacts.common.util.BitmapUtil;
+
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.graphics.PorterDuff;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.provider.CallLog.Calls;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.util.Log;
+
+/**
+ * Represents a call log event interaction, wrapping the columns in
+ * {@link android.provider.CallLog.Calls}.
+ *
+ * This class does not return log entries related to voicemail or SIP calls. Additionally,
+ * this class ignores number presentation. Number presentation affects how to identify phone
+ * numbers. Since, we already know the identity of the phone number owner we can ignore number
+ * presentation.
+ *
+ * As a result of ignoring voicemail and number presentation, we don't need to worry about API
+ * version.
+ */
+public class CallLogInteraction implements ContactInteraction {
+
+    private static final String URI_TARGET_PREFIX = "tel:";
+    private static final int CALL_LOG_ICON_RES = R.drawable.ic_phone_24dp;
+    private static final int CALL_ARROW_ICON_RES = R.drawable.ic_call_arrow;
+
+    private ContentValues mValues;
+
+    public CallLogInteraction(ContentValues values) {
+        mValues = values;
+    }
+
+    @Override
+    public Intent getIntent() {
+        String number = getNumber();
+        return number == null ? null : new Intent(Intent.ACTION_CALL).setData(
+                Uri.parse(URI_TARGET_PREFIX + number));
+    }
+
+    @Override
+    public String getViewHeader(Context context) {
+        return getNumber();
+    }
+
+    @Override
+    public long getInteractionDate() {
+        Long date = getDate();
+        return date == null ? -1 : date;
+    }
+
+    @Override
+    public String getViewBody(Context context) {
+        Integer numberType = getCachedNumberType();
+        if (numberType == null) {
+            return null;
+        }
+        return Phone.getTypeLabel(context.getResources(), getCachedNumberType(),
+                getCachedNumberLabel()).toString();
+    }
+
+    @Override
+    public String getViewFooter(Context context) {
+        Long date = getDate();
+        return date == null ? null : ContactInteractionUtil.formatDateStringFromTimestamp(
+                date, context);
+    }
+
+    @Override
+    public Drawable getIcon(Context context) {
+        return context.getResources().getDrawable(CALL_LOG_ICON_RES);
+    }
+
+    @Override
+    public Drawable getBodyIcon(Context context) {
+        return null;
+    }
+
+    @Override
+    public Drawable getFooterIcon(Context context) {
+        Drawable callArrow = null;
+        Resources res = context.getResources();
+        Integer type = getType();
+        if (type == null) {
+            return null;
+        }
+        switch (type) {
+            case Calls.INCOMING_TYPE:
+                callArrow = res.getDrawable(CALL_ARROW_ICON_RES);
+                callArrow.setColorFilter(res.getColor(R.color.call_arrow_green),
+                        PorterDuff.Mode.MULTIPLY);
+                break;
+            case Calls.MISSED_TYPE:
+                callArrow = res.getDrawable(CALL_ARROW_ICON_RES);
+                callArrow.setColorFilter(res.getColor(R.color.call_arrow_red),
+                        PorterDuff.Mode.MULTIPLY);
+                break;
+            case Calls.OUTGOING_TYPE:
+                callArrow = BitmapUtil.getRotatedDrawable(res, CALL_ARROW_ICON_RES, 180f);
+                callArrow.setColorFilter(res.getColor(R.color.call_arrow_green),
+                        PorterDuff.Mode.MULTIPLY);
+                break;
+        }
+        return callArrow;
+    }
+
+    public String getCachedName() {
+        return mValues.getAsString(Calls.CACHED_NAME);
+    }
+
+    public String getCachedNumberLabel() {
+        return mValues.getAsString(Calls.CACHED_NUMBER_LABEL);
+    }
+
+    public Integer getCachedNumberType() {
+        return mValues.getAsInteger(Calls.CACHED_NUMBER_TYPE);
+    }
+
+    public Long getDate() {
+        return mValues.getAsLong(Calls.DATE);
+    }
+
+    public Long getDuration() {
+        return mValues.getAsLong(Calls.DURATION);
+    }
+
+    public Boolean getIsRead() {
+        return mValues.getAsBoolean(Calls.IS_READ);
+    }
+
+    public Integer getLimitParamKey() {
+        return mValues.getAsInteger(Calls.LIMIT_PARAM_KEY);
+    }
+
+    public Boolean getNew() {
+        return mValues.getAsBoolean(Calls.NEW);
+    }
+
+    public String getNumber() {
+        return mValues.getAsString(Calls.NUMBER);
+    }
+
+    public Integer getNumberPresentation() {
+        return mValues.getAsInteger(Calls.NUMBER_PRESENTATION);
+    }
+
+    public Integer getOffsetParamKey() {
+        return mValues.getAsInteger(Calls.OFFSET_PARAM_KEY);
+    }
+
+    public Integer getType() {
+        return mValues.getAsInteger(Calls.TYPE);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/contacts/interactions/CallLogInteractionsLoader.java b/src/com/android/contacts/interactions/CallLogInteractionsLoader.java
new file mode 100644
index 0000000..9cbc0b4
--- /dev/null
+++ b/src/com/android/contacts/interactions/CallLogInteractionsLoader.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.contacts.interactions;
+
+import android.content.AsyncTaskLoader;
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.database.Cursor;
+import android.database.DatabaseUtils;
+import android.net.Uri;
+import android.provider.CallLog.Calls;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+public class CallLogInteractionsLoader extends AsyncTaskLoader<List<ContactInteraction>> {
+
+    private final String[] mPhoneNumbers;
+    private final int mMaxToRetrieve;
+    private List<ContactInteraction> mData;
+
+    public CallLogInteractionsLoader(Context context, String[] phoneNumbers,
+            int maxToRetrieve) {
+        super(context);
+        mPhoneNumbers = phoneNumbers;
+        mMaxToRetrieve = maxToRetrieve;
+    }
+
+    @Override
+    public List<ContactInteraction> loadInBackground() {
+        if (!getContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
+                || mPhoneNumbers == null || mPhoneNumbers.length <= 0 || mMaxToRetrieve <= 0) {
+            return Collections.emptyList();
+        }
+
+        final List<ContactInteraction> interactions = new ArrayList<>();
+        for (String number : mPhoneNumbers) {
+            interactions.addAll(getCallLogInteractions(number));
+        }
+        // Sort the call log interactions by date for duplicate removal
+        Collections.sort(interactions, new Comparator<ContactInteraction>() {
+            @Override
+            public int compare(ContactInteraction i1, ContactInteraction i2) {
+                if (i2.getInteractionDate() - i1.getInteractionDate() > 0) {
+                    return 1;
+                } else if (i2.getInteractionDate() == i1.getInteractionDate()) {
+                    return 0;
+                } else {
+                    return -1;
+                }
+            }
+        });
+        // Duplicates only occur because of fuzzy matching. No need to dedupe a single number.
+        if (mPhoneNumbers.length == 1) {
+            return interactions;
+        }
+        return pruneDuplicateCallLogInteractions(interactions, mMaxToRetrieve);
+    }
+
+    /**
+     * Two different phone numbers can match the same call log entry (since phone number
+     * matching is inexact). Therefore, we need to remove duplicates. In a reasonable call log,
+     * every entry should have a distinct date. Therefore, we can assume duplicate entries are
+     * adjacent entries.
+     * @param interactions The interaction list potentially containing duplicates
+     * @return The list with duplicates removed
+     */
+    @VisibleForTesting
+    static List<ContactInteraction> pruneDuplicateCallLogInteractions(
+            List<ContactInteraction> interactions, int maxToRetrieve) {
+        final List<ContactInteraction> subsetInteractions = new ArrayList<>();
+        for (int i = 0; i < interactions.size(); i++) {
+            if (i >= 1 && interactions.get(i).getInteractionDate() ==
+                    interactions.get(i-1).getInteractionDate()) {
+                continue;
+            }
+            subsetInteractions.add(interactions.get(i));
+            if (subsetInteractions.size() >= maxToRetrieve) {
+                break;
+            }
+        }
+        return subsetInteractions;
+    }
+
+    private List<ContactInteraction> getCallLogInteractions(String phoneNumber) {
+        final Uri uri = Uri.withAppendedPath(Calls.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
+        // Append the LIMIT clause onto the ORDER BY clause. This won't cause crashes as long
+        // as we don't also set the {@link android.provider.CallLog.Calls.LIMIT_PARAM_KEY} that
+        // becomes available in KK.
+        String orderByAndLimit = Calls.DATE + " DESC LIMIT " + mMaxToRetrieve;
+        final Cursor cursor = getContext().getContentResolver().query(uri, null, null, null,
+                orderByAndLimit);
+        try {
+            if (cursor == null || cursor.getCount() < 1) {
+                return Collections.emptyList();
+            }
+            cursor.moveToPosition(-1);
+            List<ContactInteraction> interactions = new ArrayList<>();
+            while (cursor.moveToNext()) {
+                final ContentValues values = new ContentValues();
+                DatabaseUtils.cursorRowToContentValues(cursor, values);
+                interactions.add(new CallLogInteraction(values));
+            }
+            return interactions;
+        } finally {
+            if (cursor != null) {
+                cursor.close();
+            }
+        }
+    }
+
+    @Override
+    protected void onStartLoading() {
+        super.onStartLoading();
+
+        if (mData != null) {
+            deliverResult(mData);
+        }
+
+        if (takeContentChanged() || mData == null) {
+            forceLoad();
+        }
+    }
+
+    @Override
+    protected void onStopLoading() {
+        // Attempt to cancel the current load task if possible.
+        cancelLoad();
+    }
+
+    @Override
+    public void deliverResult(List<ContactInteraction> data) {
+        mData = data;
+        if (isStarted()) {
+            super.deliverResult(data);
+        }
+    }
+
+    @Override
+    protected void onReset() {
+        super.onReset();
+
+        // Ensure the loader is stopped
+        onStopLoading();
+        if (mData != null) {
+            mData.clear();
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/contacts/interactions/ContactDeletionInteraction.java b/src/com/android/contacts/interactions/ContactDeletionInteraction.java
index 2880f77..458556e 100644
--- a/src/com/android/contacts/interactions/ContactDeletionInteraction.java
+++ b/src/com/android/contacts/interactions/ContactDeletionInteraction.java
@@ -54,6 +54,7 @@
     private static final String KEY_CONTACT_URI = "contactUri";
     private static final String KEY_FINISH_WHEN_DONE = "finishWhenDone";
     public static final String ARG_CONTACT_URI = "contactUri";
+    public static final int RESULT_CODE_DELETED = 3;
 
     private static final String[] ENTITY_PROJECTION = new String[] {
         Entity.RAW_CONTACT_ID, //0
@@ -317,6 +318,7 @@
     protected void doDeleteContact(Uri contactUri) {
         mContext.startService(ContactSaveService.createDeleteContactIntent(mContext, contactUri));
         if (isAdded() && mFinishActivityWhenDone) {
+            getActivity().setResult(RESULT_CODE_DELETED);
             getActivity().finish();
         }
     }
diff --git a/src/com/android/contacts/interactions/ContactInteraction.java b/src/com/android/contacts/interactions/ContactInteraction.java
new file mode 100644
index 0000000..3f7a842
--- /dev/null
+++ b/src/com/android/contacts/interactions/ContactInteraction.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.contacts.interactions;
+
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+
+/**
+ * Represents a default interaction between the phone's owner and a contact
+ */
+public interface ContactInteraction {
+    Intent getIntent();
+    long getInteractionDate();
+    String getViewHeader(Context context);
+    String getViewBody(Context context);
+    String getViewFooter(Context context);
+    Drawable getIcon(Context context);
+    Drawable getBodyIcon(Context context);
+    Drawable getFooterIcon(Context context);
+}
diff --git a/src/com/android/contacts/interactions/ContactInteractionUtil.java b/src/com/android/contacts/interactions/ContactInteractionUtil.java
new file mode 100644
index 0000000..98d45ee
--- /dev/null
+++ b/src/com/android/contacts/interactions/ContactInteractionUtil.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.contacts.interactions;
+
+import com.google.common.base.Preconditions;
+
+import android.content.Context;
+import android.text.format.DateUtils;
+
+import com.android.contacts.common.testing.NeededForTesting;
+
+import java.text.DateFormat;
+
+import java.util.Calendar;
+
+import com.android.contacts.R;
+
+
+/**
+ * Utility methods for interactions and their loaders
+ */
+public class ContactInteractionUtil {
+
+    /**
+     * @return a string like (?,?,?...) with {@param count} question marks.
+     */
+    @NeededForTesting
+    public static String questionMarks(int count) {
+        Preconditions.checkArgument(count > 0);
+        StringBuilder sb = new StringBuilder("(?");
+        for (int i = 1; i < count; i++) {
+            sb.append(",?");
+        }
+        return sb.append(")").toString();
+    }
+
+    /**
+     * Same as {@link formatDateStringFromTimestamp(long, Context, Calendar)} but uses the current
+     * time.
+     */
+    @NeededForTesting
+    public static String formatDateStringFromTimestamp(long timestamp, Context context) {
+        return formatDateStringFromTimestamp(timestamp, context, Calendar.getInstance());
+    }
+
+    /**
+     * Takes in a timestamp and outputs a human legible date. This checks the timestamp against
+     * compareCalendar.
+     * This formats the date based on a few conditions:
+     * 1. If the timestamp is today, the time is shown
+     * 2. If the timestamp occurs tomorrow or yesterday, that is displayed
+     * 3. Otherwise {Month Date} format is used
+     */
+    @NeededForTesting
+    public static String formatDateStringFromTimestamp(long timestamp, Context context,
+            Calendar compareCalendar) {
+        Calendar interactionCalendar = Calendar.getInstance();
+        interactionCalendar.setTimeInMillis(timestamp);
+
+        // compareCalendar is initialized to today
+        if (compareCalendarDayYear(interactionCalendar, compareCalendar)) {
+            return DateFormat.getTimeInstance(DateFormat.SHORT).format(
+                    interactionCalendar.getTime());
+        }
+
+        // Turn compareCalendar to yesterday
+        compareCalendar.add(Calendar.DAY_OF_YEAR, -1);
+        if (compareCalendarDayYear(interactionCalendar, compareCalendar)) {
+            return context.getString(R.string.yesterday);
+        }
+
+        // Turn compareCalendar to tomorrow
+        compareCalendar.add(Calendar.DAY_OF_YEAR, 2);
+        if (compareCalendarDayYear(interactionCalendar, compareCalendar)) {
+            return context.getString(R.string.tomorrow);
+        }
+        return DateUtils.formatDateTime(context, interactionCalendar.getTimeInMillis(),
+                DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_NO_YEAR);
+    }
+
+    /**
+     * Compares the day and year of two calendars.
+     */
+    private static boolean compareCalendarDayYear(Calendar c1, Calendar c2) {
+        return c1.get(Calendar.YEAR) == c2.get(Calendar.YEAR) &&
+                c1.get(Calendar.DAY_OF_YEAR) == c2.get(Calendar.DAY_OF_YEAR);
+    }
+}
diff --git a/src/com/android/contacts/interactions/SmsInteraction.java b/src/com/android/contacts/interactions/SmsInteraction.java
new file mode 100644
index 0000000..ac83786
--- /dev/null
+++ b/src/com/android/contacts/interactions/SmsInteraction.java
@@ -0,0 +1,151 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.contacts.interactions;
+
+import com.android.contacts.R;
+
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.provider.Telephony.Sms;
+
+/**
+ * Represents an sms interaction, wrapping the columns in
+ * {@link android.provider.Telephony.Sms}.
+ */
+public class SmsInteraction implements ContactInteraction {
+
+    private static final String URI_TARGET_PREFIX = "smsto:";
+    private static final int SMS_ICON_RES = R.drawable.ic_message_24dp;
+
+    private ContentValues mValues;
+
+    public SmsInteraction(ContentValues values) {
+        mValues = values;
+    }
+
+    @Override
+    public Intent getIntent() {
+        String address = getAddress();
+        return address == null ? null : new Intent(Intent.ACTION_VIEW).setData(
+                Uri.parse(URI_TARGET_PREFIX + address));
+    }
+
+    @Override
+    public long getInteractionDate() {
+        Long date = getDate();
+        return date == null ? -1 : date;
+    }
+
+    @Override
+    public String getViewHeader(Context context) {
+        return getBody();
+    }
+
+    @Override
+    public String getViewBody(Context context) {
+        return getAddress();
+    }
+
+    @Override
+    public String getViewFooter(Context context) {
+        Long date = getDate();
+        return date == null ? null : ContactInteractionUtil.formatDateStringFromTimestamp(
+                date, context);
+    }
+
+    @Override
+    public Drawable getIcon(Context context) {
+        return context.getResources().getDrawable(SMS_ICON_RES);
+    }
+
+    @Override
+    public Drawable getBodyIcon(Context context) {
+        return null;
+    }
+
+    @Override
+    public Drawable getFooterIcon(Context context) {
+        return null;
+    }
+
+    public String getAddress() {
+        return mValues.getAsString(Sms.ADDRESS);
+    }
+
+    public String getBody() {
+        return mValues.getAsString(Sms.BODY);
+    }
+
+    public Long getDate() {
+        return mValues.getAsLong(Sms.DATE);
+    }
+
+
+    public Long getDateSent() {
+        return mValues.getAsLong(Sms.DATE_SENT);
+    }
+
+    public Integer getErrorCode() {
+        return mValues.getAsInteger(Sms.ERROR_CODE);
+    }
+
+    public Boolean getLocked() {
+        return mValues.getAsBoolean(Sms.LOCKED);
+    }
+
+    public Integer getPerson() {
+        return mValues.getAsInteger(Sms.PERSON);
+    }
+
+    public Integer getProtocol() {
+        return mValues.getAsInteger(Sms.PROTOCOL);
+    }
+
+    public Boolean getRead() {
+        return mValues.getAsBoolean(Sms.READ);
+    }
+
+    public Boolean getReplyPathPresent() {
+        return mValues.getAsBoolean(Sms.REPLY_PATH_PRESENT);
+    }
+
+    public Boolean getSeen() {
+        return mValues.getAsBoolean(Sms.SEEN);
+    }
+
+    public String getServiceCenter() {
+        return mValues.getAsString(Sms.SERVICE_CENTER);
+    }
+
+    public Integer getStatus() {
+        return mValues.getAsInteger(Sms.STATUS);
+    }
+
+    public String getSubject() {
+        return mValues.getAsString(Sms.SUBJECT);
+    }
+
+    public Integer getThreadId() {
+        return mValues.getAsInteger(Sms.THREAD_ID);
+    }
+
+    public Integer getType() {
+        return mValues.getAsInteger(Sms.TYPE);
+    }
+}
diff --git a/src/com/android/contacts/interactions/SmsInteractionsLoader.java b/src/com/android/contacts/interactions/SmsInteractionsLoader.java
new file mode 100644
index 0000000..295c99a
--- /dev/null
+++ b/src/com/android/contacts/interactions/SmsInteractionsLoader.java
@@ -0,0 +1,146 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.contacts.interactions;
+
+import android.content.AsyncTaskLoader;
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.database.Cursor;
+import android.database.DatabaseUtils;
+import android.provider.Telephony;
+import android.util.Log;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * Loads the most recent sms between the passed in phone numbers.
+ *
+ * This is a two part process. The first step is retrieving the threadIds for each of the phone
+ * numbers using fuzzy matching. The next step is to run another query against these threadIds
+ * to retrieve the actual sms.
+ */
+public class SmsInteractionsLoader extends AsyncTaskLoader<List<ContactInteraction>> {
+
+    private static final String TAG = SmsInteractionsLoader.class.getSimpleName();
+
+    private String[] mPhoneNums;
+    private int mMaxToRetrieve;
+    private List<ContactInteraction> mData;
+
+    /**
+     * Loads a list of SmsInteraction from the supplied phone numbers.
+     */
+    public SmsInteractionsLoader(Context context, String[] phoneNums,
+            int maxToRetrieve) {
+        super(context);
+        Log.v(TAG, "SmsInteractionsLoader");
+        mPhoneNums = phoneNums;
+        mMaxToRetrieve = maxToRetrieve;
+    }
+
+    @Override
+    public List<ContactInteraction> loadInBackground() {
+        Log.v(TAG, "loadInBackground");
+        // Confirm the device has Telephony and numbers were provided before proceeding
+        if (!getContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
+                || mPhoneNums == null || mPhoneNums.length == 0) {
+            return Collections.emptyList();
+        }
+
+        // Retrieve the thread IDs
+        List<String> threadIdStrings = new ArrayList<>();
+        for (String phone : mPhoneNums) {
+            threadIdStrings.add(String.valueOf(
+                    Telephony.Threads.getOrCreateThreadId(getContext(), phone)));
+        }
+
+        // Query the SMS database for the threads
+        Cursor cursor = getSmsCursorFromThreads(threadIdStrings);
+        if (cursor != null) {
+            try {
+                List<ContactInteraction> interactions = new ArrayList<>();
+                while (cursor.moveToNext()) {
+                    ContentValues values = new ContentValues();
+                    DatabaseUtils.cursorRowToContentValues(cursor, values);
+                    interactions.add(new SmsInteraction(values));
+                }
+
+                return interactions;
+            } finally {
+                cursor.close();
+            }
+        }
+
+        return Collections.emptyList();
+    }
+
+    /**
+     * Return the most recent messages between a list of threads
+     */
+    private Cursor getSmsCursorFromThreads(List<String> threadIds) {
+        String selection = Telephony.Sms.THREAD_ID + " IN "
+                + ContactInteractionUtil.questionMarks(threadIds.size());
+
+        return getContext().getContentResolver().query(
+                Telephony.Sms.CONTENT_URI,
+                /* projection = */ null,
+                selection,
+                threadIds.toArray(new String[threadIds.size()]),
+                Telephony.Sms.DEFAULT_SORT_ORDER
+                        + " LIMIT " + mMaxToRetrieve);
+    }
+
+    @Override
+    protected void onStartLoading() {
+        super.onStartLoading();
+
+        if (mData != null) {
+            deliverResult(mData);
+        }
+
+        if (takeContentChanged() || mData == null) {
+            forceLoad();
+        }
+    }
+
+    @Override
+    protected void onStopLoading() {
+        // Attempt to cancel the current load task if possible.
+        cancelLoad();
+    }
+
+    @Override
+    public void deliverResult(List<ContactInteraction> data) {
+        mData = data;
+        if (isStarted()) {
+            super.deliverResult(data);
+        }
+    }
+
+    @Override
+    protected void onReset() {
+        super.onReset();
+
+        // Ensure the loader is stopped
+        onStopLoading();
+        if (mData != null) {
+            mData.clear();
+        }
+    }
+}
diff --git a/src/com/android/contacts/interactions/TestLoaderManager.java b/src/com/android/contacts/interactions/TestLoaderManager.java
index fb6a49b..a85bf8f 100644
--- a/src/com/android/contacts/interactions/TestLoaderManager.java
+++ b/src/com/android/contacts/interactions/TestLoaderManager.java
@@ -93,6 +93,7 @@
 
     private LoaderManager mDelegate;
 
+    @VisibleForTesting
     public TestLoaderManager() {
         mFinishedLoaders = new HashSet<Integer>();
     }
diff --git a/src/com/android/contacts/list/ContactBrowseListFragment.java b/src/com/android/contacts/list/ContactBrowseListFragment.java
index 14e8949..855f923 100644
--- a/src/com/android/contacts/list/ContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/ContactBrowseListFragment.java
@@ -597,31 +597,15 @@
         mListener = listener;
     }
 
-    public void createNewContact() {
-        if (mListener != null) mListener.onCreateNewContactAction();
-    }
-
     public void viewContact(Uri contactUri) {
         setSelectedContactUri(contactUri, false, false, true, false);
         if (mListener != null) mListener.onViewContactAction(contactUri);
     }
 
-    public void editContact(Uri contactUri) {
-        if (mListener != null) mListener.onEditContactAction(contactUri);
-    }
-
     public void deleteContact(Uri contactUri) {
         if (mListener != null) mListener.onDeleteContactAction(contactUri);
     }
 
-    public void addToFavorites(Uri contactUri) {
-        if (mListener != null) mListener.onAddToFavoritesAction(contactUri);
-    }
-
-    public void removeFromFavorites(Uri contactUri) {
-        if (mListener != null) mListener.onRemoveFromFavoritesAction(contactUri);
-    }
-
     private void notifyInvalidSelection() {
         if (mListener != null) mListener.onInvalidSelection();
     }
diff --git a/src/com/android/contacts/list/ContactNameHighlightingAnimation.java b/src/com/android/contacts/list/ContactNameHighlightingAnimation.java
deleted file mode 100644
index 46fe88b..0000000
--- a/src/com/android/contacts/list/ContactNameHighlightingAnimation.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2007 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.contacts.list;
-
-import android.view.View;
-import android.widget.ListView;
-
-import com.android.contacts.common.list.ContactListItemView;
-import com.android.contacts.widget.TextHighlightingAnimation;
-
-/**
- * A {@link TextHighlightingAnimation} that redraws just the contact display name in a
- * list item.
- */
-public class ContactNameHighlightingAnimation extends TextHighlightingAnimation {
-    private final ListView mListView;
-    private boolean mSavedScrollingCacheEnabledFlag;
-
-    public ContactNameHighlightingAnimation(ListView listView, int duration) {
-        super(duration);
-        this.mListView = listView;
-    }
-
-    /**
-     * Redraws all visible items of the list corresponding to contacts
-     */
-    @Override
-    protected void invalidate() {
-        int childCount = mListView.getChildCount();
-        for (int i = 0; i < childCount; i++) {
-            View itemView = mListView.getChildAt(i);
-            if (itemView instanceof ContactListItemView) {
-                final ContactListItemView view = (ContactListItemView)itemView;
-                view.getNameTextView().invalidate();
-            }
-        }
-    }
-
-    @Override
-    protected void onAnimationStarted() {
-        mSavedScrollingCacheEnabledFlag = mListView.isScrollingCacheEnabled();
-        mListView.setScrollingCacheEnabled(false);
-    }
-
-    @Override
-    protected void onAnimationEnded() {
-        mListView.setScrollingCacheEnabled(mSavedScrollingCacheEnabledFlag);
-    }
-}
diff --git a/src/com/android/contacts/list/ContactPickerFragment.java b/src/com/android/contacts/list/ContactPickerFragment.java
index 3dc4330..442f5c7 100644
--- a/src/com/android/contacts/list/ContactPickerFragment.java
+++ b/src/com/android/contacts/list/ContactPickerFragment.java
@@ -28,7 +28,6 @@
 import com.android.contacts.common.list.ContactEntryListFragment;
 import com.android.contacts.common.list.ContactListAdapter;
 import com.android.contacts.common.list.ContactListFilter;
-import com.android.contacts.common.list.DefaultContactListAdapter;
 import com.android.contacts.common.list.DirectoryListLoader;
 import com.android.contacts.common.list.ShortcutIntentBuilder;
 import com.android.contacts.common.list.ShortcutIntentBuilder.OnShortcutIntentCreatedListener;
@@ -105,7 +104,9 @@
     @Override
     protected void onCreateView(LayoutInflater inflater, ViewGroup container) {
         super.onCreateView(inflater, container);
-        if (mCreateContactEnabled) {
+        if (mCreateContactEnabled && isLegacyCompatibilityMode()) {
+            // Since we are using the legacy adapter setShowCreateContact(true) isn't supported.
+            // So we need to add an ugly header above the list.
             getListView().addHeaderView(inflater.inflate(R.layout.create_new_contact, null, false));
         }
     }
@@ -152,12 +153,14 @@
     @Override
     protected ContactEntryListAdapter createListAdapter() {
         if (!isLegacyCompatibilityMode()) {
-            DefaultContactListAdapter adapter = new DefaultContactListAdapter(getActivity());
+            HeaderEntryContactListAdapter adapter
+                    = new HeaderEntryContactListAdapter(getActivity());
             adapter.setFilter(ContactListFilter.createFilterWithType(
                     ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS));
             adapter.setSectionHeaderDisplayEnabled(true);
             adapter.setDisplayPhotos(true);
             adapter.setQuickContactEnabled(false);
+            adapter.setShowCreateContact(mCreateContactEnabled);
             return adapter;
         } else {
             LegacyContactListAdapter adapter = new LegacyContactListAdapter(getActivity());
diff --git a/src/com/android/contacts/list/ContactTileFrequentFragment.java b/src/com/android/contacts/list/ContactTileFrequentFragment.java
deleted file mode 100644
index 605bdd3..0000000
--- a/src/com/android/contacts/list/ContactTileFrequentFragment.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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.
- */
-package com.android.contacts.list;
-
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import com.android.contacts.R;
-import com.android.contacts.common.MoreContactUtils;
-
-/**
- * Fragment containing a list of frequently contacted people.
- */
-public class ContactTileFrequentFragment extends ContactTileListFragment {
-    private static final String TAG = ContactTileFrequentFragment.class.getSimpleName();
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        View listLayout = inflateAndSetupView(inflater, container, savedInstanceState,
-                R.layout.contact_tile_list_frequent);
-        View headerView = MoreContactUtils.createHeaderView(getActivity(),
-                R.string.favoritesFrequentContacted);
-        ViewGroup headerContainer = (ViewGroup) listLayout.findViewById(R.id.header_container);
-        headerContainer.addView(headerView);
-        return listLayout;
-    }
-}
diff --git a/src/com/android/contacts/list/ContactTileListFragment.java b/src/com/android/contacts/list/ContactTileListFragment.java
index 55c87f3..bce7bfe 100644
--- a/src/com/android/contacts/list/ContactTileListFragment.java
+++ b/src/com/android/contacts/list/ContactTileListFragment.java
@@ -26,15 +26,18 @@
 import android.graphics.Rect;
 import android.net.Uri;
 import android.os.Bundle;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.ViewTreeObserver;
 import android.widget.ListView;
 import android.widget.TextView;
 
+import com.android.contacts.R;
+import com.android.contacts.util.SchedulingUtils;
 import com.android.contacts.common.ContactPhotoManager;
 import com.android.contacts.common.ContactTileLoaderFactory;
-import com.android.contacts.R;
 import com.android.contacts.common.list.ContactTileAdapter;
 import com.android.contacts.common.list.ContactTileView;
 import com.android.contacts.common.list.ContactTileAdapter.DisplayType;
@@ -61,6 +64,7 @@
     private TextView mEmptyView;
     private ListView mListView;
 
+    private boolean mContactAllListShowCardFrame;
     private boolean mOptionsMenuHasFrequents;
 
     @Override
@@ -69,6 +73,7 @@
 
         Resources res = getResources();
         int columnCount = res.getInteger(R.integer.contact_tile_column_count_in_favorites);
+        mContactAllListShowCardFrame = res.getBoolean(R.bool.contact_all_list_show_card_frame);
 
         mAdapter = new ContactTileAdapter(activity, mAdapterListener,
                 columnCount, mDisplayType);
@@ -91,6 +96,26 @@
 
         mListView.setItemsCanFocus(true);
         mListView.setAdapter(mAdapter);
+
+        // If the device is in the sw600dp class, set a padding on the list
+        // view so it appears in the center of the card in the layout.
+        if (mContactAllListShowCardFrame) {
+            SchedulingUtils.doOnPreDraw(mListView, true, new Runnable() {
+                @Override
+                public void run() {
+                    Resources res = getResources();
+                    int listSpaceWeight = res.getInteger(R.integer
+                            .people_activity_space_layout_weight);
+                    int listViewWeight = res.getInteger(R.integer
+                            .people_activity_list_view_layout_weight);
+                    double paddingPercent = (double) listSpaceWeight / (double)
+                            (listSpaceWeight * 2 + listViewWeight);
+                    int width = mListView.getWidth();
+                    mListView.setPadding((int) (width * paddingPercent), mListView.getPaddingTop(),
+                            (int)(width * paddingPercent), mListView.getPaddingBottom());
+                }
+            });
+        }
         return listLayout;
     }
 
@@ -151,8 +176,6 @@
                   return ContactTileLoaderFactory.createStarredLoader(getActivity());
               case STREQUENT:
                   return ContactTileLoaderFactory.createStrequentLoader(getActivity());
-              case STREQUENT_PHONE_ONLY:
-                  return ContactTileLoaderFactory.createStrequentPhoneOnlyLoader(getActivity());
               case FREQUENT_ONLY:
                   return ContactTileLoaderFactory.createFrequentLoader(getActivity());
               default:
@@ -163,6 +186,10 @@
 
         @Override
         public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
+            if (data == null || data.isClosed()) {
+                Log.e(TAG, "Failed to load contacts");
+                return;
+            }
             mAdapter.setContactCursor(data);
             mEmptyView.setText(getEmptyStateText());
             mListView.setEmptyView(mEmptyView);
@@ -189,7 +216,6 @@
         String emptyText;
         switch (mDisplayType) {
             case STREQUENT:
-            case STREQUENT_PHONE_ONLY:
             case STARRED_ONLY:
                 emptyText = getString(R.string.listTotalAllContactsZeroStarred);
                 break;
diff --git a/src/com/android/contacts/list/ContactsIntentResolver.java b/src/com/android/contacts/list/ContactsIntentResolver.java
index 838393e..b4416be 100644
--- a/src/com/android/contacts/list/ContactsIntentResolver.java
+++ b/src/com/android/contacts/list/ContactsIntentResolver.java
@@ -173,6 +173,8 @@
             request.setContactUri(data);
             intent.setAction(Intent.ACTION_DEFAULT);
             intent.setData(null);
+        } else if (UI.PICK_JOIN_CONTACT_ACTION.equals(action)) {
+            request.setActionCode(ContactsRequest.ACTION_PICK_JOIN);
         }
         // Allow the title to be set to a custom String using an extra on the intent
         String title = intent.getStringExtra(UI.TITLE_EXTRA_KEY);
diff --git a/src/com/android/contacts/list/ContactsRequest.java b/src/com/android/contacts/list/ContactsRequest.java
index 2a26ddf..7955fde 100644
--- a/src/com/android/contacts/list/ContactsRequest.java
+++ b/src/com/android/contacts/list/ContactsRequest.java
@@ -77,6 +77,9 @@
     /** Show all contacts and activate the specified one */
     public static final int ACTION_VIEW_CONTACT = 140;
 
+    /** Show contacts recommended for joining with a specified target contact */
+    public static final int ACTION_PICK_JOIN = 150;
+
     private boolean mValid = true;
     private int mActionCode = ACTION_DEFAULT;
     private Intent mRedirectIntent;
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index 90495fa..335a564 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -19,13 +19,16 @@
 import android.content.CursorLoader;
 import android.content.Intent;
 import android.database.Cursor;
+import android.graphics.Color;
 import android.provider.ContactsContract.Contacts;
 import android.text.TextUtils;
 import android.util.Log;
+import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
+import android.view.ViewTreeObserver;
 import android.view.accessibility.AccessibilityEvent;
 import android.widget.Button;
 import android.widget.FrameLayout;
@@ -33,12 +36,14 @@
 import android.widget.TextView;
 
 import com.android.contacts.R;
+import com.android.contacts.util.SchedulingUtils;
 import com.android.contacts.common.list.ContactListAdapter;
 import com.android.contacts.common.list.ContactListFilter;
 import com.android.contacts.common.list.ContactListFilterController;
 import com.android.contacts.common.list.ContactListItemView;
 import com.android.contacts.common.list.DefaultContactListAdapter;
 import com.android.contacts.common.list.ProfileAndContactsLoader;
+import com.android.contacts.common.util.ViewUtil;
 import com.android.contacts.editor.ContactEditorFragment;
 import com.android.contacts.common.util.AccountFilterUtil;
 
@@ -51,16 +56,15 @@
 
     private static final int REQUEST_CODE_ACCOUNT_FILTER = 1;
 
-    private TextView mCounterHeaderView;
     private View mSearchHeaderView;
     private View mAccountFilterHeader;
     private FrameLayout mProfileHeaderContainer;
     private View mProfileHeader;
     private Button mProfileMessage;
-    private FrameLayout mMessageContainer;
     private TextView mProfileTitle;
     private View mSearchProgress;
     private TextView mSearchProgressText;
+    private boolean mContactAllListShowCardFrame;
 
     private class FilterHeaderClickListener implements OnClickListener {
         @Override
@@ -75,6 +79,9 @@
 
     public DefaultContactBrowseListFragment() {
         setPhotoLoaderEnabled(true);
+        // Don't use a QuickContactBadge. Just use a regular ImageView. Using a QuickContactBadge
+        // inside the ListView prevents us from using MODE_FULLY_EXPANDED and messes up ripples.
+        setQuickContactEnabled(false);
         setSectionHeaderDisplayEnabled(true);
         setVisibleScrollbarEnabled(true);
     }
@@ -93,12 +100,11 @@
     protected ContactListAdapter createListAdapter() {
         DefaultContactListAdapter adapter = new DefaultContactListAdapter(getContext());
         adapter.setSectionHeaderDisplayEnabled(isSectionHeaderDisplayEnabled());
-        boolean showPhoto = getResources().getBoolean(R.bool.config_browse_list_show_images);
-        adapter.setDisplayPhotos(showPhoto);
-        if (showPhoto) {
-            boolean reverse = getResources().getBoolean(R.bool.config_browse_list_reverse_images);
-            adapter.setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(reverse));
-        }
+        mContactAllListShowCardFrame = getResources().getBoolean(
+                R.bool.contact_all_list_show_card_frame);
+        adapter.setDisplayPhotos(true);
+        adapter.setPhotoPosition(
+                ContactListItemView.getDefaultPhotoPosition(/* opposite = */ false));
         return adapter;
     }
 
@@ -113,7 +119,6 @@
 
         mAccountFilterHeader = getView().findViewById(R.id.account_filter_header_container);
         mAccountFilterHeader.setOnClickListener(mFilterHeaderClickListener);
-        mCounterHeaderView = (TextView) getView().findViewById(R.id.contacts_count);
 
         // Create an empty user profile header and hide it for now (it will be visible if the
         // contacts list will have no user profile).
@@ -128,6 +133,25 @@
         getListView().addHeaderView(headerContainer, null, false);
         checkHeaderViewVisibility();
 
+        // If the device is in the sw600dp class and in landscape mode, set a padding on the list
+        // view so it appears in the center of the card in the layout.
+        if (mContactAllListShowCardFrame) {
+            SchedulingUtils.doOnPreDraw(getListView(), true, new Runnable() {
+                @Override
+                public void run() {
+                    final ListView listView = getListView();
+                    final int width = listView.getWidth();
+                    listView.setPadding(width / 4, listView.getPaddingTop(),
+                            width / 4, listView.getPaddingBottom());
+                    mAccountFilterHeader.setPadding(
+                            mAccountFilterHeader.getPaddingLeft() + width / 4,
+                            mAccountFilterHeader.getPaddingTop(),
+                            mAccountFilterHeader.getPaddingRight() + width / 4,
+                            mAccountFilterHeader.getPaddingBottom());
+                }
+            });
+        }
+
         mSearchProgress = getView().findViewById(R.id.search_progress);
         mSearchProgressText = (TextView) mSearchHeaderView.findViewById(R.id.totalContactsText);
     }
@@ -141,16 +165,15 @@
 
     /** Show or hide the directory-search progress spinner. */
     private void showSearchProgress(boolean show) {
-        mSearchProgress.setVisibility(show ? View.VISIBLE : View.GONE);
+        if (mSearchProgress != null) {
+            mSearchProgress.setVisibility(show ? View.VISIBLE : View.GONE);
+        }
     }
 
     private void checkHeaderViewVisibility() {
-        if (mCounterHeaderView != null) {
-            mCounterHeaderView.setVisibility(isSearchMode() ? View.GONE : View.VISIBLE);
-        }
         updateFilterHeaderView();
 
-        // Hide the search header by default. See showCount().
+        // Hide the search header by default.
         if (mSearchHeaderView != null) {
             mSearchHeaderView.setVisibility(View.GONE);
         }
@@ -177,43 +200,11 @@
     }
 
     @Override
-    protected void showCount(int partitionIndex, Cursor data) {
-        if (!isSearchMode() && data != null) {
-            int count = data.getCount();
-            if (count != 0) {
-                count -= (mUserProfileExists ? 1: 0);
-                String format = getResources().getQuantityText(
-                        R.plurals.listTotalAllContacts, count).toString();
-                // Do not count the user profile in the contacts count
-                if (mUserProfileExists) {
-                    getAdapter().setContactsCount(String.format(format, count));
-                } else {
-                    mCounterHeaderView.setText(String.format(format, count));
-                }
-            } else {
-                ContactListFilter filter = getFilter();
-                int filterType = filter != null ? filter.filterType
-                        : ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS;
-                switch (filterType) {
-                    case ContactListFilter.FILTER_TYPE_ACCOUNT:
-                        mCounterHeaderView.setText(getString(
-                                R.string.listTotalAllContactsZeroGroup, filter.accountName));
-                        break;
-                    case ContactListFilter.FILTER_TYPE_WITH_PHONE_NUMBERS_ONLY:
-                        mCounterHeaderView.setText(R.string.listTotalPhoneContactsZero);
-                        break;
-                    case ContactListFilter.FILTER_TYPE_STARRED:
-                        mCounterHeaderView.setText(R.string.listTotalAllContactsZeroStarred);
-                        break;
-                    case ContactListFilter.FILTER_TYPE_CUSTOM:
-                        mCounterHeaderView.setText(R.string.listTotalAllContactsZeroCustom);
-                        break;
-                    default:
-                        mCounterHeaderView.setText(R.string.listTotalAllContactsZero);
-                        break;
-                }
-            }
-        } else {
+    protected void setProfileHeader() {
+        mUserProfileExists = getAdapter().hasProfile();
+        showEmptyUserProfile(!mUserProfileExists && !isSearchMode());
+
+        if (isSearchMode()) {
             ContactListAdapter adapter = getAdapter();
             if (adapter == null) {
                 return;
@@ -240,12 +231,6 @@
     }
 
     @Override
-    protected void setProfileHeader() {
-        mUserProfileExists = getAdapter().hasProfile();
-        showEmptyUserProfile(!mUserProfileExists && !isSearchMode());
-    }
-
-    @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == REQUEST_CODE_ACCOUNT_FILTER) {
             if (getActivity() != null) {
@@ -263,9 +248,7 @@
         // and mProfileTitle
         mProfileHeaderContainer.setVisibility(show ? View.VISIBLE : View.GONE);
         mProfileHeader.setVisibility(show ? View.VISIBLE : View.GONE);
-        mCounterHeaderView.setVisibility(show ? View.VISIBLE : View.GONE);
         mProfileTitle.setVisibility(show ? View.VISIBLE : View.GONE);
-        mMessageContainer.setVisibility(show ? View.VISIBLE : View.GONE);
         mProfileMessage.setVisibility(show ? View.VISIBLE : View.GONE);
     }
 
@@ -276,24 +259,17 @@
      * 2. A button that prompts the user to create a local profile
      */
     private void addEmptyUserProfileHeader(LayoutInflater inflater) {
-
         ListView list = getListView();
-        // Put a header with the "ME" name and a view for the number of contacts
-        // The view is embedded in a frame view since you cannot change the visibility of a
-        // view in a ListView without having a parent view.
-        mProfileHeaderContainer = new FrameLayout(inflater.getContext());
+        // Add a header with the "ME" name. The view is embedded in a frame view since you cannot
+        // change the visibility of a view in a ListView without having a parent view.
         mProfileHeader = inflater.inflate(R.layout.user_profile_header, null, false);
-        mCounterHeaderView = (TextView) mProfileHeader.findViewById(R.id.contacts_count);
         mProfileTitle = (TextView) mProfileHeader.findViewById(R.id.profile_title);
+        mProfileHeaderContainer = new FrameLayout(inflater.getContext());
         mProfileHeaderContainer.addView(mProfileHeader);
         list.addHeaderView(mProfileHeaderContainer, null, false);
 
-        // Add a selectable view with a message inviting the user to create a local profile
-        mMessageContainer = new FrameLayout(inflater.getContext());
-        mProfileMessage = (Button)inflater.inflate(R.layout.user_profile_button, null, false);
-        mMessageContainer.addView(mProfileMessage);
-        list.addHeaderView(mMessageContainer, null, true);
-
+        // Add a button with a message inviting the user to create a local profile
+        mProfileMessage = (Button) mProfileHeader.findViewById(R.id.user_profile_button);
         mProfileMessage.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
diff --git a/src/com/android/contacts/list/EmailAddressListAdapter.java b/src/com/android/contacts/list/EmailAddressListAdapter.java
index 960f29a..21b9c60 100644
--- a/src/com/android/contacts/list/EmailAddressListAdapter.java
+++ b/src/com/android/contacts/list/EmailAddressListAdapter.java
@@ -23,7 +23,6 @@
 import android.net.Uri.Builder;
 import android.provider.ContactsContract;
 import android.provider.ContactsContract.CommonDataKinds.Email;
-import android.provider.ContactsContract.ContactCounts;
 import android.provider.ContactsContract.Data;
 import android.text.TextUtils;
 import android.view.View;
@@ -32,6 +31,7 @@
 import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
 import com.android.contacts.common.list.ContactEntryListAdapter;
 import com.android.contacts.common.list.ContactListItemView;
+import com.android.contacts.common.preference.ContactsPreferences;
 
 /**
  * A cursor adapter for the {@link Email#CONTENT_TYPE} content type.
@@ -86,7 +86,7 @@
         } else {
             builder = Email.CONTENT_URI.buildUpon();
             if (isSectionHeaderDisplayEnabled()) {
-                builder.appendQueryParameter(ContactCounts.ADDRESS_BOOK_INDEX_EXTRAS, "true");
+                builder.appendQueryParameter(Email.ADDRESS_BOOK_INDEX_EXTRAS, "true");
             }
         }
         builder.appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY,
@@ -94,13 +94,13 @@
         builder.appendQueryParameter(ContactsContract.REMOVE_DUPLICATE_ENTRIES, "true");
         loader.setUri(builder.build());
 
-        if (getContactNameDisplayOrder() == ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY) {
+        if (getContactNameDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_PRIMARY) {
             loader.setProjection(EmailQuery.PROJECTION_PRIMARY);
         } else {
             loader.setProjection(EmailQuery.PROJECTION_ALTERNATIVE);
         }
 
-        if (getSortOrder() == ContactsContract.Preferences.SORT_ORDER_PRIMARY) {
+        if (getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY) {
             loader.setSortOrder(Email.SORT_KEY_PRIMARY);
         } else {
             loader.setSortOrder(Email.SORT_KEY_ALTERNATIVE);
@@ -122,9 +122,9 @@
     }
 
     @Override
-    protected View newView(Context context, int partition, Cursor cursor, int position,
-            ViewGroup parent) {
-        final ContactListItemView view = new ContactListItemView(context, null);
+    protected ContactListItemView newView(
+            Context context, int partition, Cursor cursor, int position, ViewGroup parent) {
+        ContactListItemView view = super.newView(context, partition, cursor, position, parent);
         view.setUnknownNameText(mUnknownNameText);
         view.setQuickContactEnabled(isQuickContactEnabled());
         return view;
@@ -158,16 +158,8 @@
             String title = (String)getSections()[section];
             view.setSectionHeader(title);
         } else {
-            view.setDividerVisible(false);
             view.setSectionHeader(null);
         }
-
-        // move the divider for the last item in a section
-        if (getPositionForSection(section + 1) - 1 == position) {
-            view.setDividerVisible(false);
-        } else {
-            view.setDividerVisible(true);
-        }
     }
 
     protected void bindName(final ContactListItemView view, Cursor cursor) {
@@ -184,7 +176,8 @@
              request = getDefaultImageRequestFromCursor(cursor, EmailQuery.EMAIL_DISPLAY_NAME,
                     EmailQuery.EMAIL_LOOKUP_KEY);
         }
-        getPhotoLoader().loadThumbnail(view.getPhotoView(), photoId, false, request);
+        getPhotoLoader().loadThumbnail(view.getPhotoView(), photoId, false, getCircularPhotos(),
+                request);
     }
 //
 //    protected void bindSearchSnippet(final ContactListItemView view, Cursor cursor) {
diff --git a/src/com/android/contacts/list/HeaderEntryContactListAdapter.java b/src/com/android/contacts/list/HeaderEntryContactListAdapter.java
new file mode 100644
index 0000000..a76a4a1
--- /dev/null
+++ b/src/com/android/contacts/list/HeaderEntryContactListAdapter.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.contacts.list;
+
+import com.android.contacts.R;
+import com.android.contacts.common.list.ContactListItemView;
+import com.android.contacts.common.list.DefaultContactListAdapter;
+
+import android.content.Context;
+import android.database.Cursor;
+import android.view.View;
+import android.view.ViewGroup;
+
+/**
+ * Equivalent to DefaultContactListAdapter, except with an optional header entry that has the same
+ * formatting as the other entries in the list.
+ *
+ * This header entry is hidden when in search mode. Should not be used with lists that contain a
+ * "Me" contact.
+ */
+public class HeaderEntryContactListAdapter extends DefaultContactListAdapter {
+
+    private boolean mShowCreateContact;
+
+    public HeaderEntryContactListAdapter(Context context) {
+        super(context);
+    }
+
+    private int getHeaderEntryCount() {
+        return isSearchMode() || !mShowCreateContact ? 0 : 1;
+    }
+
+    /**
+     * Whether the first entry should be "Create contact", when not in search mode.
+     */
+    public void setShowCreateContact(boolean showCreateContact) {
+        mShowCreateContact = showCreateContact;
+        invalidate();
+    }
+
+    @Override
+    public int getCount() {
+        return super.getCount() + getHeaderEntryCount();
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        if (position == 0 && getHeaderEntryCount() > 0) {
+            final ContactListItemView itemView;
+            if (convertView == null) {
+                // Pass the cursor down. Don't worry, it isn't used.
+                itemView = newView(getContext(), 0, getCursor(0), 0, parent);
+            } else {
+                itemView = (ContactListItemView ) convertView;
+            }
+            itemView.setDrawableResource(R.drawable.search_shortcut_background,
+                    R.drawable.ic_search_add_contact);
+            itemView.setDisplayName(getContext().getResources().getString(
+                    R.string.header_entry_contact_list_adapter_header_title));
+            return itemView;
+        }
+        return super.getView(position - getHeaderEntryCount(), convertView, parent);
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return super.getItem(position - getHeaderEntryCount());
+    }
+
+    @Override
+    public boolean isEnabled(int position) {
+        return position < getHeaderEntryCount() || super
+                .isEnabled(position - getHeaderEntryCount());
+    }
+
+    @Override
+    public int getPartitionForPosition(int position) {
+        return super.getPartitionForPosition(position - getHeaderEntryCount());
+    }
+
+    @Override
+    protected void bindView(View itemView, int partition, Cursor cursor, int position) {
+        super.bindView(itemView, partition, cursor, position + getHeaderEntryCount());
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        if (position == 0 && getHeaderEntryCount() > 0) {
+            return getViewTypeCount() - 1;
+        }
+        return super.getItemViewType(position - getHeaderEntryCount());
+    }
+
+    @Override
+    public int getViewTypeCount() {
+        // One additional view type, for the header entry.
+        return super.getViewTypeCount() + 1;
+    }
+
+    @Override
+    protected boolean getExtraStartingSection() {
+        return getHeaderEntryCount() > 0;
+    }
+}
diff --git a/src/com/android/contacts/list/JoinContactListAdapter.java b/src/com/android/contacts/list/JoinContactListAdapter.java
index 88259c1..a9c9c94 100644
--- a/src/com/android/contacts/list/JoinContactListAdapter.java
+++ b/src/com/android/contacts/list/JoinContactListAdapter.java
@@ -34,6 +34,7 @@
 import com.android.contacts.common.list.ContactListAdapter;
 import com.android.contacts.common.list.ContactListItemView;
 import com.android.contacts.common.list.DirectoryListLoader;
+import com.android.contacts.common.preference.ContactsPreferences;
 
 public class JoinContactListAdapter extends ContactListAdapter {
 
@@ -101,7 +102,7 @@
         loader.setUri(allContactsUri);
         loader.setSelection(Contacts._ID + "!=?");
         loader.setSelectionArgs(new String[]{ String.valueOf(mTargetContactId) });
-        if (getSortOrder() == ContactsContract.Preferences.SORT_ORDER_PRIMARY) {
+        if (getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY) {
             loader.setSortOrder(Contacts.SORT_KEY_PRIMARY);
         } else {
             loader.setSortOrder(Contacts.SORT_KEY_ALTERNATIVE);
@@ -165,8 +166,8 @@
     }
 
     @Override
-    protected View newView(Context context, int partition, Cursor cursor, int position,
-            ViewGroup parent) {
+    protected ContactListItemView newView(
+            Context context, int partition, Cursor cursor, int position, ViewGroup parent) {
         switch (partition) {
             case PARTITION_SUGGESTIONS:
             case PARTITION_ALL_CONTACTS:
diff --git a/src/com/android/contacts/list/LegacyContactListAdapter.java b/src/com/android/contacts/list/LegacyContactListAdapter.java
index defc4e7..27f0a8b 100644
--- a/src/com/android/contacts/list/LegacyContactListAdapter.java
+++ b/src/com/android/contacts/list/LegacyContactListAdapter.java
@@ -73,8 +73,8 @@
     }
 
     @Override
-    protected View newView(Context context, int partition, Cursor cursor, int position,
-            ViewGroup parent) {
+    protected ContactListItemView newView(
+            Context context, int partition, Cursor cursor, int position, ViewGroup parent) {
         final ContactListItemView view = new ContactListItemView(context, null);
         view.setUnknownNameText(mUnknownNameText);
         return view;
diff --git a/src/com/android/contacts/list/LegacyPhoneNumberListAdapter.java b/src/com/android/contacts/list/LegacyPhoneNumberListAdapter.java
index 6c310a6..85b9872 100644
--- a/src/com/android/contacts/list/LegacyPhoneNumberListAdapter.java
+++ b/src/com/android/contacts/list/LegacyPhoneNumberListAdapter.java
@@ -77,9 +77,10 @@
     }
 
     @Override
-    protected View newView(Context context, int partition, Cursor cursor, int position,
-            ViewGroup parent) {
-        final ContactListItemView view = new ContactListItemView(context, null);
+    protected ContactListItemView newView(
+            Context context, int partition, Cursor cursor, int position, ViewGroup parent) {
+        final ContactListItemView view =
+                super.newView(context, partition, cursor, position, parent);
         view.setUnknownNameText(mUnknownNameText);
         return view;
     }
@@ -106,6 +107,6 @@
             label = Phone.getTypeLabel(getContext().getResources(), type, customLabel);
         }
         view.setLabel(label);
-        view.showPhoneNumber(cursor, PHONE_NUMBER_COLUMN_INDEX);
+        view.setPhoneNumber(cursor.getString(PHONE_NUMBER_COLUMN_INDEX), /* countryIso */ null);
     }
 }
diff --git a/src/com/android/contacts/list/LegacyPostalAddressListAdapter.java b/src/com/android/contacts/list/LegacyPostalAddressListAdapter.java
index 2819ed6..86a4c4a 100644
--- a/src/com/android/contacts/list/LegacyPostalAddressListAdapter.java
+++ b/src/com/android/contacts/list/LegacyPostalAddressListAdapter.java
@@ -78,8 +78,8 @@
     }
 
     @Override
-    protected View newView(Context context, int partition, Cursor cursor, int position,
-            ViewGroup parent) {
+    protected ContactListItemView newView(
+            Context context, int partition, Cursor cursor, int position, ViewGroup parent) {
         final ContactListItemView view = new ContactListItemView(context, null);
         view.setUnknownNameText(mUnknownNameText);
         return view;
diff --git a/src/com/android/contacts/list/OnContactBrowserActionListener.java b/src/com/android/contacts/list/OnContactBrowserActionListener.java
index 6d28bac..d91fee4 100644
--- a/src/com/android/contacts/list/OnContactBrowserActionListener.java
+++ b/src/com/android/contacts/list/OnContactBrowserActionListener.java
@@ -36,31 +36,11 @@
     void onViewContactAction(Uri contactLookupUri);
 
     /**
-     * Creates a new contact.
-     */
-    void onCreateNewContactAction();
-
-    /**
-     * Opens the specified contact for editing.
-     */
-    void onEditContactAction(Uri contactLookupUri);
-
-    /**
      * Initiates the contact deletion process.
      */
     void onDeleteContactAction(Uri contactUri);
 
     /**
-     * Adds the specified contact to favorites
-     */
-    void onAddToFavoritesAction(Uri contactUri);
-
-    /**
-     * Removes the specified contact from favorites.
-     */
-    void onRemoveFromFavoritesAction(Uri contactUri);
-
-    /**
      * Closes the contact browser.
      */
     void onFinishAction();
diff --git a/src/com/android/contacts/list/PostalAddressListAdapter.java b/src/com/android/contacts/list/PostalAddressListAdapter.java
index 42c73bc..5194b69 100644
--- a/src/com/android/contacts/list/PostalAddressListAdapter.java
+++ b/src/com/android/contacts/list/PostalAddressListAdapter.java
@@ -23,7 +23,6 @@
 import android.net.Uri.Builder;
 import android.provider.ContactsContract;
 import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
-import android.provider.ContactsContract.ContactCounts;
 import android.provider.ContactsContract.Data;
 import android.view.View;
 import android.view.ViewGroup;
@@ -31,6 +30,7 @@
 import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
 import com.android.contacts.common.list.ContactEntryListAdapter;
 import com.android.contacts.common.list.ContactListItemView;
+import com.android.contacts.common.preference.ContactsPreferences;
 
 /**
  * A cursor adapter for the {@link StructuredPostal#CONTENT_TYPE} content type.
@@ -80,17 +80,17 @@
         final Builder builder = StructuredPostal.CONTENT_URI.buildUpon()
                 .appendQueryParameter(ContactsContract.REMOVE_DUPLICATE_ENTRIES, "true");
         if (isSectionHeaderDisplayEnabled()) {
-            builder.appendQueryParameter(ContactCounts.ADDRESS_BOOK_INDEX_EXTRAS, "true");
+            builder.appendQueryParameter(StructuredPostal.ADDRESS_BOOK_INDEX_EXTRAS, "true");
         }
         loader.setUri(builder.build());
 
-        if (getContactNameDisplayOrder() == ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY) {
+        if (getContactNameDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_PRIMARY) {
             loader.setProjection(PostalQuery.PROJECTION_PRIMARY);
         } else {
             loader.setProjection(PostalQuery.PROJECTION_ALTERNATIVE);
         }
 
-        if (getSortOrder() == ContactsContract.Preferences.SORT_ORDER_PRIMARY) {
+        if (getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY) {
             loader.setSortOrder(StructuredPostal.SORT_KEY_PRIMARY);
         } else {
             loader.setSortOrder(StructuredPostal.SORT_KEY_ALTERNATIVE);
@@ -112,11 +112,12 @@
     }
 
     @Override
-    protected View newView(Context context, int partition, Cursor cursor, int position,
-            ViewGroup parent) {
-        final ContactListItemView view = new ContactListItemView(context, null);
+    protected ContactListItemView newView(
+            Context context, int partition, Cursor cursor, int position, ViewGroup parent) {
+        ContactListItemView view = super.newView(context, partition, cursor, position, parent);
         view.setUnknownNameText(mUnknownNameText);
         view.setQuickContactEnabled(isQuickContactEnabled());
+        view.setIsSectionHeaderEnabled(isSectionHeaderDisplayEnabled());
         return view;
     }
 
@@ -148,16 +149,8 @@
             String title = (String)getSections()[section];
             view.setSectionHeader(title);
         } else {
-            view.setDividerVisible(false);
             view.setSectionHeader(null);
         }
-
-        // move the divider for the last item in a section
-        if (getPositionForSection(section + 1) - 1 == position) {
-            view.setDividerVisible(false);
-        } else {
-            view.setDividerVisible(true);
-        }
     }
 
     protected void bindName(final ContactListItemView view, Cursor cursor) {
@@ -176,7 +169,8 @@
                     PostalQuery.POSTAL_LOOKUP_KEY);
         }
 
-        getPhotoLoader().loadThumbnail(view.getPhotoView(), photoId, false, request);
+        getPhotoLoader().loadThumbnail(view.getPhotoView(), photoId, false, getCircularPhotos(),
+                request);
     }
 //
 //    protected void bindSearchSnippet(final ContactListItemView view, Cursor cursor) {
diff --git a/src/com/android/contacts/preference/DisplayOptionsPreferenceFragment.java b/src/com/android/contacts/preference/DisplayOptionsPreferenceFragment.java
deleted file mode 100644
index 02177d2..0000000
--- a/src/com/android/contacts/preference/DisplayOptionsPreferenceFragment.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.contacts.preference;
-
-import android.os.Bundle;
-import android.preference.PreferenceFragment;
-
-import com.android.contacts.R;
-
-/**
- * This fragment shows the preferences for the first header.
- */
-public class DisplayOptionsPreferenceFragment extends PreferenceFragment {
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        // Load the preferences from an XML resource
-        addPreferencesFromResource(R.xml.preference_display_options);
-    }
-}
-
diff --git a/src/com/android/contacts/preference/DisplayOrderPreference.java b/src/com/android/contacts/preference/DisplayOrderPreference.java
deleted file mode 100644
index 81489a0..0000000
--- a/src/com/android/contacts/preference/DisplayOrderPreference.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.contacts.preference;
-
-import android.app.AlertDialog.Builder;
-import android.content.Context;
-import android.preference.ListPreference;
-import android.provider.ContactsContract;
-import android.util.AttributeSet;
-
-import com.android.contacts.R;
-import com.android.contacts.common.preference.ContactsPreferences;
-
-/**
- * Custom preference: view-name-as (first name first or last name first).
- */
-public final class DisplayOrderPreference extends ListPreference {
-
-    private ContactsPreferences mPreferences;
-    private Context mContext;
-
-    public DisplayOrderPreference(Context context) {
-        super(context);
-        prepare();
-    }
-
-    public DisplayOrderPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        prepare();
-    }
-
-    private void prepare() {
-        mContext = getContext();
-        mPreferences = new ContactsPreferences(mContext);
-        setEntries(new String[]{
-                mContext.getString(R.string.display_options_view_given_name_first),
-                mContext.getString(R.string.display_options_view_family_name_first),
-        });
-        setEntryValues(new String[]{
-                String.valueOf(ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY),
-                String.valueOf(ContactsContract.Preferences.DISPLAY_ORDER_ALTERNATIVE),
-        });
-        setValue(String.valueOf(mPreferences.getDisplayOrder()));
-    }
-
-    @Override
-    protected boolean shouldPersist() {
-        return false;   // This preference takes care of its own storage
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        switch (mPreferences.getDisplayOrder()) {
-            case ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY:
-                return mContext.getString(R.string.display_options_view_given_name_first);
-            case ContactsContract.Preferences.DISPLAY_ORDER_ALTERNATIVE:
-                return mContext.getString(R.string.display_options_view_family_name_first);
-        }
-        return null;
-    }
-
-    @Override
-    protected boolean persistString(String value) {
-        int newValue = Integer.parseInt(value);
-        if (newValue != mPreferences.getDisplayOrder()) {
-            mPreferences.setDisplayOrder(newValue);
-            notifyChanged();
-        }
-        return true;
-    }
-
-    @Override
-    // UX recommendation is not to show cancel button on such lists.
-    protected void onPrepareDialogBuilder(Builder builder) {
-        super.onPrepareDialogBuilder(builder);
-        builder.setNegativeButton(null, null);
-    }
-}
diff --git a/src/com/android/contacts/preference/SortOrderPreference.java b/src/com/android/contacts/preference/SortOrderPreference.java
deleted file mode 100644
index da51eed..0000000
--- a/src/com/android/contacts/preference/SortOrderPreference.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.contacts.preference;
-
-import android.app.AlertDialog.Builder;
-import android.content.Context;
-import android.preference.ListPreference;
-import android.provider.ContactsContract;
-import android.util.AttributeSet;
-
-import com.android.contacts.R;
-import com.android.contacts.common.preference.ContactsPreferences;
-
-/**
- * Custom preference: sort-by.
- */
-public final class SortOrderPreference extends ListPreference {
-
-    private ContactsPreferences mPreferences;
-    private Context mContext;
-
-    public SortOrderPreference(Context context) {
-        super(context);
-        prepare();
-    }
-
-    public SortOrderPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        prepare();
-    }
-
-    private void prepare() {
-        mContext = getContext();
-        mPreferences = new ContactsPreferences(mContext);
-        setEntries(new String[]{
-                mContext.getString(R.string.display_options_sort_by_given_name),
-                mContext.getString(R.string.display_options_sort_by_family_name),
-        });
-        setEntryValues(new String[]{
-                String.valueOf(ContactsContract.Preferences.SORT_ORDER_PRIMARY),
-                String.valueOf(ContactsContract.Preferences.SORT_ORDER_ALTERNATIVE),
-        });
-        setValue(String.valueOf(mPreferences.getSortOrder()));
-    }
-
-    @Override
-    protected boolean shouldPersist() {
-        return false;   // This preference takes care of its own storage
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        switch (mPreferences.getSortOrder()) {
-            case ContactsContract.Preferences.SORT_ORDER_PRIMARY:
-                return mContext.getString(R.string.display_options_sort_by_given_name);
-            case ContactsContract.Preferences.SORT_ORDER_ALTERNATIVE:
-                return mContext.getString(R.string.display_options_sort_by_family_name);
-        }
-        return null;
-    }
-
-    @Override
-    protected boolean persistString(String value) {
-        int newValue = Integer.parseInt(value);
-        if (newValue != mPreferences.getSortOrder()) {
-            mPreferences.setSortOrder(newValue);
-            notifyChanged();
-        }
-        return true;
-    }
-
-    @Override
-    // UX recommendation is not to show cancel button on such lists.
-    protected void onPrepareDialogBuilder(Builder builder) {
-        super.onPrepareDialogBuilder(builder);
-        builder.setNegativeButton(null, null);
-    }
-}
diff --git a/src/com/android/contacts/quickcontact/Action.java b/src/com/android/contacts/quickcontact/Action.java
index fa23286..7d904ab 100644
--- a/src/com/android/contacts/quickcontact/Action.java
+++ b/src/com/android/contacts/quickcontact/Action.java
@@ -45,7 +45,10 @@
     public Intent getAlternateIntent();
 
     /** Checks if the contact data for this action is primary. */
-    public Boolean isPrimary();
+    public boolean isPrimary();
+
+    /** Checks if the contact data for this action is super primary. */
+    public boolean isSuperPrimary();
 
     /**
      * Returns a lookup (@link Uri) for the contact data item or null if there is no data item
@@ -61,4 +64,14 @@
 
     /** Returns the presence of this item or -1 if it was never set */
     public int getPresence();
+
+    /**
+     * Returns the number of times this action has been used.
+     */
+    public Integer getTimesUsed();
+
+    /**
+     * Returns the last time this action was used.
+     */
+    public Long getLastTimeUsed();
 }
diff --git a/src/com/android/contacts/quickcontact/DataAction.java b/src/com/android/contacts/quickcontact/DataAction.java
index e29b3ef..b590814 100644
--- a/src/com/android/contacts/quickcontact/DataAction.java
+++ b/src/com/android/contacts/quickcontact/DataAction.java
@@ -29,9 +29,9 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import com.android.contacts.R;
 import com.android.contacts.common.CallUtil;
 import com.android.contacts.common.ContactsUtils;
-import com.android.contacts.R;
 import com.android.contacts.common.MoreContactUtils;
 import com.android.contacts.common.model.account.AccountType.EditType;
 import com.android.contacts.common.model.dataitem.DataItem;
@@ -55,6 +55,8 @@
     private final Context mContext;
     private final DataKind mKind;
     private final String mMimeType;
+    private final Integer mTimesUsed;
+    private final Long mLastTimeUsed;
 
     private CharSequence mBody;
     private CharSequence mSubtitle;
@@ -67,6 +69,7 @@
     private Uri mDataUri;
     private long mDataId;
     private boolean mIsPrimary;
+    private boolean mIsSuperPrimary;
 
     /**
      * Create an action from common {@link Data} elements.
@@ -75,6 +78,8 @@
         mContext = context;
         mKind = kind;
         mMimeType = item.getMimeType();
+        mTimesUsed = item.getTimesUsed();
+        mLastTimeUsed = item.getLastTimeUsed();
 
         // Determine type for subtitle
         mSubtitle = "";
@@ -96,7 +101,8 @@
             }
         }
 
-        mIsPrimary = item.isSuperPrimary();
+        mIsPrimary = item.isPrimary();
+        mIsSuperPrimary = item.isSuperPrimary();
         mBody = item.buildDataStringForDisplay(context, kind);
 
         mDataId = item.getId();
@@ -265,11 +271,16 @@
     }
 
     @Override
-    public Boolean isPrimary() {
+    public boolean isPrimary() {
         return mIsPrimary;
     }
 
     @Override
+    public boolean isSuperPrimary() {
+        return mIsSuperPrimary;
+    }
+
+    @Override
     public Drawable getAlternateIcon() {
         if (mAlternateIconRes == 0) return null;
 
@@ -304,7 +315,7 @@
     }
 
     @Override
-    public boolean shouldCollapseWith(Action t) {
+    public boolean shouldCollapseWith(Action t, Context context) {
         if (t == null) {
             return false;
         }
@@ -322,4 +333,14 @@
         }
         return true;
     }
+
+    @Override
+    public Integer getTimesUsed() {
+        return mTimesUsed;
+    }
+
+    @Override
+    public Long getLastTimeUsed() {
+        return mLastTimeUsed;
+    }
 }
diff --git a/src/com/android/contacts/quickcontact/DirectoryContactUtil.java b/src/com/android/contacts/quickcontact/DirectoryContactUtil.java
new file mode 100644
index 0000000..d483af3
--- /dev/null
+++ b/src/com/android/contacts/quickcontact/DirectoryContactUtil.java
@@ -0,0 +1,83 @@
+package com.android.contacts.quickcontact;
+
+import com.android.contacts.ContactSaveService;
+import com.android.contacts.R;
+import com.android.contacts.common.editor.SelectAccountDialogFragment;
+import com.android.contacts.common.model.AccountTypeManager;
+import com.android.contacts.common.model.Contact;
+import com.android.contacts.common.model.account.AccountWithDataSet;
+import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter;
+import com.android.contacts.quickcontact.QuickContactActivity.SelectAccountDialogFragmentListener;
+
+import android.app.FragmentManager;
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.Intent;
+import android.provider.ContactsContract.Directory;
+import android.widget.Toast;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Utility class to support adding directory contacts.
+ *
+ * This class is coupled with {@link QuickContactActivity}, but is left out of
+ * QuickContactActivity.java to avoid ballooning the size of the file.
+ */
+public class DirectoryContactUtil {
+
+    public static boolean isDirectoryContact(Contact contactData) {
+        // Not a directory contact? Nothing to fix here
+        if (contactData == null || !contactData.isDirectoryEntry()) return false;
+
+        // No export support? Too bad
+        return contactData.getDirectoryExportSupport() != Directory.EXPORT_SUPPORT_NONE;
+    }
+
+    public static void addToMyContacts(Contact contactData, Context context,
+            FragmentManager fragmentManager,
+            SelectAccountDialogFragmentListener selectAccountCallbacks) {
+        int exportSupport = contactData.getDirectoryExportSupport();
+        switch (exportSupport) {
+            case Directory.EXPORT_SUPPORT_SAME_ACCOUNT_ONLY: {
+                createCopy(contactData.getContentValues(),
+                        new AccountWithDataSet(contactData.getDirectoryAccountName(),
+                        contactData.getDirectoryAccountType(), null),
+                        context);
+                break;
+            }
+            case Directory.EXPORT_SUPPORT_ANY_ACCOUNT: {
+                final List<AccountWithDataSet> accounts =
+                        AccountTypeManager.getInstance(context).getAccounts(true);
+                if (accounts.isEmpty()) {
+                    createCopy(contactData.getContentValues(), null, context);
+                    return;  // Don't show a dialog.
+                }
+
+                // In the common case of a single writable account, auto-select
+                // it without showing a dialog.
+                if (accounts.size() == 1) {
+                    createCopy(contactData.getContentValues(), accounts.get(0), context);
+                    return;  // Don't show a dialog.
+                }
+
+                SelectAccountDialogFragment.show(fragmentManager,
+                        selectAccountCallbacks, R.string.dialog_new_contact_account,
+                        AccountListFilter.ACCOUNTS_CONTACT_WRITABLE, null);
+                break;
+            }
+        }
+    }
+
+    public static void createCopy(
+            ArrayList<ContentValues> values, AccountWithDataSet account,
+            Context context) {
+        Toast.makeText(context, R.string.toast_making_personal_copy,
+                Toast.LENGTH_LONG).show();
+        Intent serviceIntent = ContactSaveService.createNewRawContactIntent(
+                context, values, account,
+                QuickContactActivity.class, Intent.ACTION_VIEW);
+        context.startService(serviceIntent);
+    }
+}
diff --git a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
new file mode 100644
index 0000000..7501bb8
--- /dev/null
+++ b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
@@ -0,0 +1,884 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.contacts.quickcontact;
+
+import android.animation.ObjectAnimator;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.graphics.ColorFilter;
+import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
+import android.support.v7.widget.CardView;
+import android.text.TextUtils;
+import android.transition.ChangeBounds;
+import android.transition.ChangeScroll;
+import android.transition.Fade;
+import android.transition.Transition;
+import android.transition.Transition.TransitionListener;
+import android.transition.TransitionManager;
+import android.transition.TransitionSet;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.ContextMenu.ContextMenuInfo;
+import android.view.LayoutInflater;
+import android.view.TouchDelegate;
+import android.view.View;
+import android.view.View.OnCreateContextMenuListener;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import com.android.contacts.R;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Display entries in a LinearLayout that can be expanded to show all entries.
+ */
+public class ExpandingEntryCardView extends CardView {
+
+    private static final String TAG = "ExpandingEntryCardView";
+    private static final int DURATION_EXPAND_ANIMATION_FADE_IN = 200;
+    private static final int DELAY_EXPAND_ANIMATION_FADE_IN = 100;
+
+    public static final int DURATION_EXPAND_ANIMATION_CHANGE_BOUNDS = 300;
+    public static final int DURATION_COLLAPSE_ANIMATION_CHANGE_BOUNDS = 300;
+
+    /**
+     * Entry data.
+     */
+    public static final class Entry {
+
+        private final int mId;
+        private final Drawable mIcon;
+        private final String mHeader;
+        private final String mSubHeader;
+        private final Drawable mSubHeaderIcon;
+        private final String mText;
+        private final Drawable mTextIcon;
+        private final Intent mIntent;
+        private final Drawable mAlternateIcon;
+        private final Intent mAlternateIntent;
+        private final String mAlternateContentDescription;
+        private final boolean mShouldApplyColor;
+        private final boolean mIsEditable;
+        private final EntryContextMenuInfo mEntryContextMenuInfo;
+
+        public Entry(int id, Drawable icon, String header, String subHeader, String text,
+                Intent intent, Drawable alternateIcon, Intent alternateIntent,
+                String alternateContentDescription, boolean shouldApplyColor,
+                boolean isEditable, EntryContextMenuInfo entryContextMenuInfo) {
+            this(id, icon, header, subHeader, null, text, null, intent, alternateIcon,
+                    alternateIntent, alternateContentDescription, shouldApplyColor, isEditable,
+                    entryContextMenuInfo);
+        }
+
+        public Entry(int id, Drawable mainIcon, String header, String subHeader,
+                Drawable subHeaderIcon, String text, Drawable textIcon, Intent intent,
+                Drawable alternateIcon, Intent alternateIntent, String alternateContentDescription,
+                boolean shouldApplyColor, boolean isEditable,
+                EntryContextMenuInfo entryContextMenuInfo) {
+            mId = id;
+            mIcon = mainIcon;
+            mHeader = header;
+            mSubHeader = subHeader;
+            mSubHeaderIcon = subHeaderIcon;
+            mText = text;
+            mTextIcon = textIcon;
+            mIntent = intent;
+            mAlternateIcon = alternateIcon;
+            mAlternateIntent = alternateIntent;
+            mAlternateContentDescription = alternateContentDescription;
+            mShouldApplyColor = shouldApplyColor;
+            mIsEditable = isEditable;
+            mEntryContextMenuInfo = entryContextMenuInfo;
+        }
+
+        Drawable getIcon() {
+            return mIcon;
+        }
+
+        String getHeader() {
+            return mHeader;
+        }
+
+        String getSubHeader() {
+            return mSubHeader;
+        }
+
+        Drawable getSubHeaderIcon() {
+            return mSubHeaderIcon;
+        }
+
+        public String getText() {
+            return mText;
+        }
+
+        Drawable getTextIcon() {
+            return mTextIcon;
+        }
+
+        Intent getIntent() {
+            return mIntent;
+        }
+
+        Drawable getAlternateIcon() {
+            return mAlternateIcon;
+        }
+
+        Intent getAlternateIntent() {
+            return mAlternateIntent;
+        }
+
+        String getAlternateContentDescription() {
+            return mAlternateContentDescription;
+        }
+
+        boolean shouldApplyColor() {
+            return mShouldApplyColor;
+        }
+
+        boolean isEditable() {
+            return mIsEditable;
+        }
+
+        int getId() {
+            return mId;
+        }
+
+        EntryContextMenuInfo getEntryContextMenuInfo() {
+            return mEntryContextMenuInfo;
+        }
+    }
+
+    public interface ExpandingEntryCardViewListener {
+        void onCollapse(int heightDelta);
+        void onExpand(int heightDelta);
+    }
+
+    private View mExpandCollapseButton;
+    private TextView mExpandCollapseTextView;
+    private TextView mTitleTextView;
+    private CharSequence mExpandButtonText;
+    private CharSequence mCollapseButtonText;
+    private OnClickListener mOnClickListener;
+    private OnCreateContextMenuListener mOnCreateContextMenuListener;
+    private boolean mIsExpanded = false;
+    /**
+     * The max number of entries to show in a collapsed card. If there are less entries passed in,
+     * then they are all shown.
+     */
+    private int mCollapsedEntriesCount;
+    private ExpandingEntryCardViewListener mListener;
+    private List<List<Entry>> mEntries;
+    private int mNumEntries = 0;
+    private boolean mAllEntriesInflated = false;
+    private List<List<View>> mEntryViews;
+    private LinearLayout mEntriesViewGroup;
+    private final ImageView mExpandCollapseArrow;
+    private int mThemeColor;
+    private ColorFilter mThemeColorFilter;
+    private boolean mIsAlwaysExpanded;
+    /** The ViewGroup to run the expand/collapse animation on */
+    private ViewGroup mAnimationViewGroup;
+    private LinearLayout mBadgeContainer;
+    private final List<ImageView> mBadges;
+    private LinearLayout mContainer;
+
+    private final OnClickListener mExpandCollapseButtonListener = new OnClickListener() {
+        @Override
+        public void onClick(View v) {
+            if (mIsExpanded) {
+                collapse();
+            } else {
+                expand();
+            }
+        }
+    };
+
+    public ExpandingEntryCardView(Context context) {
+        this(context, null);
+    }
+
+    public ExpandingEntryCardView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        LayoutInflater inflater = LayoutInflater.from(context);
+        View expandingEntryCardView = inflater.inflate(R.layout.expanding_entry_card_view, this);
+        mEntriesViewGroup = (LinearLayout)
+                expandingEntryCardView.findViewById(R.id.content_area_linear_layout);
+        mTitleTextView = (TextView) expandingEntryCardView.findViewById(R.id.title);
+        mContainer = (LinearLayout) expandingEntryCardView.findViewById(R.id.container);
+
+        mExpandCollapseButton = inflater.inflate(
+                R.layout.quickcontact_expanding_entry_card_button, this, false);
+        mExpandCollapseTextView = (TextView) mExpandCollapseButton.findViewById(R.id.text);
+        mExpandCollapseArrow = (ImageView) mExpandCollapseButton.findViewById(R.id.arrow);
+        mExpandCollapseButton.setOnClickListener(mExpandCollapseButtonListener);
+        mBadgeContainer = (LinearLayout) mExpandCollapseButton.findViewById(R.id.badge_container);
+
+        mBadges = new ArrayList<ImageView>();
+    }
+
+    /**
+     * Sets the Entry list to display.
+     *
+     * @param entries The Entry list to display.
+     */
+    public void initialize(List<List<Entry>> entries, int numInitialVisibleEntries,
+            boolean isExpanded, boolean isAlwaysExpanded,
+            ExpandingEntryCardViewListener listener, ViewGroup animationViewGroup) {
+        LayoutInflater layoutInflater = LayoutInflater.from(getContext());
+        mIsExpanded = isExpanded;
+        mIsAlwaysExpanded = isAlwaysExpanded;
+        // If isAlwaysExpanded is true, mIsExpanded should be true
+        mIsExpanded |= mIsAlwaysExpanded;
+        mEntryViews = new ArrayList<List<View>>(entries.size());
+        mEntries = entries;
+        mNumEntries = 0;
+        mAllEntriesInflated = false;
+        for (List<Entry> entryList : mEntries) {
+            mNumEntries += entryList.size();
+            mEntryViews.add(new ArrayList<View>());
+        }
+        mCollapsedEntriesCount = Math.min(numInitialVisibleEntries, mNumEntries);
+        mListener = listener;
+        mAnimationViewGroup = animationViewGroup;
+
+        if (mIsExpanded) {
+            updateExpandCollapseButton(getCollapseButtonText(), /* duration = */ 0);
+            inflateAllEntries(layoutInflater);
+        } else {
+            updateExpandCollapseButton(getExpandButtonText(), /* duration = */ 0);
+            inflateInitialEntries(layoutInflater);
+        }
+        insertEntriesIntoViewGroup();
+        applyColor();
+    }
+
+    /**
+     * Sets the text for the expand button.
+     *
+     * @param expandButtonText The expand button text.
+     */
+    public void setExpandButtonText(CharSequence expandButtonText) {
+        mExpandButtonText = expandButtonText;
+        if (mExpandCollapseTextView != null && !mIsExpanded) {
+            mExpandCollapseTextView.setText(expandButtonText);
+        }
+    }
+
+    /**
+     * Sets the text for the expand button.
+     *
+     * @param expandButtonText The expand button text.
+     */
+    public void setCollapseButtonText(CharSequence expandButtonText) {
+        mCollapseButtonText = expandButtonText;
+        if (mExpandCollapseTextView != null && mIsExpanded) {
+            mExpandCollapseTextView.setText(mCollapseButtonText);
+        }
+    }
+
+    @Override
+    public void setOnClickListener(OnClickListener listener) {
+        mOnClickListener = listener;
+    }
+
+    @Override
+    public void setOnCreateContextMenuListener (OnCreateContextMenuListener listener) {
+        mOnCreateContextMenuListener = listener;
+    }
+
+    private void insertEntriesIntoViewGroup() {
+        mEntriesViewGroup.removeAllViews();
+
+        if (mIsExpanded) {
+            for (List<View> viewList : mEntryViews) {
+                if (viewList != mEntryViews.get(0)) {
+                    addSeparator(viewList.get(0));
+                }
+                for (View view : viewList) {
+                    addEntry(view);
+                }
+            }
+        } else {
+            // We want to insert mCollapsedEntriesCount entries into the group. extraEntries is the
+            // number of entries that need to be added that are not the head element of a list
+            // to reach mCollapsedEntriesCount.
+            int numInViewGroup = 0;
+            int extraEntries = mCollapsedEntriesCount - mEntryViews.size();
+            for (int i = 0; i < mEntryViews.size() && numInViewGroup < mCollapsedEntriesCount;
+                    i++) {
+                List<View> entryViewList = mEntryViews.get(i);
+                if (i > 0) {
+                    addSeparator(entryViewList.get(0));
+                }
+                addEntry(entryViewList.get(0));
+                numInViewGroup++;
+                // Insert entries in this list to hit mCollapsedEntriesCount.
+                for (int j = 1;
+                        j < entryViewList.size() && numInViewGroup < mCollapsedEntriesCount &&
+                        extraEntries > 0;
+                        j++) {
+                    addEntry(entryViewList.get(j));
+                    numInViewGroup++;
+                    extraEntries--;
+                }
+            }
+        }
+
+        removeView(mExpandCollapseButton);
+        if (mCollapsedEntriesCount < mNumEntries
+                && mExpandCollapseButton.getParent() == null && !mIsAlwaysExpanded) {
+            mContainer.addView(mExpandCollapseButton, -1);
+        }
+    }
+
+    private void addEntry(View entry) {
+        // If no title and the first entry in the group, add extra padding
+        if (TextUtils.isEmpty(mTitleTextView.getText()) &&
+                mEntriesViewGroup.getChildCount() == 0) {
+            entry.setPadding(entry.getPaddingLeft(),
+                    entry.getPaddingTop() + getResources().getDimensionPixelSize(
+                            R.dimen.expanding_entry_card_null_title_top_extra_padding),
+                    entry.getPaddingRight(),
+                    entry.getPaddingBottom());
+        }
+        mEntriesViewGroup.addView(entry);
+    }
+
+    private void addSeparator(View entry) {
+        View separator = new View(getContext());
+        Resources res = getResources();
+
+        separator.setBackgroundColor(res.getColor(
+                R.color.expanding_entry_card_item_separator_color));
+        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
+                ViewGroup.LayoutParams.MATCH_PARENT,
+                res.getDimensionPixelSize(R.dimen.expanding_entry_card_item_separator_height));
+        // The separator is aligned with the text in the entry. This is offset by a default
+        // margin. If there is an icon present, the icon's width and margin are added
+        int marginStart = res.getDimensionPixelSize(
+                R.dimen.expanding_entry_card_item_padding_start);
+        ImageView entryIcon = (ImageView) entry.findViewById(R.id.icon);
+        if (entryIcon.getVisibility() == View.VISIBLE) {
+            int imageWidthAndMargin =
+                    res.getDimensionPixelSize(R.dimen.expanding_entry_card_item_icon_width) +
+                    res.getDimensionPixelSize(R.dimen.expanding_entry_card_item_image_spacing);
+            marginStart += imageWidthAndMargin;
+        }
+        layoutParams.setMarginStart(marginStart);
+        separator.setLayoutParams(layoutParams);
+        mEntriesViewGroup.addView(separator);
+    }
+
+    private CharSequence getExpandButtonText() {
+        if (!TextUtils.isEmpty(mExpandButtonText)) {
+            return mExpandButtonText;
+        } else {
+            // Default to "See more".
+            return getResources().getText(R.string.expanding_entry_card_view_see_more);
+        }
+    }
+
+    private CharSequence getCollapseButtonText() {
+        if (!TextUtils.isEmpty(mCollapseButtonText)) {
+            return mCollapseButtonText;
+        } else {
+            // Default to "See less".
+            return getResources().getText(R.string.expanding_entry_card_view_see_less);
+        }
+    }
+
+    /**
+     * Inflates the initial entries to be shown.
+     */
+    private void inflateInitialEntries(LayoutInflater layoutInflater) {
+        // If the number of collapsed entries equals total entries, inflate all
+        if (mCollapsedEntriesCount == mNumEntries) {
+            inflateAllEntries(layoutInflater);
+        } else {
+            // Otherwise inflate the top entry from each list
+            // extraEntries is used to add extra entries until mCollapsedEntriesCount is reached.
+            int numInflated = 0;
+            int extraEntries = mCollapsedEntriesCount - mEntries.size();
+            for (int i = 0; i < mEntries.size() && numInflated < mCollapsedEntriesCount; i++) {
+                List<Entry> entryList = mEntries.get(i);
+                List<View> entryViewList = mEntryViews.get(i);
+
+                entryViewList.add(createEntryView(layoutInflater, entryList.get(0),
+                        /* showIcon = */ View.VISIBLE));
+                numInflated++;
+                // Inflate entries in this list to hit mCollapsedEntriesCount.
+                for (int j = 1; j < entryList.size() && numInflated < mCollapsedEntriesCount &&
+                        extraEntries > 0; j++) {
+                    entryViewList.add(createEntryView(layoutInflater, entryList.get(j),
+                            /* showIcon = */ View.VISIBLE));
+                    numInflated++;
+                    extraEntries--;
+                }
+            }
+        }
+    }
+
+    /**
+     * Inflates all entries.
+     */
+    private void inflateAllEntries(LayoutInflater layoutInflater) {
+        if (mAllEntriesInflated) {
+            return;
+        }
+        for (int i = 0; i < mEntries.size(); i++) {
+            List<Entry> entryList = mEntries.get(i);
+            List<View> viewList = mEntryViews.get(i);
+            for (int j = viewList.size(); j < entryList.size(); j++) {
+                final int iconVisibility;
+                final Entry entry = entryList.get(j);
+                // If the entry does not have an icon, mark gone. Else if it has an icon, show
+                // for the first Entry in the list only
+                if (entry.getIcon() == null) {
+                    iconVisibility = View.GONE;
+                } else if (j == 0) {
+                    iconVisibility = View.VISIBLE;
+                } else {
+                    iconVisibility = View.INVISIBLE;
+                }
+                viewList.add(createEntryView(layoutInflater, entry, iconVisibility));
+            }
+        }
+        mAllEntriesInflated = true;
+    }
+
+    public void setColorAndFilter(int color, ColorFilter colorFilter) {
+        mThemeColor = color;
+        mThemeColorFilter = colorFilter;
+        applyColor();
+    }
+
+    public void setEntryHeaderColor(int color) {
+        if (mEntries != null) {
+            for (List<View> entryList : mEntryViews) {
+                for (View entryView : entryList) {
+                    TextView header = (TextView) entryView.findViewById(R.id.header);
+                    if (header != null) {
+                        header.setTextColor(color);
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * The ColorFilter is passed in along with the color so that a new one only needs to be created
+     * once for the entire activity.
+     * 1. Title
+     * 2. Entry icons
+     * 3. Expand/Collapse Text
+     * 4. Expand/Collapse Button
+     */
+    public void applyColor() {
+        if (mThemeColor != 0 && mThemeColorFilter != null) {
+            // Title
+            if (mTitleTextView != null) {
+                mTitleTextView.setTextColor(mThemeColor);
+            }
+
+            // Entry icons
+            if (mEntries != null) {
+                for (List<Entry> entryList : mEntries) {
+                    for (Entry entry : entryList) {
+                        if (entry.shouldApplyColor()) {
+                            Drawable icon = entry.getIcon();
+                            if (icon != null) {
+                                icon.setColorFilter(mThemeColorFilter);
+                            }
+                        }
+                        Drawable alternateIcon = entry.getAlternateIcon();
+                        if (alternateIcon != null) {
+                            alternateIcon.setColorFilter(mThemeColorFilter);
+                        }
+                    }
+                }
+            }
+
+            // Expand/Collapse
+            mExpandCollapseTextView.setTextColor(mThemeColor);
+            mExpandCollapseArrow.setColorFilter(mThemeColorFilter);
+        }
+    }
+
+    private View createEntryView(LayoutInflater layoutInflater, final Entry entry,
+            int iconVisibility) {
+        final EntryView view = (EntryView) layoutInflater.inflate(
+                R.layout.expanding_entry_card_item, this, false);
+
+        view.setContextMenuInfo(entry.getEntryContextMenuInfo());
+
+        final ImageView icon = (ImageView) view.findViewById(R.id.icon);
+        icon.setVisibility(iconVisibility);
+        if (entry.getIcon() != null) {
+            icon.setImageDrawable(entry.getIcon());
+        }
+        final TextView header = (TextView) view.findViewById(R.id.header);
+        if (!TextUtils.isEmpty(entry.getHeader())) {
+            header.setText(entry.getHeader());
+        } else {
+            header.setVisibility(View.GONE);
+        }
+
+        final TextView subHeader = (TextView) view.findViewById(R.id.sub_header);
+        if (!TextUtils.isEmpty(entry.getSubHeader())) {
+            subHeader.setText(entry.getSubHeader());
+        } else {
+            subHeader.setVisibility(View.GONE);
+        }
+
+        final ImageView subHeaderIcon = (ImageView) view.findViewById(R.id.icon_sub_header);
+        if (entry.getSubHeaderIcon() != null) {
+            subHeaderIcon.setImageDrawable(entry.getSubHeaderIcon());
+        } else {
+            subHeaderIcon.setVisibility(View.GONE);
+        }
+
+        final TextView text = (TextView) view.findViewById(R.id.text);
+        if (!TextUtils.isEmpty(entry.getText())) {
+            text.setText(entry.getText());
+        } else {
+            text.setVisibility(View.GONE);
+        }
+
+        final ImageView textIcon = (ImageView) view.findViewById(R.id.icon_text);
+        if (entry.getTextIcon() != null) {
+            textIcon.setImageDrawable(entry.getTextIcon());
+        } else {
+            textIcon.setVisibility(View.GONE);
+        }
+
+        if (entry.getIntent() != null) {
+            view.setOnClickListener(mOnClickListener);
+            view.setTag(new EntryTag(entry.getId(), entry.getIntent()));
+        }
+
+        // If only the header is visible, add a top margin to match icon's top margin.
+        // Also increase the space below the header for visual comfort.
+        if (header.getVisibility() == View.VISIBLE && subHeader.getVisibility() == View.GONE &&
+                text.getVisibility() == View.GONE) {
+            RelativeLayout.LayoutParams headerLayoutParams =
+                    (RelativeLayout.LayoutParams) header.getLayoutParams();
+            headerLayoutParams.topMargin = (int) (getResources().getDimension(
+                    R.dimen.expanding_entry_card_item_header_only_margin_top));
+            headerLayoutParams.bottomMargin += (int) (getResources().getDimension(
+                    R.dimen.expanding_entry_card_item_header_only_margin_bottom));
+            header.setLayoutParams(headerLayoutParams);
+        }
+
+        final ImageView alternateIcon = (ImageView) view.findViewById(R.id.icon_alternate);
+        if (entry.getAlternateIcon() != null && entry.getAlternateIntent() != null) {
+            alternateIcon.setImageDrawable(entry.getAlternateIcon());
+            alternateIcon.setOnClickListener(mOnClickListener);
+            alternateIcon.setTag(new EntryTag(entry.getId(), entry.getAlternateIntent()));
+            alternateIcon.setVisibility(View.VISIBLE);
+            alternateIcon.setContentDescription(entry.getAlternateContentDescription());
+
+            // Expand the clickable area for alternate icon to be top to bottom and to end edge
+            // of the entry view
+            view.post(new Runnable() {
+                @Override
+                public void run() {
+                    final Rect alternateIconRect = new Rect();
+                    alternateIcon.getHitRect(alternateIconRect);
+
+                    alternateIconRect.bottom = view.getHeight();
+                    alternateIconRect.top = 0;
+                    if (getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
+                        alternateIconRect.left = 0;
+                    } else {
+                        alternateIconRect.right = view.getWidth();
+                    }
+                    final TouchDelegate touchDelegate =
+                            new TouchDelegate(alternateIconRect, alternateIcon);
+                    view.setTouchDelegate(touchDelegate);
+                }
+            });
+        }
+
+        // Decrease margin for entries that have an invisible icon
+        if (iconVisibility == View.INVISIBLE) {
+            view.setPaddingRelative(view.getPaddingStart(), 0, view.getPaddingEnd(),
+                    view.getPaddingBottom());
+        }
+
+
+        view.setOnCreateContextMenuListener(mOnCreateContextMenuListener);
+
+        return view;
+    }
+
+    private void updateExpandCollapseButton(CharSequence buttonText, long duration) {
+        if (mIsExpanded) {
+            final ObjectAnimator animator = ObjectAnimator.ofFloat(mExpandCollapseArrow,
+                    "rotation", 180);
+            animator.setDuration(duration);
+            animator.start();
+        } else {
+            final ObjectAnimator animator = ObjectAnimator.ofFloat(mExpandCollapseArrow,
+                    "rotation", 0);
+            animator.setDuration(duration);
+            animator.start();
+        }
+        updateBadges();
+
+        mExpandCollapseTextView.setText(buttonText);
+    }
+
+    private void updateBadges() {
+        if (mIsExpanded) {
+            mBadgeContainer.removeAllViews();
+        } else {
+            // Inflate badges if not yet created
+            if (mBadges.size() < mEntries.size() - mCollapsedEntriesCount) {
+                for (int i = mCollapsedEntriesCount; i < mEntries.size(); i++) {
+                    Drawable badgeDrawable = mEntries.get(i).get(0).getIcon();
+                    if (badgeDrawable != null) {
+                        ImageView badgeView = new ImageView(getContext());
+                        LinearLayout.LayoutParams badgeViewParams = new LinearLayout.LayoutParams(
+                                (int) getResources().getDimension(
+                                        R.dimen.expanding_entry_card_item_icon_width),
+                                (int) getResources().getDimension(
+                                        R.dimen.expanding_entry_card_item_icon_height));
+                        badgeViewParams.setMarginEnd((int) getResources().getDimension(
+                                R.dimen.expanding_entry_card_badge_separator_margin));
+                        badgeView.setLayoutParams(badgeViewParams);
+                        badgeView.setImageDrawable(badgeDrawable);
+                        mBadges.add(badgeView);
+                    }
+                }
+            }
+            mBadgeContainer.removeAllViews();
+            for (ImageView badge : mBadges) {
+                mBadgeContainer.addView(badge);
+            }
+        }
+    }
+
+    private void expand() {
+        ChangeBounds boundsTransition = new ChangeBounds();
+        boundsTransition.setDuration(DURATION_EXPAND_ANIMATION_CHANGE_BOUNDS);
+
+        Fade fadeIn = new Fade(Fade.IN);
+        fadeIn.setDuration(DURATION_EXPAND_ANIMATION_FADE_IN);
+        fadeIn.setStartDelay(DELAY_EXPAND_ANIMATION_FADE_IN);
+
+        TransitionSet transitionSet = new TransitionSet();
+        transitionSet.addTransition(boundsTransition);
+        transitionSet.addTransition(fadeIn);
+
+        final ViewGroup transitionViewContainer = mAnimationViewGroup == null ?
+                this : mAnimationViewGroup;
+
+        transitionSet.addListener(new TransitionListener() {
+            @Override
+            public void onTransitionStart(Transition transition) {
+                // The listener is used to turn off suppressing, the proper delta is not necessary
+                mListener.onExpand(0);
+            }
+
+            @Override
+            public void onTransitionEnd(Transition transition) {
+            }
+
+            @Override
+            public void onTransitionCancel(Transition transition) {
+            }
+
+            @Override
+            public void onTransitionPause(Transition transition) {
+            }
+
+            @Override
+            public void onTransitionResume(Transition transition) {
+            }
+        });
+
+        TransitionManager.beginDelayedTransition(transitionViewContainer, transitionSet);
+
+        mIsExpanded = true;
+        // In order to insert new entries, we may need to inflate them for the first time
+        inflateAllEntries(LayoutInflater.from(getContext()));
+        insertEntriesIntoViewGroup();
+        updateExpandCollapseButton(getCollapseButtonText(),
+                DURATION_EXPAND_ANIMATION_CHANGE_BOUNDS);
+    }
+
+    private void collapse() {
+        final int startingHeight = mEntriesViewGroup.getMeasuredHeight();
+        mIsExpanded = false;
+        updateExpandCollapseButton(getExpandButtonText(),
+                DURATION_COLLAPSE_ANIMATION_CHANGE_BOUNDS);
+
+        final ChangeBounds boundsTransition = new ChangeBounds();
+        boundsTransition.setDuration(DURATION_COLLAPSE_ANIMATION_CHANGE_BOUNDS);
+
+        final ChangeScroll scrollTransition = new ChangeScroll();
+        scrollTransition.setDuration(DURATION_COLLAPSE_ANIMATION_CHANGE_BOUNDS);
+
+        TransitionSet transitionSet = new TransitionSet();
+        transitionSet.addTransition(boundsTransition);
+        transitionSet.addTransition(scrollTransition);
+
+        final ViewGroup transitionViewContainer = mAnimationViewGroup == null ?
+                this : mAnimationViewGroup;
+
+        boundsTransition.addListener(new TransitionListener() {
+            @Override
+            public void onTransitionStart(Transition transition) {
+                /*
+                 * onTransitionStart is called after the view hierarchy has been changed but before
+                 * the animation begins.
+                 */
+                int finishingHeight = mEntriesViewGroup.getMeasuredHeight();
+                mListener.onCollapse(startingHeight - finishingHeight);
+            }
+
+            @Override
+            public void onTransitionEnd(Transition transition) {
+            }
+
+            @Override
+            public void onTransitionCancel(Transition transition) {
+            }
+
+            @Override
+            public void onTransitionPause(Transition transition) {
+            }
+
+            @Override
+            public void onTransitionResume(Transition transition) {
+            }
+        });
+
+        TransitionManager.beginDelayedTransition(transitionViewContainer, transitionSet);
+
+        insertEntriesIntoViewGroup();
+    }
+
+    /**
+     * Returns whether the view is currently in its expanded state.
+     */
+    public boolean isExpanded() {
+        return mIsExpanded;
+    }
+
+    /**
+     * Sets the title text of this ExpandingEntryCardView.
+     * @param title The title to set. A null title will result in the title being removed.
+     */
+    public void setTitle(String title) {
+        if (mTitleTextView == null) {
+            Log.e(TAG, "mTitleTextView is null");
+        }
+        mTitleTextView.setText(title);
+        mTitleTextView.setVisibility(TextUtils.isEmpty(title) ? View.GONE : View.VISIBLE);
+        findViewById(R.id.title_separator).setVisibility(TextUtils.isEmpty(title) ?
+                View.GONE : View.VISIBLE);
+        // If the title is set after children have been added, reset the top entry's padding to
+        // the default. Else if the title is cleared after children have been added, set
+        // the extra top padding
+        if (!TextUtils.isEmpty(title) && mEntriesViewGroup.getChildCount() > 0) {
+            View firstEntry = mEntriesViewGroup.getChildAt(0);
+            firstEntry.setPadding(firstEntry.getPaddingLeft(),
+                    getResources().getDimensionPixelSize(
+                            R.dimen.expanding_entry_card_item_padding_top),
+                    firstEntry.getPaddingRight(),
+                    firstEntry.getPaddingBottom());
+        } else if (!TextUtils.isEmpty(title) && mEntriesViewGroup.getChildCount() > 0) {
+            View firstEntry = mEntriesViewGroup.getChildAt(0);
+            firstEntry.setPadding(firstEntry.getPaddingLeft(),
+                    getResources().getDimensionPixelSize(
+                            R.dimen.expanding_entry_card_item_padding_top) +
+                            getResources().getDimensionPixelSize(
+                                    R.dimen.expanding_entry_card_null_title_top_extra_padding),
+                    firstEntry.getPaddingRight(),
+                    firstEntry.getPaddingBottom());
+        }
+    }
+
+    public boolean shouldShow() {
+        return mEntries != null && mEntries.size() > 0;
+    }
+
+    public static final class EntryView extends RelativeLayout {
+        private EntryContextMenuInfo mEntryContextMenuInfo;
+
+        public EntryView(Context context) {
+            super(context);
+        }
+
+        public EntryView(Context context, AttributeSet attrs) {
+            super(context, attrs);
+        }
+
+        public void setContextMenuInfo(EntryContextMenuInfo info) {
+            mEntryContextMenuInfo = info;
+        }
+
+        @Override
+        protected ContextMenuInfo getContextMenuInfo() {
+            return mEntryContextMenuInfo;
+        }
+    }
+
+    public static final class EntryContextMenuInfo implements ContextMenuInfo {
+        private final String mCopyText;
+        private final String mCopyLabel;
+
+        public EntryContextMenuInfo(String copyText, String copyLabel) {
+            mCopyText = copyText;
+            mCopyLabel = copyLabel;
+        }
+
+        public String getCopyText() {
+            return mCopyText;
+        }
+
+        public String getCopyLabel() {
+            return mCopyLabel;
+        }
+    }
+
+    static final class EntryTag {
+        private final int mId;
+        private final Intent mIntent;
+
+        public EntryTag(int id, Intent intent) {
+            mId = id;
+            mIntent = intent;
+        }
+
+        public int getId() {
+            return mId;
+        }
+
+        public Intent getIntent() {
+            return mIntent;
+        }
+    }
+}
diff --git a/src/com/android/contacts/quickcontact/FloatingChildLayout.java b/src/com/android/contacts/quickcontact/FloatingChildLayout.java
deleted file mode 100644
index 555f948..0000000
--- a/src/com/android/contacts/quickcontact/FloatingChildLayout.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.quickcontact;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.ObjectAnimator;
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Rect;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.animation.AnimationUtils;
-import android.widget.FrameLayout;
-import android.widget.PopupWindow;
-
-import com.android.contacts.R;
-import com.android.contacts.test.NeededForReflection;
-import com.android.contacts.util.SchedulingUtils;
-
-/**
- * Layout containing single child {@link View} which it attempts to center
- * around {@link #setChildTargetScreen(Rect)}.
- * <p>
- * Updates drawable state to be {@link android.R.attr#state_first} when child is
- * above target, and {@link android.R.attr#state_last} when child is below
- * target. Also updates {@link Drawable#setLevel(int)} on child
- * {@link View#getBackground()} to reflect horizontal center of target.
- * <p>
- * The reason for this approach is because target {@link Rect} is in screen
- * coordinates disregarding decor insets; otherwise something like
- * {@link PopupWindow} might work better.
- */
-public class FloatingChildLayout extends FrameLayout {
-    private static final String TAG = "FloatingChildLayout";
-    private int mFixedTopPosition;
-    private View mChild;
-    private Rect mTargetScreen = new Rect();
-    private final int mAnimationDuration;
-
-    /** The phase of the background dim. This is one of the values of {@link BackgroundPhase}  */
-    private int mBackgroundPhase = BackgroundPhase.BEFORE;
-
-    private ObjectAnimator mBackgroundAnimator = ObjectAnimator.ofInt(this,
-            "backgroundColorAlpha", 0, DIM_BACKGROUND_ALPHA);
-
-    private interface BackgroundPhase {
-        public static final int BEFORE = 0;
-        public static final int APPEARING_OR_VISIBLE = 1;
-        public static final int DISAPPEARING_OR_GONE = 3;
-    }
-
-    /** The phase of the contents window. This is one of the values of {@link ForegroundPhase}  */
-    private int mForegroundPhase = ForegroundPhase.BEFORE;
-
-    private interface ForegroundPhase {
-        public static final int BEFORE = 0;
-        public static final int APPEARING = 1;
-        public static final int IDLE = 2;
-        public static final int DISAPPEARING = 3;
-        public static final int AFTER = 4;
-    }
-
-    // Black, 50% alpha as per the system default.
-    private static final int DIM_BACKGROUND_ALPHA = 0x7F;
-
-    public FloatingChildLayout(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        final Resources resources = getResources();
-        mFixedTopPosition =
-                resources.getDimensionPixelOffset(R.dimen.quick_contact_top_position);
-        mAnimationDuration = resources.getInteger(android.R.integer.config_shortAnimTime);
-
-        super.setBackground(new ColorDrawable(0));
-    }
-
-    @Override
-    protected void onFinishInflate() {
-        mChild = findViewById(android.R.id.content);
-        mChild.setDuplicateParentStateEnabled(true);
-
-        // this will be expanded in showChild()
-        mChild.setScaleX(0.5f);
-        mChild.setScaleY(0.5f);
-        mChild.setAlpha(0.0f);
-    }
-
-    public View getChild() {
-        return mChild;
-    }
-
-    /**
-     * FloatingChildLayout manages its own background, don't set it.
-     */
-    @Override
-    public void setBackground(Drawable background) {
-        Log.wtf(TAG, "don't setBackground(), it is managed internally");
-    }
-
-    /**
-     * Set {@link Rect} in screen coordinates that {@link #getChild()} should be
-     * centered around.
-     */
-    public void setChildTargetScreen(Rect targetScreen) {
-        mTargetScreen = targetScreen;
-        requestLayout();
-    }
-
-    /**
-     * Return {@link #mTargetScreen} in local window coordinates, taking any
-     * decor insets into account.
-     */
-    private Rect getTargetInWindow() {
-        final Rect windowScreen = new Rect();
-        getWindowVisibleDisplayFrame(windowScreen);
-
-        final Rect target = new Rect(mTargetScreen);
-        target.offset(-windowScreen.left, -windowScreen.top);
-        return target;
-    }
-
-    @Override
-    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
-
-        final View child = mChild;
-        final Rect target = getTargetInWindow();
-
-        final int childWidth = child.getMeasuredWidth();
-        final int childHeight = child.getMeasuredHeight();
-
-        if (mFixedTopPosition != -1) {
-            // Horizontally centered, vertically fixed position
-            final int childLeft = (getWidth() - childWidth) / 2;
-            final int childTop = mFixedTopPosition;
-            layoutChild(child, childLeft, childTop);
-        } else {
-            // default is centered horizontally around target...
-            final int childLeft = target.centerX() - (childWidth / 2);
-            // ... and vertically aligned a bit below centered
-            final int childTop = target.centerY() - Math.round(childHeight * 0.35f);
-
-            // when child is outside bounds, nudge back inside
-            final int clampedChildLeft = clampDimension(childLeft, childWidth, getWidth());
-            final int clampedChildTop = clampDimension(childTop, childHeight, getHeight());
-
-            layoutChild(child, clampedChildLeft, clampedChildTop);
-        }
-    }
-
-    private static int clampDimension(int value, int size, int max) {
-        // when larger than bounds, just center
-        if (size > max) {
-            return (max - size) / 2;
-        }
-
-        // clamp to bounds
-        return Math.min(Math.max(value, 0), max - size);
-    }
-
-    private static void layoutChild(View child, int left, int top) {
-        child.layout(left, top, left + child.getMeasuredWidth(), top + child.getMeasuredHeight());
-    }
-
-    @NeededForReflection
-    public void setBackgroundColorAlpha(int alpha) {
-        setBackgroundColor(alpha << 24);
-    }
-
-    public void fadeInBackground() {
-        if (mBackgroundPhase == BackgroundPhase.BEFORE) {
-            mBackgroundPhase = BackgroundPhase.APPEARING_OR_VISIBLE;
-
-            createChildLayer();
-
-            SchedulingUtils.doAfterDraw(this, new Runnable() {
-                @Override
-                public void run() {
-                    mBackgroundAnimator.setDuration(mAnimationDuration).start();
-                }
-            });
-        }
-    }
-
-    public void fadeOutBackground() {
-        if (mBackgroundPhase == BackgroundPhase.APPEARING_OR_VISIBLE) {
-            mBackgroundPhase = BackgroundPhase.DISAPPEARING_OR_GONE;
-            if (mBackgroundAnimator.isRunning()) {
-                mBackgroundAnimator.reverse();
-            } else {
-                ObjectAnimator.ofInt(this, "backgroundColorAlpha", DIM_BACKGROUND_ALPHA, 0).
-                        setDuration(mAnimationDuration).start();
-            }
-        }
-    }
-
-    public boolean isContentFullyVisible() {
-        return mForegroundPhase == ForegroundPhase.IDLE;
-    }
-
-    /** Begin animating {@link #getChild()} visible. */
-    public void showContent(final Runnable onAnimationEndRunnable) {
-        if (mForegroundPhase == ForegroundPhase.BEFORE) {
-            mForegroundPhase = ForegroundPhase.APPEARING;
-            animateScale(false, onAnimationEndRunnable);
-        }
-    }
-
-    /**
-     * Begin animating {@link #getChild()} invisible. Returns false if animation is not valid in
-     * this state
-     */
-    public boolean hideContent(final Runnable onAnimationEndRunnable) {
-        if (mForegroundPhase == ForegroundPhase.APPEARING ||
-                mForegroundPhase == ForegroundPhase.IDLE) {
-            mForegroundPhase = ForegroundPhase.DISAPPEARING;
-
-            createChildLayer();
-
-            animateScale(true, onAnimationEndRunnable);
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-    private void createChildLayer() {
-        mChild.invalidate();
-        mChild.setLayerType(LAYER_TYPE_HARDWARE, null);
-        mChild.buildLayer();
-    }
-
-    /** Creates the open/close animation */
-    private void animateScale(
-            final boolean isExitAnimation,
-            final Runnable onAnimationEndRunnable) {
-        mChild.setPivotX(mTargetScreen.centerX() - mChild.getLeft());
-        mChild.setPivotY(mTargetScreen.centerY() - mChild.getTop());
-
-        final int scaleInterpolator = isExitAnimation
-                ? android.R.interpolator.accelerate_quint
-                : android.R.interpolator.decelerate_quint;
-        final float scaleTarget = isExitAnimation ? 0.5f : 1.0f;
-
-        mChild.animate()
-                .setDuration(mAnimationDuration)
-                .setInterpolator(AnimationUtils.loadInterpolator(getContext(), scaleInterpolator))
-                .scaleX(scaleTarget)
-                .scaleY(scaleTarget)
-                .alpha(isExitAnimation ? 0.0f : 1.0f)
-                .setListener(new AnimatorListenerAdapter() {
-                    @Override
-                    public void onAnimationEnd(Animator animation) {
-                        mChild.setLayerType(LAYER_TYPE_NONE, null);
-                        if (isExitAnimation) {
-                            if (mForegroundPhase == ForegroundPhase.DISAPPEARING) {
-                                mForegroundPhase = ForegroundPhase.AFTER;
-                                if (onAnimationEndRunnable != null) onAnimationEndRunnable.run();
-                            }
-                        } else {
-                            if (mForegroundPhase == ForegroundPhase.APPEARING) {
-                                mForegroundPhase = ForegroundPhase.IDLE;
-                                if (onAnimationEndRunnable != null) onAnimationEndRunnable.run();
-                            }
-                        }
-                    }
-                });
-    }
-
-    private View.OnTouchListener mOutsideTouchListener;
-
-    public void setOnOutsideTouchListener(View.OnTouchListener listener) {
-        mOutsideTouchListener = listener;
-    }
-
-    @Override
-    public boolean onTouchEvent(MotionEvent event) {
-        // at this point, touch wasn't handled by child view; assume outside
-        if (mOutsideTouchListener != null) {
-            return mOutsideTouchListener.onTouch(this, event);
-        }
-        return false;
-    }
-}
diff --git a/src/com/android/contacts/quickcontact/InvisibleContactUtil.java b/src/com/android/contacts/quickcontact/InvisibleContactUtil.java
new file mode 100644
index 0000000..3609fbc
--- /dev/null
+++ b/src/com/android/contacts/quickcontact/InvisibleContactUtil.java
@@ -0,0 +1,113 @@
+package com.android.contacts.quickcontact;
+
+
+import com.google.common.collect.Iterables;
+
+import com.android.contacts.ContactSaveService;
+import com.android.contacts.common.GroupMetaData;
+import com.android.contacts.common.model.AccountTypeManager;
+import com.android.contacts.common.model.Contact;
+import com.android.contacts.common.model.RawContact;
+import com.android.contacts.common.model.RawContactDelta;
+import com.android.contacts.common.model.RawContactDeltaList;
+import com.android.contacts.common.model.RawContactModifier;
+import com.android.contacts.common.model.ValuesDelta;
+import com.android.contacts.common.model.account.AccountType;
+import com.android.contacts.common.model.dataitem.DataItem;
+import com.android.contacts.common.model.dataitem.DataKind;
+import com.android.contacts.common.model.dataitem.GroupMembershipDataItem;
+
+import android.content.Context;
+import android.content.Intent;
+import android.provider.ContactsContract.CommonDataKinds.GroupMembership;
+
+import java.util.List;
+
+/**
+ * Utility class to support adding invisible contacts. Ie, contacts that don't belong to the
+ * default group.
+ */
+public class InvisibleContactUtil {
+
+    public static boolean isInvisibleAndAddable(Contact contactData, Context context) {
+        // Only local contacts
+        if (contactData == null || contactData.isDirectoryEntry()) return false;
+
+        // User profile cannot be added to contacts
+        if (contactData.isUserProfile()) return false;
+
+        // Only if exactly one raw contact
+        if (contactData.getRawContacts().size() != 1) return false;
+
+        // test if the default group is assigned
+        final List<GroupMetaData> groups = contactData.getGroupMetaData();
+
+        // For accounts without group support, groups is null
+        if (groups == null) return false;
+
+        // remember the default group id. no default group? bail out early
+        final long defaultGroupId = getDefaultGroupId(groups);
+        if (defaultGroupId == -1) return false;
+
+        final RawContact rawContact = (RawContact) contactData.getRawContacts().get(0);
+        final AccountType type = rawContact.getAccountType(context);
+        // Offline or non-writeable account? Nothing to fix
+        if (type == null || !type.areContactsWritable()) return false;
+
+        // Check whether the contact is in the default group
+        boolean isInDefaultGroup = false;
+        for (DataItem dataItem : Iterables.filter(
+                rawContact.getDataItems(), GroupMembershipDataItem.class)) {
+            GroupMembershipDataItem groupMembership = (GroupMembershipDataItem) dataItem;
+            final Long groupId = groupMembership.getGroupRowId();
+            if (groupId != null && groupId == defaultGroupId) {
+                isInDefaultGroup = true;
+                break;
+            }
+        }
+
+        return !isInDefaultGroup;
+    }
+
+    public static void addToDefaultGroup(Contact contactData, Context context) {
+        final long defaultGroupId = getDefaultGroupId(contactData.getGroupMetaData());
+        // there should always be a default group (otherwise the button would be invisible),
+        // but let's be safe here
+        if (defaultGroupId == -1) return;
+
+        // add the group membership to the current state
+        final RawContactDeltaList contactDeltaList = contactData.createRawContactDeltaList();
+        final RawContactDelta rawContactEntityDelta = contactDeltaList.get(0);
+
+        final AccountTypeManager accountTypes = AccountTypeManager.getInstance(
+                context);
+        final AccountType type = rawContactEntityDelta.getAccountType(accountTypes);
+        final DataKind groupMembershipKind = type.getKindForMimetype(
+                GroupMembership.CONTENT_ITEM_TYPE);
+        final ValuesDelta entry = RawContactModifier.insertChild(rawContactEntityDelta,
+                groupMembershipKind);
+        if (entry == null) return;
+        entry.setGroupRowId(defaultGroupId);
+
+        // and fire off the intent. we don't need a callback, as the database listener
+        // should update the ui
+        final Intent intent = ContactSaveService.createSaveContactIntent(
+                context,
+                contactDeltaList, "", 0, false, QuickContactActivity.class,
+                Intent.ACTION_VIEW, null);
+        context.startService(intent);
+    }
+
+    /** return default group id or -1 if no group or several groups are marked as default */
+    private static long getDefaultGroupId(List<GroupMetaData> groups) {
+        long defaultGroupId = -1;
+        for (GroupMetaData group : groups) {
+            if (group.isDefaultGroup()) {
+                // two default groups? return neither
+                if (defaultGroupId != -1) return -1;
+                defaultGroupId = group.getGroupId();
+            }
+        }
+        return defaultGroupId;
+    }
+}
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index e950fcb..357cae6 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -16,196 +16,677 @@
 
 package com.android.contacts.quickcontact;
 
+import android.animation.ArgbEvaluator;
+import android.animation.ObjectAnimator;
 import android.app.Activity;
 import android.app.Fragment;
-import android.app.FragmentManager;
 import android.app.LoaderManager.LoaderCallbacks;
+import android.app.SearchManager;
 import android.content.ActivityNotFoundException;
 import android.content.ContentUris;
-import android.content.Context;
+import android.content.ContentValues;
 import android.content.Intent;
 import android.content.Loader;
 import android.content.pm.PackageManager;
-import android.graphics.Rect;
+import android.content.pm.ResolveInfo;
+import android.graphics.Bitmap;
+import android.graphics.Color;
+import android.graphics.Point;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffColorFilter;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
+import android.net.ParseException;
 import android.net.Uri;
+import android.net.WebAddress;
+import android.os.AsyncTask;
 import android.os.Bundle;
-import android.os.Handler;
+import android.os.Trace;
+import android.provider.CalendarContract;
+import android.provider.ContactsContract;
 import android.provider.ContactsContract.CommonDataKinds.Email;
+import android.provider.ContactsContract.CommonDataKinds.Event;
+import android.provider.ContactsContract.CommonDataKinds.GroupMembership;
+import android.provider.ContactsContract.CommonDataKinds.Identity;
+import android.provider.ContactsContract.CommonDataKinds.Im;
+import android.provider.ContactsContract.CommonDataKinds.Nickname;
+import android.provider.ContactsContract.CommonDataKinds.Note;
+import android.provider.ContactsContract.CommonDataKinds.Organization;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.CommonDataKinds.Relation;
 import android.provider.ContactsContract.CommonDataKinds.SipAddress;
 import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
 import android.provider.ContactsContract.CommonDataKinds.Website;
 import android.provider.ContactsContract.Contacts;
+import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.DisplayNameSources;
-import android.provider.ContactsContract.Intents.Insert;
-import android.provider.ContactsContract.Directory;
+import android.provider.ContactsContract.DataUsageFeedback;
 import android.provider.ContactsContract.QuickContact;
 import android.provider.ContactsContract.RawContacts;
-import android.support.v13.app.FragmentPagerAdapter;
-import android.support.v4.view.PagerAdapter;
-import android.support.v4.view.ViewPager;
-import android.support.v4.view.ViewPager.SimpleOnPageChangeListener;
+import android.support.v7.graphics.Palette;
+import android.telecomm.TelecommManager;
 import android.text.TextUtils;
 import android.util.Log;
-import android.view.MotionEvent;
+import android.util.Pair;
+import android.view.ContextMenu;
+import android.view.ContextMenu.ContextMenuInfo;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
 import android.view.View;
 import android.view.View.OnClickListener;
-import android.view.ViewGroup;
+import android.view.View.OnCreateContextMenuListener;
 import android.view.WindowManager;
-import android.widget.HorizontalScrollView;
 import android.widget.ImageView;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
 import android.widget.Toast;
+import android.widget.Toolbar;
 
 import com.android.contacts.ContactSaveService;
-import com.android.contacts.common.Collapser;
+import com.android.contacts.ContactsActivity;
+import com.android.contacts.NfcHandler;
 import com.android.contacts.R;
+import com.android.contacts.common.CallUtil;
+import com.android.contacts.common.ClipboardUtils;
+import com.android.contacts.common.Collapser;
+import com.android.contacts.common.ContactsUtils;
+import com.android.contacts.common.editor.SelectAccountDialogFragment;
+import com.android.contacts.common.interactions.TouchPointManager;
+import com.android.contacts.common.lettertiles.LetterTileDrawable;
+import com.android.contacts.common.list.ShortcutIntentBuilder;
+import com.android.contacts.common.list.ShortcutIntentBuilder.OnShortcutIntentCreatedListener;
 import com.android.contacts.common.model.AccountTypeManager;
 import com.android.contacts.common.model.Contact;
 import com.android.contacts.common.model.ContactLoader;
 import com.android.contacts.common.model.RawContact;
 import com.android.contacts.common.model.account.AccountType;
+import com.android.contacts.common.model.account.AccountWithDataSet;
 import com.android.contacts.common.model.dataitem.DataItem;
 import com.android.contacts.common.model.dataitem.DataKind;
 import com.android.contacts.common.model.dataitem.EmailDataItem;
+import com.android.contacts.common.model.dataitem.EventDataItem;
 import com.android.contacts.common.model.dataitem.ImDataItem;
-import com.android.contacts.common.util.Constants;
-import com.android.contacts.common.util.DataStatus;
-import com.android.contacts.common.util.UriUtils;
+import com.android.contacts.common.model.dataitem.NicknameDataItem;
+import com.android.contacts.common.model.dataitem.NoteDataItem;
+import com.android.contacts.common.model.dataitem.OrganizationDataItem;
+import com.android.contacts.common.model.dataitem.PhoneDataItem;
+import com.android.contacts.common.model.dataitem.RelationDataItem;
+import com.android.contacts.common.model.dataitem.SipAddressDataItem;
+import com.android.contacts.common.model.dataitem.StructuredNameDataItem;
+import com.android.contacts.common.model.dataitem.StructuredPostalDataItem;
+import com.android.contacts.common.model.dataitem.WebsiteDataItem;
+import com.android.contacts.common.util.DateUtils;
+import com.android.contacts.common.util.MaterialColorMapUtils;
+import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette;
+import com.android.contacts.common.util.ViewUtil;
+import com.android.contacts.detail.ContactDisplayUtils;
+import com.android.contacts.interactions.CalendarInteractionsLoader;
+import com.android.contacts.interactions.CallLogInteractionsLoader;
+import com.android.contacts.interactions.ContactDeletionInteraction;
+import com.android.contacts.interactions.ContactInteraction;
+import com.android.contacts.interactions.SmsInteractionsLoader;
+import com.android.contacts.quickcontact.ExpandingEntryCardView.Entry;
+import com.android.contacts.quickcontact.ExpandingEntryCardView.EntryContextMenuInfo;
+import com.android.contacts.quickcontact.ExpandingEntryCardView.EntryTag;
+import com.android.contacts.quickcontact.ExpandingEntryCardView.ExpandingEntryCardViewListener;
 import com.android.contacts.util.ImageViewDrawableSetter;
+import com.android.contacts.util.PhoneCapabilityTester;
 import com.android.contacts.util.SchedulingUtils;
-import com.android.contacts.common.util.StopWatch;
+import com.android.contacts.util.StructuredPostalUtils;
+import com.android.contacts.widget.MultiShrinkScroller;
+import com.android.contacts.widget.MultiShrinkScroller.MultiShrinkScrollerListener;
+
 import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
-
-// TODO: Save selected tab index during rotation
+import java.util.Map;
 
 /**
  * Mostly translucent {@link Activity} that shows QuickContact dialog. It loads
  * data asynchronously, and then shows a popup with details centered around
  * {@link Intent#getSourceBounds()}.
  */
-public class QuickContactActivity extends Activity {
+public class QuickContactActivity extends ContactsActivity {
+
+    /**
+     * QuickContacts immediately takes up the full screen. All possible information is shown.
+     * This value for {@link android.provider.ContactsContract.QuickContact#EXTRA_MODE}
+     * should only be used by the Contacts app.
+     */
+    public static final int MODE_FULLY_EXPANDED = 4;
+
     private static final String TAG = "QuickContact";
 
-    private static final boolean TRACE_LAUNCH = false;
-    private static final String TRACE_TAG = "quickcontact";
-    private static final int POST_DRAW_WAIT_DURATION = 60;
-    private static final boolean ENABLE_STOPWATCH = false;
+    private static final String KEY_THEME_COLOR = "theme_color";
 
+    private static final int ANIMATION_STATUS_BAR_COLOR_CHANGE_DURATION = 150;
+    private static final int REQUEST_CODE_CONTACT_EDITOR_ACTIVITY = 1;
+    private static final int SCRIM_COLOR = Color.argb(0xB2, 0, 0, 0);
+    private static final String MIMETYPE_SMS = "vnd.android-dir/mms-sms";
+
+    /** This is the Intent action to install a shortcut in the launcher. */
+    private static final String ACTION_INSTALL_SHORTCUT =
+            "com.android.launcher.action.INSTALL_SHORTCUT";
 
     @SuppressWarnings("deprecation")
     private static final String LEGACY_AUTHORITY = android.provider.Contacts.AUTHORITY;
 
+    private static final String MIMETYPE_GPLUS_PROFILE =
+            "vnd.android.cursor.item/vnd.googleplus.profile";
+    private static final String INTENT_DATA_GPLUS_PROFILE_ADD_TO_CIRCLE = "Add to circle";
+    private static final String MIMETYPE_HANGOUTS =
+            "vnd.android.cursor.item/vnd.googleplus.profile.comm";
+    private static final String INTENT_DATA_HANGOUTS_VIDEO = "Start video call";
+
     private Uri mLookupUri;
     private String[] mExcludeMimes;
-    private List<String> mSortedActionMimeTypes = Lists.newArrayList();
-
-    private FloatingChildLayout mFloatingLayout;
-
-    private View mPhotoContainer;
-    private ViewGroup mTrack;
-    private HorizontalScrollView mTrackScroller;
-    private View mSelectedTabRectangle;
-    private View mLineAfterTrack;
+    private int mExtraMode;
+    private int mStatusBarColor;
+    private boolean mHasAlreadyBeenOpened;
 
     private ImageView mPhotoView;
-    private ImageView mOpenDetailsOrAddContactImage;
-    private ImageView mStarImage;
-    private ViewPager mListPager;
-    private ViewPagerAdapter mPagerAdapter;
+    private View mTransparentView;
+    private ExpandingEntryCardView mContactCard;
+    private ExpandingEntryCardView mNoContactDetailsCard;
+    private ExpandingEntryCardView mRecentCard;
+    private ExpandingEntryCardView mAboutCard;
+    /**
+     * This list contains all the {@link DataItem}s. Each nested list contains all data items of a
+     * specific mimetype in sorted order, using mWithinMimeTypeDataItemComparator. The mimetype
+     * lists are sorted using mAmongstMimeTypeDataItemComparator.
+     */
+    private List<List<DataItem>> mDataItemsList;
+    /**
+     * A map between a mimetype string and the corresponding list of data items. The data items
+     * are in sorted order using mWithinMimeTypeDataItemComparator.
+     */
+    private Map<String, List<DataItem>> mDataItemsMap;
+    private MultiShrinkScroller mScroller;
+    private SelectAccountDialogFragmentListener mSelectAccountFragmentListener;
+    private AsyncTask<Void, Void, Pair<List<List<DataItem>>, Map<String, List<DataItem>>>>
+            mEntriesAndActionsTask;
+    /**
+     *  This scrim's opacity is controlled in two different ways. 1) Before the initial entrance
+     *  animation finishes, the opacity is animated by a value animator. This is designed to
+     *  distract the user from the length of the initial loading time. 2) After the initial
+     *  entrance animation, the opacity is directly related to scroll position.
+     */
+    private ColorDrawable mWindowScrim;
+    private boolean mIsEntranceAnimationFinished;
+    private MaterialColorMapUtils mMaterialColorMapUtils;
+    private boolean mIsExitAnimationInProgress;
+    private boolean mHasComputedThemeColor;
 
     private Contact mContactData;
     private ContactLoader mContactLoader;
+    private PorterDuffColorFilter mColorFilter;
 
     private final ImageViewDrawableSetter mPhotoSetter = new ImageViewDrawableSetter();
 
     /**
-     * Keeps the default action per mimetype. Empty if no default actions are set
-     */
-    private HashMap<String, Action> mDefaultsMap = new HashMap<String, Action>();
-
-    /**
-     * Set of {@link Action} that are associated with the aggregate currently
-     * displayed by this dialog, represented as a map from {@link String}
-     * MIME-type to a list of {@link Action}.
-     */
-    private ActionMultiMap mActions = new ActionMultiMap();
-
-    /**
-     * {@link #LEADING_MIMETYPES} and {@link #TRAILING_MIMETYPES} are used to sort MIME-types.
+     * {@link #LEADING_MIMETYPES} is used to sort MIME-types.
      *
      * <p>The MIME-types in {@link #LEADING_MIMETYPES} appear in the front of the dialog,
      * in the order specified here.</p>
-     *
-     * <p>The ones in {@link #TRAILING_MIMETYPES} appear in the end of the dialog, in the order
-     * specified here.</p>
-     *
-     * <p>The rest go between them, in the order in the array.</p>
      */
     private static final List<String> LEADING_MIMETYPES = Lists.newArrayList(
-            Phone.CONTENT_ITEM_TYPE, SipAddress.CONTENT_ITEM_TYPE, Email.CONTENT_ITEM_TYPE);
+            Phone.CONTENT_ITEM_TYPE, SipAddress.CONTENT_ITEM_TYPE, Email.CONTENT_ITEM_TYPE,
+            StructuredPostal.CONTENT_ITEM_TYPE);
 
-    /** See {@link #LEADING_MIMETYPES}. */
-    private static final List<String> TRAILING_MIMETYPES = Lists.newArrayList(
-            StructuredPostal.CONTENT_ITEM_TYPE, Website.CONTENT_ITEM_TYPE);
+    private static final List<String> SORTED_ABOUT_CARD_MIMETYPES = Lists.newArrayList(
+            Nickname.CONTENT_ITEM_TYPE,
+            // Phonetic name is inserted after nickname if it is available.
+            // No mimetype for phonetic name exists.
+            Website.CONTENT_ITEM_TYPE,
+            Organization.CONTENT_ITEM_TYPE,
+            Event.CONTENT_ITEM_TYPE,
+            Relation.CONTENT_ITEM_TYPE,
+            Im.CONTENT_ITEM_TYPE,
+            GroupMembership.CONTENT_ITEM_TYPE,
+            Identity.CONTENT_ITEM_TYPE,
+            Note.CONTENT_ITEM_TYPE);
 
-    /** Id for the background loader */
-    private static final int LOADER_ID = 0;
+    /** Id for the background contact loader */
+    private static final int LOADER_CONTACT_ID = 0;
 
-    private StopWatch mStopWatch = ENABLE_STOPWATCH
-            ? StopWatch.start("QuickContact") : StopWatch.getNullStopWatch();
+    private static final String KEY_LOADER_EXTRA_PHONES =
+            QuickContactActivity.class.getCanonicalName() + ".KEY_LOADER_EXTRA_PHONES";
 
-    final OnClickListener mOpenDetailsClickHandler = new OnClickListener() {
+    /** Id for the background Sms Loader */
+    private static final int LOADER_SMS_ID = 1;
+    private static final int MAX_SMS_RETRIEVE = 3;
+
+    /** Id for the back Calendar Loader */
+    private static final int LOADER_CALENDAR_ID = 2;
+    private static final String KEY_LOADER_EXTRA_EMAILS =
+            QuickContactActivity.class.getCanonicalName() + ".KEY_LOADER_EXTRA_EMAILS";
+    private static final int MAX_PAST_CALENDAR_RETRIEVE = 3;
+    private static final int MAX_FUTURE_CALENDAR_RETRIEVE = 3;
+    private static final long PAST_MILLISECOND_TO_SEARCH_LOCAL_CALENDAR =
+            180L * 24L * 60L * 60L * 1000L /* 180 days */;
+    private static final long FUTURE_MILLISECOND_TO_SEARCH_LOCAL_CALENDAR =
+            36L * 60L * 60L * 1000L /* 36 hours */;
+
+    /** Id for the background Call Log Loader */
+    private static final int LOADER_CALL_LOG_ID = 3;
+    private static final int MAX_CALL_LOG_RETRIEVE = 3;
+    private static final int MIN_NUM_CONTACT_ENTRIES_SHOWN = 3;
+    private static final int MIN_NUM_COLLAPSED_RECENT_ENTRIES_SHOWN = 3;
+    private static final int CARD_ENTRY_ID_EDIT_CONTACT = -2;
+
+
+    private static final int[] mRecentLoaderIds = new int[]{
+        LOADER_SMS_ID,
+        LOADER_CALENDAR_ID,
+        LOADER_CALL_LOG_ID};
+    private Map<Integer, List<ContactInteraction>> mRecentLoaderResults = new HashMap<>();
+
+    private static final String FRAGMENT_TAG_SELECT_ACCOUNT = "select_account_fragment";
+
+    final OnClickListener mEntryClickHandler = new OnClickListener() {
         @Override
         public void onClick(View v) {
-            final Intent intent = new Intent(Intent.ACTION_VIEW, mLookupUri);
-            mContactLoader.cacheResult();
-            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
+            final Object entryTagObject = v.getTag();
+            if (entryTagObject == null || !(entryTagObject instanceof EntryTag)) {
+                Log.w(TAG, "EntryTag was not used correctly");
+                return;
+            }
+            final EntryTag entryTag = (EntryTag) entryTagObject;
+            final Intent intent = entryTag.getIntent();
+            final int dataId = entryTag.getId();
+
+            if (dataId == CARD_ENTRY_ID_EDIT_CONTACT) {
+                editContact();
+                return;
+            }
+
+            // Default to USAGE_TYPE_CALL. Usage is summed among all types for sorting each data id
+            // so the exact usage type is not necessary in all cases
+            String usageType = DataUsageFeedback.USAGE_TYPE_CALL;
+
+            final Uri intentUri = intent.getData();
+            if ((intentUri != null && intentUri.getScheme() != null &&
+                    intentUri.getScheme().equals(CallUtil.SCHEME_SMSTO)) ||
+                    (intent.getType() != null && intent.getType().equals(MIMETYPE_SMS))) {
+                usageType = DataUsageFeedback.USAGE_TYPE_SHORT_TEXT;
+            }
+
+            // Data IDs start at 1 so anything less is invalid
+            if (dataId > 0) {
+                final Uri dataUsageUri = DataUsageFeedback.FEEDBACK_URI.buildUpon()
+                        .appendPath(String.valueOf(dataId))
+                        .appendQueryParameter(DataUsageFeedback.USAGE_TYPE, usageType)
+                        .build();
+                final boolean successful = getContentResolver().update(
+                        dataUsageUri, new ContentValues(), null, null) > 0;
+                if (!successful) {
+                    Log.w(TAG, "DataUsageFeedback increment failed");
+                }
+            } else {
+                Log.w(TAG, "Invalid Data ID");
+            }
+
+            // Pass the touch point through the intent for use in the InCallUI
+            if (Intent.ACTION_CALL.equals(intent.getAction())) {
+                final Point touchPoint = TouchPointManager.getInstance().getPoint();
+
+                if (touchPoint.x != 0 || touchPoint.y != 0) {
+                    Bundle extras = new Bundle();
+                    extras.putParcelable(TouchPointManager.TOUCH_POINT, touchPoint);
+                    intent.putExtra(TelecommManager.EXTRA_OUTGOING_CALL_EXTRAS, extras);
+                }
+            }
+
             startActivity(intent);
-            close(false);
         }
     };
 
-    final OnClickListener mAddToContactsClickHandler = new OnClickListener() {
+    final ExpandingEntryCardViewListener mExpandingEntryCardViewListener
+            = new ExpandingEntryCardViewListener() {
         @Override
-        public void onClick(View v) {
-            if (mContactData == null) {
-                Log.e(TAG, "Empty contact data when trying to add to contact");
+        public void onCollapse(int heightDelta) {
+            mScroller.prepareForShrinkingScrollChild(heightDelta);
+        }
+
+        @Override
+        public void onExpand(int heightDelta) {
+            mScroller.prepareForExpandingScrollChild();
+        }
+    };
+
+    private final OnCreateContextMenuListener mEntryContextMenuListener =
+            new OnCreateContextMenuListener() {
+        @Override
+        public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
+            if (menuInfo == null) {
                 return;
             }
-            final Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);
-            intent.setType(Contacts.CONTENT_ITEM_TYPE);
-
-            // Only pre-fill the name field if the provided display name is an organization
-            // name or better (e.g. structured name, nickname)
-            if (mContactData.getDisplayNameSource() >= DisplayNameSources.ORGANIZATION) {
-                intent.putExtra(Insert.NAME, mContactData.getDisplayName());
-            }
-            intent.putExtra(Insert.DATA, mContactData.getContentValues());
-            startActivity(intent);
+            EntryContextMenuInfo info = (EntryContextMenuInfo) menuInfo;
+            menu.setHeaderTitle(info.getCopyText());
+            menu.add(R.string.copy_text);
         }
     };
 
     @Override
-    protected void onCreate(Bundle icicle) {
-        mStopWatch.lap("c"); // create start
-        super.onCreate(icicle);
+    public boolean onContextItemSelected(MenuItem item) {
+        EntryContextMenuInfo menuInfo;
+        try {
+            menuInfo = (EntryContextMenuInfo) item.getMenuInfo();
+        } catch (ClassCastException e) {
+            Log.e(TAG, "bad menuInfo", e);
+            return false;
+        }
 
-        mStopWatch.lap("sc"); // super.onCreate
+        ClipboardUtils.copyText(this, menuInfo.getCopyLabel(), menuInfo.getCopyText(), true);
+        return true;
+    }
 
-        if (TRACE_LAUNCH) android.os.Debug.startMethodTracing(TRACE_TAG);
+    /**
+     * Headless fragment used to handle account selection callbacks invoked from
+     * {@link DirectoryContactUtil}.
+     */
+    public static class SelectAccountDialogFragmentListener extends Fragment
+            implements SelectAccountDialogFragment.Listener {
 
-        // Parse intent
-        final Intent intent = getIntent();
+        private QuickContactActivity mQuickContactActivity;
 
+        public SelectAccountDialogFragmentListener() {}
+
+        @Override
+        public void onAccountChosen(AccountWithDataSet account, Bundle extraArgs) {
+            DirectoryContactUtil.createCopy(mQuickContactActivity.mContactData.getContentValues(),
+                    account, mQuickContactActivity);
+        }
+
+        @Override
+        public void onAccountSelectorCancelled() {}
+
+        /**
+         * Set the parent activity. Since rotation can cause this fragment to be used across
+         * more than one activity instance, we need to explicitly set this value instead
+         * of making this class non-static.
+         */
+        public void setQuickContactActivity(QuickContactActivity quickContactActivity) {
+            mQuickContactActivity = quickContactActivity;
+        }
+    }
+
+    final MultiShrinkScrollerListener mMultiShrinkScrollerListener
+            = new MultiShrinkScrollerListener() {
+        @Override
+        public void onScrolledOffBottom() {
+            finish();
+        }
+
+        @Override
+        public void onEnterFullscreen() {
+            updateStatusBarColor();
+        }
+
+        @Override
+        public void onExitFullscreen() {
+            updateStatusBarColor();
+        }
+
+        @Override
+        public void onStartScrollOffBottom() {
+            mIsExitAnimationInProgress = true;
+        }
+
+        @Override
+        public void onEntranceAnimationDone() {
+            mIsEntranceAnimationFinished = true;
+        }
+
+        @Override
+        public void onTransparentViewHeightChange(float ratio) {
+            if (mIsEntranceAnimationFinished) {
+                mWindowScrim.setAlpha((int) (0xFF * ratio));
+            }
+        }
+    };
+
+
+    /**
+     * Data items are compared to the same mimetype based off of three qualities:
+     * 1. Super primary
+     * 2. Primary
+     * 3. Times used
+     */
+    private final Comparator<DataItem> mWithinMimeTypeDataItemComparator =
+            new Comparator<DataItem>() {
+        @Override
+        public int compare(DataItem lhs, DataItem rhs) {
+            if (!lhs.getMimeType().equals(rhs.getMimeType())) {
+                Log.wtf(TAG, "Comparing DataItems with different mimetypes lhs.getMimeType(): " +
+                        lhs.getMimeType() + " rhs.getMimeType(): " + rhs.getMimeType());
+                return 0;
+            }
+
+            if (lhs.isSuperPrimary()) {
+                return -1;
+            } else if (rhs.isSuperPrimary()) {
+                return 1;
+            } else if (lhs.isPrimary() && !rhs.isPrimary()) {
+                return -1;
+            } else if (!lhs.isPrimary() && rhs.isPrimary()) {
+                return 1;
+            } else {
+                final int lhsTimesUsed =
+                        lhs.getTimesUsed() == null ? 0 : lhs.getTimesUsed();
+                final int rhsTimesUsed =
+                        rhs.getTimesUsed() == null ? 0 : rhs.getTimesUsed();
+
+                return rhsTimesUsed - lhsTimesUsed;
+            }
+        }
+    };
+
+    /**
+     * Sorts among different mimetypes based off:
+     * 1. Times used
+     * 2. Last time used
+     * 3. Statically defined
+     */
+    private final Comparator<List<DataItem>> mAmongstMimeTypeDataItemComparator =
+            new Comparator<List<DataItem>> () {
+        @Override
+        public int compare(List<DataItem> lhsList, List<DataItem> rhsList) {
+            DataItem lhs = lhsList.get(0);
+            DataItem rhs = rhsList.get(0);
+            final int lhsTimesUsed = lhs.getTimesUsed() == null ? 0 : lhs.getTimesUsed();
+            final int rhsTimesUsed = rhs.getTimesUsed() == null ? 0 : rhs.getTimesUsed();
+            final int timesUsedDifference = rhsTimesUsed - lhsTimesUsed;
+            if (timesUsedDifference != 0) {
+                return timesUsedDifference;
+            }
+
+            final long lhsLastTimeUsed =
+                    lhs.getLastTimeUsed() == null ? 0 : lhs.getLastTimeUsed();
+            final long rhsLastTimeUsed =
+                    rhs.getLastTimeUsed() == null ? 0 : rhs.getLastTimeUsed();
+            final long lastTimeUsedDifference = rhsLastTimeUsed - lhsLastTimeUsed;
+            if (lastTimeUsedDifference > 0) {
+                return 1;
+            } else if (lastTimeUsedDifference < 0) {
+                return -1;
+            }
+
+            // Times used and last time used are the same. Resort to statically defined.
+            final String lhsMimeType = lhs.getMimeType();
+            final String rhsMimeType = rhs.getMimeType();
+            for (String mimeType : LEADING_MIMETYPES) {
+                if (lhsMimeType.equals(mimeType)) {
+                    return -1;
+                } else if (rhsMimeType.equals(mimeType)) {
+                    return 1;
+                }
+            }
+            return 0;
+        }
+    };
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        Trace.beginSection("onCreate()");
+        super.onCreate(savedInstanceState);
+
+        getWindow().setStatusBarColor(Color.TRANSPARENT);
+
+        processIntent(getIntent());
+
+        // Show QuickContact in front of soft input
+        getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
+                WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
+
+        setContentView(R.layout.quickcontact_activity);
+
+        mMaterialColorMapUtils = new MaterialColorMapUtils(getResources());
+
+        mScroller = (MultiShrinkScroller) findViewById(R.id.multiscroller);
+
+        mContactCard = (ExpandingEntryCardView) findViewById(R.id.communication_card);
+        mNoContactDetailsCard = (ExpandingEntryCardView) findViewById(R.id.no_contact_data_card);
+        mRecentCard = (ExpandingEntryCardView) findViewById(R.id.recent_card);
+        mAboutCard = (ExpandingEntryCardView) findViewById(R.id.about_card);
+
+        mNoContactDetailsCard.setOnClickListener(mEntryClickHandler);
+        mContactCard.setOnClickListener(mEntryClickHandler);
+        mContactCard.setExpandButtonText(
+        getResources().getString(R.string.expanding_entry_card_view_see_all));
+        mContactCard.setOnCreateContextMenuListener(mEntryContextMenuListener);
+
+        mRecentCard.setOnClickListener(mEntryClickHandler);
+        mRecentCard.setTitle(getResources().getString(R.string.recent_card_title));
+
+        mAboutCard.setOnClickListener(mEntryClickHandler);
+        mAboutCard.setOnCreateContextMenuListener(mEntryContextMenuListener);
+
+        mPhotoView = (ImageView) findViewById(R.id.photo);
+        mTransparentView = findViewById(R.id.transparent_view);
+        if (mScroller != null) {
+            mTransparentView.setOnClickListener(new OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    mScroller.scrollOffBottom();
+                }
+            });
+        }
+
+        // Allow a shadow to be shown under the toolbar.
+        ViewUtil.addRectangularOutlineProvider(findViewById(R.id.toolbar_parent), getResources());
+
+        final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+        setActionBar(toolbar);
+        getActionBar().setTitle(null);
+        // Put a TextView with a known resource id into the ActionBar. This allows us to easily
+        // find the correct TextView location & size later.
+        toolbar.addView(getLayoutInflater().inflate(R.layout.quickcontact_title_placeholder, null));
+
+        mHasAlreadyBeenOpened = savedInstanceState != null;
+        mIsEntranceAnimationFinished = mHasAlreadyBeenOpened;
+        mWindowScrim = new ColorDrawable(SCRIM_COLOR);
+        mWindowScrim.setAlpha(0);
+        getWindow().setBackgroundDrawable(mWindowScrim);
+
+        mScroller.initialize(mMultiShrinkScrollerListener, mExtraMode == MODE_FULLY_EXPANDED);
+        // mScroller needs to perform asynchronous measurements after initalize(), therefore
+        // we can't mark this as GONE.
+        mScroller.setVisibility(View.INVISIBLE);
+
+        setHeaderNameText(R.string.missing_name);
+
+        mSelectAccountFragmentListener= (SelectAccountDialogFragmentListener) getFragmentManager()
+                .findFragmentByTag(FRAGMENT_TAG_SELECT_ACCOUNT);
+        if (mSelectAccountFragmentListener == null) {
+            mSelectAccountFragmentListener = new SelectAccountDialogFragmentListener();
+            getFragmentManager().beginTransaction().add(0, mSelectAccountFragmentListener,
+                    FRAGMENT_TAG_SELECT_ACCOUNT).commit();
+            mSelectAccountFragmentListener.setRetainInstance(true);
+        }
+        mSelectAccountFragmentListener.setQuickContactActivity(this);
+
+        SchedulingUtils.doOnPreDraw(mScroller, /* drawNextFrame = */ true,
+                new Runnable() {
+                    @Override
+                    public void run() {
+                        if (!mHasAlreadyBeenOpened) {
+                            // The initial scrim opacity must match the scrim opacity that would be
+                            // achieved by scrolling to the starting position.
+                            final float alphaRatio = mExtraMode == MODE_FULLY_EXPANDED ?
+                                    1 : mScroller.getStartingTransparentHeightRatio();
+                            final int duration = getResources().getInteger(
+                                    android.R.integer.config_shortAnimTime);
+                            final int desiredAlpha = (int) (0xFF * alphaRatio);
+                            ObjectAnimator o = ObjectAnimator.ofInt(mWindowScrim, "alpha", 0,
+                                    desiredAlpha).setDuration(duration);
+
+                            o.start();
+                        }
+                    }
+                });
+
+        if (savedInstanceState != null) {
+            final int color = savedInstanceState.getInt(KEY_THEME_COLOR, 0);
+            SchedulingUtils.doOnPreDraw(mScroller, /* drawNextFrame = */ false,
+                    new Runnable() {
+                        @Override
+                        public void run() {
+                            // Need to wait for the pre draw before setting the initial scroll
+                            // value. Prior to pre draw all scroll values are invalid.
+                            if (mHasAlreadyBeenOpened) {
+                                mScroller.setVisibility(View.VISIBLE);
+                                mScroller.setScroll(mScroller.getScrollNeededToBeFullScreen());
+                            }
+                            // Need to wait for pre draw for setting the theme color. Setting the
+                            // header tint before the MultiShrinkScroller has been measured will
+                            // cause incorrect tinting calculations.
+                            if (color != 0) {
+                                setThemeColor(mMaterialColorMapUtils
+                                        .calculatePrimaryAndSecondaryColor(color));
+                            }
+                        }
+                    });
+        }
+
+        Trace.endSection();
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == REQUEST_CODE_CONTACT_EDITOR_ACTIVITY &&
+                resultCode == ContactDeletionInteraction.RESULT_CODE_DELETED) {
+            // The contact that we were showing has been deleted.
+            finish();
+        }
+    }
+
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+        mHasAlreadyBeenOpened = true;
+        mIsEntranceAnimationFinished = true;
+        mHasComputedThemeColor = false;
+        processIntent(intent);
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle savedInstanceState) {
+        super.onSaveInstanceState(savedInstanceState);
+        if (mColorFilter != null) {
+            savedInstanceState.putInt(KEY_THEME_COLOR, mColorFilter.getColor());
+        }
+    }
+
+    private void processIntent(Intent intent) {
         Uri lookupUri = intent.getData();
 
         // Check to see whether it comes from the old version.
@@ -214,137 +695,48 @@
             lookupUri = RawContacts.getContactLookupUri(getContentResolver(),
                     ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId));
         }
+        mExtraMode = getIntent().getIntExtra(QuickContact.EXTRA_MODE,
+                QuickContact.MODE_LARGE);
+        final Uri oldLookupUri = mLookupUri;
 
         mLookupUri = Preconditions.checkNotNull(lookupUri, "missing lookupUri");
-
         mExcludeMimes = intent.getStringArrayExtra(QuickContact.EXTRA_EXCLUDE_MIMES);
-
-        mStopWatch.lap("i"); // intent parsed
-
-        mContactLoader = (ContactLoader) getLoaderManager().initLoader(
-                LOADER_ID, null, mLoaderCallbacks);
-
-        mStopWatch.lap("ld"); // loader started
-
-        // Show QuickContact in front of soft input
-        getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
-                WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
-
-        setContentView(R.layout.quickcontact_activity);
-
-        mStopWatch.lap("l"); // layout inflated
-
-        mFloatingLayout = (FloatingChildLayout) findViewById(R.id.floating_layout);
-        mTrack = (ViewGroup) findViewById(R.id.track);
-        mTrackScroller = (HorizontalScrollView) findViewById(R.id.track_scroller);
-        mOpenDetailsOrAddContactImage = (ImageView) findViewById(R.id.contact_details_image);
-        mStarImage = (ImageView) findViewById(R.id.quickcontact_star_button);
-        mListPager = (ViewPager) findViewById(R.id.item_list_pager);
-        mSelectedTabRectangle = findViewById(R.id.selected_tab_rectangle);
-        mLineAfterTrack = findViewById(R.id.line_after_track);
-
-        mFloatingLayout.setOnOutsideTouchListener(new View.OnTouchListener() {
-            @Override
-            public boolean onTouch(View v, MotionEvent event) {
-                handleOutsideTouch();
-                return true;
+        if (oldLookupUri == null) {
+            mContactLoader = (ContactLoader) getLoaderManager().initLoader(
+                    LOADER_CONTACT_ID, null, mLoaderContactCallbacks);
+        } else if (oldLookupUri != mLookupUri) {
+            // After copying a directory contact, the contact URI changes. Therefore,
+            // we need to restart the loader and reload the new contact.
+            for (int interactionLoaderId : mRecentLoaderIds) {
+                getLoaderManager().destroyLoader(interactionLoaderId);
             }
-        });
-
-        mOpenDetailsOrAddContactImage.setOnClickListener(mOpenDetailsClickHandler);
-
-        mPagerAdapter = new ViewPagerAdapter(getFragmentManager());
-        mListPager.setAdapter(mPagerAdapter);
-        mListPager.setOnPageChangeListener(new PageChangeListener());
-
-        final Rect sourceBounds = intent.getSourceBounds();
-        if (sourceBounds != null) {
-            mFloatingLayout.setChildTargetScreen(sourceBounds);
+            mContactLoader = (ContactLoader) getLoaderManager().restartLoader(
+                    LOADER_CONTACT_ID, null, mLoaderContactCallbacks);
         }
 
-        // find and prepare correct header view
-        mPhotoContainer = findViewById(R.id.photo_container);
-
-        setHeaderNameText(R.id.name, R.string.missing_name);
-
-        mPhotoView = (ImageView) mPhotoContainer.findViewById(R.id.photo);
-        mPhotoView.setOnClickListener(mOpenDetailsClickHandler);
-
-        mStopWatch.lap("v"); // view initialized
-
-        SchedulingUtils.doAfterLayout(mFloatingLayout, new Runnable() {
-            @Override
-            public void run() {
-                mFloatingLayout.fadeInBackground();
-            }
-        });
-
-        mStopWatch.lap("cf"); // onCreate finished
+        NfcHandler.register(this, mLookupUri);
     }
 
-    private void handleOutsideTouch() {
-        if (mFloatingLayout.isContentFullyVisible()) {
-            close(true);
+    private void runEntranceAnimation() {
+        if (mHasAlreadyBeenOpened) {
+            return;
         }
-    }
-
-    private void close(boolean withAnimation) {
-        // cancel any pending queries
-        getLoaderManager().destroyLoader(LOADER_ID);
-
-        if (withAnimation) {
-            mFloatingLayout.fadeOutBackground();
-            final boolean animated = mFloatingLayout.hideContent(new Runnable() {
-                @Override
-                public void run() {
-                    // Wait until the final animation frame has been drawn, otherwise
-                    // there is jank as the framework transitions to the next Activity.
-                    SchedulingUtils.doAfterDraw(mFloatingLayout, new Runnable() {
-                        @Override
-                        public void run() {
-                            // Unfortunately, we need to also use postDelayed() to wait a moment
-                            // for the frame to be drawn, else the framework's activity-transition
-                            // animation will kick in before the final frame is available to it.
-                            // This seems unavoidable.  The problem isn't merely that there is no
-                            // post-draw listener API; if that were so, it would be sufficient to
-                            // call post() instead of postDelayed().
-                            new Handler().postDelayed(new Runnable() {
-                                @Override
-                                public void run() {
-                                    finish();
-                                    overridePendingTransition(0, 0);
-                                }
-                            }, POST_DRAW_WAIT_DURATION);
-                        }
-                    });
-                }
-            });
-            if (!animated) {
-                // If we were in the wrong state, simply quit (this can happen for example
-                // if the user pushes BACK before anything has loaded)
-                finish();
-            }
-        } else {
-            finish();
-        }
-    }
-
-    @Override
-    public void onBackPressed() {
-        close(true);
+        mHasAlreadyBeenOpened = true;
+        mScroller.scrollUpForEntranceAnimation(mExtraMode != MODE_FULLY_EXPANDED);
     }
 
     /** Assign this string to the view if it is not empty. */
-    private void setHeaderNameText(int id, int resId) {
-        setHeaderNameText(id, getText(resId));
+    private void setHeaderNameText(int resId) {
+        if (mScroller != null) {
+            mScroller.setTitle(getText(resId) == null ? null : getText(resId).toString());
+        }
     }
 
     /** Assign this string to the view if it is not empty. */
-    private void setHeaderNameText(int id, CharSequence value) {
-        final View view = mPhotoContainer.findViewById(id);
-        if (view instanceof TextView) {
-            if (!TextUtils.isEmpty(value)) {
-                ((TextView)view).setText(value);
+    private void setHeaderNameText(String value) {
+        if (!TextUtils.isEmpty(value)) {
+            if (mScroller != null) {
+                mScroller.setTitle(value);
             }
         }
     }
@@ -366,249 +758,776 @@
     /**
      * Handle the result from the ContactLoader
      */
-    private void bindData(Contact data) {
+    private void bindContactData(final Contact data) {
+        Trace.beginSection("bindContactData");
         mContactData = data;
-        final ResolveCache cache = ResolveCache.getInstance(this);
-        final Context context = this;
+        invalidateOptionsMenu();
 
-        mOpenDetailsOrAddContactImage.setVisibility(isMimeExcluded(Contacts.CONTENT_ITEM_TYPE) ?
-                View.GONE : View.VISIBLE);
-        final boolean isStarred = data.getStarred();
-        if (isStarred) {
-            mStarImage.setImageResource(R.drawable.ic_favorite_on_lt);
-            mStarImage.setContentDescription(
-                getResources().getString(R.string.menu_removeStar));
-        } else {
-            mStarImage.setImageResource(R.drawable.ic_favorite_off_lt);
-            mStarImage.setContentDescription(
-                getResources().getString(R.string.menu_addStar));
-        }
-        final Uri lookupUri = data.getLookupUri();
-
-        // If this is a json encoded URI, there is no local contact to star
-        if (UriUtils.isEncodedContactUri(lookupUri)) {
-            mStarImage.setVisibility(View.GONE);
-
-            // If directory export support is not allowed, then don't allow the user to add
-            // to contacts
-            if (mContactData.getDirectoryExportSupport() == Directory.EXPORT_SUPPORT_NONE) {
-                configureHeaderClickActions(false);
-            } else {
-                configureHeaderClickActions(true);
-            }
-        } else {
-            configureHeaderClickActions(false);
-            mStarImage.setVisibility(View.VISIBLE);
-            mStarImage.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    // Toggle "starred" state
-                    // Make sure there is a contact
-                    if (lookupUri != null) {
-                        // Changes the state of the image already before sending updates to the
-                        // database
-                        if (isStarred) {
-                            mStarImage.setImageResource(R.drawable.ic_favorite_off_lt);
-                        } else {
-                            mStarImage.setImageResource(R.drawable.ic_favorite_on_lt);
-                        }
-
-                        // Now perform the real save
-                        final Intent intent = ContactSaveService.createSetStarredIntent(context,
-                                lookupUri, !isStarred);
-                        context.startService(intent);
-                    }
-                }
-            });
-        }
-
-        mDefaultsMap.clear();
-
-        mStopWatch.lap("sph"); // Start photo setting
+        Trace.endSection();
+        Trace.beginSection("Set display photo & name");
 
         mPhotoSetter.setupContactPhoto(data, mPhotoView);
+        extractAndApplyTintFromPhotoViewAsynchronously();
+        analyzeWhitenessOfPhotoAsynchronously();
+        setHeaderNameText(ContactDisplayUtils.getDisplayName(this, data).toString());
 
-        mStopWatch.lap("ph"); // Photo set
+        Trace.endSection();
 
+        mEntriesAndActionsTask = new AsyncTask<Void, Void,
+                Pair<List<List<DataItem>>, Map<String, List<DataItem>>>>() {
+
+            @Override
+            protected Pair<List<List<DataItem>>, Map<String, List<DataItem>>> doInBackground(
+                    Void... params) {
+                return generateDataModelFromContact(data);
+            }
+
+            @Override
+            protected void onPostExecute(Pair<List<List<DataItem>>,
+                    Map<String, List<DataItem>>> dataItemsPair) {
+                super.onPostExecute(dataItemsPair);
+                mDataItemsList = dataItemsPair.first;
+                mDataItemsMap = dataItemsPair.second;
+                // Check that original AsyncTask parameters are still valid and the activity
+                // is still running before binding to UI. A new intent could invalidate
+                // the results, for example.
+                if (data == mContactData && !isCancelled()) {
+                    bindDataToCards();
+                    showActivity();
+                }
+            }
+        };
+        mEntriesAndActionsTask.execute();
+    }
+
+    private void bindDataToCards() {
+        startInteractionLoaders();
+        populateContactAndAboutCard();
+    }
+
+    private void startInteractionLoaders() {
+        final List<DataItem> phoneDataItems = mDataItemsMap.get(Phone.CONTENT_ITEM_TYPE);
+        String[] phoneNumbers = null;
+        if (phoneDataItems != null) {
+            phoneNumbers = new String[phoneDataItems.size()];
+            for (int i = 0; i < phoneDataItems.size(); ++i) {
+                phoneNumbers[i] = ((PhoneDataItem) phoneDataItems.get(i)).getNumber();
+            }
+        }
+        final Bundle phonesExtraBundle = new Bundle();
+        phonesExtraBundle.putStringArray(KEY_LOADER_EXTRA_PHONES, phoneNumbers);
+
+        Trace.beginSection("start sms loader");
+        getLoaderManager().initLoader(
+                LOADER_SMS_ID,
+                phonesExtraBundle,
+                mLoaderInteractionsCallbacks);
+        Trace.endSection();
+
+        Trace.beginSection("start call log loader");
+        getLoaderManager().initLoader(
+                LOADER_CALL_LOG_ID,
+                phonesExtraBundle,
+                mLoaderInteractionsCallbacks);
+        Trace.endSection();
+
+
+        Trace.beginSection("start calendar loader");
+        final List<DataItem> emailDataItems = mDataItemsMap.get(Email.CONTENT_ITEM_TYPE);
+        String[] emailAddresses = null;
+        if (emailDataItems != null) {
+            emailAddresses = new String[emailDataItems.size()];
+            for (int i = 0; i < emailDataItems.size(); ++i) {
+                emailAddresses[i] = ((EmailDataItem) emailDataItems.get(i)).getAddress();
+            }
+        }
+        final Bundle emailsExtraBundle = new Bundle();
+        emailsExtraBundle.putStringArray(KEY_LOADER_EXTRA_EMAILS, emailAddresses);
+        getLoaderManager().initLoader(
+                LOADER_CALENDAR_ID,
+                emailsExtraBundle,
+                mLoaderInteractionsCallbacks);
+        Trace.endSection();
+    }
+
+    private void showActivity() {
+        if (mScroller != null) {
+            mScroller.setVisibility(View.VISIBLE);
+            SchedulingUtils.doOnPreDraw(mScroller, /* drawNextFrame = */ false,
+                    new Runnable() {
+                        @Override
+                        public void run() {
+                            runEntranceAnimation();
+                        }
+                    });
+        }
+    }
+
+    private List<List<Entry>> buildAboutCardEntries() {
+        final List<List<Entry>> aboutCardEntries = new ArrayList<>();
+        for (String mimetype : SORTED_ABOUT_CARD_MIMETYPES) {
+            final List<DataItem> mimeTypeItems = mDataItemsMap.get(mimetype);
+            if (mimeTypeItems == null) {
+                continue;
+            }
+            final List<Entry> aboutEntries = dataItemsToEntries(mimeTypeItems);
+            if (aboutEntries.size() > 0) {
+                aboutCardEntries.add(aboutEntries);
+            }
+        }
+        return aboutCardEntries;
+    }
+
+    private void populateContactAndAboutCard() {
+        Trace.beginSection("bind contact card");
+
+        final List<List<Entry>> contactCardEntries = new ArrayList<>();
+        final List<List<Entry>> aboutCardEntries = buildAboutCardEntries();
+
+        for (int i = 0; i < mDataItemsList.size(); ++i) {
+            final List<DataItem> dataItemsByMimeType = mDataItemsList.get(i);
+            final DataItem topDataItem = dataItemsByMimeType.get(0);
+            if (SORTED_ABOUT_CARD_MIMETYPES.contains(topDataItem.getMimeType())) {
+                // About card mimetypes are built in buildAboutCardEntries, skip here
+                continue;
+            } else {
+                List<Entry> contactEntries = dataItemsToEntries(mDataItemsList.get(i));
+                if (contactEntries.size() > 0) {
+                    contactCardEntries.add(contactEntries);
+                }
+            }
+        }
+
+        if (contactCardEntries.size() > 0) {
+            mContactCard.initialize(contactCardEntries,
+                    /* numInitialVisibleEntries = */ MIN_NUM_CONTACT_ENTRIES_SHOWN,
+                    /* isExpanded = */ mContactCard.isExpanded(),
+                    /* isAlwaysExpanded = */ false,
+                    mExpandingEntryCardViewListener,
+                    mScroller);
+            mContactCard.setVisibility(View.VISIBLE);
+        } else {
+            mContactCard.setVisibility(View.GONE);
+        }
+        Trace.endSection();
+
+        Trace.beginSection("bind about card");
+        // Phonetic name is not a data item, so the entry needs to be created separately
+        final String phoneticName = mContactData.getPhoneticName();
+        if (!TextUtils.isEmpty(phoneticName)) {
+            Entry phoneticEntry = new Entry(/* viewId = */ -1,
+                    /* icon = */ null,
+                    getResources().getString(R.string.name_phonetic),
+                    phoneticName,
+                    /* text = */ null,
+                    /* intent = */ null,
+                    /* alternateIcon = */ null,
+                    /* alternateIntent = */ null,
+                    /* alternateContentDescription = */ null,
+                    /* shouldApplyColor = */ false,
+                    /* isEditable = */ false,
+                    /* EntryContextMenuInfo = */ new EntryContextMenuInfo(phoneticName,
+                            getResources().getString(R.string.name_phonetic)));
+            List<Entry> phoneticList = new ArrayList<>();
+            phoneticList.add(phoneticEntry);
+            // Phonetic name comes after nickname. Check to see if the first entry type is nickname
+            if (aboutCardEntries.size() > 0 && aboutCardEntries.get(0).get(0).getHeader().equals(
+                    getResources().getString(R.string.header_nickname_entry))) {
+                aboutCardEntries.add(1, phoneticList);
+            } else {
+                aboutCardEntries.add(0, phoneticList);
+            }
+        }
+
+        mAboutCard.initialize(aboutCardEntries,
+                /* numInitialVisibleEntries = */ 1,
+                /* isExpanded = */ true,
+                /* isAlwaysExpanded = */ true,
+                mExpandingEntryCardViewListener,
+                mScroller);
+
+        if (contactCardEntries.size() == 0 && aboutCardEntries.size() == 0) {
+            initializeNoContactDetailCard();
+        } else {
+            mNoContactDetailsCard.setVisibility(View.GONE);
+        }
+
+        // If the Recent card is already initialized (all recent data is loaded), show the About
+        // card if it has entries. Otherwise About card visibility will be set in bindRecentData()
+        if (isAllRecentDataLoaded() && aboutCardEntries.size() > 0) {
+            mAboutCard.setVisibility(View.VISIBLE);
+        }
+        Trace.endSection();
+    }
+
+    /**
+     * Create a card that shows "Add email" and "Add phone number" entries in grey.
+     */
+    private void initializeNoContactDetailCard() {
+        final Drawable phoneIcon = getResources().getDrawable(
+                R.drawable.ic_phone_24dp).mutate();
+        final Entry phonePromptEntry = new Entry(CARD_ENTRY_ID_EDIT_CONTACT,
+                phoneIcon, getString(R.string.quickcontact_add_phone_number),
+                /* subHeader = */ null, /* text = */ null, getEditContactIntent(),
+                /* alternateIcon = */ null, /* alternateIntent = */ null,
+                /* alternateContentDescription = */ null, /* shouldApplyColor = */ true,
+                /* isEditable = */ false, /* EntryContextMenuInfo = */ null);
+
+        final Drawable emailIcon = getResources().getDrawable(
+                R.drawable.ic_email_24dp).mutate();
+        final Entry emailPromptEntry = new Entry(CARD_ENTRY_ID_EDIT_CONTACT,
+                emailIcon, getString(R.string.quickcontact_add_email), /* subHeader = */ null,
+                /* text = */ null, getEditContactIntent(), /* alternateIcon = */ null,
+                /* alternateIntent = */ null, /* alternateContentDescription = */ null,
+                /* shouldApplyColor = */ true, /* isEditable = */ false,
+                /* EntryContextMenuInfo = */ null);
+
+        final List<List<Entry>> promptEntries = new ArrayList<>();
+        promptEntries.add(new ArrayList<Entry>(1));
+        promptEntries.add(new ArrayList<Entry>(1));
+        promptEntries.get(0).add(phonePromptEntry);
+        promptEntries.get(1).add(emailPromptEntry);
+
+        final int subHeaderTextColor = getResources().getColor(
+                R.color.quickcontact_entry_sub_header_text_color);
+        final PorterDuffColorFilter greyColorFilter =
+                new PorterDuffColorFilter(subHeaderTextColor, PorterDuff.Mode.SRC_ATOP);
+        mNoContactDetailsCard.initialize(promptEntries, 2, /* isExpanded = */ true,
+                /* isAlwaysExpanded = */ true, mExpandingEntryCardViewListener, mScroller);
+        mNoContactDetailsCard.setVisibility(View.VISIBLE);
+        mNoContactDetailsCard.setEntryHeaderColor(subHeaderTextColor);
+        mNoContactDetailsCard.setColorAndFilter(subHeaderTextColor, greyColorFilter);
+    }
+
+    /**
+     * Builds the {@link DataItem}s Map out of the Contact.
+     * @param data The contact to build the data from.
+     * @return A pair containing a list of data items sorted within mimetype and sorted
+     *  amongst mimetype. The map goes from mimetype string to the sorted list of data items within
+     *  mimetype
+     */
+    private Pair<List<List<DataItem>>, Map<String, List<DataItem>>> generateDataModelFromContact(
+            Contact data) {
+        Trace.beginSection("Build data items map");
+
+        final Map<String, List<DataItem>> dataItemsMap = new HashMap<>();
+
+        final ResolveCache cache = ResolveCache.getInstance(this);
         for (RawContact rawContact : data.getRawContacts()) {
             for (DataItem dataItem : rawContact.getDataItems()) {
+                dataItem.setRawContactId(rawContact.getId());
+
                 final String mimeType = dataItem.getMimeType();
+                if (mimeType == null) continue;
+
                 final AccountType accountType = rawContact.getAccountType(this);
                 final DataKind dataKind = AccountTypeManager.getInstance(this)
                         .getKindOrFallback(accountType, mimeType);
+                if (dataKind == null) continue;
 
-                // Skip this data item if MIME-type excluded
-                if (isMimeExcluded(mimeType)) continue;
+                dataItem.setDataKind(dataKind);
 
-                final long dataId = dataItem.getId();
-                final boolean isPrimary = dataItem.isPrimary();
-                final boolean isSuperPrimary = dataItem.isSuperPrimary();
+                final boolean hasData = !TextUtils.isEmpty(dataItem.buildDataString(this,
+                        dataKind));
 
-                if (dataKind != null) {
-                    // Build an action for this data entry, find a mapping to a UI
-                    // element, build its summary from the cursor, and collect it
-                    // along with all others of this MIME-type.
-                    final Action action = new DataAction(context, dataItem, dataKind);
-                    final boolean wasAdded = considerAdd(action, cache, isSuperPrimary);
-                    if (wasAdded) {
-                        // Remember the default
-                        if (isSuperPrimary || (isPrimary && (mDefaultsMap.get(mimeType) == null))) {
-                            mDefaultsMap.put(mimeType, action);
-                        }
-                    }
+                if (isMimeExcluded(mimeType) || !hasData) continue;
+
+                List<DataItem> dataItemListByType = dataItemsMap.get(mimeType);
+                if (dataItemListByType == null) {
+                    dataItemListByType = new ArrayList<>();
+                    dataItemsMap.put(mimeType, dataItemListByType);
                 }
-
-                // Handle Email rows with presence data as Im entry
-                final DataStatus status = data.getStatuses().get(dataId);
-                if (status != null && dataItem instanceof EmailDataItem) {
-                    final EmailDataItem email = (EmailDataItem) dataItem;
-                    final ImDataItem im = ImDataItem.createFromEmail(email);
-                    if (dataKind != null) {
-                        final DataAction action = new DataAction(context, im, dataKind);
-                        action.setPresence(status.getPresence());
-                        considerAdd(action, cache, isSuperPrimary);
-                    }
-                }
+                dataItemListByType.add(dataItem);
             }
         }
+        Trace.endSection();
 
-        mStopWatch.lap("e"); // Entities inflated
-
-        // Collapse Action Lists (remove e.g. duplicate e-mail addresses from different sources)
-        for (List<Action> actionChildren : mActions.values()) {
-            Collapser.collapseList(actionChildren);
+        Trace.beginSection("sort within mimetypes");
+        /*
+         * Sorting is a multi part step. The end result is to a have a sorted list of the most
+         * used data items, one per mimetype. Then, within each mimetype, the list of data items
+         * for that type is also sorted, based off of {super primary, primary, times used} in that
+         * order.
+         */
+        final List<List<DataItem>> dataItemsList = new ArrayList<>();
+        for (List<DataItem> mimeTypeDataItems : dataItemsMap.values()) {
+            // Remove duplicate data items
+            Collapser.collapseList(mimeTypeDataItems, this);
+            // Sort within mimetype
+            Collections.sort(mimeTypeDataItems, mWithinMimeTypeDataItemComparator);
+            // Add to the list of data item lists
+            dataItemsList.add(mimeTypeDataItems);
         }
+        Trace.endSection();
 
-        mStopWatch.lap("c"); // List collapsed
+        Trace.beginSection("sort amongst mimetypes");
+        // Sort amongst mimetypes to bubble up the top data items for the contact card
+        Collections.sort(dataItemsList, mAmongstMimeTypeDataItemComparator);
+        Trace.endSection();
 
-        setHeaderNameText(R.id.name, data.getDisplayName());
-
-        // All the mime-types to add.
-        final Set<String> containedTypes = new HashSet<String>(mActions.keySet());
-        mSortedActionMimeTypes.clear();
-        // First, add LEADING_MIMETYPES, which are most common.
-        for (String mimeType : LEADING_MIMETYPES) {
-            if (containedTypes.contains(mimeType)) {
-                mSortedActionMimeTypes.add(mimeType);
-                containedTypes.remove(mimeType);
-            }
-        }
-
-        // Add all the remaining ones that are not TRAILING
-        for (String mimeType : containedTypes.toArray(new String[containedTypes.size()])) {
-            if (!TRAILING_MIMETYPES.contains(mimeType)) {
-                mSortedActionMimeTypes.add(mimeType);
-                containedTypes.remove(mimeType);
-            }
-        }
-
-        // Then, add TRAILING_MIMETYPES, which are least common.
-        for (String mimeType : TRAILING_MIMETYPES) {
-            if (containedTypes.contains(mimeType)) {
-                containedTypes.remove(mimeType);
-                mSortedActionMimeTypes.add(mimeType);
-            }
-        }
-        mPagerAdapter.notifyDataSetChanged();
-
-        mStopWatch.lap("mt"); // Mime types initialized
-
-        // Add buttons for each mimetype
-        mTrack.removeAllViews();
-        for (String mimeType : mSortedActionMimeTypes) {
-            final View actionView = inflateAction(mimeType, cache, mTrack, data.getDisplayName());
-            mTrack.addView(actionView);
-        }
-
-        mStopWatch.lap("mt"); // Buttons added
-
-        final boolean hasData = !mSortedActionMimeTypes.isEmpty();
-        mTrackScroller.setVisibility(hasData ? View.VISIBLE : View.GONE);
-        mSelectedTabRectangle.setVisibility(hasData ? View.VISIBLE : View.GONE);
-        mLineAfterTrack.setVisibility(hasData ? View.VISIBLE : View.GONE);
-        mListPager.setVisibility(hasData ? View.VISIBLE : View.GONE);
+        return new Pair<>(dataItemsList, dataItemsMap);
     }
 
     /**
-     * Consider adding the given {@link Action}, which will only happen if
-     * {@link PackageManager} finds an application to handle
-     * {@link Action#getIntent()}.
-     * @param action the action to handle
-     * @param resolveCache cache of applications that can handle actions
-     * @param front indicates whether to add the action to the front of the list
-     * @return true if action has been added
+     * Converts a {@link DataItem} into an {@link ExpandingEntryCardView.Entry} for display.
+     * If the {@link ExpandingEntryCardView.Entry} has no visual elements, null is returned.
+     * @param dataItem The {@link DataItem} to convert.
+     * @return The {@link ExpandingEntryCardView.Entry}, or null if no visual elements are present.
      */
-    private boolean considerAdd(Action action, ResolveCache resolveCache, boolean front) {
-        if (resolveCache.hasResolve(action)) {
-            mActions.put(action.getMimeType(), action, front);
-            return true;
-        }
-        return false;
-    }
+    private Entry dataItemToEntry(DataItem dataItem) {
+        Drawable icon = null;
+        String header = null;
+        String subHeader = null;
+        Drawable subHeaderIcon = null;
+        String text = null;
+        Drawable textIcon = null;
+        Intent intent = null;
+        boolean shouldApplyColor = true;
+        Drawable alternateIcon = null;
+        Intent alternateIntent = null;
+        String alternateContentDescription = null;
+        final boolean isEditable = false;
+        EntryContextMenuInfo entryContextMenuInfo = null;
 
-    /**
-     * Bind the correct image resource and click handlers to the header views
-     *
-     * @param canAdd Whether or not the user can directly add information in this quick contact
-     * to their local contacts
-     */
-    private void configureHeaderClickActions(boolean canAdd) {
-        if (canAdd) {
-            mOpenDetailsOrAddContactImage.setImageResource(R.drawable.ic_add_contact_holo_dark);
-            mOpenDetailsOrAddContactImage.setOnClickListener(mAddToContactsClickHandler);
-            mPhotoView.setOnClickListener(mAddToContactsClickHandler);
+        DataKind kind = dataItem.getDataKind();
+
+        if (dataItem instanceof ImDataItem) {
+            final ImDataItem im = (ImDataItem) dataItem;
+            intent = ContactsUtils.buildImIntent(this, im).first;
+            final boolean isEmail = im.isCreatedFromEmail();
+            final int protocol;
+            if (!im.isProtocolValid()) {
+                protocol = Im.PROTOCOL_CUSTOM;
+            } else {
+                protocol = isEmail ? Im.PROTOCOL_GOOGLE_TALK : im.getProtocol();
+            }
+            if (protocol == Im.PROTOCOL_CUSTOM) {
+                // If the protocol is custom, display the "IM" entry header as well to distinguish
+                // this entry from other ones
+                header = getResources().getString(R.string.header_im_entry);
+                subHeader = Im.getProtocolLabel(getResources(), protocol,
+                        im.getCustomProtocol()).toString();
+                text = im.getData();
+            } else {
+                header = Im.getProtocolLabel(getResources(), protocol,
+                        im.getCustomProtocol()).toString();
+                subHeader = im.getData();
+            }
+            entryContextMenuInfo = new EntryContextMenuInfo(im.getData(), header);
+        } else if (dataItem instanceof OrganizationDataItem) {
+            final OrganizationDataItem organization = (OrganizationDataItem) dataItem;
+            header = getResources().getString(R.string.header_organization_entry);
+            subHeader = organization.getCompany();
+            entryContextMenuInfo = new EntryContextMenuInfo(subHeader, header);
+            text = organization.getTitle();
+        } else if (dataItem instanceof NicknameDataItem) {
+            final NicknameDataItem nickname = (NicknameDataItem) dataItem;
+            // Build nickname entries
+            final boolean isNameRawContact =
+                (mContactData.getNameRawContactId() == dataItem.getRawContactId());
+
+            final boolean duplicatesTitle =
+                isNameRawContact
+                && mContactData.getDisplayNameSource() == DisplayNameSources.NICKNAME;
+
+            if (!duplicatesTitle) {
+                header = getResources().getString(R.string.header_nickname_entry);
+                subHeader = nickname.getName();
+                entryContextMenuInfo = new EntryContextMenuInfo(subHeader, header);
+            }
+        } else if (dataItem instanceof NoteDataItem) {
+            final NoteDataItem note = (NoteDataItem) dataItem;
+            header = getResources().getString(R.string.header_note_entry);
+            subHeader = note.getNote();
+            entryContextMenuInfo = new EntryContextMenuInfo(subHeader, header);
+        } else if (dataItem instanceof WebsiteDataItem) {
+            final WebsiteDataItem website = (WebsiteDataItem) dataItem;
+            header = getResources().getString(R.string.header_website_entry);
+            subHeader = website.getUrl();
+            entryContextMenuInfo = new EntryContextMenuInfo(subHeader, header);
+            try {
+                final WebAddress webAddress = new WebAddress(website.buildDataString(this, kind));
+                intent = new Intent(Intent.ACTION_VIEW, Uri.parse(webAddress.toString()));
+            } catch (final ParseException e) {
+                Log.e(TAG, "Couldn't parse website: " + website.buildDataString(this, kind));
+            }
+        } else if (dataItem instanceof EventDataItem) {
+            final EventDataItem event = (EventDataItem) dataItem;
+            final String dataString = event.buildDataString(this, kind);
+            final Calendar cal = DateUtils.parseDate(dataString, false);
+            if (cal != null) {
+                final Date nextAnniversary =
+                        DateUtils.getNextAnnualDate(cal);
+                final Uri.Builder builder = CalendarContract.CONTENT_URI.buildUpon();
+                builder.appendPath("time");
+                ContentUris.appendId(builder, nextAnniversary.getTime());
+                intent = new Intent(Intent.ACTION_VIEW).setData(builder.build());
+            }
+            header = getResources().getString(R.string.header_event_entry);
+            if (event.hasKindTypeColumn(kind)) {
+                subHeader = Event.getTypeLabel(getResources(), event.getKindTypeColumn(kind),
+                        event.getLabel()).toString();
+            }
+            text = DateUtils.formatDate(this, dataString);
+            entryContextMenuInfo = new EntryContextMenuInfo(text, header);
+        } else if (dataItem instanceof RelationDataItem) {
+            final RelationDataItem relation = (RelationDataItem) dataItem;
+            final String dataString = relation.buildDataString(this, kind);
+            if (!TextUtils.isEmpty(dataString)) {
+                intent = new Intent(Intent.ACTION_SEARCH);
+                intent.putExtra(SearchManager.QUERY, dataString);
+                intent.setType(Contacts.CONTENT_TYPE);
+            }
+            header = getResources().getString(R.string.header_relation_entry);
+            subHeader = relation.getName();
+            entryContextMenuInfo = new EntryContextMenuInfo(subHeader, header);
+            if (relation.hasKindTypeColumn(kind)) {
+                text = Relation.getTypeLabel(getResources(), relation.getKindTypeColumn(kind),
+                        relation.getLabel()).toString();
+            }
+        } else if (dataItem instanceof PhoneDataItem) {
+            final PhoneDataItem phone = (PhoneDataItem) dataItem;
+            if (!TextUtils.isEmpty(phone.getNumber())) {
+                header = phone.buildDataString(this, kind);
+                entryContextMenuInfo = new EntryContextMenuInfo(header,
+                        getResources().getString(R.string.phoneLabelsGroup));
+                if (phone.hasKindTypeColumn(kind)) {
+                    text = Phone.getTypeLabel(getResources(), phone.getKindTypeColumn(kind),
+                            phone.getLabel()).toString();
+                }
+                icon = getResources().getDrawable(R.drawable.ic_phone_24dp);
+                if (PhoneCapabilityTester.isPhone(this)) {
+                    intent = CallUtil.getCallIntent(phone.getNumber());
+                }
+                alternateIntent = new Intent(Intent.ACTION_SENDTO,
+                        Uri.fromParts(CallUtil.SCHEME_SMSTO, phone.getNumber(), null));
+                alternateIcon = getResources().getDrawable(R.drawable.ic_message_24dp);
+                alternateContentDescription = getResources().getString(R.string.sms_other);
+            }
+        } else if (dataItem instanceof EmailDataItem) {
+            final EmailDataItem email = (EmailDataItem) dataItem;
+            final String address = email.getData();
+            if (!TextUtils.isEmpty(address)) {
+                final Uri mailUri = Uri.fromParts(CallUtil.SCHEME_MAILTO, address, null);
+                intent = new Intent(Intent.ACTION_SENDTO, mailUri);
+                header = email.getAddress();
+                entryContextMenuInfo = new EntryContextMenuInfo(header,
+                        getResources().getString(R.string.emailLabelsGroup));
+                if (email.hasKindTypeColumn(kind)) {
+                    text = Email.getTypeLabel(getResources(), email.getKindTypeColumn(kind),
+                            email.getLabel()).toString();
+                }
+                icon = getResources().getDrawable(R.drawable.ic_email_24dp);
+            }
+        } else if (dataItem instanceof StructuredPostalDataItem) {
+            StructuredPostalDataItem postal = (StructuredPostalDataItem) dataItem;
+            final String postalAddress = postal.getFormattedAddress();
+            if (!TextUtils.isEmpty(postalAddress)) {
+                intent = StructuredPostalUtils.getViewPostalAddressIntent(postalAddress);
+                header = postal.getFormattedAddress();
+                entryContextMenuInfo = new EntryContextMenuInfo(header,
+                        getResources().getString(R.string.postalLabelsGroup));
+                if (postal.hasKindTypeColumn(kind)) {
+                    text = StructuredPostal.getTypeLabel(getResources(),
+                            postal.getKindTypeColumn(kind), postal.getLabel()).toString();
+                }
+                alternateIntent =
+                        StructuredPostalUtils.getViewPostalAddressDirectionsIntent(postalAddress);
+                alternateIcon = getResources().getDrawable(R.drawable.ic_directions_24dp);
+                icon = getResources().getDrawable(R.drawable.ic_place_24dp);
+            }
+        } else if (dataItem instanceof SipAddressDataItem) {
+            if (PhoneCapabilityTester.isSipPhone(this)) {
+                final SipAddressDataItem sip = (SipAddressDataItem) dataItem;
+                final String address = sip.getSipAddress();
+                if (!TextUtils.isEmpty(address)) {
+                    final Uri callUri = Uri.fromParts(CallUtil.SCHEME_SIP, address, null);
+                    intent = CallUtil.getCallIntent(callUri);
+                    header = address;
+                    entryContextMenuInfo = new EntryContextMenuInfo(header,
+                            getResources().getString(R.string.phoneLabelsGroup));
+                    if (sip.hasKindTypeColumn(kind)) {
+                        text = SipAddress.getTypeLabel(getResources(), sip.getKindTypeColumn(kind),
+                            sip.getLabel()).toString();
+                    }
+                    // Note that this item will get a SIP-specific variant
+                    // of the "call phone" icon, rather than the standard
+                    // app icon for the Phone app (which we show for
+                    // regular phone numbers.)  That's because the phone
+                    // app explicitly specifies an android:icon attribute
+                    // for the SIP-related intent-filters in its manifest.
+                    icon = ResolveCache.getInstance(this).getIcon(sip.getMimeType(), intent);
+                    // Call mutate to create a new Drawable.ConstantState for color filtering
+                    if (icon != null) {
+                        icon.mutate();
+                    }
+                }
+            }
+        } else if (dataItem instanceof StructuredNameDataItem) {
+            final String givenName = ((StructuredNameDataItem) dataItem).getGivenName();
+            if (!TextUtils.isEmpty(givenName)) {
+                mAboutCard.setTitle(getResources().getString(R.string.about_card_title) +
+                        " " + givenName);
+            } else {
+                mAboutCard.setTitle(getResources().getString(R.string.about_card_title));
+            }
         } else {
-            mOpenDetailsOrAddContactImage.setImageResource(R.drawable.ic_contacts_holo_dark);
-            mOpenDetailsOrAddContactImage.setOnClickListener(mOpenDetailsClickHandler);
-            mPhotoView.setOnClickListener(mOpenDetailsClickHandler);
+            // Custom DataItem
+            header = dataItem.buildDataStringForDisplay(this, kind);
+            text = kind.typeColumn;
+            intent = new Intent(Intent.ACTION_VIEW);
+            final Uri uri = ContentUris.withAppendedId(Data.CONTENT_URI, dataItem.getId());
+            intent.setDataAndType(uri, dataItem.getMimeType());
+
+            if (intent != null) {
+                final String mimetype = intent.getType();
+
+                // Attempt to use known icons for known 3p types. Otherwise default to ResolveCache
+                switch (mimetype) {
+                    case MIMETYPE_GPLUS_PROFILE:
+                        if (INTENT_DATA_GPLUS_PROFILE_ADD_TO_CIRCLE.equals(
+                                intent.getDataString())) {
+                            icon = getResources().getDrawable(
+                                    R.drawable.ic_add_to_circles_black_24);
+                        } else {
+                            icon = getResources().getDrawable(R.drawable.ic_google_plus_24dp);
+                        }
+                        break;
+                    case MIMETYPE_HANGOUTS:
+                        if (INTENT_DATA_HANGOUTS_VIDEO.equals(intent.getDataString())) {
+                            icon = getResources().getDrawable(R.drawable.ic_hangout_video_24dp);
+                        } else {
+                            icon = getResources().getDrawable(R.drawable.ic_hangout_24dp);
+                        }
+                        break;
+                    default:
+                        entryContextMenuInfo = new EntryContextMenuInfo(header, mimetype);
+                        icon = ResolveCache.getInstance(this).getIcon(
+                                dataItem.getMimeType(), intent);
+                        // Call mutate to create a new Drawable.ConstantState for color filtering
+                        if (icon != null) {
+                            icon.mutate();
+                        }
+                        shouldApplyColor = false;
+                }
+            }
         }
+
+        if (intent != null) {
+            // Do not set the intent is there are no resolves
+            if (!PhoneCapabilityTester.isIntentRegistered(this, intent)) {
+                intent = null;
+            }
+        }
+
+        if (alternateIntent != null) {
+            // Do not set the alternate intent is there are no resolves
+            if (!PhoneCapabilityTester.isIntentRegistered(this, alternateIntent)) {
+                alternateIntent = null;
+            }
+
+            // Attempt to use package manager to find a suitable content description if needed
+            if (TextUtils.isEmpty(alternateContentDescription)) {
+                alternateContentDescription = getIntentResolveLabel(alternateIntent);
+            }
+        }
+
+        // If the Entry has no visual elements, return null
+        if (icon == null && TextUtils.isEmpty(header) && TextUtils.isEmpty(subHeader) &&
+                subHeaderIcon == null && TextUtils.isEmpty(text) && textIcon == null) {
+            return null;
+        }
+
+        // Ignore dataIds from the Me profile.
+        final int dataId = dataItem.getId() > Integer.MAX_VALUE ?
+                -1 : (int) dataItem.getId();
+
+        return new Entry(dataId, icon, header, subHeader, subHeaderIcon, text, textIcon, intent,
+                alternateIcon, alternateIntent, alternateContentDescription, shouldApplyColor,
+                isEditable, entryContextMenuInfo);
+    }
+
+    private List<Entry> dataItemsToEntries(List<DataItem> dataItems) {
+        final List<Entry> entries = new ArrayList<>();
+        for (DataItem dataItem : dataItems) {
+            final Entry entry = dataItemToEntry(dataItem);
+            if (entry != null) {
+                entries.add(entry);
+            }
+        }
+        return entries;
+    }
+
+    private String getIntentResolveLabel(Intent intent) {
+        final List<ResolveInfo> matches = getPackageManager().queryIntentActivities(intent,
+                PackageManager.MATCH_DEFAULT_ONLY);
+
+        // Pick first match, otherwise best found
+        ResolveInfo bestResolve = null;
+        final int size = matches.size();
+        if (size == 1) {
+            bestResolve = matches.get(0);
+        } else if (size > 1) {
+            bestResolve = ResolveCache.getInstance(this).getBestResolve(intent, matches);
+        }
+
+        if (bestResolve == null) {
+            return null;
+        }
+
+        return String.valueOf(bestResolve.loadLabel(getPackageManager()));
     }
 
     /**
-     * Inflate the in-track view for the action of the given MIME-type, collapsing duplicate values.
-     * Will use the icon provided by the {@link DataKind}.
+     * Asynchronously extract the most vibrant color from the PhotoView. Once extracted,
+     * apply this tint to {@link MultiShrinkScroller}. This operation takes about 20-30ms
+     * on a Nexus 5.
      */
-    private View inflateAction(String mimeType, ResolveCache resolveCache,
-                               ViewGroup root, String name) {
-        final CheckableImageView typeView = (CheckableImageView) getLayoutInflater().inflate(
-                R.layout.quickcontact_track_button, root, false);
+    private void extractAndApplyTintFromPhotoViewAsynchronously() {
+        if (mScroller == null) {
+            return;
+        }
+        final Drawable imageViewDrawable = mPhotoView.getDrawable();
+        new AsyncTask<Void, Void, MaterialPalette>() {
+            @Override
+            protected MaterialPalette doInBackground(Void... params) {
 
-        List<Action> children = mActions.get(mimeType);
-        typeView.setTag(mimeType);
-        final Action firstInfo = children.get(0);
+                if (imageViewDrawable instanceof BitmapDrawable) {
+                    final Bitmap bitmap = ((BitmapDrawable) imageViewDrawable).getBitmap();
+                    final int primaryColor = colorFromBitmap(bitmap);
+                    if (primaryColor != 0) {
+                        return mMaterialColorMapUtils.calculatePrimaryAndSecondaryColor(
+                                primaryColor);
+                    }
+                }
+                if (imageViewDrawable instanceof LetterTileDrawable) {
+                    final int primaryColor = ((LetterTileDrawable) imageViewDrawable).getColor();
+                    return mMaterialColorMapUtils.calculatePrimaryAndSecondaryColor(primaryColor);
+                }
+                return MaterialColorMapUtils.getDefaultPrimaryAndSecondaryColors(getResources());
+            }
 
-        // Set icon and listen for clicks
-        final CharSequence descrip = resolveCache.getDescription(firstInfo, name);
-        final Drawable icon = resolveCache.getIcon(firstInfo);
-        typeView.setChecked(false);
-        typeView.setContentDescription(descrip);
-        typeView.setImageDrawable(icon);
-        typeView.setOnClickListener(mTypeViewClickListener);
-
-        return typeView;
+            @Override
+            protected void onPostExecute(MaterialPalette palette) {
+                super.onPostExecute(palette);
+                if (mHasComputedThemeColor) {
+                    // If we had previously computed a theme color from the contact photo,
+                    // then do not update the theme color. Changing the theme color several
+                    // seconds after QC has started, as a result of an updated/upgraded photo,
+                    // is a jarring experience. On the other hand, changing the theme color after
+                    // a rotation or onNewIntent() is perfectly fine.
+                    return;
+                }
+                // Check that the Photo has not changed. If it has changed, the new tint
+                // color needs to be extracted
+                if (imageViewDrawable == mPhotoView.getDrawable()) {
+                    mHasComputedThemeColor = true;
+                    setThemeColor(palette);
+                }
+            }
+        }.execute();
     }
 
-    private CheckableImageView getActionViewAt(int position) {
-        return (CheckableImageView) mTrack.getChildAt(position);
+    /**
+     * Examine how many white pixels are in the bitmap in order to determine whether or not
+     * we need gradient overlays on top of the image.
+     */
+    private void analyzeWhitenessOfPhotoAsynchronously() {
+        final Drawable imageViewDrawable = mPhotoView.getDrawable();
+        new AsyncTask<Void, Void, Boolean>() {
+            @Override
+            protected Boolean doInBackground(Void... params) {
+                if (imageViewDrawable instanceof BitmapDrawable) {
+                    final Bitmap bitmap = ((BitmapDrawable) imageViewDrawable).getBitmap();
+                    return WhitenessUtils.isBitmapWhiteAtTopOrBottom(bitmap);
+                }
+                return !(imageViewDrawable instanceof LetterTileDrawable);
+            }
+
+            @Override
+            protected void onPostExecute(Boolean isWhite) {
+                super.onPostExecute(isWhite);
+                mScroller.setUseGradient(isWhite);
+            }
+        }.execute();
     }
 
-    @Override
-    public void onAttachFragment(Fragment fragment) {
-        final QuickContactListFragment listFragment = (QuickContactListFragment) fragment;
-        listFragment.setListener(mListFragmentListener);
+    private void setThemeColor(MaterialPalette palette) {
+        // If the color is invalid, use the predefined default
+        final int primaryColor = palette.mPrimaryColor;
+        mScroller.setHeaderTintColor(primaryColor);
+        mStatusBarColor = palette.mSecondaryColor;
+        updateStatusBarColor();
+
+        mColorFilter =
+                new PorterDuffColorFilter(primaryColor, PorterDuff.Mode.SRC_ATOP);
+        mContactCard.setColorAndFilter(primaryColor, mColorFilter);
+        mRecentCard.setColorAndFilter(primaryColor, mColorFilter);
+        mAboutCard.setColorAndFilter(primaryColor, mColorFilter);
     }
 
-    private LoaderCallbacks<Contact> mLoaderCallbacks =
+    private void updateStatusBarColor() {
+        if (mScroller == null) {
+            return;
+        }
+        final int desiredStatusBarColor;
+        // Only use a custom status bar color if QuickContacts touches the top of the viewport.
+        if (mScroller.getScrollNeededToBeFullScreen() <= 0) {
+            desiredStatusBarColor = mStatusBarColor;
+        } else {
+            desiredStatusBarColor = Color.TRANSPARENT;
+        }
+        // Animate to the new color.
+        final ObjectAnimator animation = ObjectAnimator.ofInt(getWindow(), "statusBarColor",
+                getWindow().getStatusBarColor(), desiredStatusBarColor);
+        animation.setDuration(ANIMATION_STATUS_BAR_COLOR_CHANGE_DURATION);
+        animation.setEvaluator(new ArgbEvaluator());
+        animation.start();
+    }
+
+    private int colorFromBitmap(Bitmap bitmap) {
+        // Author of Palette recommends using 24 colors when analyzing profile photos.
+        final int NUMBER_OF_PALETTE_COLORS = 24;
+        final Palette palette = Palette.generate(bitmap, NUMBER_OF_PALETTE_COLORS);
+        if (palette != null && palette.getVibrantSwatch() != null) {
+            return palette.getVibrantSwatch().getRgb();
+        }
+        return 0;
+    }
+
+    private List<Entry> contactInteractionsToEntries(List<ContactInteraction> interactions) {
+        final List<Entry> entries = new ArrayList<>();
+        for (ContactInteraction interaction : interactions) {
+            entries.add(new Entry(/* id = */ -1,
+                    interaction.getIcon(this),
+                    interaction.getViewHeader(this),
+                    interaction.getViewBody(this),
+                    interaction.getBodyIcon(this),
+                    interaction.getViewFooter(this),
+                    interaction.getFooterIcon(this),
+                    interaction.getIntent(),
+                    /* alternateIcon = */ null,
+                    /* alternateIntent = */ null,
+                    /* alternateContentDescription = */ null,
+                    /* shouldApplyColor = */ true,
+                    /* isEditable = */ false,
+                    /* EntryContextMenuInfo = */ null));
+        }
+        return entries;
+    }
+
+    private final LoaderCallbacks<Contact> mLoaderContactCallbacks =
             new LoaderCallbacks<Contact>() {
         @Override
         public void onLoaderReset(Loader<Contact> loader) {
+            mContactData = null;
         }
 
         @Override
         public void onLoadFinished(Loader<Contact> loader, Contact data) {
-            mStopWatch.lap("lf"); // onLoadFinished
+            Trace.beginSection("onLoadFinished()");
+
             if (isFinishing()) {
-                close(false);
                 return;
             }
             if (data.isError()) {
@@ -617,37 +1536,19 @@
                 throw new IllegalStateException("Failed to load contact", data.getException());
             }
             if (data.isNotFound()) {
-                Log.i(TAG, "No contact found: " + ((ContactLoader)loader).getLookupUri());
-                Toast.makeText(QuickContactActivity.this, R.string.invalidContactMessage,
-                        Toast.LENGTH_LONG).show();
-                close(false);
+                if (mHasAlreadyBeenOpened) {
+                    finish();
+                } else {
+                    Log.i(TAG, "No contact found: " + ((ContactLoader)loader).getLookupUri());
+                    Toast.makeText(QuickContactActivity.this, R.string.invalidContactMessage,
+                            Toast.LENGTH_LONG).show();
+                }
                 return;
             }
 
-            bindData(data);
+            bindContactData(data);
 
-            mStopWatch.lap("bd"); // bindData finished
-
-            if (TRACE_LAUNCH) android.os.Debug.stopMethodTracing();
-            if (Log.isLoggable(Constants.PERFORMANCE_TAG, Log.DEBUG)) {
-                Log.d(Constants.PERFORMANCE_TAG, "QuickContact shown");
-            }
-
-            // Data bound and ready, pull curtain to show. Put this on the Handler to ensure
-            // that the layout passes are completed
-            SchedulingUtils.doAfterLayout(mFloatingLayout, new Runnable() {
-                @Override
-                public void run() {
-                    mFloatingLayout.showContent(new Runnable() {
-                        @Override
-                        public void run() {
-                            mContactLoader.upgradeToFullContact();
-                        }
-                    });
-                }
-            });
-            mStopWatch.stopAndLog(TAG, 0);
-            mStopWatch = StopWatch.getNullStopWatch(); // We're done with it.
+            Trace.endSection();
         }
 
         @Override
@@ -655,117 +1556,327 @@
             if (mLookupUri == null) {
                 Log.wtf(TAG, "Lookup uri wasn't initialized. Loader was started too early");
             }
+            // Load all contact data. We need loadGroupMetaData=true to determine whether the
+            // contact is invisible. If it is, we need to display an "Add to Contacts" MenuItem.
             return new ContactLoader(getApplicationContext(), mLookupUri,
-                    false /*loadGroupMetaData*/, false /*loadInvitableAccountTypes*/,
-                    false /*postViewNotification*/, true /*computeFormattedPhoneNumber*/);
+                    true /*loadGroupMetaData*/, false /*loadInvitableAccountTypes*/,
+                    true /*postViewNotification*/, true /*computeFormattedPhoneNumber*/);
         }
     };
 
-    /** A type (e.g. Call/Addresses was clicked) */
-    private final OnClickListener mTypeViewClickListener = new OnClickListener() {
-        @Override
-        public void onClick(View view) {
-            final CheckableImageView actionView = (CheckableImageView)view;
-            final String mimeType = (String) actionView.getTag();
-            int index = mSortedActionMimeTypes.indexOf(mimeType);
-            mListPager.setCurrentItem(index, true);
-        }
-    };
-
-    private class ViewPagerAdapter extends FragmentPagerAdapter {
-        public ViewPagerAdapter(FragmentManager fragmentManager) {
-            super(fragmentManager);
-        }
-
-        @Override
-        public Fragment getItem(int position) {
-            final String mimeType = mSortedActionMimeTypes.get(position);
-            QuickContactListFragment fragment = new QuickContactListFragment(mimeType);
-            final List<Action> actions = mActions.get(mimeType);
-            fragment.setActions(actions);
-            return fragment;
-        }
-
-        @Override
-        public int getCount() {
-            return mSortedActionMimeTypes.size();
-        }
-
-        @Override
-        public int getItemPosition(Object object) {
-            final QuickContactListFragment fragment = (QuickContactListFragment) object;
-            final String mimeType = fragment.getMimeType();
-            for (int i = 0; i < mSortedActionMimeTypes.size(); i++) {
-                if (mimeType.equals(mSortedActionMimeTypes.get(i))) {
-                    return i;
-                }
+    @Override
+    public void onBackPressed() {
+        if (mScroller != null) {
+            if (!mIsExitAnimationInProgress) {
+                mScroller.scrollOffBottom();
             }
-            return PagerAdapter.POSITION_NONE;
+        } else {
+            super.onBackPressed();
         }
     }
 
-    private class PageChangeListener extends SimpleOnPageChangeListener {
-        private int mScrollingState = ViewPager.SCROLL_STATE_IDLE;
+    @Override
+    public void finish() {
+        super.finish();
+
+        // override transitions to skip the standard window animations
+        overridePendingTransition(0, 0);
+    }
+
+    private final LoaderCallbacks<List<ContactInteraction>> mLoaderInteractionsCallbacks =
+            new LoaderCallbacks<List<ContactInteraction>>() {
 
         @Override
-        public void onPageSelected(int position) {
-            final CheckableImageView actionView = getActionViewAt(position);
-            mTrackScroller.requestChildRectangleOnScreen(actionView,
-                    new Rect(0, 0, actionView.getWidth(), actionView.getHeight()), false);
-            // Don't render rectangle if we are currently scrolling to prevent it from flickering
-            if (mScrollingState == ViewPager.SCROLL_STATE_IDLE) {
-                renderSelectedRectangle(position, 0);
+        public Loader<List<ContactInteraction>> onCreateLoader(int id, Bundle args) {
+            Log.v(TAG, "onCreateLoader");
+            Loader<List<ContactInteraction>> loader = null;
+            switch (id) {
+                case LOADER_SMS_ID:
+                    Log.v(TAG, "LOADER_SMS_ID");
+                    loader = new SmsInteractionsLoader(
+                            QuickContactActivity.this,
+                            args.getStringArray(KEY_LOADER_EXTRA_PHONES),
+                            MAX_SMS_RETRIEVE);
+                    break;
+                case LOADER_CALENDAR_ID:
+                    Log.v(TAG, "LOADER_CALENDAR_ID");
+                    final String[] emailsArray = args.getStringArray(KEY_LOADER_EXTRA_EMAILS);
+                    List<String> emailsList = null;
+                    if (emailsArray != null) {
+                        emailsList = Arrays.asList(args.getStringArray(KEY_LOADER_EXTRA_EMAILS));
+                    }
+                    loader = new CalendarInteractionsLoader(
+                            QuickContactActivity.this,
+                            emailsList,
+                            MAX_FUTURE_CALENDAR_RETRIEVE,
+                            MAX_PAST_CALENDAR_RETRIEVE,
+                            FUTURE_MILLISECOND_TO_SEARCH_LOCAL_CALENDAR,
+                            PAST_MILLISECOND_TO_SEARCH_LOCAL_CALENDAR);
+                    break;
+                case LOADER_CALL_LOG_ID:
+                    Log.v(TAG, "LOADER_CALL_LOG_ID");
+                    loader = new CallLogInteractionsLoader(
+                            QuickContactActivity.this,
+                            args.getStringArray(KEY_LOADER_EXTRA_PHONES),
+                            MAX_CALL_LOG_RETRIEVE);
+            }
+            return loader;
+        }
+
+        @Override
+        public void onLoadFinished(Loader<List<ContactInteraction>> loader,
+                List<ContactInteraction> data) {
+            mRecentLoaderResults.put(loader.getId(), data);
+
+            if (isAllRecentDataLoaded()) {
+                bindRecentData();
             }
         }
 
         @Override
-        public void onPageScrollStateChanged(int state) {
-            super.onPageScrollStateChanged(state);
-            mScrollingState = state;
+        public void onLoaderReset(Loader<List<ContactInteraction>> loader) {
+            mRecentLoaderResults.remove(loader.getId());
+        }
+    };
+
+    private boolean isAllRecentDataLoaded() {
+        return mRecentLoaderResults.size() == mRecentLoaderIds.length;
+    }
+
+    private void bindRecentData() {
+        final List<ContactInteraction> allInteractions = new ArrayList<>();
+        for (List<ContactInteraction> loaderInteractions : mRecentLoaderResults.values()) {
+            allInteractions.addAll(loaderInteractions);
         }
 
-        @Override
-        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
-            renderSelectedRectangle(position, positionOffset);
+        // Sort the interactions by most recent
+        Collections.sort(allInteractions, new Comparator<ContactInteraction>() {
+            @Override
+            public int compare(ContactInteraction a, ContactInteraction b) {
+                return a.getInteractionDate() >= b.getInteractionDate() ? -1 : 1;
+            }
+        });
+
+        // Wrap each interaction in its own list so that an icon is displayed for each entry
+        List<List<Entry>> interactionsWrapper = new ArrayList<>();
+        for (Entry contactInteraction : contactInteractionsToEntries(allInteractions)) {
+            List<Entry> entryListWrapper = new ArrayList<>(1);
+            entryListWrapper.add(contactInteraction);
+            interactionsWrapper.add(entryListWrapper);
+        }
+        if (allInteractions.size() > 0) {
+            mRecentCard.initialize(interactionsWrapper,
+                    /* numInitialVisibleEntries = */ MIN_NUM_COLLAPSED_RECENT_ENTRIES_SHOWN,
+                    /* isExpanded = */ mRecentCard.isExpanded(), /* isAlwaysExpanded = */ false,
+                    mExpandingEntryCardViewListener, mScroller);
+            mRecentCard.setVisibility(View.VISIBLE);
         }
 
-        private void renderSelectedRectangle(int position, float positionOffset) {
-            final RelativeLayout.LayoutParams layoutParams =
-                    (RelativeLayout.LayoutParams) mSelectedTabRectangle.getLayoutParams();
-            final int width = layoutParams.width;
-            layoutParams.setMarginStart((int) ((position + positionOffset) * width));
-            mSelectedTabRectangle.setLayoutParams(layoutParams);
+        // About card is initialized along with the contact card, but since it appears after
+        // the recent card in the UI, we hold off until making it visible until the recent card
+        // is also ready to avoid stuttering.
+        if (mAboutCard.shouldShow()) {
+            mAboutCard.setVisibility(View.VISIBLE);
+        } else {
+            mAboutCard.setVisibility(View.GONE);
         }
     }
 
-    private final QuickContactListFragment.Listener mListFragmentListener =
-            new QuickContactListFragment.Listener() {
-        @Override
-        public void onOutsideClick() {
-            // If there is no background, we want to dismiss, because to the user it seems
-            // like he had touched outside. If the ViewPager is solid however, those taps
-            // must be ignored
-            final boolean isTransparent = mListPager.getBackground() == null;
-            if (isTransparent) handleOutsideTouch();
+    @Override
+    protected void onStop() {
+        super.onStop();
+
+        if (mEntriesAndActionsTask != null) {
+            // Once the activity is stopped, we will no longer want to bind mEntriesAndActionsTask's
+            // results on the UI thread. In some circumstances Activities are killed without
+            // onStop() being called. This is not a problem, because in these circumstances
+            // the entire process will be killed.
+            mEntriesAndActionsTask.cancel(/* mayInterruptIfRunning = */ false);
+        }
+    }
+
+    /**
+     * Returns true if it is possible to edit the current contact.
+     */
+    private boolean isContactEditable() {
+        return mContactData != null && !mContactData.isDirectoryEntry();
+    }
+
+    /**
+     * Returns true if it is possible to share the current contact.
+     */
+    private boolean isContactShareable() {
+        return mContactData != null && !mContactData.isDirectoryEntry();
+    }
+
+    private Intent getEditContactIntent() {
+        final Intent intent = new Intent(Intent.ACTION_EDIT, mLookupUri);
+        mContactLoader.cacheResult();
+        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
+        return intent;
+    }
+
+    private void editContact() {
+        startActivityForResult(getEditContactIntent(), REQUEST_CODE_CONTACT_EDITOR_ACTIVITY);
+    }
+
+    private void toggleStar(MenuItem starredMenuItem) {
+        // Make sure there is a contact
+        if (mLookupUri != null) {
+            // Read the current starred value from the UI instead of using the last
+            // loaded state. This allows rapid tapping without writing the same
+            // value several times
+            final boolean isStarred = starredMenuItem.isChecked();
+
+            // To improve responsiveness, swap out the picture (and tag) in the UI already
+            ContactDisplayUtils.configureStarredMenuItem(starredMenuItem,
+                    mContactData.isDirectoryEntry(), mContactData.isUserProfile(),
+                    !isStarred);
+
+            // Now perform the real save
+            final Intent intent = ContactSaveService.createSetStarredIntent(
+                    QuickContactActivity.this, mLookupUri, !isStarred);
+            startService(intent);
+
+            final CharSequence accessibilityText = !isStarred
+                    ? getResources().getText(R.string.description_action_menu_add_star)
+                    : getResources().getText(R.string.description_action_menu_remove_star);
+            // Accessibility actions need to have an associated view. We can't access the MenuItem's
+            // underlying view, so put this accessibility action on the root view.
+            mScroller.announceForAccessibility(accessibilityText);
+        }
+    }
+
+    /**
+     * Calls into the contacts provider to get a pre-authorized version of the given URI.
+     */
+    private Uri getPreAuthorizedUri(Uri uri) {
+        final Bundle uriBundle = new Bundle();
+        uriBundle.putParcelable(ContactsContract.Authorization.KEY_URI_TO_AUTHORIZE, uri);
+        final Bundle authResponse = getContentResolver().call(
+                ContactsContract.AUTHORITY_URI,
+                ContactsContract.Authorization.AUTHORIZATION_METHOD,
+                null,
+                uriBundle);
+        if (authResponse != null) {
+            return (Uri) authResponse.getParcelable(
+                    ContactsContract.Authorization.KEY_AUTHORIZED_URI);
+        } else {
+            return uri;
+        }
+    }
+
+    private void shareContact() {
+        final String lookupKey = mContactData.getLookupKey();
+        Uri shareUri = Uri.withAppendedPath(Contacts.CONTENT_VCARD_URI, lookupKey);
+        if (mContactData.isUserProfile()) {
+            // User is sharing the profile.  We don't want to force the receiver to have
+            // the highly-privileged READ_PROFILE permission, so we need to request a
+            // pre-authorized URI from the provider.
+            shareUri = getPreAuthorizedUri(shareUri);
         }
 
-        @Override
-        public void onItemClicked(final Action action, final boolean alternate) {
-            final Runnable startAppRunnable = new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        startActivity(alternate ? action.getAlternateIntent() : action.getIntent());
-                    } catch (ActivityNotFoundException e) {
-                        Toast.makeText(QuickContactActivity.this, R.string.quickcontact_missing_app,
+        final Intent intent = new Intent(Intent.ACTION_SEND);
+        intent.setType(Contacts.CONTENT_VCARD_TYPE);
+        intent.putExtra(Intent.EXTRA_STREAM, shareUri);
+
+        // Launch chooser to share contact via
+        final CharSequence chooseTitle = getText(R.string.share_via);
+        final Intent chooseIntent = Intent.createChooser(intent, chooseTitle);
+
+        try {
+            this.startActivity(chooseIntent);
+        } catch (final ActivityNotFoundException ex) {
+            Toast.makeText(this, R.string.share_error, Toast.LENGTH_SHORT).show();
+        }
+    }
+
+    /**
+     * Creates a launcher shortcut with the current contact.
+     */
+    private void createLauncherShortcutWithContact() {
+        final ShortcutIntentBuilder builder = new ShortcutIntentBuilder(this,
+                new OnShortcutIntentCreatedListener() {
+
+                    @Override
+                    public void onShortcutIntentCreated(Uri uri, Intent shortcutIntent) {
+                        // Broadcast the shortcutIntent to the launcher to create a
+                        // shortcut to this contact
+                        shortcutIntent.setAction(ACTION_INSTALL_SHORTCUT);
+                        QuickContactActivity.this.sendBroadcast(shortcutIntent);
+
+                        // Send a toast to give feedback to the user that a shortcut to this
+                        // contact was added to the launcher.
+                        Toast.makeText(QuickContactActivity.this,
+                                R.string.createContactShortcutSuccessful,
                                 Toast.LENGTH_SHORT).show();
                     }
 
-                    close(false);
-                }
-            };
-            // Defer the action to make the window properly repaint
-            new Handler().post(startAppRunnable);
+                });
+        builder.createContactShortcutIntent(mLookupUri);
+    }
+
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        final MenuInflater inflater = getMenuInflater();
+        inflater.inflate(R.menu.quickcontact, menu);
+        return true;
+    }
+
+    @Override
+    public boolean onPrepareOptionsMenu(Menu menu) {
+        if (mContactData != null) {
+            final MenuItem starredMenuItem = menu.findItem(R.id.menu_star);
+            ContactDisplayUtils.configureStarredMenuItem(starredMenuItem,
+                    mContactData.isDirectoryEntry(), mContactData.isUserProfile(),
+                    mContactData.getStarred());
+
+            // Configure edit MenuItem
+            final MenuItem editMenuItem = menu.findItem(R.id.menu_edit);
+            editMenuItem.setVisible(true);
+            if (DirectoryContactUtil.isDirectoryContact(mContactData) || InvisibleContactUtil
+                    .isInvisibleAndAddable(mContactData, this)) {
+                editMenuItem.setIcon(R.drawable.ic_person_add_tinted_24dp);
+                editMenuItem.setTitle(R.string.menu_add_contact);
+            } else if (isContactEditable()) {
+                editMenuItem.setIcon(R.drawable.ic_create_24dp);
+                editMenuItem.setTitle(R.string.menu_editContact);
+            } else {
+                editMenuItem.setVisible(false);
+            }
+
+            final MenuItem shareMenuItem = menu.findItem(R.id.menu_share);
+            shareMenuItem.setVisible(isContactShareable());
+
+            return true;
         }
-    };
+        return false;
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
+            case R.id.menu_star:
+                toggleStar(item);
+                return true;
+            case R.id.menu_edit:
+                if (DirectoryContactUtil.isDirectoryContact(mContactData)) {
+                    DirectoryContactUtil.addToMyContacts(mContactData, this, getFragmentManager(),
+                            mSelectAccountFragmentListener);
+                } else if (InvisibleContactUtil.isInvisibleAndAddable(mContactData, this)) {
+                    InvisibleContactUtil.addToDefaultGroup(mContactData, this);
+                } else if (isContactEditable()) {
+                    editContact();
+                }
+                return true;
+            case R.id.menu_share:
+                shareContact();
+                return true;
+            case R.id.menu_create_contact_shortcut:
+                createLauncherShortcutWithContact();
+                return true;
+            default:
+                return super.onOptionsItemSelected(item);
+        }
+    }
 }
diff --git a/src/com/android/contacts/quickcontact/QuickContactListFragment.java b/src/com/android/contacts/quickcontact/QuickContactListFragment.java
deleted file mode 100644
index 761c854..0000000
--- a/src/com/android/contacts/quickcontact/QuickContactListFragment.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.quickcontact;
-
-import android.app.Fragment;
-import android.content.ClipboardManager;
-import android.content.ClipData;
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.provider.ContactsContract.CommonDataKinds.Phone;
-import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.View.OnLongClickListener;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-import android.widget.ImageView;
-import android.widget.ListView;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import com.android.contacts.common.ContactPresenceIconUtil;
-import com.android.contacts.R;
-
-import java.util.List;
-
-/** A fragment that shows the list of resolve items below a tab */
-public class QuickContactListFragment extends Fragment {
-    private ListView mListView;
-    private List<Action> mActions;
-    private RelativeLayout mFragmentContainer;
-    private Listener mListener;
-    private String mMimeType;
-    private ClipboardManager mClipBoard;
-    private Toast mLongPressToast;
-
-    public QuickContactListFragment(String mimeType) {
-        setRetainInstance(true);
-        this.mMimeType = mimeType;
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
-        mFragmentContainer = (RelativeLayout) inflater.inflate(R.layout.quickcontact_list_fragment,
-                container, false);
-        mListView = (ListView) mFragmentContainer.findViewById(R.id.list);
-        mListView.setItemsCanFocus(true);
-
-        mFragmentContainer.setOnClickListener(mOutsideClickListener);
-        mClipBoard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
-        mLongPressToast = Toast.makeText(getActivity(),
-                R.string.toast_text_copied, Toast.LENGTH_SHORT);
-
-        configureAdapter();
-        return mFragmentContainer;
-    }
-
-    public String getMimeType() {
-        return mMimeType;
-    }
-
-    public void setActions(List<Action> actions) {
-        mActions = actions;
-        configureAdapter();
-    }
-
-    public void setListener(Listener value) {
-        mListener = value;
-    }
-
-    private void configureAdapter() {
-        if (mActions == null || mListView == null) return;
-
-        mListView.setAdapter(new BaseAdapter() {
-            @Override
-            public int getCount() {
-                return mActions.size();
-            }
-
-            @Override
-            public Object getItem(int position) {
-                return mActions.get(position);
-            }
-
-            @Override
-            public long getItemId(int position) {
-                return position;
-            }
-
-            @Override
-            public View getView(int position, View convertView, ViewGroup parent) {
-                // Set action title based on summary value
-                final Action action = mActions.get(position);
-                String mimeType = action.getMimeType();
-
-                final View resultView = convertView != null ? convertView
-                        : getActivity().getLayoutInflater().inflate(
-                                mimeType.equals(StructuredPostal.CONTENT_ITEM_TYPE) ?
-                                        R.layout.quickcontact_list_item_address :
-                                        R.layout.quickcontact_list_item,
-                                        parent, false);
-
-                // TODO: Put those findViewByIds in a container
-                final TextView text1 = (TextView) resultView.findViewById(
-                        android.R.id.text1);
-                final TextView text2 = (TextView) resultView.findViewById(
-                        android.R.id.text2);
-                final View actionsContainer = resultView.findViewById(
-                        R.id.actions_view_container);
-                final ImageView alternateActionButton = (ImageView) resultView.findViewById(
-                        R.id.secondary_action_button);
-                final View alternateActionDivider = resultView.findViewById(R.id.vertical_divider);
-                final ImageView presenceIconView =
-                        (ImageView) resultView.findViewById(R.id.presence_icon);
-
-                actionsContainer.setOnClickListener(mPrimaryActionClickListener);
-                actionsContainer.setOnLongClickListener(mPrimaryActionLongClickListener);
-                actionsContainer.setTag(action);
-                alternateActionButton.setOnClickListener(mSecondaryActionClickListener);
-                alternateActionButton.setTag(action);
-
-                final boolean hasAlternateAction = action.getAlternateIntent() != null;
-                alternateActionDivider.setVisibility(hasAlternateAction ? View.VISIBLE : View.GONE);
-                alternateActionButton.setImageDrawable(action.getAlternateIcon());
-                alternateActionButton.setContentDescription(action.getAlternateIconDescription());
-                alternateActionButton.setVisibility(hasAlternateAction ? View.VISIBLE : View.GONE);
-
-                if (mimeType.equals(Phone.CONTENT_ITEM_TYPE)) {
-                    // Force LTR text direction for phone numbers
-                    text1.setTextDirection(View.TEXT_DIRECTION_LTR);
-
-                    // Special case for phone numbers in accessibility mode
-                    text1.setContentDescription(getActivity().getString(
-                            R.string.description_dial_phone_number, action.getBody()));
-                    if (hasAlternateAction) {
-                        alternateActionButton.setContentDescription(getActivity()
-                                .getString(R.string.description_send_message, action.getBody()));
-                    }
-                }
-
-                text1.setText(action.getBody());
-                if (text2 != null) {
-                    CharSequence subtitle = action.getSubtitle();
-                    text2.setText(subtitle);
-                    if (TextUtils.isEmpty(subtitle)) {
-                        text2.setVisibility(View.GONE);
-                    } else {
-                        text2.setVisibility(View.VISIBLE);
-                    }
-                }
-                final Drawable presenceIcon = ContactPresenceIconUtil.getPresenceIcon(
-                        getActivity(), action.getPresence());
-                if (presenceIcon != null) {
-                    presenceIconView.setImageDrawable(presenceIcon);
-                    presenceIconView.setVisibility(View.VISIBLE);
-                } else {
-                    presenceIconView.setVisibility(View.GONE);
-                }
-                return resultView;
-            }
-        });
-    }
-
-    /** A data item (e.g. phone number) was clicked */
-    protected final OnClickListener mPrimaryActionClickListener = new OnClickListener() {
-        @Override
-        public void onClick(View v) {
-            final Action action = (Action) v.getTag();
-            if (mListener != null) mListener.onItemClicked(action, false);
-        }
-    };
-
-    /** A data item was long clicked */
-    protected final OnLongClickListener mPrimaryActionLongClickListener = new OnLongClickListener() {
-        @Override
-        public boolean onLongClick(View v) {
-            final Action action = (Action) v.getTag();
-            ClipData clip = android.content.ClipData.newPlainText(
-                    action.getSubtitle(), action.getBody());
-            mClipBoard.setPrimaryClip(clip);
-            mLongPressToast.show();
-            return true;
-        }
-    };
-
-    /** A secondary action (SMS) was clicked */
-    protected final OnClickListener mSecondaryActionClickListener = new OnClickListener() {
-        @Override
-        public void onClick(View v) {
-            final Action action = (Action) v.getTag();
-            if (mListener != null) mListener.onItemClicked(action, true);
-        }
-    };
-
-    private final OnClickListener mOutsideClickListener = new OnClickListener() {
-        @Override
-        public void onClick(View v) {
-            if (mListener != null) mListener.onOutsideClick();
-        }
-    };
-
-    public interface Listener {
-        void onOutsideClick();
-        void onItemClicked(Action action, boolean alternate);
-    }
-}
diff --git a/src/com/android/contacts/quickcontact/ResolveCache.java b/src/com/android/contacts/quickcontact/ResolveCache.java
index af5d160..2df867a 100644
--- a/src/com/android/contacts/quickcontact/ResolveCache.java
+++ b/src/com/android/contacts/quickcontact/ResolveCache.java
@@ -117,16 +117,14 @@
     }
 
     /**
-     * Get the {@link Entry} best associated with the given {@link Action},
+     * Get the {@link Entry} best associated with the given mimetype and intent,
      * or create and populate a new one if it doesn't exist.
      */
-    protected Entry getEntry(Action action) {
-        final String mimeType = action.getMimeType();
+    protected Entry getEntry(String mimeType, Intent intent) {
         Entry entry = mCache.get(mimeType);
         if (entry != null) return entry;
         entry = new Entry();
 
-        Intent intent = action.getIntent();
         if (SipAddress.CONTENT_ITEM_TYPE.equals(mimeType)
                 && !PhoneCapabilityTester.isSipPhone(mContext)) {
             intent = null;
@@ -196,28 +194,10 @@
 
     /**
      * Check {@link PackageManager} to see if any apps offer to handle the
-     * given {@link Action}.
+     * given {@link Intent}.
      */
-    public boolean hasResolve(Action action) {
-        return getEntry(action).bestResolve != null;
-    }
-
-    /**
-     * Find the best description for the given {@link Action}, usually used
-     * for accessibility purposes.
-     */
-    public CharSequence getDescription(Action action, String name) {
-        final ResolveInfo info = getEntry(action).bestResolve;
-        final CharSequence infoStr = info != null ? info.loadLabel(mPackageManager) : null;
-        CharSequence actionDesc = action.getSubtitle();
-        CharSequence strs[];
-        if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(actionDesc)) {
-            strs = new CharSequence[]{infoStr, name, actionDesc};
-        } else {
-            strs = new CharSequence[]{infoStr, action.getBody()};
-        }
-        CharSequence desc = TextUtils.join(" ", strs);
-        return !TextUtils.isEmpty(desc) ? desc : null;
+    public boolean hasResolve(String mimeType, Intent intent) {
+        return getEntry(mimeType, intent).bestResolve != null;
     }
 
     /**
@@ -225,8 +205,8 @@
      * based on the {@link ResolveInfo} found through a
      * {@link PackageManager} query.
      */
-    public Drawable getIcon(Action action) {
-        return getEntry(action).icon;
+    public Drawable getIcon(String mimeType, Intent intent) {
+        return getEntry(mimeType, intent).icon;
     }
 
     public void clear() {
diff --git a/src/com/android/contacts/quickcontact/WhitenessUtils.java b/src/com/android/contacts/quickcontact/WhitenessUtils.java
new file mode 100644
index 0000000..b7117e4
--- /dev/null
+++ b/src/com/android/contacts/quickcontact/WhitenessUtils.java
@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package com.android.contacts.quickcontact;
+
+import android.graphics.Bitmap;
+import android.graphics.Color;
+import android.os.Trace;
+
+/**
+ * Utility class for determining whether Bitmaps contain a lot of white pixels in locations
+ * where QuickContactActivity will want to place white text or buttons.
+ *
+ * This class liberally considers bitmaps white. All constants are chosen with a small amount of
+ * experimentation. Despite a lack of rigour, this class successfully allows QuickContactsActivity
+ * to detect when Bitmap are obviously *not* white. Therefore, it is better than nothing.
+ */
+public class WhitenessUtils {
+
+    /**
+     * Analyze this amount of the top and bottom of the bitmap.
+     */
+    private static final float HEIGHT_PERCENT_ANALYZED = 0.2f;
+
+    /**
+     * An image with more than this amount white, is considered to be a whitish image.
+     */
+    private static final float PROPORTION_WHITE_CUTOFF = 0.2f;
+
+    private static final float HALF = 0.5f;
+
+    /**
+     * Colors with luma greater than this are considered close to white. This value is lower than
+     * the value used in Palette's ColorUtils, since we want to liberally declare images white.
+     */
+    private static final float LUMINANCE_OF_WHITE =  0.90f;
+
+    /**
+     * Returns true if 20% of the image's top right corner is white, or 20% of the bottom
+     * of the image is white.
+     */
+    public static boolean isBitmapWhiteAtTopOrBottom(Bitmap largeBitmap) {
+        Trace.beginSection("isBitmapWhiteAtTopOrBottom");
+
+        final Bitmap smallBitmap = scaleBitmapDown(largeBitmap);
+
+        final int[] rgbPixels = new int[smallBitmap.getWidth() * smallBitmap.getHeight()];
+        smallBitmap.getPixels(rgbPixels, 0, smallBitmap.getWidth(), 0, 0,
+                smallBitmap.getWidth(), smallBitmap.getHeight());
+
+        // look at top right corner of the bitmap
+        int whiteCount = 0;
+        for (int y = 0; y < smallBitmap.getHeight() * HEIGHT_PERCENT_ANALYZED; y++) {
+            for (int x = (int) (smallBitmap.getWidth() * HALF); x < smallBitmap.getWidth(); x++) {
+                final int rgb = rgbPixels[y * smallBitmap.getWidth() + x];
+                if (isWhite(rgb)) {
+                    whiteCount ++;
+                }
+            }
+        }
+        int totalPixels = (int) (smallBitmap.getHeight() * smallBitmap.getWidth()
+                * HALF * HEIGHT_PERCENT_ANALYZED);
+        if (whiteCount / (float) totalPixels > PROPORTION_WHITE_CUTOFF) {
+            return true;
+        }
+
+        // look at bottom portion of bitmap
+        whiteCount = 0;
+        for (int y = (int) (smallBitmap.getHeight() * (1 - HEIGHT_PERCENT_ANALYZED));
+                y <  smallBitmap.getHeight(); y++) {
+            for (int x = 0; x < smallBitmap.getWidth(); x++) {
+                final int rgb = rgbPixels[y * smallBitmap.getWidth() + x];
+                if (isWhite(rgb)) {
+                    whiteCount ++;
+                }
+            }
+        }
+
+        totalPixels = (int) (smallBitmap.getHeight()
+                * smallBitmap.getWidth() * HEIGHT_PERCENT_ANALYZED);
+
+        Trace.endSection();
+        return whiteCount / (float) totalPixels > PROPORTION_WHITE_CUTOFF;
+    }
+
+    private static boolean isWhite(int rgb) {
+        return calculateXyzLuma(rgb) > LUMINANCE_OF_WHITE;
+    }
+
+    private static float calculateXyzLuma(int rgb) {
+        return (0.2126f * Color.red(rgb) +
+                0.7152f * Color.green(rgb) +
+                0.0722f * Color.blue(rgb)) / 255f;
+    }
+
+    /**
+     * Scale down the bitmap in order to make color analysis faster. Taken from Palette.
+     */
+    private static Bitmap scaleBitmapDown(Bitmap bitmap) {
+        final int CALCULATE_BITMAP_MIN_DIMENSION = 100;
+        final int minDimension = Math.min(bitmap.getWidth(), bitmap.getHeight());
+
+        if (minDimension <= CALCULATE_BITMAP_MIN_DIMENSION) {
+            // If the bitmap is small enough already, just return it
+            return bitmap;
+        }
+
+        final float scaleRatio = CALCULATE_BITMAP_MIN_DIMENSION / (float) minDimension;
+        return Bitmap.createScaledBitmap(bitmap,
+                Math.round(bitmap.getWidth() * scaleRatio),
+                Math.round(bitmap.getHeight() * scaleRatio),
+                false);
+    }
+}
diff --git a/src/com/android/contacts/util/ContactBadgeUtil.java b/src/com/android/contacts/util/ContactBadgeUtil.java
deleted file mode 100644
index fe792d7..0000000
--- a/src/com/android/contacts/util/ContactBadgeUtil.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.contacts.util;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.text.TextUtils;
-import android.text.format.DateUtils;
-import android.util.Log;
-
-import com.android.contacts.common.ContactPhotoManager;
-import com.android.contacts.util.StreamItemEntry;
-import com.android.contacts.R;
-
-/**
- * Provides static functions to extract summary information for aggregate contacts
- */
-public class ContactBadgeUtil {
-    private static final String TAG = "ContactBadgeUtil";
-
-    /**
-     * Returns the social snippet attribution for the given stream item entry, including the date.
-     */
-    public static CharSequence getSocialDate(StreamItemEntry streamItem, Context context) {
-        final CharSequence timestampDisplayValue;
-        final Long statusTimestamp = streamItem.getTimestamp();
-        if (statusTimestamp  != null) {
-            // Set the date/time field by mixing relative and absolute
-            // times.
-            int flags = DateUtils.FORMAT_ABBREV_RELATIVE;
-
-            timestampDisplayValue = DateUtils.getRelativeTimeSpanString(
-                    statusTimestamp.longValue(), System.currentTimeMillis(),
-                    DateUtils.MINUTE_IN_MILLIS, flags);
-        } else {
-            timestampDisplayValue = null;
-        }
-
-
-        String labelDisplayValue = null;
-
-        final String statusLabelRes = streamItem.getLabelRes();
-        final String statusResPackage = streamItem.getResPackage();
-
-        // Package name used for resources.getIdentifier()
-        String identiferPackage = statusResPackage;
-        if (statusLabelRes  != null) {
-            Resources resources;
-            if (TextUtils.isEmpty(statusResPackage)) {
-                resources = context.getResources();
-                // In this case, we're using the framework resources.
-                identiferPackage = "android";
-            } else {
-                PackageManager pm = context.getPackageManager();
-                try {
-                    resources = pm.getResourcesForApplication(statusResPackage);
-                } catch (NameNotFoundException e) {
-                    Log.w(TAG, "Contact status update resource package not found: "
-                            + statusResPackage);
-                    resources = null;
-                }
-            }
-
-            if (resources != null) {
-                final int resId = resources.getIdentifier(statusLabelRes, "string",
-                        identiferPackage);
-                if (resId == 0) {
-                    Log.w(TAG, "Contact status update resource not found: " + statusLabelRes +
-                            " in " + statusResPackage);
-                } else {
-                    labelDisplayValue = resources.getString(resId);
-                }
-            }
-        }
-
-        final CharSequence attribution;
-        if (timestampDisplayValue != null && labelDisplayValue != null) {
-            attribution = context.getString(
-                    R.string.contact_status_update_attribution_with_date,
-                    timestampDisplayValue, labelDisplayValue);
-        } else if (timestampDisplayValue == null && labelDisplayValue != null) {
-            attribution = context.getString(
-                    R.string.contact_status_update_attribution,
-                    labelDisplayValue);
-        } else if (timestampDisplayValue != null) {
-            attribution = timestampDisplayValue;
-        } else {
-            attribution = null;
-        }
-        return attribution;
-    }
-
-    public static Bitmap loadDefaultAvatarPhoto(Context context, boolean hires, boolean darkTheme) {
-        return BitmapFactory.decodeResource(context.getResources(),
-                R.drawable.ic_contacts_holo_dark);
-    }
-}
diff --git a/src/com/android/contacts/util/HtmlUtils.java b/src/com/android/contacts/util/HtmlUtils.java
deleted file mode 100644
index edcda13..0000000
--- a/src/com/android/contacts/util/HtmlUtils.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.util;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.text.Html;
-import android.text.Html.ImageGetter;
-import android.text.Html.TagHandler;
-import android.text.SpannableStringBuilder;
-import android.text.Spanned;
-import android.text.TextUtils;
-import android.text.style.ImageSpan;
-import android.text.style.QuoteSpan;
-
-import com.android.contacts.R;
-import com.google.common.annotations.VisibleForTesting;
-
-/**
- * Provides static functions to perform custom HTML to text conversions.
- * Specifically, it adjusts the color and padding of the vertical
- * stripe on block quotes and alignment of inlined images.
- */
-@VisibleForTesting
-public class HtmlUtils {
-
-    /**
-     * Converts HTML string to a {@link Spanned} text, adjusting formatting. Any extra new line
-     * characters at the end of the text will be trimmed.
-     */
-    public static Spanned fromHtml(Context context, String text) {
-        if (TextUtils.isEmpty(text)) {
-            return null;
-        }
-        Spanned spanned = Html.fromHtml(text);
-        return postprocess(context, spanned);
-    }
-
-    /**
-     * Converts HTML string to a {@link Spanned} text, adjusting formatting and using a custom
-     * image getter. Any extra new line characters at the end of the text will be trimmed.
-     */
-    public static CharSequence fromHtml(Context context, String text, ImageGetter imageGetter,
-            TagHandler tagHandler) {
-        if (TextUtils.isEmpty(text)) {
-            return null;
-        }
-        return postprocess(context, Html.fromHtml(text, imageGetter, tagHandler));
-    }
-
-    /**
-     * Replaces some spans with custom versions of those. Any extra new line characters at the end
-     * of the text will be trimmed.
-     */
-    @VisibleForTesting
-    static Spanned postprocess(Context context, Spanned original) {
-        if (original == null) {
-            return null;
-        }
-        final int length = original.length();
-        if (length == 0) {
-            return original; // Bail early.
-        }
-
-        // If it's a SpannableStringBuilder, just use it.  Otherwise, create a new
-        // SpannableStringBuilder based on the passed Spanned.
-        final SpannableStringBuilder builder;
-        if (original instanceof SpannableStringBuilder) {
-            builder = (SpannableStringBuilder) original;
-        } else {
-            builder = new SpannableStringBuilder(original);
-        }
-
-        final QuoteSpan[] quoteSpans = builder.getSpans(0, length, QuoteSpan.class);
-        if (quoteSpans != null && quoteSpans.length != 0) {
-            Resources resources = context.getResources();
-            int color = resources.getColor(R.color.stream_item_stripe_color);
-            int width = resources.getDimensionPixelSize(R.dimen.stream_item_stripe_width);
-            for (int i = 0; i < quoteSpans.length; i++) {
-                replaceSpan(builder, quoteSpans[i], new StreamItemQuoteSpan(color, width));
-            }
-        }
-
-        final ImageSpan[] imageSpans = builder.getSpans(0, length, ImageSpan.class);
-        if (imageSpans != null) {
-            for (int i = 0; i < imageSpans.length; i++) {
-                ImageSpan span = imageSpans[i];
-                replaceSpan(builder, span, new ImageSpan(span.getDrawable(),
-                        ImageSpan.ALIGN_BASELINE));
-            }
-        }
-
-        // Trim the trailing new line characters at the end of the text (which can be added
-        // when HTML block quote tags are turned into new line characters).
-        int end = length;
-        for (int i = builder.length() - 1; i >= 0; i--) {
-            if (builder.charAt(i) != '\n') {
-                break;
-            }
-            end = i;
-        }
-
-        // If there's no trailing newlines, just return it.
-        if (end == length) {
-            return builder;
-        }
-
-        // Otherwise, Return a substring of the original {@link Spanned} text
-        // from the start index (inclusive) to the end index (exclusive).
-        return new SpannableStringBuilder(builder, 0, end);
-    }
-
-    /**
-     * Replaces one span with the other.
-     */
-    private static void replaceSpan(SpannableStringBuilder builder, Object originalSpan,
-            Object newSpan) {
-        builder.setSpan(newSpan,
-                builder.getSpanStart(originalSpan),
-                builder.getSpanEnd(originalSpan),
-                builder.getSpanFlags(originalSpan));
-        builder.removeSpan(originalSpan);
-    }
-
-    public static class StreamItemQuoteSpan extends QuoteSpan {
-        private final int mWidth;
-
-        public StreamItemQuoteSpan(int color, int width) {
-            super(color);
-            this.mWidth = width;
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        @Override
-        public int getLeadingMargin(boolean first) {
-            return mWidth;
-        }
-    }
-}
diff --git a/src/com/android/contacts/util/ImageViewDrawableSetter.java b/src/com/android/contacts/util/ImageViewDrawableSetter.java
index 4dfa66c..226909e 100644
--- a/src/com/android/contacts/util/ImageViewDrawableSetter.java
+++ b/src/com/android/contacts/util/ImageViewDrawableSetter.java
@@ -89,7 +89,9 @@
         if (mPreviousDrawable == null) {
             // If we don't already have a drawable, skip the exit-early test
             // below; otherwise we might not end up setting the default image.
-        } else if (mPreviousDrawable != null && Arrays.equals(mCompressed, compressed)) {
+        } else if (mPreviousDrawable != null
+                && mPreviousDrawable instanceof BitmapDrawable
+                && Arrays.equals(mCompressed, compressed)) {
             // TODO: the worst case is when the arrays are equal but not
             // identical. This takes about 1ms (more with high-res photos). A
             // possible optimization is to sparsely sample chunks of the arrays
@@ -149,10 +151,11 @@
         }
 
         if (TextUtils.isEmpty(mContact.getLookupKey())) {
-            request = new DefaultImageRequest(null, mContact.getDisplayName(), contactType);
+            request = new DefaultImageRequest(null, mContact.getDisplayName(), contactType,
+                    false /* isCircular */);
         } else {
             request = new DefaultImageRequest(mContact.getDisplayName(), mContact.getLookupKey(),
-                    contactType);
+                    contactType, false /* isCircular */);
         }
         return ContactPhotoManager.getDefaultAvatarDrawableForContact(resources, true, request);
     }
diff --git a/src/com/android/contacts/util/PhoneCapabilityTester.java b/src/com/android/contacts/util/PhoneCapabilityTester.java
index e20a076..eec9916 100644
--- a/src/com/android/contacts/util/PhoneCapabilityTester.java
+++ b/src/com/android/contacts/util/PhoneCapabilityTester.java
@@ -102,19 +102,4 @@
         final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
         return isIntentRegistered(context, intent);
     }
-
-    /**
-     * True if we are using two-pane layouts ("tablet mode"), false if we are using single views
-     * ("phone mode")
-     */
-    public static boolean isUsingTwoPanes(Context context) {
-        return context.getResources().getBoolean(R.bool.config_use_two_panes);
-    }
-
-    /**
-     * True if the favorites tab should be shown in two-pane mode.  False, otherwise.
-     */
-    public static boolean isUsingTwoPanesInFavorites(Context context) {
-        return context.getResources().getBoolean(R.bool.config_use_two_panes_in_favorites);
-    }
 }
diff --git a/src/com/android/contacts/util/SchedulingUtils.java b/src/com/android/contacts/util/SchedulingUtils.java
index 94294fa..fbb2458 100644
--- a/src/com/android/contacts/util/SchedulingUtils.java
+++ b/src/com/android/contacts/util/SchedulingUtils.java
@@ -19,6 +19,7 @@
 import android.view.View;
 import android.view.ViewTreeObserver.OnDrawListener;
 import android.view.ViewTreeObserver.OnGlobalLayoutListener;
+import android.view.ViewTreeObserver.OnPreDrawListener;
 
 /** Static methods that are useful for scheduling actions to occur at a later time. */
 public class SchedulingUtils {
@@ -37,15 +38,17 @@
         view.getViewTreeObserver().addOnGlobalLayoutListener(listener);
     }
 
-    /** Runs a piece of code just before the next draw. */
-    public static void doAfterDraw(final View view, final Runnable runnable) {
-        final OnDrawListener listener = new OnDrawListener() {
+    /** Runs a piece of code just before the next draw, after layout and measurement */
+    public static void doOnPreDraw(final View view, final boolean drawNextFrame,
+            final Runnable runnable) {
+        final OnPreDrawListener listener = new OnPreDrawListener() {
             @Override
-            public void onDraw() {
-                view.getViewTreeObserver().removeOnDrawListener(this);
+            public boolean onPreDraw() {
+                view.getViewTreeObserver().removeOnPreDrawListener(this);
                 runnable.run();
+                return drawNextFrame;
             }
         };
-        view.getViewTreeObserver().addOnDrawListener(listener);
+        view.getViewTreeObserver().addOnPreDrawListener(listener);
     }
 }
diff --git a/src/com/android/contacts/util/StreamItemEntry.java b/src/com/android/contacts/util/StreamItemEntry.java
deleted file mode 100644
index e5696a1..0000000
--- a/src/com/android/contacts/util/StreamItemEntry.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.util;
-
-import android.content.Context;
-import android.database.Cursor;
-import android.provider.ContactsContract.StreamItems;
-import android.text.Html;
-
-import com.android.contacts.detail.ContactDetailDisplayUtils;
-import com.android.contacts.common.test.NeededForTesting;
-
-import com.google.common.annotations.VisibleForTesting;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * Data object for a social stream item.  Social stream items may contain multiple
- * mPhotos.  Social stream item entries are comparable; entries with more recent
- * timestamps will be displayed on top.
- */
-public class StreamItemEntry implements Comparable<StreamItemEntry> {
-
-    // Basic stream item fields.
-    private final long mId;
-    private final String mText;
-    private final String mComments;
-    private final long mTimestamp;
-    private final String mAccountType;
-    private final String mAccountName;
-    private final String mDataSet;
-
-    private boolean mDecoded;
-    private CharSequence mDecodedText;
-    private CharSequence mDecodedComments;
-
-    // Package references for label and icon resources.
-    private final String mResPackage;
-    private final String mIconRes;
-    private final String mLabelRes;
-
-    // Photos associated with this stream item.
-    private List<StreamItemPhotoEntry> mPhotos;
-
-    @NeededForTesting
-    public static StreamItemEntry createForTest(long id, String text, String comments,
-            long timestamp, String accountType, String accountName, String dataSet,
-            String resPackage, String iconRes, String labelRes) {
-        return new StreamItemEntry(id, text, comments, timestamp, accountType, accountName, dataSet,
-                resPackage, iconRes, labelRes);
-    }
-
-    private StreamItemEntry(long id, String text, String comments, long timestamp,
-            String accountType, String accountName, String dataSet, String resPackage,
-            String iconRes, String labelRes) {
-        mId = id;
-        mText = text;
-        mComments = comments;
-        mTimestamp = timestamp;
-        mAccountType = accountType;
-        mAccountName = accountName;
-        mDataSet = dataSet;
-        mResPackage = resPackage;
-        mIconRes = iconRes;
-        mLabelRes = labelRes;
-        mPhotos = new ArrayList<StreamItemPhotoEntry>();
-    }
-
-    public StreamItemEntry(Cursor cursor) {
-        // This is expected to be populated via a cursor containing all StreamItems columns in
-        // its projection.
-        mId = getLong(cursor, StreamItems._ID);
-        mText = getString(cursor, StreamItems.TEXT);
-        mComments = getString(cursor, StreamItems.COMMENTS);
-        mTimestamp = getLong(cursor, StreamItems.TIMESTAMP);
-        mAccountType = getString(cursor, StreamItems.ACCOUNT_TYPE);
-        mAccountName = getString(cursor, StreamItems.ACCOUNT_NAME);
-        mDataSet = getString(cursor, StreamItems.DATA_SET);
-        mResPackage = getString(cursor, StreamItems.RES_PACKAGE);
-        mIconRes = getString(cursor, StreamItems.RES_ICON);
-        mLabelRes = getString(cursor, StreamItems.RES_LABEL);
-        mPhotos = new ArrayList<StreamItemPhotoEntry>();
-    }
-
-    public void addPhoto(StreamItemPhotoEntry photoEntry) {
-        mPhotos.add(photoEntry);
-    }
-
-    @Override
-    public int compareTo(StreamItemEntry other) {
-        return mTimestamp == other.mTimestamp ? 0 : mTimestamp > other.mTimestamp ? -1 : 1;
-    }
-
-    public long getId() {
-        return mId;
-    }
-
-    public String getText() {
-        return mText;
-    }
-
-    public String getComments() {
-        return mComments;
-    }
-
-    public long getTimestamp() {
-        return mTimestamp;
-    }
-
-    public String getAccountType() {
-        return mAccountType;
-    }
-
-    public String getAccountName() {
-        return mAccountName;
-    }
-
-    public String getDataSet() {
-        return mDataSet;
-    }
-
-    public String getResPackage() {
-        return mResPackage;
-    }
-
-    public String getIconRes() {
-        return mIconRes;
-    }
-
-    public String getLabelRes() {
-        return mLabelRes;
-    }
-
-    public List<StreamItemPhotoEntry> getPhotos() {
-        Collections.sort(mPhotos);
-        return mPhotos;
-    }
-
-    /**
-     * Make {@link #getDecodedText} and {@link #getDecodedComments} available.  Must be called
-     * before calling those.
-     *
-     * We can't do this automatically in the getters, because it'll require a {@link Context}.
-     */
-    @VisibleForTesting
-    public void decodeHtml(Context context) {
-        final Html.ImageGetter imageGetter = ContactDetailDisplayUtils.getImageGetter(context);
-        if (mText != null) {
-            mDecodedText = HtmlUtils.fromHtml(context, mText, imageGetter, null);
-        }
-        if (mComments != null) {
-            mDecodedComments = HtmlUtils.fromHtml(context, mComments, imageGetter, null);
-        }
-        mDecoded = true;
-    }
-
-    public CharSequence getDecodedText() {
-        checkDecoded();
-        return mDecodedText;
-    }
-
-    public CharSequence getDecodedComments() {
-        checkDecoded();
-        return mDecodedComments;
-    }
-
-    private void checkDecoded() {
-        if (!mDecoded) {
-            throw new IllegalStateException("decodeHtml must have been called");
-        }
-    }
-
-    private static String getString(Cursor cursor, String columnName) {
-        return cursor.getString(cursor.getColumnIndex(columnName));
-    }
-
-    private static long getLong(Cursor cursor, String columnName) {
-        final int columnIndex = cursor.getColumnIndex(columnName);
-        return cursor.getLong(columnIndex);
-    }
-}
diff --git a/src/com/android/contacts/util/StreamItemPhotoEntry.java b/src/com/android/contacts/util/StreamItemPhotoEntry.java
deleted file mode 100644
index ad69e5c..0000000
--- a/src/com/android/contacts/util/StreamItemPhotoEntry.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.util;
-
-import android.database.Cursor;
-import android.provider.ContactsContract.PhotoFiles;
-import android.provider.ContactsContract.StreamItemPhotos;
-
-/**
- * Data object for a photo associated with a social stream item.  These are comparable;
- * entries with a lower sort index will be displayed on top (with the ID used as a
- * tie-breaker).
- */
-public class StreamItemPhotoEntry implements Comparable<StreamItemPhotoEntry> {
-    private final long mId;
-    private final int mSortIndex;
-    private final long mPhotoFileId;
-    private final String mPhotoUri;
-    private final int mHeight;
-    private final int mWidth;
-    private final int mFileSize;
-
-    public StreamItemPhotoEntry(long id, int sortIndex, long photoFileId, String photoUri,
-            int height, int width, int fileSize) {
-        mId = id;
-        mSortIndex = sortIndex;
-        mPhotoFileId = photoFileId;
-        mPhotoUri = photoUri;
-        mHeight = height;
-        mWidth = width;
-        mFileSize = fileSize;
-    }
-
-    public StreamItemPhotoEntry(Cursor cursor) {
-        // This is expected to be populated via a cursor containing a join of all
-        // StreamItemPhotos columns and all PhotoFiles columns (except for ID).
-        mId = getLong(cursor, StreamItemPhotos._ID);
-        mSortIndex = getInt(cursor, StreamItemPhotos.SORT_INDEX, -1);
-        mPhotoFileId = getLong(cursor, StreamItemPhotos.PHOTO_FILE_ID);
-        mPhotoUri = getString(cursor, StreamItemPhotos.PHOTO_URI);
-        mHeight = getInt(cursor, PhotoFiles.HEIGHT, -1);
-        mWidth = getInt(cursor, PhotoFiles.WIDTH, -1);
-        mFileSize = getInt(cursor, PhotoFiles.FILESIZE, -1);
-    }
-
-    public long getId() {
-        return mId;
-    }
-
-    public int getSortIndex() {
-        return mSortIndex;
-    }
-
-    public long getPhotoFileId() {
-        return mPhotoFileId;
-    }
-
-    public String getPhotoUri() {
-        return mPhotoUri;
-    }
-
-    public int getHeight() {
-        return mHeight;
-    }
-
-    public int getWidth() {
-        return mWidth;
-    }
-
-    public int getFileSize() {
-        return mFileSize;
-    }
-
-    @Override
-    public int compareTo(StreamItemPhotoEntry streamItemPhotoEntry) {
-        // Sort index is used to compare, falling back to ID if neither entry has a
-        // sort index specified (entries without a sort index are sorted after entries
-        // that have one).
-        if (mSortIndex == streamItemPhotoEntry.mSortIndex) {
-            if (mSortIndex == -1) {
-                return mId == streamItemPhotoEntry.mId ? 0
-                        : mId < streamItemPhotoEntry.mId ? -1 : 1;
-            } else {
-                return 0;
-            }
-        } else {
-            if (mSortIndex == -1) {
-                return 1;
-            }
-            if (streamItemPhotoEntry.mSortIndex == -1) {
-                return -1;
-            }
-            return mSortIndex == streamItemPhotoEntry.mSortIndex ? 0
-                    : mSortIndex < streamItemPhotoEntry.mSortIndex ? -1 : 1;
-        }
-    }
-
-    private static String getString(Cursor cursor, String columnName) {
-        return cursor.getString(cursor.getColumnIndex(columnName));
-    }
-
-    private static int getInt(Cursor cursor, String columnName, int missingValue) {
-        final int columnIndex = cursor.getColumnIndex(columnName);
-        return cursor.isNull(columnIndex) ? missingValue : cursor.getInt(columnIndex);
-    }
-
-    private static long getLong(Cursor cursor, String columnName) {
-        final int columnIndex = cursor.getColumnIndex(columnName);
-        return cursor.getLong(columnIndex);
-    }
-}
diff --git a/src/com/android/contacts/util/StructuredPostalUtils.java b/src/com/android/contacts/util/StructuredPostalUtils.java
index 59d38ea..6e46176 100644
--- a/src/com/android/contacts/util/StructuredPostalUtils.java
+++ b/src/com/android/contacts/util/StructuredPostalUtils.java
@@ -30,4 +30,12 @@
     public static Uri getPostalAddressUri(String postalAddress) {
         return Uri.parse("geo:0,0?q=" + Uri.encode(postalAddress));
     }
+
+    public static Intent getViewPostalAddressDirectionsIntent(String postalAddress) {
+        return new Intent(Intent.ACTION_VIEW, getPostalAddressDirectionsUri(postalAddress));
+    }
+
+    public static Uri getPostalAddressDirectionsUri(String postalAddress) {
+        return Uri.parse("https://maps.google.com/maps?daddr=" + Uri.encode(postalAddress));
+    }
 }
diff --git a/src/com/android/contacts/widget/AlphaTouchInterceptorOverlay.java b/src/com/android/contacts/widget/AlphaTouchInterceptorOverlay.java
index 8779a95..f203193 100644
--- a/src/com/android/contacts/widget/AlphaTouchInterceptorOverlay.java
+++ b/src/com/android/contacts/widget/AlphaTouchInterceptorOverlay.java
@@ -20,7 +20,7 @@
 import android.view.View;
 import android.widget.FrameLayout;
 
-import com.android.contacts.detail.ContactDetailDisplayUtils;
+import com.android.contacts.detail.ContactDisplayUtils;
 import com.android.contacts.util.ThemeUtils;
 
 /**
@@ -66,7 +66,7 @@
         if (mAlphaLayer == alphaLayer) return;
 
         // We're no longer the alpha-layer, so make ourself invisible.
-        if (mAlphaLayer == this) ContactDetailDisplayUtils.setAlphaOnViewBackground(this, 0.0f);
+        if (mAlphaLayer == this) ContactDisplayUtils.setAlphaOnViewBackground(this, 0.0f);
 
         mAlphaLayer = (alphaLayer == null) ? this : alphaLayer;
         setAlphaLayerValue(mAlpha);
@@ -76,7 +76,7 @@
     public void setAlphaLayerValue(float alpha) {
         mAlpha = alpha;
         if (mAlphaLayer != null) {
-            ContactDetailDisplayUtils.setAlphaOnViewBackground(mAlphaLayer, mAlpha);
+            ContactDisplayUtils.setAlphaOnViewBackground(mAlphaLayer, mAlpha);
         }
     }
 
diff --git a/src/com/android/contacts/widget/CompositeListAdapter.java b/src/com/android/contacts/widget/CompositeListAdapter.java
index d83246a..4c72ee8 100644
--- a/src/com/android/contacts/widget/CompositeListAdapter.java
+++ b/src/com/android/contacts/widget/CompositeListAdapter.java
@@ -21,7 +21,7 @@
 import android.widget.BaseAdapter;
 import android.widget.ListAdapter;
 
-import com.android.contacts.common.test.NeededForTesting;
+import com.android.contacts.common.testing.NeededForTesting;
 import com.google.common.annotations.VisibleForTesting;
 
 /**
diff --git a/src/com/android/contacts/widget/MultiShrinkScroller.java b/src/com/android/contacts/widget/MultiShrinkScroller.java
new file mode 100644
index 0000000..82b3970
--- /dev/null
+++ b/src/com/android/contacts/widget/MultiShrinkScroller.java
@@ -0,0 +1,1226 @@
+package com.android.contacts.widget;
+
+import com.android.contacts.R;
+import com.android.contacts.quickcontact.ExpandingEntryCardView;
+import com.android.contacts.test.NeededForReflection;
+import com.android.contacts.util.SchedulingUtils;
+
+import android.animation.Animator;
+import android.animation.Animator.AnimatorListener;
+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.Configuration;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.ColorMatrix;
+import android.graphics.ColorMatrixColorFilter;
+import android.graphics.Rect;
+import android.graphics.drawable.GradientDrawable;
+import android.hardware.display.DisplayManagerGlobal;
+import android.os.Trace;
+import android.util.AttributeSet;
+import android.util.TypedValue;
+import android.view.Display;
+import android.view.DisplayInfo;
+import android.view.Gravity;
+import android.view.MotionEvent;
+import android.view.VelocityTracker;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewConfiguration;
+import android.view.animation.AnimationUtils;
+import android.view.animation.Interpolator;
+import android.view.animation.PathInterpolator;
+import android.widget.EdgeEffect;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout;
+import android.widget.Scroller;
+import android.widget.ScrollView;
+import android.widget.TextView;
+
+/**
+ * A custom {@link ViewGroup} that operates similarly to a {@link ScrollView}, except with multiple
+ * subviews. These subviews are scrolled or shrinked one at a time, until each reaches their
+ * minimum or maximum value.
+ *
+ * MultiShrinkScroller is designed for a specific problem. As such, this class is designed to be
+ * used with a specific layout file: quickcontact_activity.xml. MultiShrinkScroller expects subviews
+ * with specific ID values.
+ *
+ * MultiShrinkScroller's code is heavily influenced by ScrollView. Nonetheless, several ScrollView
+ * features are missing. For example: handling of KEYCODES, OverScroll bounce and saving
+ * scroll state in savedInstanceState bundles.
+ */
+public class MultiShrinkScroller extends FrameLayout {
+
+    /**
+     * 1000 pixels per millisecond. Ie, 1 pixel per second.
+     */
+    private static final int PIXELS_PER_SECOND = 1000;
+
+    /**
+     * Length of the acceleration animations. This value was taken from ValueAnimator.java.
+     */
+    private static final int EXIT_FLING_ANIMATION_DURATION_MS = 300;
+
+    /**
+     * Length of the entrance animation.
+     */
+    private static final int ENTRANCE_ANIMATION_SLIDE_OPEN_DURATION_MS = 250;
+
+    /**
+     * In portrait mode, the height:width ratio of the photo's starting height.
+     */
+    private static final float INTERMEDIATE_HEADER_HEIGHT_RATIO = 0.5f;
+
+    private float[] mLastEventPosition = { 0, 0 };
+    private VelocityTracker mVelocityTracker;
+    private boolean mIsBeingDragged = false;
+    private boolean mReceivedDown = false;
+
+    private ScrollView mScrollView;
+    private View mScrollViewChild;
+    private View mToolbar;
+    private QuickContactImageView mPhotoView;
+    private View mPhotoViewContainer;
+    private View mTransparentView;
+    private MultiShrinkScrollerListener mListener;
+    private TextView mLargeTextView;
+    private View mPhotoTouchInterceptOverlay;
+    /** Contains desired location/size of the title, once the header is fully compressed */
+    private TextView mInvisiblePlaceholderTextView;
+    private View mTitleGradientView;
+    private View mActionBarGradientView;
+    private int mHeaderTintColor;
+    private int mMaximumHeaderHeight;
+    private int mMinimumHeaderHeight;
+    /**
+     * When the contact photo is tapped, it is resized to max size or this size. This value also
+     * sometimes represents the maximum achievable header size achieved by scrolling. To enforce
+     * this maximum in scrolling logic, always access this value via
+     * {@link #getMaximumScrollableHeaderHeight}.
+     */
+    private int mIntermediateHeaderHeight;
+    /**
+     * If true, regular scrolling can expand the header beyond mIntermediateHeaderHeight. The
+     * header, that contains the contact photo, can expand to a height equal its width.
+     */
+    private boolean mIsOpenContactSquare;
+    private int mMaximumHeaderTextSize;
+    private int mCollapsedTitleBottomMargin;
+    private int mCollapsedTitleStartMargin;
+    private int mMinimumPortraitHeaderHeight;
+    private int mMaximumPortraitHeaderHeight;
+    /**
+     * True once the header has touched the top of the screen at least once.
+     */
+    private boolean mHasEverTouchedTheTop;
+
+    private final Scroller mScroller;
+    private final EdgeEffect mEdgeGlowBottom;
+    private final int mTouchSlop;
+    private final int mMaximumVelocity;
+    private final int mMinimumVelocity;
+    private final int mTransparentStartHeight;
+    private final int mMaximumTitleMargin;
+    private final float mToolbarElevation;
+    private final boolean mIsTwoPanel;
+    private final int mActionBarSize;
+
+    // Objects used to perform color filtering on the header. These are stored as fields for
+    // the sole purpose of avoiding "new" operations inside animation loops.
+    private final ColorMatrix mWhitenessColorMatrix = new ColorMatrix();
+    private final  ColorMatrixColorFilter mColorFilter = new ColorMatrixColorFilter(
+            mWhitenessColorMatrix);
+    private final ColorMatrix mColorMatrix = new ColorMatrix();
+    private final float[] mAlphaMatrixValues = {
+            0, 0, 0, 0, 0,
+            0, 0, 0, 0, 0,
+            0, 0, 0, 0, 0,
+            0, 0, 0, 1, 0
+    };
+    private final ColorMatrix mMultiplyBlendMatrix = new ColorMatrix();
+    private final float[] mMultiplyBlendMatrixValues = {
+            0, 0, 0, 0, 0,
+            0, 0, 0, 0, 0,
+            0, 0, 0, 0, 0,
+            0, 0, 0, 1, 0
+    };
+
+    private final PathInterpolator mTextSizePathInterpolator
+            = new PathInterpolator(0.16f, 0.4f, 0.2f, 1);
+
+    private final int[] mGradientColors = new int[] {0,0xAA000000};
+    private GradientDrawable mTitleGradientDrawable = new GradientDrawable(
+            GradientDrawable.Orientation.TOP_BOTTOM, mGradientColors);
+    private GradientDrawable mActionBarGradientDrawable = new GradientDrawable(
+            GradientDrawable.Orientation.BOTTOM_TOP, mGradientColors);
+
+    public interface MultiShrinkScrollerListener {
+        void onScrolledOffBottom();
+
+        void onStartScrollOffBottom();
+
+        void onTransparentViewHeightChange(float ratio);
+
+        void onEntranceAnimationDone();
+
+        void onEnterFullscreen();
+
+        void onExitFullscreen();
+    }
+
+    private final AnimatorListener mHeaderExpandAnimationListener = new AnimatorListenerAdapter() {
+        @Override
+        public void onAnimationEnd(Animator animation) {
+            mPhotoTouchInterceptOverlay.setClickable(true);
+        }
+    };
+
+    private final AnimatorListener mSnapToBottomListener = new AnimatorListenerAdapter() {
+        @Override
+        public void onAnimationEnd(Animator animation) {
+            if (getScrollUntilOffBottom() > 0 && mListener != null) {
+                // Due to a rounding error, after the animation finished we haven't fully scrolled
+                // off the screen. Lie to the listener: tell it that we did scroll off the screen.
+                mListener.onScrolledOffBottom();
+                // No other messages need to be sent to the listener.
+                mListener = null;
+            }
+        }
+    };
+
+    /**
+     * Interpolator from android.support.v4.view.ViewPager. Snappier and more elastic feeling
+     * than the default interpolator.
+     */
+    private static final Interpolator sInterpolator = new Interpolator() {
+
+        /**
+         * {@inheritDoc}
+         */
+        @Override
+        public float getInterpolation(float t) {
+            t -= 1.0f;
+            return t * t * t * t * t + 1.0f;
+        }
+    };
+
+    public MultiShrinkScroller(Context context) {
+        this(context, null);
+    }
+
+    public MultiShrinkScroller(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public MultiShrinkScroller(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+
+        final ViewConfiguration configuration = ViewConfiguration.get(context);
+        setFocusable(false);
+        // Drawing must be enabled in order to support EdgeEffect
+        setWillNotDraw(/* willNotDraw = */ false);
+
+        mEdgeGlowBottom = new EdgeEffect(context);
+        mScroller = new Scroller(context, sInterpolator);
+        mTouchSlop = configuration.getScaledTouchSlop();
+        mMinimumVelocity = configuration.getScaledMinimumFlingVelocity();
+        mMaximumVelocity = configuration.getScaledMaximumFlingVelocity();
+        mTransparentStartHeight = (int) getResources().getDimension(
+                R.dimen.quickcontact_starting_empty_height);
+        mToolbarElevation = getResources().getDimension(
+                R.dimen.quick_contact_toolbar_elevation);
+        mIsTwoPanel = getResources().getBoolean(R.bool.quickcontact_two_panel);
+        mMaximumTitleMargin = (int) getResources().getDimension(
+                R.dimen.quickcontact_title_initial_margin);
+
+        final TypedArray attributeArray = context.obtainStyledAttributes(
+                new int[]{android.R.attr.actionBarSize});
+        mActionBarSize = attributeArray.getDimensionPixelSize(0, 0);
+        mMinimumHeaderHeight = mActionBarSize;
+        // This value is approximately equal to the portrait ActionBar size. It isn't exactly the
+        // same, since the landscape and portrait ActionBar sizes can be different.
+        mMinimumPortraitHeaderHeight = mMinimumHeaderHeight;
+        attributeArray.recycle();
+    }
+
+    /**
+     * This method must be called inside the Activity's OnCreate.
+     */
+    public void initialize(MultiShrinkScrollerListener listener, boolean isOpenContactSquare) {
+        mScrollView = (ScrollView) findViewById(R.id.content_scroller);
+        mScrollViewChild = findViewById(R.id.card_container);
+        mToolbar = findViewById(R.id.toolbar_parent);
+        mPhotoViewContainer = findViewById(R.id.toolbar_parent);
+        mTransparentView = findViewById(R.id.transparent_view);
+        mLargeTextView = (TextView) findViewById(R.id.large_title);
+        mInvisiblePlaceholderTextView = (TextView) findViewById(R.id.placeholder_textview);
+        mListener = listener;
+        mIsOpenContactSquare = isOpenContactSquare;
+
+        mPhotoView = (QuickContactImageView) findViewById(R.id.photo);
+
+        mTitleGradientView = findViewById(R.id.title_gradient);
+        mTitleGradientView.setBackground(mTitleGradientDrawable);
+        mActionBarGradientView = findViewById(R.id.action_bar_gradient);
+        mActionBarGradientView.setBackground(mActionBarGradientDrawable);
+
+        if (!mIsTwoPanel) {
+            mPhotoTouchInterceptOverlay = findViewById(R.id.photo_touch_intercept_overlay);
+            mPhotoTouchInterceptOverlay.setOnClickListener(new OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    expandCollapseHeader();
+                }
+            });
+        }
+
+        SchedulingUtils.doOnPreDraw(this, /* drawNextFrame = */ false, new Runnable() {
+            @Override
+            public void run() {
+                if (!mIsTwoPanel) {
+                    // We never want the height of the photo view to exceed its width.
+                    mMaximumHeaderHeight = getWidth();
+                    mIntermediateHeaderHeight = (int) (mMaximumHeaderHeight
+                            * INTERMEDIATE_HEADER_HEIGHT_RATIO);
+                }
+                final boolean isLandscape = getResources().getConfiguration().orientation
+                        == Configuration.ORIENTATION_LANDSCAPE;
+                mMaximumPortraitHeaderHeight = isLandscape ? getHeight() : getWidth();
+                setHeaderHeight(getMaximumScrollableHeaderHeight());
+                mMaximumHeaderTextSize = mLargeTextView.getHeight();
+                if (mIsTwoPanel) {
+                    mMaximumHeaderHeight = getHeight();
+                    mMinimumHeaderHeight = mMaximumHeaderHeight;
+                    mIntermediateHeaderHeight = mMaximumHeaderHeight;
+
+                    // Permanently set photo width and height.
+                    final TypedValue photoRatio = new TypedValue();
+                    getResources().getValue(R.vals.quickcontact_photo_ratio, photoRatio,
+                            /* resolveRefs = */ true);
+                    final ViewGroup.LayoutParams photoLayoutParams
+                            = mPhotoViewContainer.getLayoutParams();
+                    photoLayoutParams.height = mMaximumHeaderHeight;
+                    photoLayoutParams.width = (int) (mMaximumHeaderHeight * photoRatio.getFloat());
+                    mPhotoViewContainer.setLayoutParams(photoLayoutParams);
+
+                    // Permanently set title width and margin.
+                    final FrameLayout.LayoutParams largeTextLayoutParams
+                            = (FrameLayout.LayoutParams) mLargeTextView.getLayoutParams();
+                    largeTextLayoutParams.width = photoLayoutParams.width -
+                            largeTextLayoutParams.leftMargin - largeTextLayoutParams.rightMargin;
+                    largeTextLayoutParams.gravity = Gravity.BOTTOM | Gravity.START;
+                    mLargeTextView.setLayoutParams(largeTextLayoutParams);
+                }
+
+                calculateCollapsedLargeTitlePadding();
+                updateHeaderTextSizeAndMargin();
+                configureGradientViewHeights();
+            }
+        });
+    }
+
+    private void configureGradientViewHeights() {
+        final float GRADIENT_SIZE_COEFFICIENT = 1.25f;
+        final FrameLayout.LayoutParams actionBarGradientLayoutParams
+                = (FrameLayout.LayoutParams) mActionBarGradientView.getLayoutParams();
+        actionBarGradientLayoutParams.height
+                = (int) (mActionBarSize * GRADIENT_SIZE_COEFFICIENT);
+        mActionBarGradientView.setLayoutParams(actionBarGradientLayoutParams);
+        final FrameLayout.LayoutParams titleGradientLayoutParams
+                = (FrameLayout.LayoutParams) mTitleGradientView.getLayoutParams();
+        final FrameLayout.LayoutParams largeTextLayoutParms
+                = (FrameLayout.LayoutParams) mLargeTextView.getLayoutParams();
+        titleGradientLayoutParams.height = (int) ((mLargeTextView.getHeight()
+                + largeTextLayoutParms.bottomMargin) * GRADIENT_SIZE_COEFFICIENT);
+        mTitleGradientView.setLayoutParams(titleGradientLayoutParams);
+    }
+
+    public void setTitle(String title) {
+        mLargeTextView.setText(title);
+    }
+
+    public void setUseGradient(boolean useGradient) {
+        if (mTitleGradientView != null) {
+            mTitleGradientView.setVisibility(useGradient ? View.VISIBLE : View.GONE);
+            mActionBarGradientView.setVisibility(useGradient ? View.VISIBLE : View.GONE);
+        }
+    }
+
+    @Override
+    public boolean onInterceptTouchEvent(MotionEvent event) {
+        // The only time we want to intercept touch events is when we are being dragged.
+        return shouldStartDrag(event);
+    }
+
+    private boolean shouldStartDrag(MotionEvent event) {
+        if (mIsBeingDragged) {
+            mIsBeingDragged = false;
+            return false;
+        }
+
+        switch (event.getAction()) {
+            // If we are in the middle of a fling and there is a down event, we'll steal it and
+            // start a drag.
+            case MotionEvent.ACTION_DOWN:
+                updateLastEventPosition(event);
+                if (!mScroller.isFinished()) {
+                    startDrag();
+                    return true;
+                } else {
+                    mReceivedDown = true;
+                }
+                break;
+
+            // Otherwise, we will start a drag if there is enough motion in the direction we are
+            // capable of scrolling.
+            case MotionEvent.ACTION_MOVE:
+                if (motionShouldStartDrag(event)) {
+                    updateLastEventPosition(event);
+                    startDrag();
+                    return true;
+                }
+                break;
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean onTouchEvent(MotionEvent event) {
+        final int action = event.getAction();
+
+        if (mVelocityTracker == null) {
+            mVelocityTracker = VelocityTracker.obtain();
+        }
+        mVelocityTracker.addMovement(event);
+
+        if (!mIsBeingDragged) {
+            if (shouldStartDrag(event)) {
+                return true;
+            }
+
+            if (action == MotionEvent.ACTION_UP && mReceivedDown) {
+                mReceivedDown = false;
+                return performClick();
+            }
+            return true;
+        }
+
+        switch (action) {
+            case MotionEvent.ACTION_MOVE:
+                final float delta = updatePositionAndComputeDelta(event);
+                scrollTo(0, getScroll() + (int) delta);
+                mReceivedDown = false;
+
+                if (mIsBeingDragged) {
+                    final int distanceFromMaxScrolling = getMaximumScrollUpwards() - getScroll();
+                    if (delta > distanceFromMaxScrolling) {
+                        // The ScrollView is being pulled upwards while there is no more
+                        // content offscreen, and the view port is already fully expanded.
+                        mEdgeGlowBottom.onPull(delta / getHeight(), 1 - event.getX() / getWidth());
+                    }
+
+                    if (!mEdgeGlowBottom.isFinished()) {
+                        postInvalidateOnAnimation();
+                    }
+
+                }
+                break;
+
+            case MotionEvent.ACTION_UP:
+            case MotionEvent.ACTION_CANCEL:
+                stopDrag(action == MotionEvent.ACTION_CANCEL);
+                mReceivedDown = false;
+                break;
+        }
+
+        return true;
+    }
+
+    public void setHeaderTintColor(int color) {
+        mHeaderTintColor = color;
+        updatePhotoTintAndDropShadow();
+        // We want to use the same amount of alpha on the new tint color as the previous tint color.
+        final int edgeEffectAlpha = Color.alpha(mEdgeGlowBottom.getColor());
+        mEdgeGlowBottom.setColor((color & 0xffffff) | Color.argb(edgeEffectAlpha, 0, 0, 0));
+    }
+
+    /**
+     * Expand to maximum size or starting size. Disable clicks on the photo until the animation is
+     * complete.
+     */
+    private void expandCollapseHeader() {
+        mPhotoTouchInterceptOverlay.setClickable(false);
+        if (getHeaderHeight() != mMaximumHeaderHeight) {
+            // Expand header
+            final ObjectAnimator animator = ObjectAnimator.ofInt(this, "headerHeight",
+                    mMaximumHeaderHeight);
+            animator.addListener(mHeaderExpandAnimationListener);
+            animator.setDuration(ExpandingEntryCardView.DURATION_EXPAND_ANIMATION_CHANGE_BOUNDS);
+            animator.start();
+            // Scroll nested scroll view to its top
+            if (mScrollView.getScrollY() != 0) {
+                ObjectAnimator.ofInt(mScrollView, "scrollY", -mScrollView.getScrollY()).start();
+            }
+        } else if (getHeaderHeight() != mMinimumHeaderHeight) {
+            final ObjectAnimator animator = ObjectAnimator.ofInt(this, "headerHeight",
+                    mIntermediateHeaderHeight);
+            animator.addListener(mHeaderExpandAnimationListener);
+            animator.start();
+        }
+    }
+
+    private void startDrag() {
+        mIsBeingDragged = true;
+        mScroller.abortAnimation();
+    }
+
+    private void stopDrag(boolean cancelled) {
+        mIsBeingDragged = false;
+        if (!cancelled && getChildCount() > 0) {
+            final float velocity = getCurrentVelocity();
+            if (velocity > mMinimumVelocity || velocity < -mMinimumVelocity) {
+                fling(-velocity);
+                onDragFinished(mScroller.getFinalY() - mScroller.getStartY());
+            } else {
+                onDragFinished(/* flingDelta = */ 0);
+            }
+        } else {
+            onDragFinished(/* flingDelta = */ 0);
+        }
+
+        if (mVelocityTracker != null) {
+            mVelocityTracker.recycle();
+            mVelocityTracker = null;
+        }
+
+        mEdgeGlowBottom.onRelease();
+    }
+
+    private void onDragFinished(int flingDelta) {
+        if (!snapToTop(flingDelta)) {
+            // The drag/fling won't result in the content at the top of the Window. Consider
+            // snapping the content to the bottom of the window.
+            snapToBottom(flingDelta);
+        }
+    }
+
+    /**
+     * If needed, snap the subviews to the top of the Window.
+     */
+    private boolean snapToTop(int flingDelta) {
+        if (mHasEverTouchedTheTop) {
+            // Only when first interacting with QuickContacts should QuickContacts snap to the top
+            // of the screen. After this, QuickContacts can be placed most anywhere on the screen.
+            return false;
+        }
+        final int requiredScroll = -getScroll_ignoreOversizedHeaderForSnapping()
+                + mTransparentStartHeight;
+        if (-getScroll_ignoreOversizedHeaderForSnapping() - flingDelta < 0
+                && -getScroll_ignoreOversizedHeaderForSnapping() - flingDelta >
+                -mTransparentStartHeight && requiredScroll != 0) {
+            // We finish scrolling above the empty starting height, and aren't projected
+            // to fling past the top of the Window, so elastically snap the empty space shut.
+            mScroller.forceFinished(true);
+            smoothScrollBy(requiredScroll);
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * If needed, scroll all the subviews off the bottom of the Window.
+     */
+    private void snapToBottom(int flingDelta) {
+        if (mHasEverTouchedTheTop) {
+            // If QuickContacts has touched the top of the screen previously, then we
+            // will less aggressively snap to the bottom of the screen.
+            final float predictedScrollPastTop = -getScroll() + mTransparentStartHeight
+                    - flingDelta;
+            final boolean isLandscape = getResources().getConfiguration().orientation
+                    == Configuration.ORIENTATION_LANDSCAPE;
+            if (isLandscape) {
+                // In landscape orientation, we dismiss the QC once it goes below the starting
+                // starting offset that is used when QC starts in collapsed mode.
+                if (predictedScrollPastTop > mTransparentStartHeight) {
+                    scrollOffBottom();
+                }
+            } else {
+                // In portrait orientation, we dismiss the QC once it goes below
+                // mIntermediateHeaderHeight within the bottom of the screen.
+                final float heightMinusHeader = getHeight() - mIntermediateHeaderHeight;
+                if (predictedScrollPastTop > heightMinusHeader) {
+                    scrollOffBottom();
+                }
+            }
+            return;
+        }
+        if (-getScroll() - flingDelta > 0) {
+            scrollOffBottom();
+        }
+    }
+
+    /**
+     * Return ratio of non-transparent:viewgroup-height for this viewgroup at the starting position.
+     */
+    public float getStartingTransparentHeightRatio() {
+        return getTransparentHeightRatio(mTransparentStartHeight);
+    }
+
+    private float getTransparentHeightRatio(int transparentHeight) {
+        final float heightRatio = (float) transparentHeight / getHeight();
+        // Clamp between [0, 1] in case this is called before height is initialized.
+        return 1.0f - Math.max(Math.min(1.0f, heightRatio), 0f);
+    }
+
+    public void scrollOffBottom() {
+        final Interpolator interpolator = new AcceleratingFlingInterpolator(
+                EXIT_FLING_ANIMATION_DURATION_MS, getCurrentVelocity(),
+                getScrollUntilOffBottom());
+        mScroller.forceFinished(true);
+        ObjectAnimator translateAnimation = ObjectAnimator.ofInt(this, "scroll",
+                getScroll() - getScrollUntilOffBottom());
+        translateAnimation.setRepeatCount(0);
+        translateAnimation.setInterpolator(interpolator);
+        translateAnimation.setDuration(EXIT_FLING_ANIMATION_DURATION_MS);
+        translateAnimation.addListener(mSnapToBottomListener);
+        translateAnimation.start();
+        if (mListener != null) {
+            mListener.onStartScrollOffBottom();
+        }
+    }
+
+    /**
+     * @param scrollToCurrentPosition if true, will scroll from the bottom of the screen to the
+     * current position. Otherwise, will scroll from the bottom of the screen to the top of the
+     * screen.
+     */
+    public void scrollUpForEntranceAnimation(boolean scrollToCurrentPosition) {
+        final int currentPosition = getScroll();
+        final int bottomScrollPosition = currentPosition
+                - (getHeight() - getTransparentViewHeight()) + 1;
+        final Interpolator interpolator = AnimationUtils.loadInterpolator(getContext(),
+                android.R.interpolator.linear_out_slow_in);
+        final int desiredValue = currentPosition + (scrollToCurrentPosition ? currentPosition
+                : getTransparentViewHeight());
+        final ObjectAnimator animator = ObjectAnimator.ofInt(this, "scroll", bottomScrollPosition,
+                desiredValue);
+        animator.setInterpolator(interpolator);
+        animator.addUpdateListener(new AnimatorUpdateListener() {
+            @Override
+            public void onAnimationUpdate(ValueAnimator animation) {
+                if (animation.getAnimatedValue().equals(desiredValue) && mListener != null) {
+                    mListener.onEntranceAnimationDone();
+                }
+            }
+        });
+        animator.start();
+    }
+
+    @Override
+    public void scrollTo(int x, int y) {
+        final int delta = y - getScroll();
+        boolean wasFullscreen = getScrollNeededToBeFullScreen() <= 0;
+        if (delta > 0) {
+            scrollUp(delta);
+        } else {
+            scrollDown(delta);
+        }
+        updatePhotoTintAndDropShadow();
+        updateHeaderTextSizeAndMargin();
+        final boolean isFullscreen = getScrollNeededToBeFullScreen() <= 0;
+        mHasEverTouchedTheTop |= isFullscreen;
+        if (mListener != null) {
+            if (wasFullscreen && !isFullscreen) {
+                 mListener.onExitFullscreen();
+            } else if (!wasFullscreen && isFullscreen) {
+                mListener.onEnterFullscreen();
+            }
+            if (!isFullscreen || !wasFullscreen) {
+                mListener.onTransparentViewHeightChange(
+                        getTransparentHeightRatio(getTransparentViewHeight()));
+            }
+        }
+    }
+
+    /**
+     * Change the height of the header/toolbar. Do *not* use this outside animations. This was
+     * designed for use by {@link #prepareForShrinkingScrollChild}.
+     */
+    @NeededForReflection
+    public void setToolbarHeight(int delta) {
+        final ViewGroup.LayoutParams toolbarLayoutParams
+                = mToolbar.getLayoutParams();
+        toolbarLayoutParams.height = delta;
+        mToolbar.setLayoutParams(toolbarLayoutParams);
+
+        updatePhotoTintAndDropShadow();
+        updateHeaderTextSizeAndMargin();
+    }
+
+    @NeededForReflection
+    public int getToolbarHeight() {
+        return mToolbar.getLayoutParams().height;
+    }
+
+    /**
+     * Set the height of the toolbar and update its tint accordingly.
+     */
+    @NeededForReflection
+    public void setHeaderHeight(int height) {
+        final ViewGroup.LayoutParams toolbarLayoutParams
+                = mToolbar.getLayoutParams();
+        toolbarLayoutParams.height = height;
+        mToolbar.setLayoutParams(toolbarLayoutParams);
+        updatePhotoTintAndDropShadow();
+        updateHeaderTextSizeAndMargin();
+    }
+
+    @NeededForReflection
+    public int getHeaderHeight() {
+        return mToolbar.getLayoutParams().height;
+    }
+
+    @NeededForReflection
+    public void setScroll(int scroll) {
+        scrollTo(0, scroll);
+    }
+
+    /**
+     * Returns the total amount scrolled inside the nested ScrollView + the amount of shrinking
+     * performed on the ToolBar. This is the value inspected by animators.
+     */
+    @NeededForReflection
+    public int getScroll() {
+        return mTransparentStartHeight - getTransparentViewHeight()
+                + getMaximumScrollableHeaderHeight() - getToolbarHeight()
+                + mScrollView.getScrollY();
+    }
+
+    private int getMaximumScrollableHeaderHeight() {
+        return mIsOpenContactSquare ? mMaximumHeaderHeight : mIntermediateHeaderHeight;
+    }
+
+    /**
+     * A variant of {@link #getScroll} that pretends the header is never larger than
+     * than mIntermediateHeaderHeight. This function is sometimes needed when making scrolling
+     * decisions that will not change the header size (ie, snapping to the bottom or top).
+     *
+     * When mIsOpenContactSquare is true, this function considers mIntermediateHeaderHeight ==
+     * mMaximumHeaderHeight, since snapping decisions will be made relative the full header
+     * size when mIsOpenContactSquare = true.
+     *
+     * This value should never be used in conjunction with {@link #getScroll} values.
+     */
+    private int getScroll_ignoreOversizedHeaderForSnapping() {
+        return mTransparentStartHeight - getTransparentViewHeight()
+                + Math.max(getMaximumScrollableHeaderHeight() - getToolbarHeight(), 0)
+                + mScrollView.getScrollY();
+    }
+
+    /**
+     * Amount of transparent space above the header/toolbar.
+     */
+    public int getScrollNeededToBeFullScreen() {
+        return getTransparentViewHeight();
+    }
+
+    /**
+     * Return amount of scrolling needed in order for all the visible subviews to scroll off the
+     * bottom.
+     */
+    private int getScrollUntilOffBottom() {
+        return getHeight() + getScroll_ignoreOversizedHeaderForSnapping()
+                - mTransparentStartHeight;
+    }
+
+    @Override
+    public void computeScroll() {
+        if (mScroller.computeScrollOffset()) {
+            // Examine the fling results in order to activate EdgeEffect when we fling to the end.
+            final int oldScroll = getScroll();
+            scrollTo(0, mScroller.getCurrY());
+            final int delta = mScroller.getCurrY() - oldScroll;
+            final int distanceFromMaxScrolling = getMaximumScrollUpwards() - getScroll();
+            if (delta > distanceFromMaxScrolling && distanceFromMaxScrolling > 0) {
+                mEdgeGlowBottom.onAbsorb((int) mScroller.getCurrVelocity());
+            }
+
+            if (!awakenScrollBars()) {
+                // Keep on drawing until the animation has finished.
+                postInvalidateOnAnimation();
+            }
+            if (mScroller.getCurrY() >= getMaximumScrollUpwards()) {
+                mScroller.abortAnimation();
+            }
+        }
+    }
+
+    @Override
+    public void draw(Canvas canvas) {
+        super.draw(canvas);
+
+        if (!mEdgeGlowBottom.isFinished()) {
+            final int restoreCount = canvas.save();
+            final int width = getWidth() - getPaddingLeft() - getPaddingRight();
+            final int height = getHeight();
+
+            // Draw the EdgeEffect on the bottom of the Window (Or a little bit below the bottom
+            // of the Window if we start to scroll upwards while EdgeEffect is visible). This
+            // does not need to consider the case where this MultiShrinkScroller doesn't fill
+            // the Window, since the nested ScrollView should be set to fillViewport.
+            canvas.translate(-width + getPaddingLeft(),
+                    height + getMaximumScrollUpwards() - getScroll());
+
+            canvas.rotate(180, width, 0);
+            if (mIsTwoPanel) {
+                // Only show the EdgeEffect on the bottom of the ScrollView.
+                mEdgeGlowBottom.setSize(mScrollView.getWidth(), height);
+                if (isLayoutRtl()) {
+                    canvas.translate(mPhotoViewContainer.getWidth(), 0);
+                }
+            } else {
+                mEdgeGlowBottom.setSize(width, height);
+            }
+            if (mEdgeGlowBottom.draw(canvas)) {
+                postInvalidateOnAnimation();
+            }
+            canvas.restoreToCount(restoreCount);
+        }
+    }
+
+    private float getCurrentVelocity() {
+        if (mVelocityTracker == null) {
+            return 0;
+        }
+        mVelocityTracker.computeCurrentVelocity(PIXELS_PER_SECOND, mMaximumVelocity);
+        return mVelocityTracker.getYVelocity();
+    }
+
+    private void fling(float velocity) {
+        // For reasons I do not understand, scrolling is less janky when maxY=Integer.MAX_VALUE
+        // then when maxY is set to an actual value.
+        mScroller.fling(0, getScroll(), 0, (int) velocity, 0, 0, -Integer.MAX_VALUE,
+                Integer.MAX_VALUE);
+        invalidate();
+    }
+
+    private int getMaximumScrollUpwards() {
+        if (!mIsTwoPanel) {
+            return mTransparentStartHeight
+                    // How much the Header view can compress
+                    + getMaximumScrollableHeaderHeight() - getFullyCompressedHeaderHeight()
+                    // How much the ScrollView can scroll. 0, if child is smaller than ScrollView.
+                    + Math.max(0, mScrollViewChild.getHeight() - getHeight()
+                    + getFullyCompressedHeaderHeight());
+        } else {
+            return mTransparentStartHeight
+                    // How much the ScrollView can scroll. 0, if child is smaller than ScrollView.
+                    + Math.max(0, mScrollViewChild.getHeight() - getHeight());
+        }
+    }
+
+    private int getTransparentViewHeight() {
+        return mTransparentView.getLayoutParams().height;
+    }
+
+    private void setTransparentViewHeight(int height) {
+        mTransparentView.getLayoutParams().height = height;
+        mTransparentView.setLayoutParams(mTransparentView.getLayoutParams());
+    }
+
+    private void scrollUp(int delta) {
+        if (getTransparentViewHeight() != 0) {
+            final int originalValue = getTransparentViewHeight();
+            setTransparentViewHeight(getTransparentViewHeight() - delta);
+            setTransparentViewHeight(Math.max(0, getTransparentViewHeight()));
+            delta -= originalValue - getTransparentViewHeight();
+        }
+        final ViewGroup.LayoutParams toolbarLayoutParams
+                = mToolbar.getLayoutParams();
+        if (toolbarLayoutParams.height > getFullyCompressedHeaderHeight()) {
+            final int originalValue = toolbarLayoutParams.height;
+            toolbarLayoutParams.height -= delta;
+            toolbarLayoutParams.height = Math.max(toolbarLayoutParams.height,
+                    getFullyCompressedHeaderHeight());
+            mToolbar.setLayoutParams(toolbarLayoutParams);
+            delta -= originalValue - toolbarLayoutParams.height;
+        }
+        mScrollView.scrollBy(0, delta);
+    }
+
+    /**
+     * Returns the minimum size that we want to compress the header to, given that we don't want to
+     * allow the the ScrollView to scroll unless there is new content off of the edge of ScrollView.
+     */
+    private int getFullyCompressedHeaderHeight() {
+        return Math.min(Math.max(mToolbar.getLayoutParams().height - getOverflowingChildViewSize(),
+                        mMinimumHeaderHeight), getMaximumScrollableHeaderHeight());
+    }
+
+    /**
+     * Returns the amount of mScrollViewChild that doesn't fit inside its parent.
+     */
+    private int getOverflowingChildViewSize() {
+        final int usedScrollViewSpace = mScrollViewChild.getHeight();
+        return -getHeight() + usedScrollViewSpace + mToolbar.getLayoutParams().height;
+    }
+
+    private void scrollDown(int delta) {
+        if (mScrollView.getScrollY() > 0) {
+            final int originalValue = mScrollView.getScrollY();
+            mScrollView.scrollBy(0, delta);
+            delta -= mScrollView.getScrollY() - originalValue;
+        }
+        final ViewGroup.LayoutParams toolbarLayoutParams = mToolbar.getLayoutParams();
+        if (toolbarLayoutParams.height < getMaximumScrollableHeaderHeight()) {
+            final int originalValue = toolbarLayoutParams.height;
+            toolbarLayoutParams.height -= delta;
+            toolbarLayoutParams.height = Math.min(toolbarLayoutParams.height,
+                    getMaximumScrollableHeaderHeight());
+            mToolbar.setLayoutParams(toolbarLayoutParams);
+            delta -= originalValue - toolbarLayoutParams.height;
+        }
+        setTransparentViewHeight(getTransparentViewHeight() - delta);
+
+        if (getScrollUntilOffBottom() <= 0) {
+            post(new Runnable() {
+                @Override
+                public void run() {
+                    if (mListener != null) {
+                        mListener.onScrolledOffBottom();
+                        // No other messages need to be sent to the listener.
+                        mListener = null;
+                    }
+                }
+            });
+        }
+    }
+
+    /**
+     * Set the header size and padding, based on the current scroll position.
+     */
+    private void updateHeaderTextSizeAndMargin() {
+        if (mIsTwoPanel) {
+            // The text size stays at a constant size & location in two panel layouts.
+            return;
+        }
+
+        // The pivot point for scaling should be middle of the starting side.
+        if (isLayoutRtl()) {
+            mLargeTextView.setPivotX(mLargeTextView.getWidth());
+        } else {
+            mLargeTextView.setPivotX(0);
+        }
+        mLargeTextView.setPivotY(mLargeTextView.getHeight() / 2);
+
+        final int toolbarHeight = mToolbar.getLayoutParams().height;
+        if (toolbarHeight >= mMaximumHeaderHeight) {
+            // Everything is full size when the header is fully expanded.
+            mLargeTextView.setScaleX(1);
+            mLargeTextView.setScaleY(1);
+            setInterpolatedTitleMargins(1);
+            return;
+        }
+
+        final float ratio = (toolbarHeight  - mMinimumHeaderHeight)
+                / (float)(mMaximumHeaderHeight - mMinimumHeaderHeight);
+        final float minimumSize = mInvisiblePlaceholderTextView.getHeight();
+        float bezierOutput = mTextSizePathInterpolator.getInterpolation(ratio);
+        float scale = (minimumSize + (mMaximumHeaderTextSize - minimumSize) * bezierOutput)
+                / mMaximumHeaderTextSize;
+
+        // Clamp to reasonable/finite values before passing into framework. The values
+        // can be wacky before the first pre-render.
+        bezierOutput = (float) Math.min(bezierOutput, 1.0f);
+        scale = (float) Math.min(scale, 1.0f);
+
+        mLargeTextView.setScaleX(scale);
+        mLargeTextView.setScaleY(scale);
+        setInterpolatedTitleMargins(bezierOutput);
+    }
+
+    /**
+     * Calculate the padding around mLargeTextView so that it will look appropriate once it
+     * finishes moving into its target location/size.
+     */
+    private void calculateCollapsedLargeTitlePadding() {
+        final Rect largeTextViewRect = new Rect();
+        final Rect invisiblePlaceholderTextViewRect = new Rect();
+        mToolbar.getBoundsOnScreen(largeTextViewRect);
+        mInvisiblePlaceholderTextView.getBoundsOnScreen(invisiblePlaceholderTextViewRect);
+        if (isLayoutRtl()) {
+            mCollapsedTitleStartMargin = largeTextViewRect.right
+                    - invisiblePlaceholderTextViewRect.right;
+        } else {
+            mCollapsedTitleStartMargin = invisiblePlaceholderTextViewRect.left
+                    - largeTextViewRect.left;
+        }
+
+        // Distance between top of toolbar to the center of the target rectangle.
+        final int desiredTopToCenter = (
+                invisiblePlaceholderTextViewRect.top + invisiblePlaceholderTextViewRect.bottom)
+                / 2 - largeTextViewRect.top;
+        // Padding needed on the mLargeTextView so that it has the same amount of
+        // padding as the target rectangle.
+        mCollapsedTitleBottomMargin = desiredTopToCenter - mLargeTextView.getHeight() / 2;
+    }
+
+    /**
+     * Interpolate the title's margin size. When {@param x}=1, use the maximum title margins.
+     * When {@param x}=0, use the margin values taken from {@link #mInvisiblePlaceholderTextView}.
+     */
+    private void setInterpolatedTitleMargins(float x) {
+        final FrameLayout.LayoutParams titleLayoutParams
+                = (FrameLayout.LayoutParams) mLargeTextView.getLayoutParams();
+        final LinearLayout.LayoutParams toolbarLayoutParams
+                = (LinearLayout.LayoutParams) mToolbar.getLayoutParams();
+        titleLayoutParams.setMarginStart((int) (mCollapsedTitleStartMargin * (1 - x)
+                + mMaximumTitleMargin * x));
+        // How offset the title should be from the bottom of the toolbar
+        final int pretendBottomMargin =  (int) (mCollapsedTitleBottomMargin * (1 - x)
+                + mMaximumTitleMargin * x) ;
+        // Calculate how offset the title should be from the top of the screen. Instead of
+        // calling mLargeTextView.getHeight() use the mMaximumHeaderTextSize for this calculation.
+        // The getHeight() value acts unexpectedly when mLargeTextView is partially clipped by
+        // its parent.
+        titleLayoutParams.topMargin = getTransparentViewHeight()
+                + toolbarLayoutParams.height - pretendBottomMargin
+                - mMaximumHeaderTextSize;
+        titleLayoutParams.bottomMargin = 0;
+        mLargeTextView.setLayoutParams(titleLayoutParams);
+    }
+
+    private void updatePhotoTintAndDropShadow() {
+        // Let's keep an eye on how long this method takes to complete. Right now, it takes ~0.2ms
+        // on a Nexus 5. If it starts to get much slower, there are a number of easy optimizations
+        // available.
+        Trace.beginSection("updatePhotoTintAndDropShadow");
+
+        if (mIsTwoPanel && !mPhotoView.isBasedOffLetterTile()) {
+            // When in two panel mode, UX considers photo tinting unnecessary for non letter
+            // tile photos.
+            mTitleGradientDrawable.setAlpha(0xFF);
+            mActionBarGradientDrawable.setAlpha(0xFF);
+            return;
+        }
+
+        // We need to use toolbarLayoutParams to determine the height, since the layout
+        // params can be updated before the height change is reflected inside the View#getHeight().
+        final int toolbarHeight = getToolbarHeight();
+
+        if (toolbarHeight <= mMinimumHeaderHeight && !mIsTwoPanel) {
+            mPhotoViewContainer.setElevation(mToolbarElevation);
+        } else {
+            mPhotoViewContainer.setElevation(0);
+        }
+
+        // Reuse an existing mColorFilter (to avoid GC pauses) to change the photo's tint.
+        mPhotoView.clearColorFilter();
+
+        // Ratio of current size to maximum size of the header.
+        final float ratio;
+        // The value that "ratio" will have when the header is at its starting/intermediate size.
+        final float intermediateRatio = calculateHeightRatio((int)
+                (mMaximumPortraitHeaderHeight * INTERMEDIATE_HEADER_HEIGHT_RATIO));
+        if (!mIsTwoPanel) {
+            ratio = calculateHeightRatio(toolbarHeight);
+        } else {
+            // We want the ratio and intermediateRatio to have the *approximate* values
+            // they would have in portrait mode when at the intermediate position.
+            ratio = intermediateRatio;
+        }
+
+        final float linearBeforeMiddle = Math.max(1 - (1 - ratio) / intermediateRatio, 0);
+
+        // Want a function with a derivative of 0 at x=0. I don't want it to grow too
+        // slowly before x=0.5. x^1.1 satisfies both requirements.
+        final float EXPONENT_ALMOST_ONE = 1.1f;
+        final float semiLinearBeforeMiddle = (float) Math.pow(linearBeforeMiddle,
+                EXPONENT_ALMOST_ONE);
+        mColorMatrix.reset();
+        mColorMatrix.setSaturation(semiLinearBeforeMiddle);
+        mColorMatrix.postConcat(alphaMatrix(ratio, Color.WHITE));
+
+        final float colorAlpha;
+        if (mPhotoView.isBasedOffLetterTile()) {
+            // Since the letter tile only has white and grey, tint it more slowly. Otherwise
+            // it will be completely invisible before we reach the intermediate point. The values
+            // for TILE_EXPONENT and slowingFactor are chosen to achieve DESIRED_INTERMEDIATE_ALPHA
+            // at the intermediate/starting position.
+            final float DESIRED_INTERMEDIATE_ALPHA = 0.9f;
+            final float TILE_EXPONENT = 1.5f;
+            final float slowingFactor = (float) ((1 - intermediateRatio) / intermediateRatio
+                    / (1 - Math.pow(1 - DESIRED_INTERMEDIATE_ALPHA, 1/TILE_EXPONENT)));
+            float linearBeforeMiddleish = Math.max(1 - (1 - ratio) / intermediateRatio
+                    / slowingFactor, 0);
+            colorAlpha = 1 - (float) Math.pow(linearBeforeMiddleish, TILE_EXPONENT);
+            mColorMatrix.postConcat(alphaMatrix(colorAlpha, mHeaderTintColor));
+        } else {
+            colorAlpha = 1 - semiLinearBeforeMiddle;
+            mColorMatrix.postConcat(multiplyBlendMatrix(mHeaderTintColor, colorAlpha));
+        }
+
+        mColorFilter.setColorMatrix(mColorMatrix);
+        mPhotoView.setColorFilter(mColorFilter);
+        // Tell the photo view what tint we are trying to achieve. Depending on the type of
+        // drawable used, the photo view may or may not use this tint.
+        mPhotoView.setTint(mHeaderTintColor);
+
+        final int gradientAlpha = (int) (255 * linearBeforeMiddle);
+        mTitleGradientDrawable.setAlpha(gradientAlpha);
+        mActionBarGradientDrawable.setAlpha(gradientAlpha);
+
+        Trace.endSection();
+    }
+
+    private float calculateHeightRatio(int height) {
+        return (height - mMinimumPortraitHeaderHeight)
+                / (float) (mMaximumPortraitHeaderHeight - mMinimumPortraitHeaderHeight);
+    }
+
+    /**
+     * Simulates alpha blending an image with {@param color}.
+     */
+    private ColorMatrix alphaMatrix(float alpha, int color) {
+        mAlphaMatrixValues[0] = Color.red(color) * alpha / 255;
+        mAlphaMatrixValues[6] = Color.green(color) * alpha / 255;
+        mAlphaMatrixValues[12] = Color.blue(color) * alpha / 255;
+        mAlphaMatrixValues[4] = 255 * (1 - alpha);
+        mAlphaMatrixValues[9] = 255 * (1 - alpha);
+        mAlphaMatrixValues[14] = 255 * (1 - alpha);
+        mWhitenessColorMatrix.set(mAlphaMatrixValues);
+        return mWhitenessColorMatrix;
+    }
+
+    /**
+     * Simulates multiply blending an image with a single {@param color}.
+     *
+     * Multiply blending is [Sa * Da, Sc * Dc]. See {@link android.graphics.PorterDuff}.
+     */
+    private ColorMatrix multiplyBlendMatrix(int color, float alpha) {
+        mMultiplyBlendMatrixValues[0] = multiplyBlend(Color.red(color), alpha);
+        mMultiplyBlendMatrixValues[6] = multiplyBlend(Color.green(color), alpha);
+        mMultiplyBlendMatrixValues[12] = multiplyBlend(Color.blue(color), alpha);
+        mMultiplyBlendMatrix.set(mMultiplyBlendMatrixValues);
+        return mMultiplyBlendMatrix;
+    }
+
+    private float multiplyBlend(int color, float alpha) {
+        return color * alpha / 255.0f + (1 - alpha);
+    }
+
+    private void updateLastEventPosition(MotionEvent event) {
+        mLastEventPosition[0] = event.getX();
+        mLastEventPosition[1] = event.getY();
+    }
+
+    private boolean motionShouldStartDrag(MotionEvent event) {
+        final float deltaX = event.getX() - mLastEventPosition[0];
+        final float deltaY = event.getY() - mLastEventPosition[1];
+        final boolean draggedX = (deltaX > mTouchSlop || deltaX < -mTouchSlop);
+        final boolean draggedY = (deltaY > mTouchSlop || deltaY < -mTouchSlop);
+        return draggedY && !draggedX;
+    }
+
+    private float updatePositionAndComputeDelta(MotionEvent event) {
+        final int VERTICAL = 1;
+        final float position = mLastEventPosition[VERTICAL];
+        updateLastEventPosition(event);
+        return position - mLastEventPosition[VERTICAL];
+    }
+
+    private void smoothScrollBy(int delta) {
+        if (delta == 0) {
+            // Delta=0 implies the code calling smoothScrollBy is sloppy. We should avoid doing
+            // this, since it prevents Views from being able to register any clicks for 250ms.
+            throw new IllegalArgumentException("Smooth scrolling by delta=0 is "
+                    + "pointless and harmful");
+        }
+        mScroller.startScroll(0, getScroll(), 0, delta);
+        invalidate();
+    }
+
+    /**
+     * Interpolator that enforces a specific starting velocity. This is useful to avoid a
+     * discontinuity between dragging speed and flinging speed.
+     *
+     * Similar to a {@link android.view.animation.AccelerateInterpolator} in the sense that
+     * getInterpolation() is a quadratic function.
+     */
+    private static class AcceleratingFlingInterpolator implements Interpolator {
+
+        private final float mStartingSpeedPixelsPerFrame;
+        private final float mDurationMs;
+        private final int mPixelsDelta;
+        private final float mNumberFrames;
+
+        public AcceleratingFlingInterpolator(int durationMs, float startingSpeedPixelsPerSecond,
+                int pixelsDelta) {
+            mStartingSpeedPixelsPerFrame = startingSpeedPixelsPerSecond / getRefreshRate();
+            mDurationMs = durationMs;
+            mPixelsDelta = pixelsDelta;
+            mNumberFrames = mDurationMs / getFrameIntervalMs();
+        }
+
+        @Override
+        public float getInterpolation(float input) {
+            final float animationIntervalNumber = mNumberFrames * input;
+            final float linearDelta = (animationIntervalNumber * mStartingSpeedPixelsPerFrame)
+                    / mPixelsDelta;
+            // Add the results of a linear interpolator (with the initial speed) with the
+            // results of a AccelerateInterpolator.
+            if (mStartingSpeedPixelsPerFrame > 0) {
+                return Math.min(input * input + linearDelta, 1);
+            } else {
+                // Initial fling was in the wrong direction, make sure that the quadratic component
+                // grows faster in order to make up for this.
+                return Math.min(input * (input - linearDelta) + linearDelta, 1);
+            }
+        }
+
+        private float getRefreshRate() {
+            DisplayInfo di = DisplayManagerGlobal.getInstance().getDisplayInfo(
+                    Display.DEFAULT_DISPLAY);
+            return di.refreshRate;
+        }
+
+        public long getFrameIntervalMs() {
+            return (long)(1000 / getRefreshRate());
+        }
+    }
+
+    /**
+     * Expand the header if the mScrollViewChild is about to shrink by enough to create new empty
+     * space at the bottom of this ViewGroup.
+     */
+    public void prepareForShrinkingScrollChild(int heightDelta) {
+        // The Transition framework may suppress layout on the scene root and its children. If
+        // mScrollView has its layout suppressed, user scrolling interactions will not display
+        // correctly. By turning suppress off for mScrollView, mScrollView properly adjusts its
+        // graphics as the user scrolls during the transition.
+        mScrollView.suppressLayout(false);
+
+        final int newEmptyScrollViewSpace = -getOverflowingChildViewSize() + heightDelta;
+        if (newEmptyScrollViewSpace > 0 && !mIsTwoPanel) {
+            final int newDesiredToolbarHeight = Math.min(getToolbarHeight()
+                    + newEmptyScrollViewSpace, getMaximumScrollableHeaderHeight());
+            ObjectAnimator.ofInt(this, "toolbarHeight", newDesiredToolbarHeight).setDuration(
+                    ExpandingEntryCardView.DURATION_COLLAPSE_ANIMATION_CHANGE_BOUNDS).start();
+        }
+    }
+
+    public void prepareForExpandingScrollChild() {
+        // The Transition framework may suppress layout on the scene root and its children. If
+        // mScrollView has its layout suppressed, user scrolling interactions will not display
+        // correctly. By turning suppress off for mScrollView, mScrollView properly adjusts its
+        // graphics as the user scrolls during the transition.
+        mScrollView.suppressLayout(false);
+    }
+}
diff --git a/src/com/android/contacts/widget/QuickContactImageView.java b/src/com/android/contacts/widget/QuickContactImageView.java
new file mode 100644
index 0000000..987b27d
--- /dev/null
+++ b/src/com/android/contacts/widget/QuickContactImageView.java
@@ -0,0 +1,81 @@
+package com.android.contacts.widget;
+
+import com.android.contacts.common.lettertiles.LetterTileDrawable;
+
+import android.content.Context;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.widget.ImageView;
+
+import com.android.contacts.R;
+
+/**
+ * An {@link ImageView} designed to display QuickContact's contact photo. When requested to draw
+ * {@link LetterTileDrawable}'s, this class instead draws a different default avatar drawable.
+ *
+ * In addition to supporting {@link ImageView#setColorFilter} this also supports a {@link #setTint}
+ * method.
+ *
+ * This entire class can be deleted once use of LetterTileDrawable is no longer used
+ * inside QuickContactsActivity at all.
+ */
+public class QuickContactImageView extends ImageView {
+
+    private Drawable mOriginalDrawable;
+
+    public QuickContactImageView(Context context) {
+        this(context, null);
+    }
+
+    public QuickContactImageView(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public QuickContactImageView(Context context, AttributeSet attrs, int defStyleAttr) {
+        this(context, attrs, defStyleAttr, 0);
+    }
+
+    public QuickContactImageView(Context context, AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+    }
+
+    public void setTint(int color) {
+        if (isBasedOffLetterTile()) {
+            setBackgroundColor(color);
+        } else {
+            setBackground(null);
+        }
+        postInvalidate();
+    }
+
+    public boolean isBasedOffLetterTile() {
+        return mOriginalDrawable instanceof LetterTileDrawable;
+    }
+
+    @Override
+    public void setImageDrawable(Drawable drawable) {
+        // There is no way to avoid all this casting. Blending modes aren't equally
+        // supported for all drawable types.
+        final BitmapDrawable bitmapDrawable;
+        if (drawable == null || drawable instanceof BitmapDrawable) {
+            bitmapDrawable = (BitmapDrawable) drawable;
+            setScaleType(ScaleType.CENTER_CROP);
+        } else if (drawable instanceof LetterTileDrawable) {
+            bitmapDrawable = (BitmapDrawable) getResources().getDrawable(
+                    R.drawable.default_avatar_white);
+            setScaleType(ScaleType.CENTER);
+        } else {
+            throw new IllegalArgumentException("Does not support this type of drawable");
+
+        }
+        mOriginalDrawable = drawable;
+        super.setImageDrawable(bitmapDrawable);
+    }
+
+    @Override
+    public Drawable getDrawable() {
+        return mOriginalDrawable;
+    }
+}
diff --git a/src/com/android/contacts/widget/TextHighlightingAnimation.java b/src/com/android/contacts/widget/TextHighlightingAnimation.java
deleted file mode 100644
index d269276..0000000
--- a/src/com/android/contacts/widget/TextHighlightingAnimation.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.contacts.widget;
-
-import android.database.CharArrayBuffer;
-import android.graphics.Color;
-import android.os.Handler;
-import android.text.TextPaint;
-import android.text.style.CharacterStyle;
-import android.view.animation.AccelerateInterpolator;
-import android.view.animation.DecelerateInterpolator;
-
-import com.android.contacts.common.format.FormatUtils;
-import com.android.internal.R;
-
-/**
- * An animation that alternately dims and brightens the non-highlighted portion of text.
- */
-public abstract class TextHighlightingAnimation implements Runnable, TextWithHighlightingFactory {
-
-    private static final int MAX_ALPHA = 255;
-    private static final int MIN_ALPHA = 50;
-
-    private AccelerateInterpolator ACCELERATE_INTERPOLATOR = new AccelerateInterpolator();
-    private DecelerateInterpolator DECELERATE_INTERPOLATOR = new DecelerateInterpolator();
-
-    private final static DimmingSpan[] sEmptySpans = new DimmingSpan[0];
-
-    /**
-     * Frame rate expressed a number of millis between frames.
-     */
-    private static final long FRAME_RATE = 50;
-
-    private DimmingSpan mDimmingSpan;
-    private Handler mHandler;
-    private boolean mAnimating;
-    private boolean mDimming;
-    private long mTargetTime;
-    private final int mDuration;
-
-    /**
-     * A Spanned that highlights a part of text by dimming another part of that text.
-     */
-    public class TextWithHighlightingImpl implements TextWithHighlighting {
-
-        private final DimmingSpan[] mSpans;
-        private boolean mDimmingEnabled;
-        private CharArrayBuffer mText;
-        private int mDimmingSpanStart;
-        private int mDimmingSpanEnd;
-        private String mString;
-
-        public TextWithHighlightingImpl() {
-            mSpans = new DimmingSpan[] { mDimmingSpan };
-        }
-
-        public void setText(CharArrayBuffer baseText, CharArrayBuffer highlightedText) {
-            mText = baseText;
-
-            // TODO figure out a way to avoid string allocation
-            mString = new String(mText.data, 0, mText.sizeCopied);
-
-            int index = FormatUtils.overlapPoint(baseText, highlightedText);
-
-            if (index == 0 || index == -1) {
-                mDimmingEnabled = false;
-            } else {
-                mDimmingEnabled = true;
-                mDimmingSpanStart = 0;
-                mDimmingSpanEnd = index;
-            }
-        }
-
-        @SuppressWarnings("unchecked")
-        public <T> T[] getSpans(int start, int end, Class<T> type) {
-            if (mDimmingEnabled) {
-                return (T[])mSpans;
-            } else {
-                return (T[])sEmptySpans;
-            }
-        }
-
-        public int getSpanStart(Object tag) {
-            // We only have one span - no need to check the tag parameter
-            return mDimmingSpanStart;
-        }
-
-        public int getSpanEnd(Object tag) {
-            // We only have one span - no need to check the tag parameter
-            return mDimmingSpanEnd;
-        }
-
-        public int getSpanFlags(Object tag) {
-            // String is immutable - flags not needed
-            return 0;
-        }
-
-        public int nextSpanTransition(int start, int limit, Class type) {
-            // Never called since we only have one span
-            return 0;
-        }
-
-        public char charAt(int index) {
-            return mText.data[index];
-        }
-
-        public int length() {
-            return mText.sizeCopied;
-        }
-
-        public CharSequence subSequence(int start, int end) {
-            // Never called - implementing for completeness
-            return new String(mText.data, start, end);
-        }
-
-        @Override
-        public String toString() {
-            return mString;
-        }
-    }
-
-    /**
-     * A Span that modifies alpha of the default foreground color.
-     */
-    private static class DimmingSpan extends CharacterStyle {
-        private int mAlpha;
-
-        public void setAlpha(int alpha) {
-            mAlpha = alpha;
-        }
-
-        @Override
-        public void updateDrawState(TextPaint ds) {
-
-            // Only dim the text in the basic state; not selected, focused or pressed
-            int[] states = ds.drawableState;
-            if (states != null) {
-                int count = states.length;
-                for (int i = 0; i < count; i++) {
-                    switch (states[i]) {
-                        case R.attr.state_pressed:
-                        case R.attr.state_selected:
-                        case R.attr.state_focused:
-                            // We can simply return, because the supplied text
-                            // paint is already configured with defaults.
-                            return;
-                    }
-                }
-            }
-
-            int color = ds.getColor();
-            color = Color.argb(mAlpha, Color.red(color), Color.green(color), Color.blue(color));
-            ds.setColor(color);
-        }
-    }
-
-    /**
-     * Constructor.
-     */
-    public TextHighlightingAnimation(int duration) {
-        mDuration = duration;
-        mHandler = new Handler();
-        mDimmingSpan = new DimmingSpan();
-        mDimmingSpan.setAlpha(MAX_ALPHA);
-    }
-
-    /**
-     * Returns a Spanned that can be used by a text view to show text with highlighting.
-     */
-    public TextWithHighlightingImpl createTextWithHighlighting() {
-        return new TextWithHighlightingImpl();
-    }
-
-    /**
-     * Override and invalidate (redraw) TextViews showing {@link TextWithHighlightingImpl}.
-     */
-    protected abstract void invalidate();
-
-    /**
-     * Starts the highlighting animation, which will dim portions of text.
-     */
-    public void startHighlighting() {
-        startAnimation(true);
-    }
-
-    /**
-     * Starts un-highlighting animation, which will brighten the dimmed portions of text
-     * to the brightness level of the rest of text.
-     */
-    public void stopHighlighting() {
-        startAnimation(false);
-    }
-
-    /**
-     * Called when the animation starts.
-     */
-    protected void onAnimationStarted() {
-    }
-
-    /**
-     * Called when the animation has stopped.
-     */
-    protected void onAnimationEnded() {
-    }
-
-    private void startAnimation(boolean dim) {
-        if (mDimming != dim) {
-            mDimming = dim;
-            long now = System.currentTimeMillis();
-            if (!mAnimating) {
-                mAnimating = true;
-                mTargetTime = now + mDuration;
-                onAnimationStarted();
-                mHandler.post(this);
-            } else  {
-
-                // If we have started dimming, reverse the direction and adjust the target
-                // time accordingly.
-                mTargetTime = (now + mDuration) - (mTargetTime - now);
-            }
-        }
-    }
-
-    /**
-     * Animation step.
-     */
-    public void run() {
-        long now = System.currentTimeMillis();
-        long timeLeft = mTargetTime - now;
-        if (timeLeft < 0) {
-            mDimmingSpan.setAlpha(mDimming ? MIN_ALPHA : MAX_ALPHA);
-            mAnimating = false;
-            onAnimationEnded();
-            return;
-        }
-
-        // Start=1, end=0
-        float virtualTime = (float)timeLeft / mDuration;
-        if (mDimming) {
-            float interpolatedTime = DECELERATE_INTERPOLATOR.getInterpolation(virtualTime);
-            mDimmingSpan.setAlpha((int)(MIN_ALPHA + (MAX_ALPHA-MIN_ALPHA) * interpolatedTime));
-        } else {
-            float interpolatedTime = ACCELERATE_INTERPOLATOR.getInterpolation(virtualTime);
-            mDimmingSpan.setAlpha((int)(MIN_ALPHA + (MAX_ALPHA-MIN_ALPHA) * (1-interpolatedTime)));
-        }
-
-        invalidate();
-
-        // Repeat
-        mHandler.postDelayed(this, FRAME_RATE);
-    }
-}
diff --git a/src/com/android/contacts/widget/TextWithHighlighting.java b/src/com/android/contacts/widget/TextWithHighlighting.java
deleted file mode 100644
index 3a32b02..0000000
--- a/src/com/android/contacts/widget/TextWithHighlighting.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.contacts.widget;
-
-import android.database.CharArrayBuffer;
-import android.text.Spanned;
-
-/**
- * A Spanned that highlights a part of text by dimming another part of that text.
- */
-public interface TextWithHighlighting extends Spanned {
-    void setText(CharArrayBuffer baseText, CharArrayBuffer highlightedText);
-}
diff --git a/src/com/android/contacts/widget/TextWithHighlightingFactory.java b/src/com/android/contacts/widget/TextWithHighlightingFactory.java
deleted file mode 100644
index ee5744d..0000000
--- a/src/com/android/contacts/widget/TextWithHighlightingFactory.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.contacts.widget;
-
-/**
- * A factory for text fields with animated highlighting.
- */
-public interface TextWithHighlightingFactory {
-    TextWithHighlighting createTextWithHighlighting();
-}
diff --git a/src/com/android/contacts/widget/TouchlessScrollView.java b/src/com/android/contacts/widget/TouchlessScrollView.java
new file mode 100644
index 0000000..a0c0eb2
--- /dev/null
+++ b/src/com/android/contacts/widget/TouchlessScrollView.java
@@ -0,0 +1,55 @@
+package com.android.contacts.widget;
+
+import android.content.Context;
+import android.os.Parcelable;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.widget.ScrollView;
+
+/**
+ * A {@link ScrollView} that doesn't respond or intercept touch events.
+ *
+ * This is used in combination with {@link com.android.contacts.widget.MultiShrinkScroller} so
+ * that MultiShrinkScroller can handle all scrolling & saving.
+ */
+public class TouchlessScrollView extends ScrollView {
+
+    public TouchlessScrollView(Context context) {
+        this(context, null);
+    }
+
+    public TouchlessScrollView(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public TouchlessScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+    @Override
+    protected Parcelable onSaveInstanceState() {
+        // Do not save the current scroll position. Always store scrollY=0 and delegate
+        // responsibility of saving state to the MultiShrinkScroller.
+        final int scrollY = getScrollY();
+        setScrollY(0);
+        final Parcelable returnValue = super.onSaveInstanceState();
+        setScrollY(scrollY);
+        return returnValue;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean onInterceptTouchEvent(MotionEvent ev) {
+        return false;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean onTouchEvent(MotionEvent event) {
+        return false;
+    }
+}
\ No newline at end of file
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 7a7df01..46e7ac3 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -76,16 +76,6 @@
             </intent-filter>
         </activity>
 
-        <activity android:name=".streamitems.StreamItemPopulatorActivity"
-            android:label="@string/streamItemPopulator"
-            >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.DEFAULT" />
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-
         <!--
           Test authenticators/sync adapters.
 
diff --git a/tests/res/layout/stream_item_populator.xml b/tests/res/layout/stream_item_populator.xml
deleted file mode 100644
index acc46bf..0000000
--- a/tests/res/layout/stream_item_populator.xml
+++ /dev/null
@@ -1,37 +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.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:gravity="center"
->
-    <Button
-        android:id="@+id/add"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/chooseAContactButton"
-        android:layout_marginBottom="50px"
-    />
-    <Button
-        android:id="@+id/exit"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/exitButton"
-    />
-</LinearLayout>
diff --git a/res/values-sw600dp/colors.xml b/tests/res/values/donottranslate_config.xml
similarity index 75%
copy from res/values-sw600dp/colors.xml
copy to tests/res/values/donottranslate_config.xml
index 0f8f8de..9931d85 100644
--- a/res/values-sw600dp/colors.xml
+++ b/tests/res/values/donottranslate_config.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
+<!-- Copyright (C) 2014 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,10 +13,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
 
-<resources>
-
-    <!-- Color used for the letter in the A-Z section header -->
-    <color name="section_header_text_color">#ff000000</color>
+    <string name="target_package_name">com.android.contacts</string>
 
 </resources>
diff --git a/tests/res/values/donottranslate_strings.xml b/tests/res/values/donottranslate_strings.xml
index b3f3ee7..52ccc92 100644
--- a/tests/res/values/donottranslate_strings.xml
+++ b/tests/res/values/donottranslate_strings.xml
@@ -83,6 +83,8 @@
         <item>DIAL tel</item>
         <item>VIEW tel</item>
         <item>VIEW calls (call-log after a phone call)</item>
+        <item>VIEW missed calls</item>
+        <item>VIEW voicemails</item>
         <item>VIEW calls item</item>
         <item>CallDetailActivity (legacy)</item>
         <item>CallLogActivity (legacy)</item>
@@ -97,10 +99,7 @@
     <string name="useRandomNumbers">Use random numbers</string>
     <string name="addedLogEntriesToast">Added %1$d call log entries.</string>
     <string name="noLogEntriesToast">No entries in the call log yet.  Need at least one record for the template.  Or use random numbers.</string>
-
-    <string name="chooseAContactButton">Choose a contact to add stream items to</string>
     <string name="exitButton">Exit</string>
-    <string name="streamItemPopulator">Populate stream items</string>
 
     <string-array name="pinnedHeaderUseCases">
         <item>One short section - no headers</item>
diff --git a/tests/src/com/android/contacts/ContactDetailTest.java b/tests/src/com/android/contacts/ContactDetailTest.java
deleted file mode 100644
index ea1e40e..0000000
--- a/tests/src/com/android/contacts/ContactDetailTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.contacts;
-
-import android.test.ActivityUnitTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import com.android.contacts.activities.ContactDetailActivity;
-import com.android.contacts.common.test.mocks.ContactsMockContext;
-import com.android.contacts.common.test.mocks.MockContentProvider;
-
-@SmallTest
-public class ContactDetailTest extends ActivityUnitTestCase<ContactDetailActivity> {
-    private ContactsMockContext mContext;
-    private MockContentProvider mContactsProvider;
-
-    public ContactDetailTest() {
-        super(ContactDetailActivity.class);
-    }
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        mContext = new ContactsMockContext(getInstrumentation().getTargetContext());
-        mContactsProvider = mContext.getContactsProvider();
-        setActivityContext(mContext);
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-//    public void testFoo() {
-//        // Use lookup-style Uris that also contain the Contact-ID
-//        //long rawContactId1 = mCreator.createRawContact("JohnDoe", "John", "Doe");
-//        //long contactId1 = mCreator.getContactIdByRawContactId(rawContactId1);
-//        //Uri contactUri1 = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId1);
-//        Intent intent = new Intent(Intent.ACTION_VIEW,
-//                ContentUris.withAppendedId(Contacts.CONTENT_URI, 123));
-//        startActivity(intent, null, null);
-//        ContactDetailActivity activity = getActivity();
-//        mContactsProvider.verify();
-//    }
-}
diff --git a/tests/src/com/android/contacts/ContactsLaunchPerformance.java b/tests/src/com/android/contacts/ContactsLaunchPerformance.java
index 5f0336b..411ba4e 100644
--- a/tests/src/com/android/contacts/ContactsLaunchPerformance.java
+++ b/tests/src/com/android/contacts/ContactsLaunchPerformance.java
@@ -31,8 +31,8 @@
     public void onCreate(Bundle arguments) {
         mIntent.setAction(Intent.ACTION_MAIN);
         mIntent.addCategory(Intent.CATEGORY_LAUNCHER);
-        mIntent.setComponent(new ComponentName("com.android.contacts",
-                "com.android.contacts.DialtactsContactsEntryActivity"));
+        mIntent.setComponent(new ComponentName(getTargetContext(),
+                "com.android.contacts.activities.PeopleActivity"));
 
         start();
     }
diff --git a/tests/src/com/android/contacts/activities/PeopleActivityTest.java b/tests/src/com/android/contacts/activities/PeopleActivityTest.java
index d882da7..023d48b 100644
--- a/tests/src/com/android/contacts/activities/PeopleActivityTest.java
+++ b/tests/src/com/android/contacts/activities/PeopleActivityTest.java
@@ -16,13 +16,13 @@
 
 package com.android.contacts.activities;
 
+import android.content.ContentUris;
 import android.content.ContentValues;
 import android.content.Intent;
 import android.content.Loader;
 import android.net.Uri;
 import android.os.AsyncTask;
 import android.provider.ContactsContract;
-import android.provider.ContactsContract.ContactCounts;
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Directory;
 import android.provider.ContactsContract.Groups;
@@ -35,17 +35,17 @@
 import com.android.contacts.ContactsApplication;
 import com.android.contacts.R;
 import com.android.contacts.common.ContactPhotoManager;
+import com.android.contacts.common.testing.InjectedServices;
 import com.android.contacts.common.test.mocks.ContactsMockContext;
 import com.android.contacts.common.test.mocks.MockContentProvider;
 import com.android.contacts.common.test.mocks.MockContentProvider.Query;
-import com.android.contacts.detail.ContactDetailFragment;
 import com.android.contacts.interactions.TestLoaderManager;
 import com.android.contacts.list.ContactBrowseListFragment;
 import com.android.contacts.common.model.AccountTypeManager;
 import com.android.contacts.common.model.account.AccountType;
 import com.android.contacts.common.model.account.AccountWithDataSet;
 import com.android.contacts.common.model.account.BaseAccountType;
-import com.android.contacts.common.test.InjectedServices;
+import com.android.contacts.common.preference.ContactsPreferences;
 import com.android.contacts.common.test.mocks.MockAccountTypeManager;
 import com.android.contacts.common.test.mocks.MockContactPhotoManager;
 import com.android.contacts.common.test.mocks.MockSharedPreferences;
@@ -88,6 +88,10 @@
     public void setUp() {
         mContext = new ContactsMockContext(getInstrumentation().getTargetContext());
         mContactsProvider = mContext.getContactsProvider();
+        // The ContactsApplication performs this getType query to warm up the provider - see
+        // ContactsApplication#DelayedInitialization.doInBackground
+        mContactsProvider.expectTypeQuery(ContentUris.withAppendedId(Contacts.CONTENT_URI, 1),
+                Contacts.CONTENT_ITEM_TYPE);
         mSettingsProvider = mContext.getSettingsProvider();
         InjectedServices services = new InjectedServices();
         services.setContentResolver(mContext.getContentResolver());
@@ -116,66 +120,6 @@
         super.tearDown();
     }
 
-    public void testSingleAccountNoGroups() {
-
-        if (true) { // Need this to avoid "unreachable statement"
-            return; // Disabled for now.
-        }
-
-        // This two-pane UI test only makes sense if we run with two panes.
-        // Let's ignore this in the single pane case
-        if (!PhoneCapabilityTester.isUsingTwoPanes(mContext)) return;
-
-        expectSettingsQueriesAndReturnDefault();
-        expectProviderStatusQueryAndReturnNormal();
-        expectGroupsQueryAndReturnEmpty();
-        expectContactListQuery(100);
-        expectContactLookupQuery("lu1", 1, "lu1", 1);
-        expectContactEntityQuery("lu1", 1);
-
-        setActivityIntent(new Intent(Intent.ACTION_DEFAULT));
-
-        PeopleActivity activity = getActivity();
-
-        getInstrumentation().waitForIdleSync();
-
-        ContactBrowseListFragment listFragment = activity.getListFragment();
-        ContactDetailFragment detailFragment = activity.getDetailFragment();
-
-        Loader<?> filterLoader =
-                activity.getLoaderManager().getLoader(R.id.contact_list_filter_loader);
-        Loader<?> listLoader =
-                listFragment.getLoaderManager().getLoader(0);
-
-        // TODO: wait for detail loader
-        // TODO: wait for lookup key loading
-        TestLoaderManager.waitForLoaders(filterLoader, listLoader);
-
-        getInstrumentation().waitForIdleSync();
-
-        mContext.verify();
-
-        TextView nameText = (TextView) detailFragment.getView().findViewById(R.id.name);
-        assertEquals("Contact 1", nameText.getText());
-    }
-
-    private void expectSettingsQueriesAndReturnDefault() {
-        mSettingsProvider
-                .expectQuery(Settings.System.CONTENT_URI)
-                .withProjection(Settings.System.VALUE)
-                .withSelection(Settings.System.NAME + "=?",
-                        ContactsContract.Preferences.DISPLAY_ORDER)
-                .returnRow(ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY)
-                .anyNumberOfTimes();
-        mSettingsProvider
-                .expectQuery(Settings.System.CONTENT_URI)
-                .withProjection(Settings.System.VALUE)
-                .withSelection(Settings.System.NAME + "=?",
-                        ContactsContract.Preferences.SORT_ORDER)
-                .returnRow(ContactsContract.Preferences.SORT_ORDER_PRIMARY)
-                .anyNumberOfTimes();
-    }
-
     private void expectProviderStatusQueryAndReturnNormal() {
         mContactsProvider
                 .expectQuery(ProviderStatus.CONTENT_URI)
@@ -195,7 +139,7 @@
 
     private void expectContactListQuery(int count) {
         Uri uri = Contacts.CONTENT_URI.buildUpon()
-                .appendQueryParameter(ContactCounts.ADDRESS_BOOK_INDEX_EXTRAS, "true")
+                .appendQueryParameter(Contacts.ADDRESS_BOOK_INDEX_EXTRAS, "true")
                 .appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY,
                         String.valueOf(Directory.DEFAULT))
                 .build();
diff --git a/tests/src/com/android/contacts/detail/ContactDetailDisplayUtilsTest.java b/tests/src/com/android/contacts/detail/ContactDetailDisplayUtilsTest.java
deleted file mode 100644
index 07b3691..0000000
--- a/tests/src/com/android/contacts/detail/ContactDetailDisplayUtilsTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.detail;
-
-import android.content.Context;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-import android.text.Html;
-import android.text.Spanned;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.TextView;
-
-import com.android.contacts.R;
-import com.android.contacts.util.StreamItemEntry;
-import com.android.contacts.util.StreamItemEntryBuilder;
-
-/**
- * Unit tests for {@link ContactDetailDisplayUtils}.
- */
-@SmallTest
-public class ContactDetailDisplayUtilsTest extends AndroidTestCase {
-    private static final String TEST_STREAM_ITEM_TEXT = "text";
-
-    private LayoutInflater mLayoutInflater;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        mLayoutInflater =
-                (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-    public void testAddStreamItemText_IncludesComments() {
-        StreamItemEntry streamItem = getTestBuilder().setComment("1 comment").build(getContext());
-        View streamItemView = addStreamItemText(streamItem);
-        assertHasText(streamItemView, R.id.stream_item_comments, "1 comment");
-    }
-
-    public void testAddStreamItemText_IncludesHtmlComments() {
-        StreamItemEntry streamItem = getTestBuilder().setComment("1 <b>comment</b>")
-                .build(getContext());
-        View streamItemView = addStreamItemText(streamItem);
-        assertHasHtmlText(streamItemView, R.id.stream_item_comments, "1 <b>comment<b>");
-    }
-
-    public void testAddStreamItemText_NoComments() {
-        StreamItemEntry streamItem = getTestBuilder().setComment(null).build(getContext());
-        View streamItemView = addStreamItemText(streamItem);
-        assertGone(streamItemView, R.id.stream_item_comments);
-    }
-
-    /** Checks that the given id corresponds to a visible text view with the expected text. */
-    private void assertHasText(View parent, int textViewId, String expectedText) {
-        TextView textView = (TextView) parent.findViewById(textViewId);
-        assertNotNull(textView);
-        assertEquals(View.VISIBLE, textView.getVisibility());
-        assertEquals(expectedText, textView.getText().toString());
-    }
-
-    /** Checks that the given id corresponds to a visible text view with the expected HTML. */
-    private void assertHasHtmlText(View parent, int textViewId, String expectedHtml) {
-        TextView textView = (TextView) parent.findViewById(textViewId);
-        assertNotNull(textView);
-        assertEquals(View.VISIBLE, textView.getVisibility());
-        assertSpannableEquals(Html.fromHtml(expectedHtml), textView.getText());
-    }
-
-    /**
-     * Asserts that a char sequence is actually a {@link Spanned} matching the one expected.
-     */
-    private void assertSpannableEquals(Spanned expected, CharSequence actualCharSequence) {
-        assertEquals(expected.toString(), actualCharSequence.toString());
-        assertTrue("char sequence should be an instance of Spanned",
-                actualCharSequence instanceof Spanned);
-        Spanned actual = (Spanned) actualCharSequence;
-        assertEquals(Html.toHtml(expected), Html.toHtml(actual));
-    }
-
-    /** Checks that the given id corresponds to a gone view. */
-    private void assertGone(View parent, int textId) {
-        View view = parent.findViewById(textId);
-        assertNotNull(view);
-        assertEquals(View.GONE, view.getVisibility());
-    }
-
-    /**
-     * Calls {@link ContactDetailDisplayUtils#addStreamItemText(LayoutInflater, Context,
-     * StreamItemEntry, View)} with the default parameters and the given stream item.
-     */
-    private View addStreamItemText(StreamItemEntry streamItem) {
-        return ContactDetailDisplayUtils.addStreamItemText(getContext(), streamItem,
-                mLayoutInflater.inflate(R.layout.stream_item_container, null));
-    }
-
-    private StreamItemEntryBuilder getTestBuilder() {
-        return new StreamItemEntryBuilder().setText(TEST_STREAM_ITEM_TEXT);
-    }
-}
diff --git a/tests/src/com/android/contacts/detail/ContactDetailFragmentTests.java b/tests/src/com/android/contacts/detail/ContactDetailFragmentTests.java
deleted file mode 100644
index 9c52161..0000000
--- a/tests/src/com/android/contacts/detail/ContactDetailFragmentTests.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.contacts.detail;
-
-import android.content.ContentValues;
-import android.content.Intent;
-import android.net.Uri;
-import android.provider.ContactsContract.CommonDataKinds.Email;
-import android.provider.ContactsContract.CommonDataKinds.Im;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import com.android.contacts.detail.ContactDetailFragment.DetailViewEntry;
-import com.android.contacts.common.model.dataitem.DataItem;
-import com.android.contacts.common.model.dataitem.EmailDataItem;
-import com.android.contacts.common.model.dataitem.ImDataItem;
-
-/**
- * Tests for {@link ContactDetailFragment}.
- */
-@SmallTest
-public class ContactDetailFragmentTests extends AndroidTestCase {
-    private static final String TEST_ADDRESS = "user@example.org";
-    private static final String TEST_PROTOCOL = "prot%col";
-
-    public void testImIntent() throws Exception {
-        // Test GTalk XMPP URI. No chat capabilities provided
-        final ContentValues values = new ContentValues();
-        values.put(Im.MIMETYPE, Im.CONTENT_ITEM_TYPE);
-        values.put(Im.TYPE, Im.TYPE_HOME);
-        values.put(Im.PROTOCOL, Im.PROTOCOL_GOOGLE_TALK);
-        values.put(Im.DATA, TEST_ADDRESS);
-        ImDataItem im = (ImDataItem) DataItem.createFrom(values);
-
-        DetailViewEntry entry = new ContactDetailFragment.DetailViewEntry();
-        ContactDetailFragment.buildImActions(mContext, entry, im);
-        assertEquals(Intent.ACTION_SENDTO, entry.intent.getAction());
-        assertEquals("xmpp:" + TEST_ADDRESS + "?message", entry.intent.getData().toString());
-
-        assertNull(entry.secondaryIntent);
-    }
-
-    public void testImIntentWithAudio() throws Exception {
-        // Test GTalk XMPP URI. Audio chat capabilities provided
-        final ContentValues values = new ContentValues();
-        values.put(Im.MIMETYPE, Im.CONTENT_ITEM_TYPE);
-        values.put(Im.TYPE, Im.TYPE_HOME);
-        values.put(Im.PROTOCOL, Im.PROTOCOL_GOOGLE_TALK);
-        values.put(Im.DATA, TEST_ADDRESS);
-        values.put(Im.CHAT_CAPABILITY, Im.CAPABILITY_HAS_VOICE | Im.CAPABILITY_HAS_VIDEO);
-        ImDataItem im = (ImDataItem) DataItem.createFrom(values);
-
-        DetailViewEntry entry = new ContactDetailFragment.DetailViewEntry();
-        ContactDetailFragment.buildImActions(mContext, entry, im);
-        assertEquals(Intent.ACTION_SENDTO, entry.intent.getAction());
-        assertEquals("xmpp:" + TEST_ADDRESS + "?message", entry.intent.getData().toString());
-
-        assertEquals(Intent.ACTION_SENDTO, entry.secondaryIntent.getAction());
-        assertEquals("xmpp:" + TEST_ADDRESS + "?call", entry.secondaryIntent.getData().toString());
-    }
-
-    public void testImIntentWithVideo() throws Exception {
-        // Test GTalk XMPP URI. Video chat capabilities provided
-        final ContentValues values = new ContentValues();
-        values.put(Im.MIMETYPE, Im.CONTENT_ITEM_TYPE);
-        values.put(Im.TYPE, Im.TYPE_HOME);
-        values.put(Im.PROTOCOL, Im.PROTOCOL_GOOGLE_TALK);
-        values.put(Im.DATA, TEST_ADDRESS);
-        values.put(Im.CHAT_CAPABILITY, Im.CAPABILITY_HAS_VOICE | Im.CAPABILITY_HAS_VIDEO |
-                Im.CAPABILITY_HAS_VOICE);
-        ImDataItem im = (ImDataItem) DataItem.createFrom(values);
-
-        DetailViewEntry entry = new ContactDetailFragment.DetailViewEntry();
-        ContactDetailFragment.buildImActions(mContext, entry, im);
-        assertEquals(Intent.ACTION_SENDTO, entry.intent.getAction());
-        assertEquals("xmpp:" + TEST_ADDRESS + "?message", entry.intent.getData().toString());
-
-        assertEquals(Intent.ACTION_SENDTO, entry.secondaryIntent.getAction());
-        assertEquals("xmpp:" + TEST_ADDRESS + "?call", entry.secondaryIntent.getData().toString());
-    }
-
-    public void testImIntentCustom() throws Exception {
-        // Custom IM types have encoded authority. We send the imto Intent here, because
-        // legacy third party apps might not accept xmpp yet
-        final ContentValues values = new ContentValues();
-        values.put(Im.MIMETYPE, Im.CONTENT_ITEM_TYPE);
-        values.put(Im.TYPE, Im.TYPE_HOME);
-        values.put(Im.PROTOCOL, Im.PROTOCOL_CUSTOM);
-        values.put(Im.CUSTOM_PROTOCOL, TEST_PROTOCOL);
-        values.put(Im.DATA, TEST_ADDRESS);
-        ImDataItem im = (ImDataItem) DataItem.createFrom(values);
-
-        DetailViewEntry entry = new ContactDetailFragment.DetailViewEntry();
-        final Intent imIntent =
-                ContactDetailFragment.getCustomIMIntent(im, Im.PROTOCOL_CUSTOM);
-        assertEquals(Intent.ACTION_SENDTO, imIntent.getAction());
-
-        final Uri data = imIntent.getData();
-        assertEquals("imto", data.getScheme());
-        assertEquals(TEST_PROTOCOL, data.getAuthority());
-        assertEquals(TEST_ADDRESS, data.getPathSegments().get(0));
-
-        assertNull(entry.secondaryIntent);
-    }
-
-    public void testImEmailIntent() throws Exception {
-        // Email addresses are treated as Google Talk entries
-        // This test only tests the VIDEO+CAMERA case. The other cases have been addressed by the
-        // Im tests
-        final ContentValues values = new ContentValues();
-        values.put(Email.MIMETYPE, Email.CONTENT_ITEM_TYPE);
-        values.put(Email.TYPE, Email.TYPE_HOME);
-        values.put(Email.DATA, TEST_ADDRESS);
-        values.put(Email.CHAT_CAPABILITY, Im.CAPABILITY_HAS_VOICE | Im.CAPABILITY_HAS_VIDEO |
-                Im.CAPABILITY_HAS_VOICE);
-        ImDataItem im = ImDataItem.createFromEmail(
-                (EmailDataItem) DataItem.createFrom(values));
-
-        DetailViewEntry entry = new ContactDetailFragment.DetailViewEntry();
-        ContactDetailFragment.buildImActions(mContext, entry, im);
-        assertEquals(Intent.ACTION_SENDTO, entry.intent.getAction());
-        assertEquals("xmpp:" + TEST_ADDRESS + "?message", entry.intent.getData().toString());
-
-        assertEquals(Intent.ACTION_SENDTO, entry.secondaryIntent.getAction());
-        assertEquals("xmpp:" + TEST_ADDRESS + "?call", entry.secondaryIntent.getData().toString());
-    }
-}
diff --git a/tests/src/com/android/contacts/detail/StreamItemAdapterTest.java b/tests/src/com/android/contacts/detail/StreamItemAdapterTest.java
deleted file mode 100644
index abd4680..0000000
--- a/tests/src/com/android/contacts/detail/StreamItemAdapterTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * 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
- */
-
-package com.android.contacts.detail;
-
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-import android.view.View;
-
-import com.android.contacts.util.StreamItemEntry;
-import com.android.contacts.util.StreamItemEntryBuilder;
-
-import com.google.common.collect.Lists;
-
-import java.util.ArrayList;
-
-// TODO: We should have tests for action, but that requires a mock sync-adapter that specifies
-// an action or doesn't
-
-// TODO Add test for photo click
-
-/**
- * Unit tests for {@link StreamItemAdapter}.
- */
-@SmallTest
-public class StreamItemAdapterTest extends AndroidTestCase {
-    private StreamItemAdapter mAdapter;
-    private FakeOnClickListener mListener;
-    private FakeOnClickListener mPhotoListener;
-    private View mView;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        mListener = new FakeOnClickListener();
-        mAdapter = new StreamItemAdapter(getContext(), mListener, mPhotoListener);
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        mAdapter = null;
-        mListener = null;
-        super.tearDown();
-    }
-
-    public void testGetCount_Empty() {
-        mAdapter.setStreamItems(createStreamItemList(0));
-        // The header and title are gone when there are no stream items.
-        assertEquals(0, mAdapter.getCount());
-    }
-
-    public void testGetCount_NonEmpty() {
-        mAdapter.setStreamItems(createStreamItemList(3));
-        // There is one extra view: the header.
-        assertEquals(4, mAdapter.getCount());
-    }
-
-    public void testGetView_Header() {
-        // Just check that we can inflate it correctly.
-        mView = mAdapter.getView(0, null, null);
-    }
-
-    /** Counter used by {@link #createStreamItemEntryBuilder()} to create unique builders. */
-    private int mCreateStreamItemEntryBuilderCounter = 0;
-
-    /** Returns a stream item builder with basic information in it. */
-    private StreamItemEntryBuilder createStreamItemEntryBuilder() {
-        return new StreamItemEntryBuilder().setText(
-                "text #" + mCreateStreamItemEntryBuilderCounter++);
-    }
-
-    /** Creates a list containing the given number of {@link StreamItemEntry}s. */
-    private ArrayList<StreamItemEntry> createStreamItemList(int count) {
-        ArrayList<StreamItemEntry> list = Lists.newArrayList();
-        for (int index = 0; index < count; ++index) {
-            list.add(createStreamItemEntryBuilder().build(getContext()));
-        }
-        return list;
-    }
-
-    /** Checks that the stream item view has a click listener. */
-    private void assertStreamItemViewHasOnClickListener() {
-        assertFalse("listener should have not been invoked yet", mListener.clicked);
-        mView.performClick();
-        assertTrue("listener should have been invoked", mListener.clicked);
-    }
-
-    /** Checks that the stream item view does not have a click listener. */
-    private void assertStreamItemViewHasNoOnClickListener() {
-        assertFalse("listener should have not been invoked yet", mListener.clicked);
-        mView.performClick();
-        assertFalse("listener should have not been invoked", mListener.clicked);
-    }
-
-    /** Checks that the stream item view is clickable. */
-    private void assertStreamItemViewFocusable() {
-        assertNotNull("should have a stream item", mView);
-        assertTrue("should be focusable", mView.isFocusable());
-    }
-
-    /** Asserts that there is a stream item but it is not clickable. */
-    private void assertStreamItemViewNotFocusable() {
-        assertNotNull("should have a stream item", mView);
-        assertFalse("should not be focusable", mView.isFocusable());
-    }
-
-    /** Checks that the stream item view has the given stream item as its tag. */
-    private void assertStreamItemViewHasTag(StreamItemEntry streamItem) {
-        Object tag = mView.getTag();
-        assertNotNull("should have a tag", tag);
-        assertTrue("should be a StreamItemEntry", tag instanceof StreamItemEntry);
-        StreamItemEntry streamItemTag = (StreamItemEntry) tag;
-        // The streamItem itself should be in the tag.
-        assertSame(streamItem, streamItemTag);
-    }
-
-    /** Checks that the stream item view has the given stream item as its tag. */
-    private void assertStreamItemViewHasNoTag() {
-        Object tag = mView.getTag();
-        assertNull("should not have a tag", tag);
-    }
-
-    /**
-     * Simple fake implementation of {@link View.OnClickListener} which sets a member variable to
-     * true when clicked.
-     */
-    private final class FakeOnClickListener implements View.OnClickListener {
-        public boolean clicked = false;
-
-        @Override
-        public void onClick(View view) {
-            clicked = true;
-        }
-    }
-}
diff --git a/tests/src/com/android/contacts/format/TestTextWithHighlightingFactory.java b/tests/src/com/android/contacts/format/TestTextWithHighlightingFactory.java
deleted file mode 100644
index 9dbd364..0000000
--- a/tests/src/com/android/contacts/format/TestTextWithHighlightingFactory.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.format;
-
-import android.database.CharArrayBuffer;
-import android.graphics.Typeface;
-import android.test.suitebuilder.annotation.SmallTest;
-import android.text.SpannableStringBuilder;
-import android.text.style.StyleSpan;
-
-import com.android.contacts.widget.TextWithHighlighting;
-import com.android.contacts.widget.TextWithHighlightingFactory;
-
-/** A factory for {@link TextWithHighlighting} that wraps its parts in italics. */
-@SmallTest
-public final class TestTextWithHighlightingFactory implements TextWithHighlightingFactory {
-    /** A {@link TextWithHighlighting} implementation that wraps its parts in italics. */
-    private final static class TestTextWithHighlighting extends SpannableStringBuilder
-            implements TextWithHighlighting {
-        @Override
-        public void setText(CharArrayBuffer baseText, CharArrayBuffer highlightedText) {
-            append(new String(baseText.data, 0, baseText.sizeCopied));
-            append(' ');
-            append(new String(highlightedText.data, 0, highlightedText.sizeCopied));
-            setSpan(new StyleSpan(Typeface.ITALIC), 0, baseText.sizeCopied, 0);
-            setSpan(new StyleSpan(Typeface.ITALIC), baseText.sizeCopied + 1,
-                    baseText.sizeCopied + 1 + highlightedText.sizeCopied, 0);
-        }
-    }
-
-    @Override
-    public TextWithHighlighting createTextWithHighlighting() {
-        return new TestTextWithHighlighting();
-    }
-}
diff --git a/tests/src/com/android/contacts/interactions/CallLogInteractionsLoaderTest.java b/tests/src/com/android/contacts/interactions/CallLogInteractionsLoaderTest.java
new file mode 100644
index 0000000..079411f
--- /dev/null
+++ b/tests/src/com/android/contacts/interactions/CallLogInteractionsLoaderTest.java
@@ -0,0 +1,65 @@
+package com.android.contacts.interactions;
+
+import android.content.ContentValues;
+import android.provider.CallLog.Calls;
+import android.test.AndroidTestCase;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Tests {@link CallLogInteractionsLoader}
+ */
+public class CallLogInteractionsLoaderTest extends AndroidTestCase {
+
+    public void testCallLogInteractions_pruneDuplicates_containsDuplicates() {
+        List<ContactInteraction> interactions = new ArrayList<>();
+        int maxToRetrieve = 5;
+
+        ContentValues interactionOneValues = new ContentValues();
+        interactionOneValues.put(Calls.DATE, 1L);
+        interactions.add(new CallLogInteraction(interactionOneValues));
+
+        ContentValues interactionTwoValues = new ContentValues();
+        interactionTwoValues.put(Calls.DATE, 1L);
+        interactions.add(new CallLogInteraction(interactionTwoValues));
+
+        interactions = CallLogInteractionsLoader.pruneDuplicateCallLogInteractions(interactions,
+                maxToRetrieve);
+        assertEquals(1, interactions.size());
+    }
+
+    public void testCallLogInteractions_pruneDuplicates_containsNoDuplicates() {
+        List<ContactInteraction> interactions = new ArrayList<>();
+        int maxToRetrieve = 5;
+
+        ContentValues interactionOneValues = new ContentValues();
+        interactionOneValues.put(Calls.DATE, 1L);
+        interactions.add(new CallLogInteraction(interactionOneValues));
+
+        ContentValues interactionTwoValues = new ContentValues();
+        interactionTwoValues.put(Calls.DATE, 5L);
+        interactions.add(new CallLogInteraction(interactionTwoValues));
+
+        interactions = CallLogInteractionsLoader.pruneDuplicateCallLogInteractions(interactions,
+                maxToRetrieve);
+        assertEquals(2, interactions.size());
+    }
+
+    public void testCallLogInteractions_maxToRetrieve() {
+        List<ContactInteraction> interactions = new ArrayList<>();
+        int maxToRetrieve = 1;
+
+        ContentValues interactionOneValues = new ContentValues();
+        interactionOneValues.put(Calls.DATE, 1L);
+        interactions.add(new CallLogInteraction(interactionOneValues));
+
+        ContentValues interactionTwoValues = new ContentValues();
+        interactionTwoValues.put(Calls.DATE, 5L);
+        interactions.add(new CallLogInteraction(interactionTwoValues));
+
+        interactions = CallLogInteractionsLoader.pruneDuplicateCallLogInteractions(interactions,
+                maxToRetrieve);
+        assertEquals(1, interactions.size());
+    }
+}
diff --git a/tests/src/com/android/contacts/interactions/ContactDeletionInteractionTest.java b/tests/src/com/android/contacts/interactions/ContactDeletionInteractionTest.java
index bcaa398..5932c87 100644
--- a/tests/src/com/android/contacts/interactions/ContactDeletionInteractionTest.java
+++ b/tests/src/com/android/contacts/interactions/ContactDeletionInteractionTest.java
@@ -34,7 +34,7 @@
 import com.android.contacts.common.model.AccountTypeManager;
 import com.android.contacts.common.model.account.AccountType;
 import com.android.contacts.common.model.account.BaseAccountType;
-import com.android.contacts.common.test.InjectedServices;
+import com.android.contacts.common.testing.InjectedServices;
 import com.android.contacts.common.test.mocks.MockAccountTypeManager;
 
 /**
diff --git a/tests/src/com/android/contacts/interactions/ContactInteractionUtilTest.java b/tests/src/com/android/contacts/interactions/ContactInteractionUtilTest.java
new file mode 100644
index 0000000..4802b46
--- /dev/null
+++ b/tests/src/com/android/contacts/interactions/ContactInteractionUtilTest.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.contacts.interactions;
+
+import com.android.contacts.common.R;
+
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.test.AndroidTestCase;
+import android.text.format.DateUtils;
+
+import java.util.Calendar;
+import java.util.Locale;
+
+/**
+ * Tests for utility functions in {@link ContactInteractionUtil}
+ */
+public class ContactInteractionUtilTest extends AndroidTestCase {
+
+    private Locale mOriginalLocale;
+    private Calendar calendar;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        calendar = Calendar.getInstance();
+
+        // Time/Date utilities rely on specific locales. Forace US and set back in tearDown()
+        mOriginalLocale = Locale.getDefault();
+        setLocale(Locale.US);
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        setLocale(mOriginalLocale);
+        super.tearDown();
+    }
+
+    public void testOneQuestionMark() {
+        assertEquals("(?)", ContactInteractionUtil.questionMarks(1));
+    }
+
+    public void testTwoQuestionMarks() {
+        assertEquals("(?,?)", ContactInteractionUtil.questionMarks(2));
+    }
+
+    public void testFiveQuestionMarks() {
+        assertEquals("(?,?,?,?,?)", ContactInteractionUtil.questionMarks(5));
+    }
+
+    public void testFormatDateStringFromTimestamp_todaySingleMinuteAm() {
+        // Test today scenario (time shown)
+        // Single digit minute & AM
+        calendar.set(Calendar.HOUR_OF_DAY, 8);
+        calendar.set(Calendar.MINUTE, 8);
+        long todayTimestamp = calendar.getTimeInMillis();
+        assertEquals("8:08 AM", ContactInteractionUtil.formatDateStringFromTimestamp(
+                calendar.getTimeInMillis(), getContext()));
+    }
+
+    public void testFormatDateStringFromTimestamp_todayDoubleMinutePm() {
+        // Double digit minute & PM
+        calendar.set(Calendar.HOUR_OF_DAY, 22);
+        calendar.set(Calendar.MINUTE, 18);
+        assertEquals("10:18 PM",
+                ContactInteractionUtil.formatDateStringFromTimestamp(calendar.getTimeInMillis(),
+                        getContext()));
+    }
+
+    public void testFormatDateStringFromTimestamp_yesterday() {
+        // Test yesterday and tomorrow (Yesterday or Tomorrow shown)
+        calendar.add(Calendar.DAY_OF_YEAR, -1);
+        assertEquals(getContext().getResources().getString(R.string.yesterday),
+                ContactInteractionUtil.formatDateStringFromTimestamp(calendar.getTimeInMillis(),
+                        getContext()));
+    }
+
+    public void testFormatDateStringFromTimestamp_yesterdayLastYear() {
+        // Set to non leap year
+        calendar.set(Calendar.YEAR, 1999);
+        calendar.set(Calendar.DAY_OF_YEAR, 365);
+        long lastYear = calendar.getTimeInMillis();
+        calendar.add(Calendar.DAY_OF_YEAR, 1);
+
+        assertEquals(getContext().getResources().getString(R.string.yesterday),
+                ContactInteractionUtil.formatDateStringFromTimestamp(lastYear,
+                        getContext(), calendar));
+    }
+
+    public void testFormatDateStringFromTimestamp_tomorrow() {
+        calendar.add(Calendar.DAY_OF_YEAR, 1);
+        assertEquals(getContext().getResources().getString(R.string.tomorrow),
+                ContactInteractionUtil.formatDateStringFromTimestamp(calendar.getTimeInMillis(),
+                        getContext()));
+    }
+
+    public void testFormatDateStringFromTimestamp_tomorrowNewYear() {
+        calendar.set(Calendar.DAY_OF_YEAR, 1);
+        long thisYear = calendar.getTimeInMillis();
+        calendar.add(Calendar.DAY_OF_YEAR, -1);
+
+        assertEquals(getContext().getResources().getString(R.string.tomorrow),
+                ContactInteractionUtil.formatDateStringFromTimestamp(thisYear,
+                        getContext(), calendar));
+    }
+
+    public void testFormatDateStringFromTimestamp_other() {
+        // Test other (Month Date)
+        calendar.set(
+                /* year = */ 1991,
+                /* month = */ Calendar.MONTH,
+                /* day = */ 11);
+        assertEquals("March 11",
+                ContactInteractionUtil.formatDateStringFromTimestamp(calendar.getTimeInMillis(),
+                        getContext()));
+    }
+
+    private void setLocale(Locale locale) {
+        Locale.setDefault(locale);
+        Resources res = getContext().getResources();
+        Configuration config = res.getConfiguration();
+        config.locale = locale;
+        res.updateConfiguration(config, res.getDisplayMetrics());
+    }
+}
\ No newline at end of file
diff --git a/tests/src/com/android/contacts/tests/allintents/AllIntentsActivity.java b/tests/src/com/android/contacts/tests/allintents/AllIntentsActivity.java
index d7ea5bf..910fb5c 100644
--- a/tests/src/com/android/contacts/tests/allintents/AllIntentsActivity.java
+++ b/tests/src/com/android/contacts/tests/allintents/AllIntentsActivity.java
@@ -26,6 +26,7 @@
 import android.database.Cursor;
 import android.net.Uri;
 import android.os.Bundle;
+import android.provider.CallLog;
 import android.provider.CallLog.Calls;
 import android.provider.Contacts.ContactMethods;
 import android.provider.Contacts.People;
@@ -46,6 +47,7 @@
 import android.widget.Toast;
 
 import com.android.contacts.tests.R;
+
 import com.google.common.collect.Lists;
 
 /**
@@ -59,7 +61,7 @@
         implements SelectAccountDialogFragment.Listener {
 
     /** The name of the package of the contacts application. */
-    private static final String ANDROID_CONTACTS_PACKAGE = "com.android.contacts";
+    private String mContactsPackageName;
 
     private static final String CONTACT_LIST_ACTIVITY_CLASS_NAME =
             "com.android.contacts.activities.PeopleActivity";
@@ -121,8 +123,10 @@
         CALL_BUTTON,
         DIAL_tel,
         VIEW_tel,
-        VIEW_calllog,
-        VIEW_calllog_entry,
+        VIEW_CALLLOG,
+        VIEW_CALLLOG_MISSED,
+        VIEW_CALLLOG_VOICEMAIL,
+        VIEW_CALLLOG_ENTRY,
         LEGACY_CALL_DETAILS_ACTIVITY,
         LEGACY_CALL_LOG_ACTIVITY;
 
@@ -136,6 +140,8 @@
         super.onCreate(savedInstanceState);
         setListAdapter(new ArrayAdapter<String>(this, R.layout.intent_list_item,
                 getResources().getStringArray(R.array.allIntents)));
+        mContactsPackageName = getResources().getString(
+                R.string.target_package_name);
     }
 
     @Override
@@ -487,13 +493,27 @@
                 startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("tel:555-123-4567")));
                 break;
             }
-            case VIEW_calllog: {
-                final Intent intent = new Intent(Intent.ACTION_VIEW, null);
-                intent.setType("vnd.android.cursor.dir/calls");
+            case VIEW_CALLLOG: {
+                final Intent intent = new Intent(Intent.ACTION_VIEW);
+                intent.setType(CallLog.Calls.CONTENT_TYPE);
                 startActivity(intent);
                 break;
             }
-            case VIEW_calllog_entry: {
+            case VIEW_CALLLOG_MISSED: {
+                final Intent intent = new Intent(Intent.ACTION_VIEW);
+                intent.setType(CallLog.Calls.CONTENT_TYPE);
+                intent.putExtra(CallLog.Calls.EXTRA_CALL_TYPE_FILTER, CallLog.Calls.MISSED_TYPE);
+                startActivity(intent);
+                break;
+            }
+            case VIEW_CALLLOG_VOICEMAIL: {
+                final Intent intent = new Intent(Intent.ACTION_VIEW);
+                intent.setType(CallLog.Calls.CONTENT_TYPE);
+                intent.putExtra(CallLog.Calls.EXTRA_CALL_TYPE_FILTER, CallLog.Calls.VOICEMAIL_TYPE);
+                startActivity(intent);
+                break;
+            }
+            case VIEW_CALLLOG_ENTRY: {
                 Uri uri = getCallLogUri();
                 if (uri == null) {
                     Toast.makeText(this, "Call log is empty", Toast.LENGTH_LONG).show();
@@ -541,7 +561,8 @@
 
     /** Creates an intent that is bound to a specific activity by name. */
     private Intent bindIntentToClass(Intent intent, String activityClassName) {
-        intent.setComponent(new ComponentName(ANDROID_CONTACTS_PACKAGE, activityClassName));
+        intent.setComponent(new ComponentName(mContactsPackageName,
+                    activityClassName));
         return intent;
     }
 
diff --git a/tests/src/com/android/contacts/tests/streamitems/StreamItemPopulatorActivity.java b/tests/src/com/android/contacts/tests/streamitems/StreamItemPopulatorActivity.java
deleted file mode 100644
index 9132e40..0000000
--- a/tests/src/com/android/contacts/tests/streamitems/StreamItemPopulatorActivity.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.tests.streamitems;
-
-import android.app.Activity;
-import android.content.ContentProviderOperation;
-import android.content.ContentUris;
-import android.content.ContentValues;
-import android.content.Intent;
-import android.database.Cursor;
-import android.net.Uri;
-import android.os.Bundle;
-import android.provider.ContactsContract;
-import android.provider.ContactsContract.RawContacts;
-import android.provider.ContactsContract.StreamItemPhotos;
-import android.provider.ContactsContract.StreamItems;
-import android.view.View;
-import android.widget.Button;
-import android.widget.Toast;
-
-import com.android.contacts.common.model.account.GoogleAccountType;
-import com.android.contacts.tests.R;
-import com.google.common.collect.Lists;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Random;
-
-/**
- * Testing activity that will populate stream items and stream item photos to selected
- * entries in the user's contacts list.
- *
- * The contact selected must have at least one raw contact that was provided by Google.
- */
-public class StreamItemPopulatorActivity extends Activity {
-
-    // Test data to randomly select from.
-    private String[] snippetStrings = new String[]{
-            "Just got back from a vacation in %1$s - what a great place!  Can't wait to go back.",
-            "If I never see %1$s again it will be too soon.",
-            "This is a public service announcement.  If you were even close to considering visiting"
-            + " %1$s, I strongly advise you to reconsider.  The food was terrible, the people were "
-            + "rude, the hygiene of the bus and taxi drivers was positively <i>barbaric</i>.  I "
-            + "feared for my life almost the entire time I was there, and feel lucky to be back "
-            + "<b>home</b>.",
-            "Check out these pictures!  I took them in %1$s"
-    };
-
-    private String[] placeNames = new String[]{
-            "the Google campus in Mountain View",
-            "the deserts on Arrakis",
-            "Iceland",
-            "Japan",
-            "Sydney",
-            "San Francisco",
-            "Munich",
-            "Istanbul",
-            "Tanagra",
-            "the restricted section of Area 51",
-            "the middle of nowhere"
-    };
-
-    private String[] commentStrings = new String[]{
-            "3 retweets",
-            "5 shares",
-            "4 likes",
-            "4 +1s",
-            "<i>24567</i> <font color='blue' size='+1'><b>likes</b></font>"
-    };
-
-    private String[] labelResources = new String[] {
-            "attribution_google_plus",
-            "attribution_google_talk",
-            "attribution_flicker",
-            "attribution_twitter"
-    };
-
-    public String[] iconResources = new String[] {
-            "default_icon"
-    };
-
-    // Photos to randomly select from.
-    private Integer[] imageIds = new Integer[]{
-            R.drawable.android,
-            R.drawable.goldengate,
-            R.drawable.iceland,
-            R.drawable.japan,
-            R.drawable.sydney,
-            R.drawable.wharf,
-            R.drawable.whiskey
-    };
-
-    // Only some photos have actions.
-    private String[] imageStrings = new String[]{
-            "android",
-            "goldengate",
-            "iceland",
-            "japan",
-    };
-
-    // The contact ID that was picked.
-    private long mContactId = -1;
-
-    private Random mRandom;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        mRandom = new Random(System.currentTimeMillis());
-
-        setContentView(R.layout.stream_item_populator);
-        Button pickButton = (Button) findViewById(R.id.add);
-        pickButton.setOnClickListener(new View.OnClickListener(){
-            @Override
-            public void onClick(View v) {
-                // Reset the contact ID.
-                mContactId = -1;
-
-                // Forward the Intent to the picker
-                final Intent pickerIntent =
-                        new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
-                pickerIntent.setFlags(
-                        Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
-                startActivityForResult(pickerIntent, 0);
-            }
-        });
-
-        Button exitButton = (Button) findViewById(R.id.exit);
-        exitButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (resultCode == Activity.RESULT_OK) {
-            Uri contactUri = data.getData();
-            mContactId = ContentUris.parseId(contactUri);
-        }
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        if (mContactId != -1) {
-            long rawContactId = -1;
-            String accountType = null;
-            String accountName = null;
-            String dataSet = null;
-
-            // Lookup the com.google raw contact for the contact.
-            Cursor c = getContentResolver().query(RawContacts.CONTENT_URI,
-                    new String[]{
-                            RawContacts._ID,
-                            RawContacts.ACCOUNT_TYPE,
-                            RawContacts.ACCOUNT_NAME
-                    },
-                    RawContacts.CONTACT_ID + "=? AND " + RawContacts.ACCOUNT_TYPE + "=?",
-                    new String[]{String.valueOf(mContactId), GoogleAccountType.ACCOUNT_TYPE}, null);
-            try {
-                c.moveToFirst();
-                rawContactId = c.getLong(0);
-                accountType = c.getString(1);
-                accountName = c.getString(2);
-            } finally {
-                c.close();
-            }
-            if (rawContactId != -1) {
-                addStreamItemsToRawContact(rawContactId, accountType, accountName);
-            } else {
-                Toast.makeText(this,
-                        "Failed to find raw contact ID for contact ID " + mContactId, 5).show();
-            }
-        }
-    }
-
-    protected byte[] loadPhotoFromResource(int resourceId) {
-        InputStream is = getResources().openRawResource(resourceId);
-        return readInputStreamFully(is);
-    }
-
-    protected byte[] readInputStreamFully(InputStream is) {
-        try {
-            byte[] buffer = new byte[is.available()];
-            is.read(buffer);
-            is.close();
-            return buffer;
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    private void addStreamItemsToRawContact(long rawContactId, String accountType,
-            String accountName) {
-        ArrayList<ContentProviderOperation> ops = Lists.newArrayList();
-
-        // Add from 1-5 stream items.
-        int itemsToAdd = randInt(5) + 1;
-        int opCount = 0;
-        for (int i = 0; i < itemsToAdd; i++) {
-            ContentValues streamItemValues = buildStreamItemValues(accountType, accountName);
-            ops.add(ContentProviderOperation.newInsert(
-                    Uri.withAppendedPath(
-                            ContentUris.withAppendedId(ContactsContract.RawContacts.CONTENT_URI,
-                                    rawContactId),
-                            ContactsContract.RawContacts.StreamItems.CONTENT_DIRECTORY))
-                    .withValues(streamItemValues).build());
-
-            // Maybe add photos - 30% chance per stream item.
-            boolean includePhotos = randInt(100) < 30;
-            if (includePhotos) {
-                // Add 1-5 photos if we're including any.
-                int numPhotos = randInt(5) + 1;
-                for (int j = 0; j < numPhotos; j++) {
-                    ContentValues streamItemPhotoValues =
-                            buildStreamItemPhotoValues(j, accountType, accountName);
-                    ops.add(ContentProviderOperation.newInsert(StreamItems.CONTENT_PHOTO_URI)
-                            .withValues(streamItemPhotoValues)
-                            .withValueBackReference(StreamItemPhotos.STREAM_ITEM_ID, opCount)
-                            .build());
-                }
-                opCount += numPhotos;
-            }
-            opCount++;
-        }
-        try {
-            getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
-        } catch (Exception e) {
-            // We don't care.  This is just for test purposes.
-            throw new RuntimeException(e);
-        }
-        Toast.makeText(this, "Added " + itemsToAdd + " stream item(s) and "
-                + (opCount - itemsToAdd) + " photos", 5).show();
-    }
-
-    private ContentValues buildStreamItemValues(String accountType, String accountName) {
-        boolean includeAttribution = randInt(100) < 70;
-        boolean includeComments = randInt(100) < 30;
-        boolean includeAction = randInt(100) < 30;
-        ContentValues values = new ContentValues();
-        String place = pickRandom(placeNames);
-        values.put(StreamItems.TEXT,
-                String.format(pickRandom(snippetStrings) , place)
-                + (includeComments ? " [c]" : "")
-                + (includeAction ? " [a]" : ""));
-        if (includeAttribution) {
-            values.put(StreamItems.RES_PACKAGE, "com.android.contacts.tests");
-            int sourceIndex = randInt(labelResources.length);
-            values.put(StreamItems.RES_LABEL, labelResources[sourceIndex]);
-            if (sourceIndex < iconResources.length) {
-                values.put(StreamItems.RES_ICON, iconResources[sourceIndex]);
-            }
-        }
-        if (includeComments) {
-            values.put(StreamItems.COMMENTS, pickRandom(commentStrings));
-        } else {
-            values.put(StreamItems.COMMENTS, "");
-        }
-        // Set the timestamp to some point in the past.
-        values.put(StreamItems.TIMESTAMP,
-                System.currentTimeMillis() - randInt(360000000));
-        values.put(RawContacts.ACCOUNT_TYPE, accountType);
-        values.put(RawContacts.ACCOUNT_NAME, accountName);
-        return values;
-    }
-
-    private ContentValues buildStreamItemPhotoValues(int index, String accountType,
-            String accountName) {
-        Integer imageIndex = pickRandom(imageIds);
-        ContentValues values = new ContentValues();
-        values.put(StreamItemPhotos.SORT_INDEX, index);
-        values.put(StreamItemPhotos.PHOTO, loadPhotoFromResource(imageIndex));
-        values.put(RawContacts.ACCOUNT_TYPE, accountType);
-        values.put(RawContacts.ACCOUNT_NAME, accountName);
-        return values;
-    }
-
-    private <T> T pickRandom(T[] from) {
-        return from[randInt(from.length)];
-    }
-
-    private int randInt(int max) {
-        return Math.abs(mRandom.nextInt()) % max;
-    }
-}
diff --git a/tests/src/com/android/contacts/tests/widget/PinnedHeaderUseCaseActivity.java b/tests/src/com/android/contacts/tests/widget/PinnedHeaderUseCaseActivity.java
index 613665a..46a1f43 100644
--- a/tests/src/com/android/contacts/tests/widget/PinnedHeaderUseCaseActivity.java
+++ b/tests/src/com/android/contacts/tests/widget/PinnedHeaderUseCaseActivity.java
@@ -76,7 +76,8 @@
     private void startActivity(int[] counts, String[] names, boolean[] headers,
             boolean[] showIfEmpty, int[] delays) {
         Intent intent = new Intent();
-        intent.setComponent(new ComponentName("com.android.contacts",
+        intent.setComponent(new ComponentName(
+                getResources().getString(R.string.target_package_name),
                 "com.android.contacts.widget.PinnedHeaderListDemoActivity"));
         intent.putExtra("counts", counts);
         intent.putExtra("names", names);
diff --git a/tests/src/com/android/contacts/util/HtmlUtilsTest.java b/tests/src/com/android/contacts/util/HtmlUtilsTest.java
deleted file mode 100644
index 772e78f..0000000
--- a/tests/src/com/android/contacts/util/HtmlUtilsTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.util;
-
-import android.graphics.drawable.ColorDrawable;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-import android.text.SpannableStringBuilder;
-import android.text.Spanned;
-import android.text.SpannedString;
-import android.text.style.ImageSpan;
-import android.text.style.QuoteSpan;
-
-import com.android.contacts.util.HtmlUtils.StreamItemQuoteSpan;
-
-/**
- * Tests for {@link HtmlUtils}.
- *
- * adb shell am instrument -w -e class com.android.contacts.util.HtmlUtilsTest \
-       com.android.contacts.tests/android.test.InstrumentationTestRunner
- */
-@SmallTest
-public class HtmlUtilsTest extends AndroidTestCase {
-    /**
-     * Test for {@link HtmlUtils#postprocess} specifically about trimming newlines.
-     */
-    public void testPostProcess_trimNewLines() {
-        checkTrimNewLines("", "");
-        checkTrimNewLines("", "\n");
-        checkTrimNewLines("", "\n\n");
-        checkTrimNewLines("a", "a");
-        checkTrimNewLines("abc", "abc");
-        checkTrimNewLines("abc", "abc\n");
-        checkTrimNewLines("abc", "abc\n\n\n");
-        checkTrimNewLines("ab\nc", "ab\nc\n");
-
-        assertNull(HtmlUtils.postprocess(getContext(), null));
-    }
-
-    private final void checkTrimNewLines(String expectedString, CharSequence text) {
-        // Test with both SpannedString and SpannableStringBuilder.
-        assertEquals(expectedString,
-                HtmlUtils.postprocess(getContext(), new SpannedString(text)).toString());
-
-        assertEquals(expectedString,
-                HtmlUtils.postprocess(getContext(), new SpannableStringBuilder(text)).toString());
-    }
-
-    public void testPostProcess_with_newlines() {
-        final SpannableStringBuilder builder = new SpannableStringBuilder("01234\n\n");
-
-        setSpans(builder);
-
-        // First test with a SpannableStringBuilder, as opposed to SpannedString
-        checkPostProcess(HtmlUtils.postprocess(getContext(), builder));
-
-        // Then pass a SpannedString, which is immutable, but the method should still work.
-        checkPostProcess(HtmlUtils.postprocess(getContext(), new SpannedString(builder)));
-    }
-
-    /**
-     * Same as {@link #testPostProcess_with_newlines}, but text has no newlines.
-     * (The internal code path is slightly different.)
-     */
-    public void testPostProcess_no_newlines() {
-        final SpannableStringBuilder builder = new SpannableStringBuilder("01234");
-
-        setSpans(builder);
-
-        // First test with a SpannableStringBuilder, as opposed to SpannedString
-        checkPostProcess(HtmlUtils.postprocess(getContext(), builder));
-
-        // Then pass a SpannedString, which is immutable, but the method should still work.
-        checkPostProcess(HtmlUtils.postprocess(getContext(), new SpannedString(builder)));
-    }
-
-    private void setSpans(SpannableStringBuilder builder) {
-        builder.setSpan(new ImageSpan(new ColorDrawable(), ImageSpan.ALIGN_BOTTOM), 0, 2, 0);
-        builder.setSpan(new QuoteSpan(), 2, 4, 0);
-        builder.setSpan(new CustomSpan(), 4, builder.length(), 0);
-    }
-
-    private void checkPostProcess(Spanned ret) {
-        // Newlines should be trimmed.
-        assertEquals("01234", ret.toString());
-
-        // First, check the image span.
-        // - Vertical alignment should be changed to ALIGN_BASELINE
-        // - Drawable shouldn't be changed.
-        ImageSpan[] imageSpans = ret.getSpans(0, ret.length(), ImageSpan.class);
-        assertEquals(1, imageSpans.length);
-        assertEquals(ImageSpan.ALIGN_BASELINE, imageSpans[0].getVerticalAlignment());
-        assertEquals(ColorDrawable.class, imageSpans[0].getDrawable().getClass());
-
-        // QuoteSpans should be replaced with StreamItemQuoteSpans.
-        QuoteSpan[] quoteSpans = ret.getSpans(0, ret.length(), QuoteSpan.class);
-        assertEquals(1, quoteSpans.length);
-        assertEquals(StreamItemQuoteSpan.class, quoteSpans[0].getClass());
-
-        // Other spans should be preserved.
-        CustomSpan[] customSpans = ret.getSpans(0, ret.length(), CustomSpan.class);
-        assertEquals(1, customSpans.length);
-    }
-
-    /** Custom span class used in {@link #testPostProcess} */
-    private static class CustomSpan {
-    }
-}
diff --git a/tests/src/com/android/contacts/util/StreamItemEntryBuilder.java b/tests/src/com/android/contacts/util/StreamItemEntryBuilder.java
deleted file mode 100644
index 9eb550e..0000000
--- a/tests/src/com/android/contacts/util/StreamItemEntryBuilder.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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
- */
-
-package com.android.contacts.util;
-
-import android.content.Context;
-
-/**
- * Builder for {@link StreamItemEntry}s to make writing tests easier.
- */
-public class StreamItemEntryBuilder {
-    private long mId;
-    private String mText;
-    private String mComment;
-    private long mTimestamp;
-    private String mAccountType;
-    private String mAccountName;
-    private String mDataSet;
-    private String mResPackage;
-    private String mIconRes;
-    private String mLabelRes;
-
-    public StreamItemEntryBuilder() {}
-
-    public StreamItemEntryBuilder setText(String value) {
-        mText = value;
-        return this;
-    }
-
-    public StreamItemEntryBuilder setComment(String value) {
-        mComment = value;
-        return this;
-    }
-
-    public StreamItemEntryBuilder setAccountType(String value) {
-        mAccountType = value;
-        return this;
-    }
-
-    public StreamItemEntryBuilder setAccountName(String value) {
-        mAccountName = value;
-        return this;
-    }
-
-    public StreamItemEntryBuilder setDataSet(String value) {
-        mDataSet = value;
-        return this;
-    }
-
-    public StreamItemEntry build(Context context) {
-        StreamItemEntry ret = StreamItemEntry.createForTest(mId, mText, mComment, mTimestamp,
-                mAccountType, mAccountName, mDataSet, mResPackage, mIconRes, mLabelRes);
-        ret.decodeHtml(context);
-        return ret;
-    }
-}