diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 69cf2a5..d7ee9c8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -20,8 +20,9 @@
 
     <original-package android:name="com.android.contacts" />
 
+    <!-- Whenever a permission is added here, it should also be added to
+         RequestPermissionsActivity so it can be requested at runtime. -->
     <uses-permission android:name="android.permission.CALL_PHONE" />
-    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
     <uses-permission android:name="android.permission.READ_CONTACTS" />
     <uses-permission android:name="android.permission.WRITE_CONTACTS" />
     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
@@ -44,6 +45,7 @@
     <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" />
+    <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" />
 
     <application
         android:name="com.android.contacts.ContactsApplication"
@@ -52,6 +54,7 @@
         android:taskAffinity="android.task.contacts"
         android:hardwareAccelerated="true"
         android:supportsRtl="true"
+        android:usesCleartextTraffic="false"
     >
 
         <!-- The main Contacts activity with the contact list, favorites, and groups. -->
@@ -122,12 +125,6 @@
             </intent-filter>
 
             <intent-filter>
-                <action android:name="com.android.contacts.action.FILTER_CONTACTS" />
-                <category android:name="android.intent.category.DEFAULT" />
-                <data android:mimeType="vnd.android.cursor.dir/contact" />
-            </intent-filter>
-
-            <intent-filter>
                 <action android:name="android.intent.action.VIEW" />
                 <category android:name="android.intent.category.DEFAULT" />
                 <data android:mimeType="vnd.android.cursor.dir/person" />
@@ -220,6 +217,18 @@
             android:theme="@style/ContactListFilterTheme" />
 
         <activity
+            android:name=".common.activity.RequestPermissionsActivity"
+            android:label="@string/launcherActivityLabel"
+            android:theme="@style/PeopleTheme"
+            android:exported="false"/>
+
+        <activity
+            android:name=".common.activity.RequestImportVCardPermissionsActivity"
+            android:label="@string/launcherActivityLabel"
+            android:theme="@style/PeopleTheme"
+            android:exported="false"/>
+
+        <activity
             android:name=".activities.ShowOrCreateActivity"
             android:label="@string/launcherActivityLabel"
             android:theme="@android:style/Theme.Material.Light.Dialog.NoActionBar">
@@ -327,6 +336,29 @@
             android:windowSoftInputMode="adjustResize"
             android:exported="false"/>
 
+        <!-- Edit or create a contact with only the most important fields displayed initially. -->
+        <activity
+            android:name=".activities.CompactContactEditorActivity"
+            android:label="@string/launcherActivityLabel"
+            android:theme="@style/EditorActivityTheme"
+            android:windowSoftInputMode="stateHidden|adjustResize">
+
+            <intent-filter android:label="@string/editContactDescription">
+                <action android:name="android.intent.action.EDIT" />
+                <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>
+            <intent-filter android:label="@string/insertContactDescription">
+                <action android:name="android.intent.action.INSERT" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:mimeType="vnd.android.cursor.dir/person" />
+                <data android:mimeType="vnd.android.cursor.dir/contact" />
+                <data android:mimeType="vnd.android.cursor.dir/raw_contact" />
+            </intent-filter>
+        </activity>
+
         <!-- Create a new or edit an existing contact -->
         <activity
             android:name=".activities.ContactEditorActivity"
@@ -378,18 +410,6 @@
             </intent-filter>
         </activity>
 
-        <!--
-            Internal photo selection activity.  This activity handles all configuration changes by
-            itself.
-        -->
-        <activity android:name=".activities.PhotoSelectionActivity"
-            android:theme="@style/Theme.PhotoSelector"
-            android:launchMode="singleTop"
-            android:windowSoftInputMode="stateUnchanged"
-            android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|screenLayout|fontScale|uiMode|orientation|screenSize|smallestScreenSize"
-            >
-        </activity>
-
         <!-- vCard related -->
         <activity android:name=".common.vcard.ImportVCardActivity"
             android:label="@string/launcherActivityLabel"
diff --git a/res/drawable-hdpi/ic_delete_white_24dp.png b/res/drawable-hdpi/ic_delete_white_24dp.png
deleted file mode 100644
index 4a9f769..0000000
--- a/res/drawable-hdpi/ic_delete_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_photo_camera_white_24dp.png b/res/drawable-hdpi/ic_photo_camera_white_24dp.png
new file mode 100644
index 0000000..497c88c
--- /dev/null
+++ b/res/drawable-hdpi/ic_photo_camera_white_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_delete_white_24dp.png b/res/drawable-mdpi/ic_delete_white_24dp.png
deleted file mode 100644
index e2f5f35..0000000
--- a/res/drawable-mdpi/ic_delete_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_photo_camera_white_24dp.png b/res/drawable-mdpi/ic_photo_camera_white_24dp.png
new file mode 100644
index 0000000..e830522
--- /dev/null
+++ b/res/drawable-mdpi/ic_photo_camera_white_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_delete_white_24dp.png b/res/drawable-xhdpi/ic_delete_white_24dp.png
deleted file mode 100644
index 388b5b0..0000000
--- a/res/drawable-xhdpi/ic_delete_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_photo_camera_white_24dp.png b/res/drawable-xhdpi/ic_photo_camera_white_24dp.png
new file mode 100644
index 0000000..be9fb22
--- /dev/null
+++ b/res/drawable-xhdpi/ic_photo_camera_white_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_delete_white_24dp.png b/res/drawable-xxhdpi/ic_delete_white_24dp.png
deleted file mode 100644
index 3fcdfdb..0000000
--- a/res/drawable-xxhdpi/ic_delete_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_photo_camera_white_24dp.png b/res/drawable-xxhdpi/ic_photo_camera_white_24dp.png
new file mode 100644
index 0000000..c8e69dc
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_photo_camera_white_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_delete_white_24dp.png b/res/drawable-xxxhdpi/ic_delete_white_24dp.png
deleted file mode 100644
index 8d322aa..0000000
--- a/res/drawable-xxxhdpi/ic_delete_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_photo_camera_white_24dp.png b/res/drawable-xxxhdpi/ic_photo_camera_white_24dp.png
new file mode 100644
index 0000000..777658e
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_photo_camera_white_24dp.png
Binary files differ
diff --git a/res/drawable/floating_action_button.xml b/res/drawable/floating_action_button.xml
index 34612d5..7753c89 100644
--- a/res/drawable/floating_action_button.xml
+++ b/res/drawable/floating_action_button.xml
@@ -16,6 +16,10 @@
 -->
 
 <ripple xmlns:android="http://schemas.android.com/apk/res/android"
-    android:color="@color/contacts_accent_color">
-    <item android:drawable="@drawable/fab_blue" />
-</ripple>
+     android:color="@color/contacts_accent_color">
+     <item android:id="@android:id/mask">
+          <shape android:shape="oval">
+               <solid android:color="@android:color/white" />
+          </shape>
+     </item>
+</ripple>
\ No newline at end of file
diff --git a/res/layout-land/compact_contact_editor_fragment.xml b/res/layout-land/compact_contact_editor_fragment.xml
new file mode 100644
index 0000000..2363091
--- /dev/null
+++ b/res/layout-land/compact_contact_editor_fragment.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<com.android.contacts.editor.CompactRawContactsEditorView
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/editors"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@color/background_primary"
+        android:orientation="horizontal"
+        android:visibility="invisible">
+
+    <include layout="@layout/compact_photo_editor_view" />
+
+    <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:fadingEdge="none"
+            android:fillViewport="true">
+
+        <LinearLayout android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical">
+
+            <include layout="@layout/compact_contact_editor_fields"/>
+
+        </LinearLayout>
+
+    </ScrollView>
+
+</com.android.contacts.editor.CompactRawContactsEditorView>
\ No newline at end of file
diff --git a/res/layout-land/people_activity_toolbar.xml b/res/layout-land/people_activity_toolbar.xml
index 1f86879..d33a96c 100644
--- a/res/layout-land/people_activity_toolbar.xml
+++ b/res/layout-land/people_activity_toolbar.xml
@@ -25,11 +25,18 @@
     android:elevation="@dimen/tab_elevation"
     android:layout_height="wrap_content" >
 
-    <Toolbar
+    <FrameLayout
+        android:id="@+id/toolbar_frame"
         android:layout_width="match_parent"
         android:layout_height="?android:attr/actionBarSize"
-        android:background="@color/actionbar_background_color"
-        android:id="@+id/toolbar"
-        style="@style/ContactsToolbarStyle" />
+        android:background="@color/actionbar_background_color">
+
+        <Toolbar
+            android:layout_width="match_parent"
+            android:layout_height="?android:attr/actionBarSize"
+            android:id="@+id/toolbar"
+            style="@style/ContactsToolbarStyle" />
+
+    </FrameLayout>
 
 </LinearLayout>
\ No newline at end of file
diff --git a/res/layout/compact_contact_editor_activity.xml b/res/layout/compact_contact_editor_activity.xml
new file mode 100644
index 0000000..db847b0
--- /dev/null
+++ b/res/layout/compact_contact_editor_activity.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2015 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/compact_contact_editor_fragment_container"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"/>
+
diff --git a/res/layout/compact_contact_editor_fields.xml b/res/layout/compact_contact_editor_fields.xml
new file mode 100644
index 0000000..1ddd0b1
--- /dev/null
+++ b/res/layout/compact_contact_editor_fields.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <LinearLayout
+            android:id="@+id/names"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/editor_compact_first_field_padding"
+            android:orientation="vertical"/>
+
+    <LinearLayout
+            android:id="@+id/phonetic_names"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"/>
+
+    <LinearLayout
+            android:id="@+id/nicknames"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"/>
+
+    <LinearLayout
+            android:id="@+id/phone_numbers"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"/>
+
+    <LinearLayout
+            android:id="@+id/emails"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"/>
+
+    <LinearLayout
+            android:id="@+id/other"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"/>
+
+    <LinearLayout
+            style="@style/SelectableItem"
+            android:id="@+id/more_fields"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+
+        <!-- See the comment for EditKindIconStyle in styles.xml, we use (16 + 24 + 32) dp of
+             padding (start margin + icon width + end margin) for this to line up with the start
+             of the edit fields. -->
+        <TextView
+                android:background="?android:attr/selectableItemBackground"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:minHeight="@dimen/editor_min_line_item_height"
+                android:paddingStart="72dp"
+                android:gravity="center_vertical"
+                android:text="@string/compact_editor_more_fields"
+                android:textColor="?android:attr/colorAccent"
+                android:textSize="@dimen/expanding_entry_card_title_text_size"/>
+
+    </LinearLayout>
+
+</merge>
\ No newline at end of file
diff --git a/res/layout/compact_contact_editor_fragment.xml b/res/layout/compact_contact_editor_fragment.xml
new file mode 100644
index 0000000..696f8db
--- /dev/null
+++ b/res/layout/compact_contact_editor_fragment.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/compact_contact_editor_fragment"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/background_primary"
+        android:fadingEdge="none"
+        android:fillViewport="true">
+
+    <com.android.contacts.editor.CompactRawContactsEditorView
+            android:id="@+id/editors"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:visibility="invisible">
+
+        <include layout="@layout/compact_photo_editor_view" />
+
+        <include layout="@layout/compact_contact_editor_fields" />
+
+    </com.android.contacts.editor.CompactRawContactsEditorView>
+
+</ScrollView>
diff --git a/res/layout/compact_photo_editor_view.xml b/res/layout/compact_photo_editor_view.xml
new file mode 100644
index 0000000..9806f64
--- /dev/null
+++ b/res/layout/compact_photo_editor_view.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<com.android.contacts.editor.CompactPhotoEditorView
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/photo_editor"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_gravity="center_horizontal">
+
+    <com.android.contacts.widget.QuickContactImageView
+            android:id="@+id/photo"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:scaleType="centerCrop"/>
+
+    <View
+            android:id="@+id/photo_icon_overlay"
+            android:layout_height="56dp"
+            android:layout_width="match_parent"
+            android:layout_alignParentBottom="true" />
+
+    <ImageView
+            android:id="@+id/photo_icon"
+            android:layout_width="24dp"
+            android:layout_height="24dp"
+            android:layout_alignParentBottom="true"
+            android:layout_alignParentEnd="true"
+            android:layout_marginBottom="16dp"
+            android:layout_marginEnd="16dp"
+            android:background="?android:attr/selectableItemBackground"
+            android:src="@drawable/ic_photo_camera_white_24dp" />
+
+    <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/compact_editor_change_photo_content_description" />
+
+</com.android.contacts.editor.CompactPhotoEditorView>
\ No newline at end of file
diff --git a/res/layout/contact_editor_accounts_changed_activity_with_text.xml b/res/layout/contact_editor_accounts_changed_activity_with_text.xml
index f608f84..345d937 100644
--- a/res/layout/contact_editor_accounts_changed_activity_with_text.xml
+++ b/res/layout/contact_editor_accounts_changed_activity_with_text.xml
@@ -48,6 +48,7 @@
             style="?android:attr/buttonBarButtonStyle"
             android:layout_width="0dip"
             android:layout_height="wrap_content"
+            android:singleLine="false"
             android:layout_weight="1" />
 
         <Button
diff --git a/res/layout/contacts_unavailable_fragment_content.xml b/res/layout/contacts_unavailable_fragment_content.xml
index c36d038..4f54801 100644
--- a/res/layout/contacts_unavailable_fragment_content.xml
+++ b/res/layout/contacts_unavailable_fragment_content.xml
@@ -66,20 +66,6 @@
             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"
diff --git a/res/layout/floating_action_button.xml b/res/layout/floating_action_button.xml
index 1541d42..294d88b 100644
--- a/res/layout/floating_action_button.xml
+++ b/res/layout/floating_action_button.xml
@@ -22,6 +22,7 @@
     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:background="@drawable/fab_blue"
     android:layout_alignParentEnd="true"
     android:layout_alignParentBottom="true">
 
diff --git a/res/layout/people_activity_toolbar.xml b/res/layout/people_activity_toolbar.xml
index e69728b..cbb4d91 100644
--- a/res/layout/people_activity_toolbar.xml
+++ b/res/layout/people_activity_toolbar.xml
@@ -21,12 +21,19 @@
     android:elevation="@dimen/tab_elevation"
     android:layout_height="wrap_content" >
 
-    <Toolbar
+    <FrameLayout
+        android:id="@+id/toolbar_frame"
         android:layout_width="match_parent"
         android:layout_height="?android:attr/actionBarSize"
-        android:background="@color/actionbar_background_color"
-        android:id="@+id/toolbar"
-        style="@style/ContactsToolbarStyle" />
+        android:background="@color/actionbar_background_color">
+
+        <Toolbar
+            android:layout_width="match_parent"
+            android:layout_height="?android:attr/actionBarSize"
+            android:id="@+id/toolbar"
+            style="@style/ContactsToolbarStyle" />
+
+    </FrameLayout>
 
     <com.android.contacts.common.list.ViewPagerTabs
         android:id="@+id/lists_pager_header"
diff --git a/res/layout/photoselection_activity.xml b/res/layout/photoselection_activity.xml
deleted file mode 100644
index e7ef901..0000000
--- a/res/layout/photoselection_activity.xml
+++ /dev/null
@@ -1,31 +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">
-    <View
-        android:id="@+id/backdrop"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="#000000" />
-    <view
-        android:id="@+id/photo"
-        class="com.android.contacts.detail.TransformableImageView"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:scaleType="centerCrop" />
-</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/selection_bar.xml b/res/layout/selection_bar.xml
new file mode 100644
index 0000000..34cdd60
--- /dev/null
+++ b/res/layout/selection_bar.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/selection_bar"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/contextual_selection_bar_color" >
+
+    <ImageButton
+        android:id="@+id/selection_close"
+        android:layout_width="48dp"
+        android:layout_height="48dp"
+        android:src="@drawable/ic_back_arrow"
+        android:background="?android:attr/selectableItemBackgroundBorderless"
+        android:contentDescription="@string/action_menu_back_from_search"
+        android:layout_gravity="center_vertical|start"
+        android:tint="@android:color/white" />
+
+    <TextView
+        android:id="@+id/selection_count_text"
+        android:layout_marginStart="72dp"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        android:layout_gravity="center_vertical|start"
+        style="@style/ContactsActionBarTitleText" />
+
+</FrameLayout>
diff --git a/res/menu/people_options.xml b/res/menu/people_options.xml
index a7802f0..1dd4dc4 100644
--- a/res/menu/people_options.xml
+++ b/res/menu/people_options.xml
@@ -49,4 +49,17 @@
         android:title="@string/menu_export_database"
         android:visible="false"
         android:showAsAction="never" />
+
+    <item
+        android:id="@+id/menu_join"
+        android:title="@string/menu_joinAggregate" />
+
+    <item
+        android:id="@+id/menu_delete"
+        android:title="@string/menu_deleteContact" />
+
+    <item
+        android:id="@+id/menu_share"
+        android:title="@string/menu_share" />
+
 </menu>
diff --git a/res/menu/quickcontact.xml b/res/menu/quickcontact.xml
index d1658fc..6cfe053 100644
--- a/res/menu/quickcontact.xml
+++ b/res/menu/quickcontact.xml
@@ -37,4 +37,8 @@
     <item
         android:id="@+id/menu_create_contact_shortcut"
         android:title="@string/menu_create_contact_shortcut" />
+
+    <item
+        android:id="@+id/menu_help"
+        android:title="@string/menu_help" />
 </menu>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index a4ed737..ebe1302 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Verander foto"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Plaas op tuisskerm"</string>
     <string name="menu_call" msgid="3992595586042260618">"Bel kontak"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Teks - kontak"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Voeg groep by"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Skei kontak?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Hierdie kontak sal geskei word in verskeie kontakte."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Voeg saam"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Voeg saam"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Voeg kontakte saam"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Kies die kontak wat jy wil saamvoeg met <xliff:g id="NAME">%s</xliff:g>."</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Wys alle kontakte"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Voorgestelde kontakte"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alle kontakte"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakte saamgevoeg"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontakte saamgevoeg"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontakte uitgevee"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Stel luitoon op"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Alle oproepe na stempos"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Jy kan nie kontakte uit leesalleen-rekeninge uitvee nie, maar jy kan hulle wel in jou kontaklyste versteek."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Jy het minstens twee kontakte nodig om \'n samevoeging te doen."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Hierdie gekose kontakte sal in een enkele kontak saamgevoeg word."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Die gekose kontakte sal uitgevee word."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Inligting uit leesalleen-rekeninge sal in jou kontaklyste versteek word, nie uitgevee word nie."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Hierdie kontakte bevat inligting vanaf veelvuldige rekeninge. Inligting uit leesalleen-rekeninge sal in jou kontaklyste versteek word, nie uitgevee 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="6854657936970228164">"Verwerp wysigings"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Kon nie kontakveranderinge stoor nie."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Groep gestoor."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Kon nie groepsveranderinge stoor nie."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 kontak met foonnommer"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontakte met foonnommers"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontakte met foonnommers</item>
+      <item quantity="one">1 kontak met foonnommer</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Geen kontakte met foonnommers nie"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> gevind</item>
+      <item quantity="one">1 gevind</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Geen kontakte nie"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"1 gevind"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> gevind"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> gevind</item>
+      <item quantity="one">1 gevind</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Deïnstalleer sekere programme"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Herprobeer opgradering"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Soek tans…"</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Wys gekose"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Wys alle"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Primêre foto"</string>
     <string name="description_star" msgid="2605854427360036550">"gunsteling"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Redigeer kontak"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"nie saamgevoeg nie"</item>
-    <item quantity="other" msgid="425683718017380845">"saamgevoeg uit <xliff:g id="COUNT">%0$d</xliff:g> bronne"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">saamgevoeg uit <xliff:g id="COUNT">%0$d</xliff:g> bronne</item>
+      <item quantity="one">nie saamgevoeg nie</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Voeg die huidige kontak by die gekose kontak saam?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Wissel na redigering van die gekose kontak? Inligting wat jy tot dusver ingevoer het, sal gekopieer word."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopieer na My kontakte"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Hulp"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Hulp en terugvoer"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Vertoonopsies"</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">"Foonnommer"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Voer kontakte in"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Skep nuwe groep"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Skep nuwe groep"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 groep"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> groepe"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> groepe</item>
+      <item quantity="one">1 groep</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Verwyder die groep \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Kontakte self sal nie verwyder word nie.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> persoon van <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> persone uit <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> persoon"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> mense"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> mense vanaf <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persoon vanaf <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> mense</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persoon</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Voer kontaknaam in voor jy dit by \'n ander kontak voeg."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopieer na knipbord"</string>
     <string name="set_default" msgid="4417505153468300351">"Stel verstek op"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"onlangse oproep. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. klik om terug te bel"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Jy: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts werk beter as jy die persoon se Hangouts-identifiseerder in die e-posveld of foonveld invoer."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Meer velde"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 4861a50..3bd810d 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"ፎቶ ለውጥ"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"መነሻ የማያ ገጽ ላይ አስቀምጥ"</string>
     <string name="menu_call" msgid="3992595586042260618">"የጥሪ ዕውቂያ"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"ዕውቂያ ፃፍ"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"አዋህድ"</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="contactsJoinedMessage" msgid="656936718666768589">"ዕውቂያዎች ተዋህደዋል"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"ዕውቂያዎች ተሰርዘዋል"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"ማዋሃድን ለማከናወን ቢያንስ ሁለት እውቂያዎችን መምረጥ ያስፈልግዎታል።"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"የተመረጡት እውቂያዎች ወደ አንድ ነጠላ እውቂያ ይዋሃዳሉ።"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"የተመረጡት እውቂያዎች ይሰረዛሉ።"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"ከተነባቢ-ብቻ መለያዎች ውስጥ ያሉ እውቂያዎች ይደበቃሉ ከእርስዎ የእውቂያዎች ዝርዝሮች ላይ ይደበቃሉ፣ አይሰረዙም።"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"እነዚህ እውቂያዎች ከብዙ መለያዎች መረጃ ይዘዋል። ከተነባቢ-ብቻ መለያዎች ውስጥ ያሉ እውቂያዎች ይደበቃሉ ከእርስዎ የእውቂያዎች ዝርዝሮች ላይ ይደበቃሉ፣ አይሰረዙም።"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ይህን ዕውቂያ መሰረዝ ከብዙ መለያዎች ውስጥ መረጃ ይሰርዛል።"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"ይህ ማንቂያ ይሰረዛል።"</string>
     <string name="menu_discard" msgid="6854657936970228164">"ለውጦችን ጣለው"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ዕውቂያዎች ከስልክ ቁጥሮች ጋር</item>
+      <item quantity="other"><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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ተገኝቷል</item>
+      <item quantity="other"><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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ተገኝቷል</item>
+      <item quantity="other"><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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"ዋና ፎቶ"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">ከ<xliff:g id="COUNT">%0$d</xliff:g> ምንጮች ተዋህዷል</item>
+      <item quantity="other">ከ<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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"እገዛ እና ግብረመልስ"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> ቡድኖች</item>
+      <item quantity="other"><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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> ሰዎች ከ<xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> ሰዎች ከ<xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ሰዎች</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"የቅርብ ጊዜ ጥሪ። <xliff:g id="CALL_TYPE">%s</xliff:g>። <xliff:g id="PHONE_NUMBER">%s</xliff:g>። <xliff:g id="DATE">%s</xliff:g>። መልሰው ለመደወል ጠቅ ያድርጉ"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"እርስዎ፦ <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"የግለሰቡን የHangouts ለይቶ አዋቂ ወደ ኢሜይል መስኩ ወይም የስልክ መስኩ በሚያስገቡበት ጊዜ Hangouts በተሻለ ሁኔታ ይሰራል።"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"ተጨማሪ መስኮች"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 487ec59..ac34a83 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"تغيير الصورة"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"وضع على الشاشة الرئيسية"</string>
     <string name="menu_call" msgid="3992595586042260618">"الاتصال بجهة الاتصال"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"إرسال رسالة لجهة الاتصال"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"دمج"</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="contactsJoinedMessage" msgid="656936718666768589">"تم دمج جهات الاتصال."</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"تم حذف جهات الاتصال."</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="batch_merge_single_contact_warning" msgid="982585201970392110">"يجب تحديد جهتي اتصال على الأقل لإجراء الدمج."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"سيتم دمج جهات الاتصال المحددة في جهة اتصال واحدة."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"سيتم حذف جهات الاتصال المحددة."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"سيتم إخفاء المعلومات من الحسابات المخصصة للقراءة فقط في قوائم جهات الاتصال، وليس حذفها."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"تحتوي جهات الاتصال هذه على معلومات من حسابات متعددة. وسيتم إخفاء المعلومات من الحسابات المخصصة للقراءة فقط في قوائم جهات الاتصال، وليس حذفها."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"سيؤدي حذف جهة الاتصال هذه إلى حذف المعلومات من عدة حسابات."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"سيتم حذف جهة الاتصال هذه."</string>
     <string name="menu_discard" msgid="6854657936970228164">"إلغاء التغييرات"</string>
@@ -94,20 +101,32 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="zero">لا توجد أية جهات اتصال بها أرقام هواتف (<xliff:g id="COUNT">%d</xliff:g>)</item>
+      <item quantity="two">توجد جهتا اتصال (<xliff:g id="COUNT">%d</xliff:g>) بهما أرقام هواتف</item>
+      <item quantity="few">توجد <xliff:g id="COUNT">%d</xliff:g> جهات اتصال بها أرقام هواتف</item>
+      <item quantity="many">توجد <xliff:g id="COUNT">%d</xliff:g> جهة اتصال بها أرقام هواتف</item>
+      <item quantity="other">توجد <xliff:g id="COUNT">%d</xliff:g> من جهات الاتصال بها أرقام هواتف</item>
+      <item quantity="one">توجد جهة اتصال واحدة بها رقم هاتف</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="zero">لا توجد أي جهة اتصال (<xliff:g id="COUNT">%d</xliff:g>)</item>
+      <item quantity="two">توجد جهتا اتصال (<xliff:g id="COUNT">%d</xliff:g>)</item>
+      <item quantity="few">توجد <xliff:g id="COUNT">%d</xliff:g> جهات اتصال</item>
+      <item quantity="many">توجد <xliff:g id="COUNT">%d</xliff:g> جهة اتصال</item>
+      <item quantity="other">توجد <xliff:g id="COUNT">%d</xliff:g> من جهات الاتصال</item>
+      <item quantity="one">توجد جهة اتصال واحدة</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="zero">لا توجد أي جهة اتصال (<xliff:g id="COUNT">%d</xliff:g>)</item>
+      <item quantity="two">توجد جهتا اتصال (<xliff:g id="COUNT">%d</xliff:g>)</item>
+      <item quantity="few">توجد <xliff:g id="COUNT">%d</xliff:g> جهات اتصال</item>
+      <item quantity="many">توجد <xliff:g id="COUNT">%d</xliff:g> جهة اتصال</item>
+      <item quantity="other">توجد <xliff:g id="COUNT">%d</xliff:g> من جهات الاتصال</item>
+      <item quantity="one">توجد جهة اتصال واحدة</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>
@@ -144,9 +163,6 @@
     <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>
@@ -160,10 +176,14 @@
     <string name="primary_photo" msgid="8517942231868516999">"الصورة الأساسية"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="zero">لم يتم دمج أية جهات اتصال من أية مصادر (<xliff:g id="COUNT">%0$d</xliff:g>)</item>
+      <item quantity="two">تم دمج جهات الاتصال من مصدرين (<xliff:g id="COUNT">%0$d</xliff:g>)</item>
+      <item quantity="few">تم دمج جهات الاتصال من <xliff:g id="COUNT">%0$d</xliff:g> مصادر</item>
+      <item quantity="many">تم دمج جهات الاتصال من <xliff:g id="COUNT">%0$d</xliff:g> مصدرًا</item>
+      <item quantity="other">تم دمج جهات الاتصال من <xliff:g id="COUNT">%0$d</xliff:g> من المصادر</item>
+      <item quantity="one">تم دمج جهة اتصال واحدة</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>
@@ -172,7 +192,7 @@
     <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="menu_help" msgid="1680178646764069976">"المساعدة والتعليقات"</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>
@@ -188,19 +208,31 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="zero"><xliff:g id="COUNT">%0$d</xliff:g> مجموعات</item>
+      <item quantity="two">مجموعتان (<xliff:g id="COUNT">%0$d</xliff:g>)</item>
+      <item quantity="few"><xliff:g id="COUNT">%0$d</xliff:g> مجموعات</item>
+      <item quantity="many"><xliff:g id="COUNT">%0$d</xliff:g> مجموعة</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> من المجموعات</item>
+      <item quantity="one">مجموعة واحدة</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="zero">لا يوجد أي شخص (<xliff:g id="COUNT_2">%1$d</xliff:g>) من <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="two">يوجد شخصان (<xliff:g id="COUNT_2">%1$d</xliff:g>) من <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="few">يوجد <xliff:g id="COUNT_2">%1$d</xliff:g> أشخاص من <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="many">يوجد <xliff:g id="COUNT_2">%1$d</xliff:g> شخصًا من <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other">يوجد <xliff:g id="COUNT_2">%1$d</xliff:g> من الأشخاص من <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one">يوجد شخص واحد (<xliff:g id="COUNT_0">%1$d</xliff:g>) من <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="zero">لا يوجد أي شخص (<xliff:g id="COUNT_1">%1$d</xliff:g>)</item>
+      <item quantity="two">شخصان (<xliff:g id="COUNT_1">%1$d</xliff:g>)</item>
+      <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> أشخاص</item>
+      <item quantity="many"><xliff:g id="COUNT_1">%1$d</xliff:g> شخصًا</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> من الأشخاص</item>
+      <item quantity="one">شخص واحد (<xliff:g id="COUNT_0">%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>
@@ -264,4 +296,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"المكالمة الأخيرة. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. انقر لمعاودة الاتصال"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"أنت: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"‏تعمل Hangouts بشكل أفضل عند إدخال معرف الشخص في Hangouts في حقل البريد الإلكتروني أو حقل الهاتف."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"المزيد من الحقول"</string>
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index d52f3b2..62294fd 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Промяна на снимката"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Поставяне на началния екран"</string>
     <string name="menu_call" msgid="3992595586042260618">"Обаждане на контакт"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Изпращaне на SMS на контакт"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Обединяване"</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="contactsJoinedMessage" msgid="656936718666768589">"Контактите са обединени"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Контактите са изтрити"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Трябва да изберете поне два контакта, за да извършите обединяване."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Избраните контакти ще се обединят."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Избраните контакти ще се изтрият."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Информацията от профилите само за четене ще бъде скрита в списъка с контактите ви, а не изтрита."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Тези контакти съдържат данни от няколко профила. Информацията от профилите само за четене ще бъде скрита в списъка с контактите ви, а не изтрита."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Изтриването на този контакт ще премахна информация от няколко профила."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Този контакт ще бъде изтрит."</string>
     <string name="menu_discard" msgid="6854657936970228164">"Отхвърляне на промените"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> контакта с телефонен номер</item>
+      <item quantity="one">1 контакт с телефонен номер</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> намерени</item>
+      <item quantity="one">1 намерен</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> намерени</item>
+      <item quantity="one">1 намерен</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Основна снимка"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">обединяване от <xliff:g id="COUNT">%0$d</xliff:g> източника</item>
+      <item quantity="one">без обединяване</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Помощ и отзиви"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> групи</item>
+      <item quantity="one">1 група</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> души от <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> човек от <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> души</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -208,7 +212,7 @@
     <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="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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"Скорошно обаждане (<xliff:g id="CALL_TYPE">%s</xliff:g>) от <xliff:g id="PHONE_NUMBER">%s</xliff:g> на <xliff:g id="DATE">%s</xliff:g>. Кликнете за обратно обаждане"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Вие: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts работи по-добре, когато въведете съответния идентификатор на човека в полето за имейл или телефон."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Още полета"</string>
 </resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index ca529e8..c7ce0cf 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"ফটো পরিবর্তন করুন"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"হোম স্ক্রীনে রাখুন"</string>
     <string name="menu_call" msgid="3992595586042260618">"পরিচিতিকে কল করুন"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"পরিচিতিকে পাঠ্য বার্তা পাঠান"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"মার্জ করুন"</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="contactsJoinedMessage" msgid="656936718666768589">"পরিচিতিগুলি মার্জ করা হয়েছে"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"পরিচিতিগুলি মোছা হয়েছে"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"একটি মার্জ কার্য সম্পাদনা করতে আপনার কমপক্ষে দুটি পরিচিতি নির্বাচন করা দরকার৷"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"নির্বাচিত পরিচিতিগুলিকে একটি একক পরিচিতির মধ্যে মার্জ করা হবে৷"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"নির্বাচিত পরিচিতিগুলি মুছে ফেলা হবে৷"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"শুধুমাত্র-পাঠযোগ্য অ্যাকাউন্টগুলির তথ্য আপনার পরিচিতিগুলির তালিকাতে লুকানো থাকবে, মুছে ফেলা হবে না৷"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"এই পরিচিতিগুলিতে একাধিক অ্যাকাউন্ট থেকে তথ্য উপস্থিত রয়েছে৷ শুধুমাত্র-পাঠযোগ্য অ্যাকাউন্টগুলির তথ্য আপনার পরিচিতিগুলির তালিকাতে লুকানো থাকবে, মুছে ফেলা হবে না৷"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"এই পরিচিতিটি মোছা হলে সেটি একাধিক অ্যাকাউন্ট থেকে তথ্য মুছবে৷"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"এই পরিচিতিটিকে মুছে ফেলা হবে৷"</string>
     <string name="menu_discard" msgid="6854657936970228164">"পরিবর্তনগুলি খারিজ করুন"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one">ফোন নম্বর সহ <xliff:g id="COUNT">%d</xliff:g>টি পরিচিতি</item>
+      <item quantity="other">ফোন নম্বর সহ <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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g>টি খুঁজে পাওয়া গেছে</item>
+      <item quantity="other"><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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g>টি খুঁজে পাওয়া গেছে</item>
+      <item quantity="other"><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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"প্রাথমিক ফটো"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g>টি উৎস থেকে মার্জ করা হয়েছে</item>
+      <item quantity="other"><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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"সহায়তা ও প্রতিক্রিয়া"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g>টি গোষ্ঠী</item>
+      <item quantity="other"><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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> থেকে <xliff:g id="COUNT_2">%1$d</xliff:g> জন</item>
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> থেকে <xliff:g id="COUNT_2">%1$d</xliff:g> জন</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> জন</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"সাম্প্রতিক কল৷ <xliff:g id="CALL_TYPE">%s</xliff:g>৷ <xliff:g id="PHONE_NUMBER">%s</xliff:g>৷ <xliff:g id="DATE">%s</xliff:g>৷ ঘুরিয়ে কল করতে ক্লিক করুন"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"আপনি: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"আপনি যখন ইমেল বা ফোন নম্বর লেখার ক্ষেত্রটিতে ব্যক্তির Hangouts সনাক্তকারী লেখেন তখন Hangouts আরো ভালো কাজ করে৷"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"আরো ফিল্ড"</string>
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 180beb6..11947d6 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Canvia la foto"</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>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Afegeix un grup"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Dividir contacte?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Aquest contacte es dividirà en diversos contactes."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Uneix"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Combina"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Unió de contactes"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Tria el contacte que vols unir amb <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Mostra tots els contactes"</string>
     <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="contactsJoinedMessage" msgid="656936718666768589">"Contactes combinats"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"S\'han suprimit els contactes"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Has de tenir com a mínim dos contactes seleccionats per combinar-los."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Els contactes seleccionats es combinaran i se\'n crearà un de sol."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Els contactes seleccionats se suprimiran."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"La informació dels comptes només de lectura s\'ocultarà a les llistes de contactes, però no se suprimirà."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Aquests contactes inclouen 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="6854657936970228164">"Descarta els canvis"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"No s\'han pogut desar els canvis al contacte."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Grup desat."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"No s\'han pogut desar els canvis al grup."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 contacte amb número de telèfon"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contactes amb números de telèfon"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactes amb número de telèfon</item>
+      <item quantity="one">1 contacte amb número de telèfon</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"No hi ha cap contacte amb número de telèfon"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactes</item>
+      <item quantity="one">1 contacte</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"No hi ha cap contacte"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"1 contacte"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> contactes"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactes</item>
+      <item quantity="one">1 contacte</item>
+    </plurals>
     <string name="all_contacts_tab_label" msgid="6250372293594147703">"Tots els contactes"</string>
     <string name="favorites_tab_label" msgid="1524869648904016414">"Preferits"</string>
     <string name="callBack" msgid="5498224409038809224">"Torna la trucada"</string>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Desinstal·leu aplicacions"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Torna a provar d\'actualitzar"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"S\'està cercant..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Mostra la selecció"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Mostra-ho tot"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Foto principal"</string>
     <string name="description_star" msgid="2605854427360036550">"preferit"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Edita el contacte"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"no combinat"</item>
-    <item quantity="other" msgid="425683718017380845">"combinat de <xliff:g id="COUNT">%0$d</xliff:g> fonts"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">combinats de <xliff:g id="COUNT">%0$d</xliff:g> fonts</item>
+      <item quantity="one">no combinat</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Vols ajuntar el contacte actual amb el contacte seleccionat?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Vols canviar per editar el contacte seleccionat? Es copiarà la informació que hagis introduït fins ara."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Copia a Els meus contactes"</string>
@@ -172,7 +176,7 @@
     <string name="list_filter_custom" msgid="8910173055702057002">"Personalitza"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Configuració"</string>
     <string name="menu_settings" msgid="377929915873428211">"Configuració"</string>
-    <string name="menu_help" msgid="5123887102216637725">"Ajuda"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Ajuda i suggeriments"</string>
     <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>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importa contactes"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Creació d\'un grup nou"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Crea un grup nou"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"Un grup"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grups"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grups</item>
+      <item quantity="one">1 grup</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Vols suprimir el grup \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (No se\'n suprimiran els contactes.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> persones 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> persones 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> persones"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> persones"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> persones de <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persona de <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> persones</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persona</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Escriu el nom del contacte abans d\'unir-lo amb un altre contacte."</string>
     <string name="copy_text" msgid="3257145021583508761">"Copia al porta-retalls"</string>
     <string name="set_default" msgid="4417505153468300351">"Predeterminat"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"Trucada recent. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. Fes clic per tornar la trucada."</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Usuari: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts funciona millor si introdueixes l\'identificador de Hangouts de la persona corresponent al camp de l\'adreça electrònica o del telèfon."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Més camps"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index fbdf952..177f484 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Změnit fotografii"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Umístit na plochu"</string>
     <string name="menu_call" msgid="3992595586042260618">"Volat kontakt"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Odeslat zprávu kontaktu"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Přidat skupinu"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Rozdělit kontakt?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Tento kontakt bude rozdělen do několika kontaktů."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Spojit"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Sloučit"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Spojit kontakty"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Vyberte kontakt, který chcete spojit s kontaktem <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Zobrazit všechny kontakty"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Navrhované kontakty"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Všechny kontakty"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakty byly spojeny"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontakty byly sloučeny"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontakty byly odstraněny"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Nastavit vyzvánění"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Hovory do hlas. schránky"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Z účtů pouze pro čtení není možné kontakty mazat, můžete je však ve svých seznamech kontaktů skrýt."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Chcete-li provést sloučení, vyberte alespoň dva kontakty."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Vybrané kontakty budou sloučeny do jednoho kontaktu."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Vybrané kontakty budou smazány."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Informace z účtů pouze ke čtení budou v seznamech kontaktů skryty, ale nebudou smazány."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Tyto kontakty obsahují informace z několika účtů. Informace z účtů pouze ke č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="6854657936970228164">"Zahodit změny"</string>
@@ -94,20 +101,26 @@
     <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>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 kontakt s telefonním číslem"</item>
-    <item quantity="other" msgid="3299954047880968205">"Kontakty s telefonními čísly: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontakty s telefonním číslem</item>
+      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> kontaktu s telefonním číslem</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontaktů s telefonním číslem</item>
+      <item quantity="one">1 kontakt s telefonním číslem</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ke kontaktům nejsou přiřazena žádná telefonní čísla"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="few">Nalezeno: <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="many">Nalezeno: <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">Nalezeno: <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">Nalezeno: 1</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Žádné kontakty"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"Nalezeno: 1"</item>
-    <item quantity="other" msgid="7988132539476575389">"Nalezeno: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="few">Nalezeno: <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="many">Nalezeno: <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">Nalezeno: <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">Nalezeno: 1</item>
+    </plurals>
     <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>
@@ -144,9 +157,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Odinstalovat některé aplikace"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Zkusit upgradovat znovu"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Vyhledávání..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Zobrazit vybrané"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Zobrazit vše"</string>
@@ -160,10 +170,12 @@
     <string name="primary_photo" msgid="8517942231868516999">"Primární fotka"</string>
     <string name="description_star" msgid="2605854427360036550">"oblíbené"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Upravit kontakt"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"sloučení se nezdařilo"</item>
-    <item quantity="other" msgid="425683718017380845">"sloučeno ze <xliff:g id="COUNT">%0$d</xliff:g> zdrojů"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="few">sloučeno ze <xliff:g id="COUNT">%0$d</xliff:g> zdrojů</item>
+      <item quantity="many">sloučeno z <xliff:g id="COUNT">%0$d</xliff:g> zdroje</item>
+      <item quantity="other">sloučeno z <xliff:g id="COUNT">%0$d</xliff:g> zdrojů</item>
+      <item quantity="one">sloučení se nezdařilo</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Spojit aktuální kontakt s vybraným kontaktem?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Přepnout do režimu úpravy vybraného kontaktu? Doposud zadané informace budou zkopírovány."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Zkopírovat do kontaktů"</string>
@@ -172,7 +184,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Nápověda"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Nápověda a zpětná vazba"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Možnosti zobrazení"</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">"Telefonní číslo"</string>
@@ -188,19 +200,25 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importovat kontakty"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Vytvořit novou skupinu"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Vytvořit novou skupinu"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 skupina"</item>
-    <item quantity="other" msgid="1276758425904917367">"Skupiny: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="few"><xliff:g id="COUNT">%0$d</xliff:g> skupiny</item>
+      <item quantity="many"><xliff:g id="COUNT">%0$d</xliff:g> skupiny</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> skupin</item>
+      <item quantity="one">1 skupina</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Chcete smazat skupinu <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? (Samotné kontakty smazány nebudou.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"Počet lidí ze skupiny <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>: <xliff:g id="COUNT_0">%1$d</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"Počet lidí ze skupiny <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> uživatel"</item>
-    <item quantity="other" msgid="6251996206137048525">"Počet lidí: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="few"><xliff:g id="COUNT_2">%1$d</xliff:g> lidé ze skupiny <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="many"><xliff:g id="COUNT_2">%1$d</xliff:g> člověka ze skupiny <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> lidí ze skupiny <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> člověk ze skupiny <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> lidé</item>
+      <item quantity="many"><xliff:g id="COUNT_1">%1$d</xliff:g> člověka</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> lidí</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> člověk</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Před spojením s jiným kontaktem je třeba zadat jméno kontaktu."</string>
     <string name="copy_text" msgid="3257145021583508761">"Zkopírovat do schránky"</string>
     <string name="set_default" msgid="4417505153468300351">"Výchozí nastavení"</string>
@@ -264,4 +282,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"nedávný hovor. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. kliknutím zavoláte zpět"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Vy: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Aplikace Hangouts funguje lépe, když do pole pro e-mail nebo pro telefon zadáte identifikátor osoby ve službě Hangouts."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Další pole"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index a4d3a9c..927a661 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Skift billede"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Placer på startskærmen"</string>
     <string name="menu_call" msgid="3992595586042260618">"Ring til kontakt"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Send sms til kontakt"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Tilføj gruppe"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Opdel kontaktperson?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Denne kontaktperson opdeles i flere kontaktpersoner."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Føj til"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Flet"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Føj til kontakter"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Vælg den kontaktperson, som du vil knytte til <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Vis alle kontakter"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Foreslåede kontakter"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alle kontakter"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Tilføjede kontakter"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontaktpersonerne blev slået sammen"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontaktpersonerne blev slettet"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Angiv ringetone"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Alle opkald til telefonsvareren"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Du kan ikke slette kontaktpersoner fra skrivebeskyttede konti, men du kan skjule dem på listerne over dine kontaktpersoner."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Du skal vælge mindst to kontakter for at gennemføre en sammenfletning."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"De valgte kontakter slås sammen til en enkelt kontakt."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"De valgte kontakter slettes."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Oplysninger fra skrivebeskyttede konti vil blive skjult i dine kontaktlister, men ikke slettet."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Disse kontakter 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="6854657936970228164">"Kassér ændringer"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Der kunne ikke gemmes ændringer i kontaktpersoner."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Gruppen er gemt."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Gruppeændringerne kunne ikke gemmes."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 kontakt med telefonnummer"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontaktpersoner med telefonnumre"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> kontaktpersoner med telefonnumre</item>
+      <item quantity="other"><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="listFoundAllContacts">
-    <item quantity="one" msgid="5517063038754171134">"1 fundet"</item>
-    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> fundet"</item>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one">Der blev fundet <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">Der blev fundet <xliff:g id="COUNT">%d</xliff:g></item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Ingen kontaktpersoner"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"1 fundet"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> fundet"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one">Der blev fundet <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">Der blev fundet <xliff:g id="COUNT">%d</xliff:g></item>
+    </plurals>
     <string name="all_contacts_tab_label" msgid="6250372293594147703">"Alle kontakter"</string>
     <string name="favorites_tab_label" msgid="1524869648904016414">"Foretrukne"</string>
     <string name="callBack" msgid="5498224409038809224">"Ring tilbage"</string>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Afinstaller nogle applikationer"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Prøv at opgradere igen"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Søger..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Vis valgte"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Vis alle"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Primært foto"</string>
     <string name="description_star" msgid="2605854427360036550">"foretrukken"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Rediger kontaktperson"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"blev ikke flettet"</item>
-    <item quantity="other" msgid="425683718017380845">"flettet fra <xliff:g id="COUNT">%0$d</xliff:g> kilder"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">blev flettet fra <xliff:g id="COUNT">%0$d</xliff:g> kilder</item>
+      <item quantity="other">blev flettet fra <xliff:g id="COUNT">%0$d</xliff:g> kilder</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Forbind den aktuelle kontaktperson med den valgte kontaktperson?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Vil du redigere den valgte kontaktperson? Dine indtastninger kopieres."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopier til Mine kontaktpersoner"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Hjælp"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Hjælp og feedback"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Indstillinger for visning"</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">"Telefonnummer"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importer kontaktpersoner"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Opret en ny gruppe"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Opret en ny gruppe"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 gruppe"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupper"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> grupper</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupper</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Vil du slette gruppen \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Selve kontaktpersonerne slettes ikke)."</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> person fra <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> personer fra <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> personer"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> personer fra <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> personer fra <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> personer</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> personer</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Skriv navnet på kontaktpersonen, før den knyttes sammen med en anden."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopier til udklipsholder"</string>
     <string name="set_default" msgid="4417505153468300351">"Indstil standard"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"seneste opkald. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. Klik for at ringe tilbage"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Dig: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts fungerer bedre, når du indtaster personens Hangouts-id i e-mailfeltet eller telefonfeltet."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Flere felter"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index b10db1f..0a6ad45 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Foto ändern"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Auf Startbildschirm platzieren"</string>
     <string name="menu_call" msgid="3992595586042260618">"Kontakt anrufen"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"SMS an Kontakt"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Gruppe hinzufügen"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Kontakt aufteilen?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Dieser Kontakt wird in mehrere Kontakte aufgeteilt."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Zusammenführen"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Zusammenführen"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Kontakte zusammenführen"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Wählen Sie den Kontakt aus, den Sie mit <xliff:g id="NAME">%s</xliff:g> zusammenführen möchten."</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Alle Kontakte anzeigen"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Vorgeschlagene Kontakte"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alle Kontakte"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakte wurden verknüpft."</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontakte zusammengeführt"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontakte gelöscht"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Klingeltonwahl"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Alle Anrufe an Mailbox"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Sie können keine Kontakte aus schreibgeschützten Konten löschen. Sie können sie aber in Ihren Kontaktlisten ausblenden."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Wählen Sie für eine Zusammenführung mindestens zwei Kontakte aus."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Die ausgewählten Kontakte werden zu einem einzigen Kontakt zusammengeführt."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Die ausgewählten Kontakte werden gelöscht."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Informationen aus schreibgeschützten Konten werden nicht gelöscht, sondern in Ihren Kontaktlisten ausgeblendet."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Diese Kontakte enthalten 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="6854657936970228164">"Änderungen verwerfen"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Kontaktänderungen konnten nicht gespeichert werden."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Gruppe gespeichert"</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Gruppenänderungen konnten nicht gespeichert werden."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 Kontakt mit Telefonnummer"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> Kontakte mit Telefonnummern"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> Kontakte mit Telefonnummern</item>
+      <item quantity="one">1 Kontakt mit Telefonnummer</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Keine sichtbaren Kontakte mit Telefonnummern"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> Kontakte gefunden</item>
+      <item quantity="one">1 Kontakt gefunden</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Keine Kontakte"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"1 gefunden"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> gefunden"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> Kontakte gefunden</item>
+      <item quantity="one">1 Kontakt gefunden</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Einige Apps deinstallieren"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Upgrade wiederholen"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Suche..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Auswahl anzeigen"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Alle anzeigen"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Hauptfoto"</string>
     <string name="description_star" msgid="2605854427360036550">"Favorit"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Kontakt bearbeiten"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"nicht zusammengeführt"</item>
-    <item quantity="other" msgid="425683718017380845">"aus <xliff:g id="COUNT">%0$d</xliff:g> Quellen zusammengeführt"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">aus <xliff:g id="COUNT">%0$d</xliff:g> Quellen zusammengeführt</item>
+      <item quantity="one">nicht zusammengeführt</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Aktuellen Kontakt mit ausgewähltem Kontakt zusammenführen?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Zur Bearbeitung des ausgewählten Kontakts wechseln? Die bisher eingegebenen Informationen werden kopiert."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"In meine Kontakte kopieren"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Hilfe"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Hilfe &amp; Feedback"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Anzeigeoptionen"</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">"Telefonnummer"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Kontakte importieren"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Neue Gruppe erstellen"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Neue Gruppe erstellen"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 Gruppe"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> Gruppen"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> Gruppen</item>
+      <item quantity="one">1 Gruppe</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Soll die Gruppe \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" wirklich gelöscht werden? Die Kontakte selbst werden nicht gelöscht."</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> Person von <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> Personen von <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> Personen"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> Personen von <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> Person von <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> Personen</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> Person</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Geben Sie einen Namen für den Kontakt ein, bevor Sie ihn mit einem anderen Kontakt zusammenführen."</string>
     <string name="copy_text" msgid="3257145021583508761">"In Zwischenablage kopieren"</string>
     <string name="set_default" msgid="4417505153468300351">"Als Standard festlegen"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"Letzter Anruf. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. Für Rückruf klicken."</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Ich: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts funktioniert besser, wenn Sie die Hangouts-ID der Person in das E-Mail- oder Telefonfeld eingeben."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Weitere Felder"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index b2a62de..f64a7f0 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Αλλαγή φωτογραφίας"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Τοποθέτηση στην αρχική οθόνη"</string>
     <string name="menu_call" msgid="3992595586042260618">"Κλήση επαφής"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Αποστολή μηνύματος κειμένου σε επαφή"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Συγχώνευση"</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="contactsJoinedMessage" msgid="656936718666768589">"Οι επαφές συγχωνεύτηκαν"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Οι επαφές διαγράφηκαν"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Θα πρέπει να έχουν επιλεγεί τουλάχιστον δύο επαφές για να πραγματοποιηθεί μια συγχώνευση."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Οι επιλεγμένες επαφές θα συγχωνευτούν σε μια μεμονωμένη επαφή."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Οι επιλεγμένες επαφές θα διαγραφούν."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Οι πληροφορίες από λογαριασμούς μόνο για ανάγνωση θα βρίσκονται κρυμμένες στις λίστες επαφών σας, δεν θα διαγραφούν."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Αυτές οι επαφές περιέχουν πληροφορίες από πολλαπλούς λογαριασμούς. Οι πληροφορίες από λογαριασμούς μόνο για ανάγνωση θα βρίσκονται κρυμμένες στις λίστες επαφών σας, δεν θα διαγραφούν."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Εάν διαγράψετε αυτήν την επαφή, θα γίνει διαγραφή των πληροφοριών από πολλούς λογαριασμούς."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Αυτή η επαφή θα διαγραφεί."</string>
     <string name="menu_discard" msgid="6854657936970228164">"Απόρριψη αλλαγών"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> επαφές με αριθμό τηλεφώνου</item>
+      <item quantity="one">1 επαφή με αριθμό τηλεφώνου</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other">Βρέθηκαν <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">Βρέθηκε 1</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other">Βρέθηκαν <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">Βρέθηκε 1</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>
@@ -123,9 +130,9 @@
     <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_share" msgid="943789700636542260">"Κοινοποίηση"</string>
     <string name="menu_add_contact" msgid="3198704337220892684">"Προσθήκη στις επαφές"</string>
-    <string name="share_via" msgid="563121028023030093">"Κοινή χρήση μέσω"</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Κύρια φωτογραφία"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">συγχωνεύτηκαν από <xliff:g id="COUNT">%0$d</xliff:g> πηγές</item>
+      <item quantity="one">δεν συγχωνεύτηκαν</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Βοήθεια και σχόλια"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> ομάδες</item>
+      <item quantity="one">1 ομάδα</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> άτομα από <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> άτομο από <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> άτομα</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"πρόσφατη κλήση. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. κάντε κλικ για επιστροφή της κλήσης"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Εσείς: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Το Hangouts λειτουργεί καλύτερα όταν εισάγετε το αναγνωριστικό Hangouts του ατόμου στο πεδίο ηλεκτρονικού ταχυδρομείου ή τηλεφώνου."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Περισσότερα πεδία"</string>
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..b9176db
--- /dev/null
+++ b/res/values-en-rAU/strings.xml
@@ -0,0 +1,272 @@
+<?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="applicationLabel" msgid="3906689777043645443">"Contacts"</string>
+    <string name="launcherActivityLabel" msgid="6497230399032392417">"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="contactInsertOrEditActivityTitle" msgid="6527505405325862674">"Add to contact"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Choose a contact"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2436981165830115659">"Create 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_change_photo" msgid="7769177631511496210">"Change photo"</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="4050157483569357666">"Merge"</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="656936718666768589">"Contacts merged"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Contacts deleted"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"You need at least two contacts selected to perform a merge."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"The selected contacts will be merged into a single contact."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"The selected contacts will be deleted."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Information from read-only accounts will be hidden in your contacts lists, not deleted."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"These contacts contain 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" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacts with phone numbers</item>
+      <item quantity="one">1 contact with phone number</item>
+    </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"No contacts with phone numbers"</string>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> found</item>
+      <item quantity="one">1 found</item>
+    </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"No contacts"</string>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> found</item>
+      <item quantity="one">1 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="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="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_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="change_photo" msgid="8530597935483526383">"Change"</string>
+    <string name="primary_photo" msgid="8517942231868516999">"Primary photo"</string>
+    <string name="description_star" msgid="2605854427360036550">"favourite"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Edit contact"</string>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">merged from <xliff:g id="COUNT">%0$d</xliff:g> sources</item>
+      <item quantity="one">not merged</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="1680178646764069976">"Help &amp; feedback"</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" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> groups</item>
+      <item quantity="one">1 group</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" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> people from <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> person from <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> people</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> person</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="header_account_entry" msgid="2684318506427891827">"Account"</string>
+    <string name="header_name_entry" msgid="1592791008096288306">"Name"</string>
+    <string name="header_email_entry" msgid="8666093061171624478">"Email"</string>
+    <string name="header_phone_entry" msgid="8450980572274173570">"Phone"</string>
+    <string name="header_photo_entry" msgid="4438023151411853238">"Photo"</string>
+    <string name="content_description_expand_editor" msgid="1111381475901897470">"Click to expand contact editor."</string>
+    <string name="content_description_collapse_editor" msgid="7598061318022977825">"Click to collapse contact editor."</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"directions to location"</string>
+    <string name="content_description_recent_sms" msgid="1666389577263317445">"recent SMS. <xliff:g id="MESSAGE_BODY">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. click to respond"</string>
+    <string name="content_description_recent_call_type_incoming" msgid="5210739096863511410">"incoming"</string>
+    <string name="content_description_recent_call_type_outgoing" msgid="5156553338985232744">"outgoing"</string>
+    <string name="content_description_recent_call_type_missed" msgid="7371810920196048204">"missed"</string>
+    <string name="content_description_recent_call" msgid="5183800406316723676">"recent call. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. click to call back"</string>
+    <string name="message_from_you_prefix" msgid="7180706529908434482">"You: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
+    <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts works better when you enter the person\'s Hangouts identifier into the email field or phone field."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"More Fields"</string>
+</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index e3d6f7c..b9176db 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Change photo"</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>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Merge"</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="contactsJoinedMessage" msgid="656936718666768589">"Contacts merged"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Contacts deleted"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"You need at least two contacts selected to perform a merge."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"The selected contacts will be merged into a single contact."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"The selected contacts will be deleted."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Information from read-only accounts will be hidden in your contacts lists, not deleted."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"These contacts contain 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>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacts with phone numbers</item>
+      <item quantity="one">1 contact with phone number</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> found</item>
+      <item quantity="one">1 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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> found</item>
+      <item quantity="one">1 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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Primary photo"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">merged from <xliff:g id="COUNT">%0$d</xliff:g> sources</item>
+      <item quantity="one">not merged</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Help &amp; feedback"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> groups</item>
+      <item quantity="one">1 group</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> people from <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> person from <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> people</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> person</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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"recent call. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. click to call back"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"You: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts works better when you enter the person\'s Hangouts identifier into the email field or phone field."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"More Fields"</string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index e3d6f7c..b9176db 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Change photo"</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>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Merge"</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="contactsJoinedMessage" msgid="656936718666768589">"Contacts merged"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Contacts deleted"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"You need at least two contacts selected to perform a merge."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"The selected contacts will be merged into a single contact."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"The selected contacts will be deleted."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Information from read-only accounts will be hidden in your contacts lists, not deleted."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"These contacts contain 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>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacts with phone numbers</item>
+      <item quantity="one">1 contact with phone number</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> found</item>
+      <item quantity="one">1 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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> found</item>
+      <item quantity="one">1 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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Primary photo"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">merged from <xliff:g id="COUNT">%0$d</xliff:g> sources</item>
+      <item quantity="one">not merged</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Help &amp; feedback"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> groups</item>
+      <item quantity="one">1 group</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> people from <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> person from <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> people</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> person</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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"recent call. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. click to call back"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"You: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts works better when you enter the person\'s Hangouts identifier into the email field or phone field."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"More Fields"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 9d40dd1..a1e2ba1 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Cambiar foto"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Colocar en pantalla principal"</string>
     <string name="menu_call" msgid="3992595586042260618">"Llamar al contacto"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Enviar texto al contacto"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Agregar grupo"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"¿Dividir contacto?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Este contacto se dividirá en múltiples contactos."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Agrupar"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Combinar"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Agrupar contactos"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Selecciona el contacto que deseas agrupar con <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Mostrar todos los contactos"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contactos sugeridos"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Todos los contactos"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Unión de contactos"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Contactos fusionados"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Contactos eliminados"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Establecer tono"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Llamadas al buzón de voz"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"No puedes eliminar contactos de cuentas de solo lectura, pero puedes ocultarlos en tus listas de contactos."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Debes seleccionar al menos dos contactos para efectuar una combinación."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Los contactos seleccionados se combinarán en un solo contacto."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Se eliminarán los contactos seleccionados."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"La información de las cuentas de solo lectura no se eliminará, sino que se ocultará en las listas de contactos."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Estos contactos contienen información de varias cuentas. La información de las cuentas de solo lectura no se eliminará, sino que se ocultará en las listas de contactos."</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="6854657936970228164">"Descartar cambios"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"No se pudieron guardar los cambios realizados al contacto."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Grupo guardado."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"No se pudieron guardar los cambios realizados al grupo."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 contacto con el 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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos con números de teléfono</item>
+      <item quantity="one">1 contacto con número de teléfono</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"No hay contactos con números de dispositivo"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other">Se encontraron <xliff:g id="COUNT">%d</xliff:g>.</item>
+      <item quantity="one">Se encontró 1.</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"No hay contactos"</string>
-  <plurals name="searchFoundContacts">
-    <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other">Se encontraron <xliff:g id="COUNT">%d</xliff:g>.</item>
+      <item quantity="one">Se encontró 1.</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Desinstalar algunas aplicaciones"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Intentar actualizar nuevamente"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Buscando..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Mostrar los seleccionados"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Mostrar todos"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Foto principal"</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">"no se combinó"</item>
-    <item quantity="other" msgid="425683718017380845">"combinado a partir de fuentes <xliff:g id="COUNT">%0$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">combinados desde <xliff:g id="COUNT">%0$d</xliff:g> fuentes</item>
+      <item quantity="one">no combinado</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"¿Deseas agrupar el contacto actual con el contacto seleccionado?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"¿Optar por modificar contacto seleccionado? Se copiará la información que ingresaste hasta ahora."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Copiar en Mis contactos"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Ayuda"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Ayuda y comentarios"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Opciones 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úm. de tel."</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importar contactos"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Crear grupo nuevo"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Crear grupo nuevo"</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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupos</item>
+      <item quantity="one">1 grupo</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"¿Deseas eliminar el grupo \" <xliff:g id="GROUP_LABEL">%1$s</xliff:g> \"? (No se eliminarán los contactos)."</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> personas 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> personas 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> persona"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> personas"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> personas de <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persona de <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> personas</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persona</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Escribe el nombre del contacto antes de agruparlo con otro."</string>
     <string name="copy_text" msgid="3257145021583508761">"Copiar en el portapapeles"</string>
     <string name="set_default" msgid="4417505153468300351">"Establecer como predeterminado"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"Llamada reciente. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. Haz clic para devolver la llamada."</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Tú: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts funciona mejor si ingresas el identificador de Hangouts de la persona en el campo de correo electrónico o teléfono."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Más campos"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 137f6b0..61b6548 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Cambiar foto"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Añadir a la pantalla de inicio"</string>
     <string name="menu_call" msgid="3992595586042260618">"Llamar al contacto"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Enviar SMS al contacto"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Añadir grupo"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"¿Dividir contacto?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Este contacto se dividirá en varios contactos."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Agrupar"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Combinar"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Agrupar contactos"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Selecciona el nombre del contacto que quieras agrupar con <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Mostrar todos los contactos"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contactos sugeridos"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Todos los contactos"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Contactos agrupados"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Contactos combinados"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Contactos eliminados"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Establecer tono"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Al buzón de voz"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"No puedes eliminar los contactos procedentes de las cuentas de solo lectura, pero puedes ocultarlos en las listas de contactos."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Debes seleccionar al menos dos contactos para combinarlos."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Los contactos seleccionados se combinarán en un único contacto."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Se eliminarán los contactos seleccionados."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"La información de las cuentas de solo lectura no se eliminará de las listas de contactos, sino que se ocultará."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Estos contactos contienen información de varias cuentas. La información de las cuentas de solo lectura no se eliminará de las listas de contactos, sino que se ocultará."</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="6854657936970228164">"Descartar cambios"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"No se han guardado los cambios del contacto."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Grupo guardado"</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"No se han guardado los cambios del grupo."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"Un (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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos con número de teléfono</item>
+      <item quantity="one">1 contacto con número de teléfono</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ningún contacto con 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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos encontrados</item>
+      <item quantity="one">1 contacto encontrado</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"No hay 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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos encontrados</item>
+      <item quantity="one">1 contacto encontrado</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Desinstalar algunas aplicaciones"</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 seleccionados"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Mostrar todos"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Foto principal"</string>
     <string name="description_star" msgid="2605854427360036550">"favoritos"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Editar contacto"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"sin fusionar"</item>
-    <item quantity="other" msgid="425683718017380845">"fusionados desde <xliff:g id="COUNT">%0$d</xliff:g> fuentes"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">fusionados de <xliff:g id="COUNT">%0$d</xliff:g> fuentes</item>
+      <item quantity="one">sin fusionar</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"¿Quieres agrupar el contacto actual con el contacto seleccionado?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"¿Quieres editar el contacto seleccionado? Se copiará la información que hayas introducido hasta el momento."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Copiar en mis contactos"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Ayuda"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Ayuda y sugerencias"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Opciones 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>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importar contactos"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Crear grupo nuevo"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Crear grupo nuevo"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"Un grupo"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupos"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupos</item>
+      <item quantity="one">1 grupo</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"¿Seguro que quieres eliminar el grupo \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? Los contactos no se eliminarán."</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> persona 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> personas 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> persona"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> personas"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> personas de <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persona de <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> personas</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persona</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Para agrupar el contacto, debes introducir el nombre del otro contacto."</string>
     <string name="copy_text" msgid="3257145021583508761">"Copiar en el portapapeles"</string>
     <string name="set_default" msgid="4417505153468300351">"Establecer como predeterminado"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"llamada reciente. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. haz clic para devolver la llamada"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Tú: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts funciona mejor si se introduce el identificador de Hangouts de la persona en el campo del correo electrónico o en el campo del teléfono."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Más campos"</string>
 </resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index ebb813a..ca138cb 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Foto vahetamine"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Paiguta avalehele"</string>
     <string name="menu_call" msgid="3992595586042260618">"Helista kontaktile"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Saada kontaktile SMS"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Rühma lisamine"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Eraldada kontakt?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"See kontakt eraldatakse mitmeks kontaktiks."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Liitumine"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Ühenda"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Ühenda kontaktid"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Valige kontakt, keda soovite kasutajaga <xliff:g id="NAME">%s</xliff:g> liita."</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Kuva kõik kontaktid"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Soovitatud kontaktid"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Kõik kontaktid"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontaktid ühendatud"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontaktid liideti"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontaktid kustutati"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Määrake helin"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Kõik kõned kõneposti"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Te ei saa kontakte kirjutuskaitstud kontodest kustutada, kuid saate need oma kontaktide loendis peita."</string>
     <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"See kontakt sisaldab teavet mitmelt kontolt. Kirjutuskaitstud teabega kontod peidetakse teie kontaktiloendites, mitte ei kustutata."</string>
+    <string name="batch_merge_single_contact_warning" msgid="982585201970392110">"Ühendamiseks peate valima vähemalt kaks kontakti."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Valitud kontaktid ühendatakse üheks kontaktiks."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Valitud kontaktid kustutatakse."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Kirjutuskaitstud teabega kontod peidetakse teie kontaktiloendites, mitte ei kustutata."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Need kontaktid sisaldavad 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="6854657936970228164">"Loobu muudatustest"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Kontaktide muudatuste salvestamine ebaõnnestus."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Grupp on salvestatud."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Rühmade muudatuste salvestamine ebaõnnestus."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 telefoninumbriga kontakt"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> telefoninumbriga kontakti"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> telefoninumbriga kontakti</item>
+      <item quantity="one">1 telefoninumbriga kontakt</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Telefoninumbritega kontakte pole"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other">Leiti <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">Leiti 1</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Kontakte pole"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"1 leitud"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> leitud"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other">Leiti <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">Leiti 1</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Desinstalli mõned rakendused"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Proovi uuesti uuendada"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Otsimine ..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Kuva valitud"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Kuva kõik"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Põhifoto"</string>
     <string name="description_star" msgid="2605854427360036550">"lemmik"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Muuda kontakti"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"pole liidetud"</item>
-    <item quantity="other" msgid="425683718017380845">"ühendati <xliff:g id="COUNT">%0$d</xliff:g> allikast"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">liidetud <xliff:g id="COUNT">%0$d</xliff:g> allikast</item>
+      <item quantity="one">liitmata</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Kas ühendada praegune kontakt valitud kontaktiga?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Kas lülituda valitud kontakti muutmisse? Seni sisestatud andmed kopeeritakse."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopeeri valikusse Minu kontaktid"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Abi"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Abi ja tagasiside"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Kuvamisvalikud"</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">"Telefoninumber"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Impordi kontaktid"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Uue grupi loomine"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Loo uus rühm"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 grupp"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> rühma"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> rühma</item>
+      <item quantity="one">1 rühm</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Kas kustutada rühm „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>”? (Kontakte ei kustutata.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> isik(ut) rühmas <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> inimest rühmas <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> isik"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> inimest"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> inimest kontolt <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> inimene kontolt <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> inimest</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> inimene</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Enne teise kontaktiga ühendamist sisestage kontakti nimi."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopeeri lõikelauale"</string>
     <string name="set_default" msgid="4417505153468300351">"Määra vaikeseadeks"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"viimane kõne. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. klõpsake tagasihelistamiseks"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Teie: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts toimib paremini, kui sisestate isiku Hangoutsi koodi e-posti aadressi või telefoninumbri väljale."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Rohkem välju"</string>
 </resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 43a3dcd..2dad7ba 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Aldatu argazkia"</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>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Bateratu"</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="contactsJoinedMessage" msgid="656936718666768589">"Kontaktuak bateratu dira"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontaktuak ezabatu dira"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Gutxienez bi kontaktu behar dituzu bateratu ahal izateko."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Hautatutako kontaktuak kontaktu bakarrean bateratuko dira."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Hautatutako kontaktuak ezabatu egingo dira."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Irakurtzeko soilik diren kontuetako informazioa kontaktuen zerrendatik ezkutatuko da, baina ez da ezabatuko."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Kontaktu hauek hainbat kontutako informazioa dute. 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>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontaktuk telefono-zenbakia dute</item>
+      <item quantity="one">Kontaktu batek telefono-zenbakia du</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aurkitu dira</item>
+      <item quantity="one">Bat aurkitu da</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aurkitu dira</item>
+      <item quantity="one">Bat aurkitu da</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Argazki nagusia"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> iturburutakoak bateratu dira</item>
+      <item quantity="one">ez da bateratu</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Laguntza eta iritziak"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> talde</item>
+      <item quantity="one">Talde bat</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> taldeko <xliff:g id="COUNT_2">%1$d</xliff:g> pertsona</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> taldeko <xliff:g id="COUNT_0">%1$d</xliff:g> pertsona</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> pertsona</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"duela gutxiko deia. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. sakatu deitzeko"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Zu: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts-ek hobeto funtzionatzen du pertsonaren Hangouts identifikatzailea idazten baduzu helbide elektronikoaren edo telefonoaren eremuan."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Eremu gehiago"</string>
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 6fb0fa1..d1f9794 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"تغییر عکس"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"محل بر روی صفحهٔ اصلی"</string>
     <string name="menu_call" msgid="3992595586042260618">"تماس با مخاطب"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"ارسال متن به مخاطب"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"ادغام"</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="contactsJoinedMessage" msgid="656936718666768589">"مخاطبین ادغام شدند"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"مخاطبین حذف شدند"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"برای ادغام کردن، دست‌کم به دو مخاطب نیاز دارید."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"مخاطب‌های انتخابی در یک مخاطب ادغام می‌شوند."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"مخاطب‌های انتخاب شده حذف می‌شوند."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"اطلاعات حساب‌های فقط خواندنی در فهرست‌های مخاطبین شما پنهان می‌شوند اما حذف نمی‌شوند."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"این مخاطب‌ها دارای اطلاعاتی از چند حساب هستند. اطلاعات حساب‌های فقط خواندنی در فهرست‌های مخاطبین شما پنهان می‌شوند اما حذف نمی‌شوند."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"حذف این مخاطب اطلاعات را از حساب‌های متعدد حذف می‌کند."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"این مخاطب حذف می‌شود."</string>
     <string name="menu_discard" msgid="6854657936970228164">"صرفنظر از تغییرات"</string>
@@ -94,25 +101,25 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> مخاطب با شماره تلفن</item>
+      <item quantity="other"><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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> مورد پیدا شد</item>
+      <item quantity="other"><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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> مورد پیدا شد</item>
+      <item quantity="other"><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="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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"عکس اصلی"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> منبع با هم ادغام شدند</item>
+      <item quantity="other"><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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"راهنما و بازخورد"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> گروه</item>
+      <item quantity="other"><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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> نفر از <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> نفر از <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> نفر</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"تماس اخیر. <xliff:g id="CALL_TYPE">%s</xliff:g>‏. <xliff:g id="PHONE_NUMBER">%s</xliff:g>‏. ‏<xliff:g id="DATE">%s</xliff:g>. برای بازگرداندن تماس کلیک کنید"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"شما: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"‏وقتی شناسه Hangouts شخص را در فیلد ایمیل یا فیلد تلفن وارد کنید، Hangouts بهتر کار می‌کند."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"فیلدهای بیشتر"</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index d49cef0..c9bbcfe 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Vaihda kuva"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Paikka aloitusruudussa"</string>
     <string name="menu_call" msgid="3992595586042260618">"Soita"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Lähetä tekstiviesti yhteystiedolle"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Lisää ryhmä"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Erota yhteystieto?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Tämä yhteystieto erotetaan useisiin yhteystietoihin."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Yhdistä"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Yhdistä"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Yhdistä yhteystiedot"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Valitse yhteystieto, jonka haluat yhdistää kontaktiin <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Näytä kaikki yhteystiedot"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Ehdotetut yhteystiedot"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Kaikki yhteystiedot"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Yhteystiedot yhdistetty"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Yhteystiedot on yhdistetty."</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Yhteystiedot on poistettu."</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Aseta soittoääni"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Kaikki puhelut vastaajaan"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Et voi poistaa yhteystietoja vain luku -tilassa olevista tileistä. Voit kuitenkin piilottaa yhteystietoja yhteystietoluetteloissasi."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Yhdistäminen edellyttää vähintään kahden yhteystiedon valintaa."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Valitut yhteystiedot yhdistetään."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Valitut yhteystiedot poistetaan."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Vain luku -tilassa olevien tilien tietoja ei poisteta, mutta ne piilotetaan yhteystietoluettelosta."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Nämä yhteystiedot sisältävät 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="6854657936970228164">"Hylkää muutokset"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Ei voitu tallentaa yhteystietojen muutoksia."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Ryhmä tallennettu."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Ryhmän muutoksia ei voitu tallentaa."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 yhteystieto, jossa puhelinnumero"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> yhteystietoa, joissa puhelinnumero"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> yhteystietoa, jossa puhelinnumero</item>
+      <item quantity="one">1 yhteystieto, jossa puhelinnumero</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ei yhteystietoja, joissa on puhelinnumero"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> löytyi</item>
+      <item quantity="one">1 löytyi</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Ei kontakteja"</string>
-  <plurals name="searchFoundContacts">
-    <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> löytyi</item>
+      <item quantity="one">1 löytyi</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Poista sovelluksia"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Yritä päivitystä uudelleen"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Haetaan..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Näytä valitut"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Näytä kaikki"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Kontaktin kuva"</string>
     <string name="description_star" msgid="2605854427360036550">"lisää suosikkeihin"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Muokkaa yhteystietoa"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"ei yhdistetty"</item>
-    <item quantity="other" msgid="425683718017380845">"yhdistetty <xliff:g id="COUNT">%0$d</xliff:g> lähteestä"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">yhdistetty <xliff:g id="COUNT">%0$d</xliff:g> lähteestä</item>
+      <item quantity="one">ei yhdistetty</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Yhdistetäänkö nykyiset yhteystiedot valittujen yhteystietojen kanssa?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Haluatko muokata valittuja yhteystietoja? Antamasi tiedot kopioidaan."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopioi yhteystietoihini"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Ohje"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Ohje ja palaute"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Näyttövalinnat"</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">"Puhelinnumero"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Tuo yhteystietoja"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Luo uusi ryhmä"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Luo uusi ryhmä"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 ryhmä"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> ryhmää"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> ryhmää</item>
+      <item quantity="one">1 ryhmä</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Poistetaanko ryhmä <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? (Ryhmään kuuluvia yhteystietoja ei poisteta.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> henkilö tilistä <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> henkilöä tilistä <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> henkilö"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> henkilöä"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> henkilöä tilistä <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> henkilö tilistä <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> henkilöä</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> henkilö</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Kirjoita yhteystiedon nimi ennen kuin liität sen toiseen yhteystietoon."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopioi leikepöydälle"</string>
     <string name="set_default" msgid="4417505153468300351">"Aseta oletukseksi"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"Viimeisin puhelu. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. Soita takaisin klikkaamalla."</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Sinä: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts toimii paremmin, kun kirjoitat käyttäjän Hangouts-tunnuksen sähköposti- tai puhelinnumerokenttään."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Lisää kenttiä"</string>
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index fdf49f9..e3a686a 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Changer de photo"</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>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Fusionner"</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="contactsJoinedMessage" msgid="656936718666768589">"Contacts fusionnés"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Contacts supprimés"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Au moins deux contacts doivent être sélectionnés pour effectuer une fusion."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Les contacts sélectionnés seront fusionnés en un seul contact."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Les contacts sélectionnés seront supprimés."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Les renseignements provenant de comptes en lecture seule seront cachés dans vos listes de contacts, pas supprimés."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Ces contacts contiennent des renseignements provenant de plusieurs comptes. Les renseignements de comptes en lecture seule seront cachés dans vos listes de contacts, pas supprimés."</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>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> contact avec un numéro de téléphone</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacts avec un numéro 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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> résultat</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> résultats</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> résultat</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> résultats</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Photo principale"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">fusionné à partir de <xliff:g id="COUNT">%0$d</xliff:g> source</item>
+      <item quantity="other">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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Aide et commentaires"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> groupe</item>
+      <item quantity="other"><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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> personne à partir de <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> personnes à partir de <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> personne</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> personnes</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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"Appel récent : <xliff:g id="CALL_TYPE">%s</xliff:g>, <xliff:g id="PHONE_NUMBER">%s</xliff:g>, <xliff:g id="DATE">%s</xliff:g>. Touchez l\'écran pour rappeler ce numéro."</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Vous : <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Google Hangout fonctionne mieux lorsque vous entrez l\'identifiant Hangout de la personne dans le champ de l\'adresse de courriel ou du numéro de téléphone."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Autres champs"</string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 5e9ca3b..28b06f3 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Changer de photo"</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>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Fusionner"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Joindre les 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="contactsJoinedMessage" msgid="656936718666768589">"Les contacts ont bien été fusionnés."</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Les contacts ont bien été supprimés."</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Vous ne pouvez pas fusionner un seul et même contact. Veuillez en sélectionner au moins deux."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Les contacts sélectionnés vont être fusionnés pour que former qu\'un seul contact."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Les contacts sélectionnés vont être supprimés."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Les informations issues de comptes en lecture seule seront masquées dans vos listes de contacts, mais pas supprimées."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Ces contacts contiennent des informations provenant de plusieurs comptes. Les informations issues de comptes en lecture seule seront masquées dans vos listes de contacts, mais pas supprimées."</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>
@@ -94,20 +101,20 @@
     <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 n° de téléphone"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> contact avec numéro de téléphone</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacts avec numéro 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> contact(s) trouvé(s)"</item>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> contact trouvé</item>
+      <item quantity="other"><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> contact(s) trouvé(s)"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> contact trouvé</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacts trouvés</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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 à niveau"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Recherche…"</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Afficher la sélection"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Tout afficher"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Photo principale"</string>
     <string name="description_star" msgid="2605854427360036550">"favori"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Modifier le contact"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"1 contact non fusionné"</item>
-    <item quantity="other" msgid="425683718017380845">"1 contact fusionné à partir de <xliff:g id="COUNT">%0$d</xliff:g> sources"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">contact fusionné à partir de <xliff:g id="COUNT">%0$d</xliff:g> source</item>
+      <item quantity="other">contacts fusionnés à 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>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Aide"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Aide et commentaires"</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>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importer 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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> groupe</item>
+      <item quantity="other"><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> personnes"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> contact dans <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> contacts dans <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> contact</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> contacts</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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"Appel récent : <xliff:g id="CALL_TYPE">%s</xliff:g>, <xliff:g id="PHONE_NUMBER">%s</xliff:g>, <xliff:g id="DATE">%s</xliff:g>. Appuyez sur l\'écran pour rappeler ce numéro."</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Vous : <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Les Hangouts fonctionnent mieux si vous saisissez l\'identifiant Hangouts de la personne concernée dans le champ de l\'adresse e-mail ou du numéro de téléphone."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Autres champs"</string>
 </resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index e050004..ca6fadf 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Cambiar foto"</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>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Combinar"</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="contactsJoinedMessage" msgid="656936718666768589">"Contactos combinados"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Contactos eliminados"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Necesitas seleccionar polo menos dous contactos para poder combinalos."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Os contactos seleccionados combinaranse nun só."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Eliminaranse os contactos seleccionados."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"A información das contas de só lectura ocultarase nas túas listas de contactos, non se eliminará."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Estes contactos conteñen 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>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos con números de teléfono</item>
+      <item quantity="one">Un contacto con número 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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos encontrados</item>
+      <item quantity="one">Un contacto encontrado</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos encontrados</item>
+      <item quantity="one">Un contacto encontrado</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Foto principal"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">combinados de <xliff:g id="COUNT">%0$d</xliff:g> fontes</item>
+      <item quantity="one">non combinado</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Axuda e opinión"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupos</item>
+      <item quantity="one">Un grupo</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> persoas de <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persoa de <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> persoas</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persoa</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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"chamada recente. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. fai clic para devolver a chamada"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Ti: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts funciona mellor se introduces o identificador de Hangouts da persoa no campo do correo electrónico ou do teléfono."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Máis campos"</string>
 </resources>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..95dad17
--- /dev/null
+++ b/res/values-gu-rIN/strings.xml
@@ -0,0 +1,272 @@
+<?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="applicationLabel" msgid="3906689777043645443">"સંપર્કો"</string>
+    <string name="launcherActivityLabel" msgid="6497230399032392417">"સંપર્કો"</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="contactInsertOrEditActivityTitle" msgid="6527505405325862674">"સંપર્કમાં ઉમેરો"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"સંપર્ક પસંદ કરો"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2436981165830115659">"નવો સંપર્ક બનાવો"</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_change_photo" msgid="7769177631511496210">"ફોટો બદલો"</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="4050157483569357666">"મર્જ કરો"</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="656936718666768589">"સંપર્કો મર્જ કર્યા"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"સંપર્કો કાઢી નાખ્યા"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"મર્જ કરવા માટે તમારે ઓછામાં ઓછા બે પસંદ કરેલા સંપર્કોની જરૂર છે."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"પસંદ કરેલા સંપર્કોને એકલ સંપર્કમાં મર્જ કરવામાં આવશે."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"પસંદ કરેલા સંપર્કો કાઢી નાખવામાં આવશે."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"ફક્ત-વાંચવા માટેના એકાઉન્ટ્સની માહિતી તમારા સંપર્કોની સૂચિમાંથી છુપાવવામાં આવશે, ન કે કાઢી નાંખવામાં."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"આ સંપર્કોમાં બહુવિધ એકાઉન્ટ્સની માહિતી શામેલ છે. ફક્ત-વાંચવા માટેના એકાઉન્ટ્સની માહિતી તમારા સંપર્કોની સૂચિમાંથી છુપાવવામાં આવશે, ન કે કાઢી નાંખવામાં."</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" formatted="false" msgid="3692277679143308755">
+      <item quantity="one">ફોન નંબર્સ સાથેના <xliff:g id="COUNT">%d</xliff:g> સંપર્કો</item>
+      <item quantity="other">ફોન નંબર્સ સાથેના <xliff:g id="COUNT">%d</xliff:g> સંપર્કો</item>
+    </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"ફોન નંબર્સ સાથે કોઈ સંપર્કો નથી"</string>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> મળ્યાં</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> મળ્યાં</item>
+    </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"સંપર્કો નથી"</string>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> મળ્યાં</item>
+      <item quantity="other"><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="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="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_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="change_photo" msgid="8530597935483526383">"બદલો"</string>
+    <string name="primary_photo" msgid="8517942231868516999">"પ્રાથમિક ફોટો"</string>
+    <string name="description_star" msgid="2605854427360036550">"મનપસંદ"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"સંપર્ક સંપાદિત કરો"</string>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> સ્રોતોથી મર્જ કર્યા</item>
+      <item quantity="other"><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="1680178646764069976">"સહાય અને પ્રતિસાદ"</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" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> જૂથ</item>
+      <item quantity="other"><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" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> માંથી <xliff:g id="COUNT_2">%1$d</xliff:g> લોકો</item>
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> માંથી <xliff:g id="COUNT_2">%1$d</xliff:g> લોકો</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> લોકો</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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="header_account_entry" msgid="2684318506427891827">"એકાઉન્ટ"</string>
+    <string name="header_name_entry" msgid="1592791008096288306">"નામ"</string>
+    <string name="header_email_entry" msgid="8666093061171624478">"ઇમેઇલ"</string>
+    <string name="header_phone_entry" msgid="8450980572274173570">"ફોન"</string>
+    <string name="header_photo_entry" msgid="4438023151411853238">"ફોટો"</string>
+    <string name="content_description_expand_editor" msgid="1111381475901897470">"સંપર્ક સંપાદક વિસ્તૃત કરવા માટે ક્લિક કરો."</string>
+    <string name="content_description_collapse_editor" msgid="7598061318022977825">"સંપર્ક સંપાદકને સંકુચિત કરવા માટે ક્લિક કરો."</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"સ્થાન માટેનાં દિશા નિર્દેશો"</string>
+    <string name="content_description_recent_sms" msgid="1666389577263317445">"તાજેતરનો sms. <xliff:g id="MESSAGE_BODY">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. પ્રતિસાદ આપવા ક્લિક કરો"</string>
+    <string name="content_description_recent_call_type_incoming" msgid="5210739096863511410">"આવનારા"</string>
+    <string name="content_description_recent_call_type_outgoing" msgid="5156553338985232744">"આઉટગોઇંગ"</string>
+    <string name="content_description_recent_call_type_missed" msgid="7371810920196048204">"છૂટેલ"</string>
+    <string name="content_description_recent_call" msgid="5183800406316723676">"તાજેતરનો કૉલ. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. કૉલ બેક કરવા ક્લિક કરો"</string>
+    <string name="message_from_you_prefix" msgid="7180706529908434482">"તમે: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
+    <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"જ્યારે તમે વ્યક્તિના Hangouts ઓળખકર્તાને ઇમેઇલ ફીલ્ડ અથવા ફોન ફીલ્ડમાં દાખલ કરો છો ત્યારે Hangouts વધુ સારું કામ કરે છે."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"વધુ ફીલ્ડ્સ"</string>
+</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 124e31e..48e7587 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"फ़ोटो बदलें"</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>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"एक बनाएं"</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="contactsJoinedMessage" msgid="656936718666768589">"संपर्क एक बनाए गए"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"संपर्क हटा दिए गए"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"एक करने के लिए आपको कम से कम दो संपर्कों को चुनने की आवश्‍यकता होगी."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"चयनित संपर्कों को किसी एकल संपर्क में एक कर दिया जाएगा."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"चयनित संपर्क हटा दिए जाएंगे."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"केवल पढ़ने के लिए खातों की जानकारी को आपकी संपर्क सूचियों में छिपाया जाएगा, हटाया नहीं जाएगा."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"इन संपर्कों में एकाधिक खातों की जानकारी शामिल है. केवल पढ़ने के लिए खातों की जानकारी को आपकी संपर्क सूचियों में छिपाया जाएगा, हटाया नहीं जाएगा."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"इस संपर्क को हटाने से एकाधिक खातों से जानकारी हट जाएगी."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"यह संपर्क हटा दिया जाएगा."</string>
     <string name="menu_discard" msgid="6854657936970228164">"परिवर्तन हटा दें"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one">फ़ोन नंबर वाले <xliff:g id="COUNT">%d</xliff:g> संपर्क</item>
+      <item quantity="other">फ़ोन नंबर वाले <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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> मिले</item>
+      <item quantity="other"><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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> मिले</item>
+      <item quantity="other"><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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"प्राथमिक फ़ोटो"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> स्रोतों से मर्ज किया गया</item>
+      <item quantity="other"><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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"सहायता और फ़ीडबैक"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> समूह</item>
+      <item quantity="other"><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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> से <xliff:g id="COUNT_2">%1$d</xliff:g> लोग</item>
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> से <xliff:g id="COUNT_2">%1$d</xliff:g> लोग</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> व्‍यक्‍ति</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"हाल ही का कॉल. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. पुनः कॉल करने के लिए क्लिक करें"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"आप: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts तब बेहतर कार्य करता है जब आप व्‍यक्‍ति के Hangouts पहचानकर्ता को ईमेल फ़ील्‍ड या फ़ोन फ़ील्‍ड में डालते हैं."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"अधिक फ़ील्‍ड"</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index bd13702..40bfe3e 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Promijeni fotografiju"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Mjesto na početnom zaslonu"</string>
     <string name="menu_call" msgid="3992595586042260618">"Nazovi kontakt"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Poruka kontaktu"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Dodavanje grupe"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Odvojiti kontakt?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Ovaj će se kontakt razdvojiti na više kontakata."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Pridruži se"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Spoji"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Pridruži kontakte"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Odaberite kontakt koji želite pridružiti imenu <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Prikaži sve kontakte"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Predloženi kontakti"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Svi kontakti"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakti su pridruženi"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontakti su spojeni"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontakti su izbrisani"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Postavi zvuk zvona"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Svi pozivi na govornu poštu"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Ne možete izbrisati kontakte s računa samo za čitanje, ali možete ih sakriti na svojim popisima kontakata."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Da biste izvršili spajanje, morate odabrati barem dva kontakta."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Odabrani kontakti spojit će se u jedan kontakt."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Odabrani će se kontakti izbrisati."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Podaci s računa koji su samo za čitanje bit će skriveni na popisu kontakata, a ne izbrisani."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Ti kontakti sadrže podatke s više računa. Podaci s računa koji su samo za čitanje bit će skriveni na popisu kontakata, a ne izbrisani."</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="6854657936970228164">"Odbaci promjene"</string>
@@ -94,20 +101,23 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Promjene kontakta nije moguće spremiti."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Skupina spremljena."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Promjene grupe nije moguće spremiti."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 kontakt s tel. brojem"</item>
-    <item quantity="other" msgid="3299954047880968205">"Kontakata s tel. brojevima: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> kontakt s telefonskim brojem</item>
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontakta s telefonskim brojem</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontakata s telefonskim brojem</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nema kontakata s telefonskim brojevima"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> pronađeni</item>
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> pronađena</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> pronađenih</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Nema kontakata"</string>
-  <plurals name="searchFoundContacts">
-    <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> pronađeni</item>
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> pronađena</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> pronađenih</item>
+    </plurals>
     <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>
@@ -144,9 +154,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Deinstaliraj neke aplikacije"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Pokušaj ponovo nadogradnju"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Pretraživanje..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Prikaži odabrano"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Pokaži sve"</string>
@@ -160,10 +167,11 @@
     <string name="primary_photo" msgid="8517942231868516999">"Primarna slika"</string>
     <string name="description_star" msgid="2605854427360036550">"favorit"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Uredi kontakt"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"nije spojen"</item>
-    <item quantity="other" msgid="425683718017380845">"spojen s <xliff:g id="COUNT">%0$d</xliff:g> izvora"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">spojen iz <xliff:g id="COUNT">%0$d</xliff:g> izvora</item>
+      <item quantity="few">spojen iz <xliff:g id="COUNT">%0$d</xliff:g> izvora</item>
+      <item quantity="other">spojen iz <xliff:g id="COUNT">%0$d</xliff:g> izvora</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Pridružiti trenutačni kontakt odabranom kontaktu?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Prebaciti se na uređivanje odabranog kontakta? Informacije koje ste unijeli dosad kopirat će se."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopiraj u Moje kontakte"</string>
@@ -172,7 +180,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Pomoć"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Pomoć i povratne informacije"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Opcije prikaza"</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">"Broj telefona"</string>
@@ -188,19 +196,22 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Uvezi kontakte"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Izrada nove grupe"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Izrada nove grupe"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 grupa"</item>
-    <item quantity="other" msgid="1276758425904917367">"Br. grupa: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> grupa</item>
+      <item quantity="few"><xliff:g id="COUNT">%0$d</xliff:g> grupe</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupa</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Izbrisati grupu \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Sami kontakti neće biti izbrisani.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> osoba iz grupe <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"Broj ljudi: <xliff:g id="COUNT_0">%1$d</xliff:g> iz grupe <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-  </plurals>
-  <plurals name="group_list_num_contacts_in_group">
-    <item quantity="one" msgid="3323065321661972446">"Broj osoba: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-    <item quantity="other" msgid="6251996206137048525">"Broj osoba: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> osoba iz grupe <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="few"><xliff:g id="COUNT_2">%1$d</xliff:g> osobe iz grupe <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> osoba iz grupe <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> osoba</item>
+      <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> osobe</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> osoba</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Upišite ime kontakta prije nego što ga pridružite drugom kontaktu."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopiraj u međuspremnik"</string>
     <string name="set_default" msgid="4417505153468300351">"Postavi zadano"</string>
@@ -264,4 +275,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"nedavni poziv. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. kliknite za uzvratni poziv"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Vi: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts funkcionira bolje kada unesete njegov identifikator osobe u polje e-adrese ili telefona."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Više polja"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index d5cf7a9..8f010f0 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Fénykép lecserélése"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Helyezze el a kezdőképernyőn"</string>
     <string name="menu_call" msgid="3992595586042260618">"Ismerős hívása"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"SMS küldése ismerősnek"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Csoport hozzáadása"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Szétválasztja?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Ezt a névjegyet több névjegyre osztja."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Összekapcsolás"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Egyesítés"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Névjegyek összekapcsolása"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Válassza ki azt a névjegyet, amelyet össze kíván kapcsolni ezzel a névjeggyel: <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Az összes névjegy megjelenítése"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Javasolt névjegyek"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Összes névjegy"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"A névjegyek összekapcsolása megtörtént"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Névjegyek egyesítve"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Névjegyek törölve"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Csengőhang"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Minden hívás a hangpostára"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Írásvédett fiókból nem törölhet névjegyet, de saját címtárában elrejtheti azokat."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Egyesítéshez legalább két névjegyet kell kiválasztania."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"A kiválasztott névjegyek egy névjegyben lesznek egyesítve."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"A kiválasztott névjegyek törlésre kerülnek."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Az írásvédett fiókokból származó adatok nem jelennek meg a névjegyek között, de nem kerülnek törlésre."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Ezek a névjegyek több fiókból is tartalmaznak adatokat. Az írásvédett fiókokból származó adatok nem jelennek meg a névjegyek között, 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="6854657936970228164">"Módosítások elvetése"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Nem sikerült menteni a névjegymódosításokat."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Csoport mentve."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Nem sikerült menteni a csoportmódosításokat."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 névjegy telefonszámmal"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> névjegy telefonszámmal"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> névjegy telefonszámmal</item>
+      <item quantity="one">1 névjegy telefonszámmal</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nincsenek telefonszámot is tartalmazó névjegyek"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> találat</item>
+      <item quantity="one">1 találat</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Nincsenek névjegyek"</string>
-  <plurals name="searchFoundContacts">
-    <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> találat</item>
+      <item quantity="one">1 találat</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Távolítson el néhány alkalmazást"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Verziófrissítés újrapróbálása"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Keresés..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Kiválasztottak megjelenítése"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Összes megjelenítése"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Elsődleges fotó"</string>
     <string name="description_star" msgid="2605854427360036550">"kedvenc"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Névjegy szerkesztése"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"nincs egyesítve"</item>
-    <item quantity="other" msgid="425683718017380845">"egyesítve <xliff:g id="COUNT">%0$d</xliff:g> forrásból"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">egyesítve <xliff:g id="COUNT">%0$d</xliff:g> forrásból</item>
+      <item quantity="one">nincs egyesítve</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Összekapcsolja a jelenlegi névjegyet a kiválasztott névjeggyel?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"A kiválasztott névjegy szerkesztésére vált? Az eddig beírt információk át lesznek másolva."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Másolás a saját névjegyeim közé"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Súgó"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Súgó és visszajelzés"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Megjelenítési beállítások"</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">"Telefonszám"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Névjegyek importálása"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Új csoport létrehozása"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Új csoport létrehozása"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 csoport"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> csoport"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> csoport</item>
+      <item quantity="one">1 csoport</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Törli a következő csoportot \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Maguk a névjegyek nem kerülnek törlésre.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> személy ebben: <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> személy ebben: <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> személy"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> személy"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> személy a(z) <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> csoportból</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> személy a(z) <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> csoportból</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> személy</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> személy</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Írja be az ismerős nevét, mielőtt összekapcsolná egy másik ismerősével."</string>
     <string name="copy_text" msgid="3257145021583508761">"Másolás vágólapra"</string>
     <string name="set_default" msgid="4417505153468300351">"Beállítás alapértelmezettként"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"hívás a közelmúltban. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. kattintson a visszahíváshoz"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Ön: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"A Hangouts jobban működik, ha a személy Hangouts-azonosítóját adja meg az e-mail vagy telefonszám mezőben."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"További mezők"</string>
 </resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index cec0bf3..39108ea 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Փոխել լուսանկարը"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Տեղադրել գլխավոր էկրանին"</string>
     <string name="menu_call" msgid="3992595586042260618">"Զանգել կոնտակտին"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Հաղորդագրել կոնտակտին"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Միավորել"</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="contactsJoinedMessage" msgid="656936718666768589">"Կոնտակտները միավորվեցին"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Կոնտակտները ջնջվեցին"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Միավորելու համար հարկավոր է ընտրել առնվազն երկու կոնտակտ:"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Ընտրված կոնտակտները կմիավորվեն մեկ կոնտակտում:"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Ընտրված կոնտակտները ջնջվելու են:"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Միայն կարդալու հաշիվների տվյալները ձեր կոնտակտների ցանկերում կթաքցվեն, սակայն չեն ջնջվի:"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Այս կոնտակտները պարունակում են տվյալներ մի քանի հաշիվներից: Միայն կարդալու հաշիվների տվյալները ձեր կոնտակտների ցանկերում կթաքցվեն, սակայն չեն ջնջվի:"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Այս կոնտակտը ջնջելիս տվյալները ևս մի քանի հաշիվներից կջնջվեն:"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Այս կոնտակտը կջնջվի:"</string>
     <string name="menu_discard" msgid="6854657936970228164">"Հրաժարվել փոփոխություններից"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> հեռախոսահամարով կոնտակտ</item>
+      <item quantity="other"><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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one">Գտնվել է <xliff:g id="COUNT">%d</xliff:g> կոնտակտ</item>
+      <item quantity="other">Գտնվել է <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one">Գտնվել է <xliff:g id="COUNT">%d</xliff:g> կոնտակտ</item>
+      <item quantity="other">Գտնվել է <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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Հիմնական լուսանկար"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">միավորված <xliff:g id="COUNT">%0$d</xliff:g> աղբյուրից</item>
+      <item quantity="other">միավորված <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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Օգնություն և հետադարձ կապ"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> խումբ</item>
+      <item quantity="other"><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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> մարդ <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g>-ից</item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> մարդ <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g>-ից</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> մարդ</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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>
@@ -214,7 +218,7 @@
     <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="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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"վերջին զանգը՝ <xliff:g id="CALL_TYPE">%s</xliff:g>, <xliff:g id="PHONE_NUMBER">%s</xliff:g>, <xliff:g id="DATE">%s</xliff:g>, սեղմեք՝ հետ զանգելու համար"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Դուք՝ <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts-ն ավելի լավ կաշխատի, եթե էլփոստի կամ հեռախոսի դաշտում մուտքագրեք Hangouts-ի օգտվողի նույնացուցիչը:"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Լրացուցիչ դաշտեր"</string>
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 700170f..7e3c061 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Ganti foto"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Letakkan di layar Utama"</string>
     <string name="menu_call" msgid="3992595586042260618">"Hubungi kontak"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"SMS kontak"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Tambahkan Grup"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Pisahkan kontak?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Kontak ini akan dipisahkan menjadi beberapa kontak."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Gabung"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Gabungkan"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Gabungkan kontak"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Pilih kontak ingin Anda gabungkan dengan <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Tampilkan semua kontak"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Kontak yang disarankan"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Semua kontak"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontak telah bergabung"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontak digabungkan"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontak dihapus"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Setel nada dering"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Anda perlu memilih sedikitnya dua kontak untuk menggabungkan."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Kontak yang dipilih akan digabung menjadi satu kontak."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Kontak yang dipilih akan dihapus."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Informasi dari akun hanya-baca akan disembunyikan dalam daftar kontak Anda, tidak dihapus."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"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="6854657936970228164">"Batalkan perubahan"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Tidak dapat menyimpan perubahan kontak."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Grup disimpan."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Tidak dapat menyimpan perubahan grup."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 kontak dengan nomor telepon"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontak dengan nomor telepon"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontak dengan nomor telepon</item>
+      <item quantity="one">1 kontak dengan nomor telepon</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Tidak ada kontak dengan nomor telepon"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ditemukan</item>
+      <item quantity="one">1 ditemukan</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Tidak ada kontak"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"Ada 1"</item>
-    <item quantity="other" msgid="7988132539476575389">"Ada <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ditemukan</item>
+      <item quantity="one">1 ditemukan</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Copot pemasangan beberapa aplikasi"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Coba peningkatan versi sekali lagi"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Menelusuri..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Tampilkan yang dipilih"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Tampilkan semua"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Foto utama"</string>
     <string name="description_star" msgid="2605854427360036550">"favorit"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Edit kontak"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"tidak digabung"</item>
-    <item quantity="other" msgid="425683718017380845">"digabungkan dari <xliff:g id="COUNT">%0$d</xliff:g> sumber"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">digabungkan dari <xliff:g id="COUNT">%0$d</xliff:g> sumber</item>
+      <item quantity="one">tidak digabungkan</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Gabungkan kontak ini dengan kontak yang dipilih?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Beralih ke mengedit kontak yang dipilih? Informasi yang telah Anda masukkan sejauh ini akan disalin."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Salin ke Kontak Saya"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Bantuan"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Bantuan &amp; masukan"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Opsi tampilan"</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">"Nomor telepon"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Impor kontak"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Buat grup baru"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Buat grup baru"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 grup"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grup"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grup</item>
+      <item quantity="one">1 grup</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Menghapus grup \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Kontak itu sendiri tidak akan dihapus.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> orang dari <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> orang dari <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> orang"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> orang"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> orang dari <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> orang dari <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> orang</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> orang</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Ketik nama kontak sebelum menggabungkan dengan lainnya."</string>
     <string name="copy_text" msgid="3257145021583508761">"Salin ke papan klip"</string>
     <string name="set_default" msgid="4417505153468300351">"Setel sebagai default"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"panggilan telepon terbaru. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. klik untuk menelepon balik"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Anda: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts bekerja lebih baik jika Anda memasukkan pengidentifikasi Hangouts orang tersebut ke bidang email atau bidang ponsel."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Bidang Lainnya"</string>
 </resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index ff21e1e..362e368 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Skipta um mynd"</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>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Sameina"</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="contactsJoinedMessage" msgid="656936718666768589">"Tengiliðir sameinaðir"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Tengiliðum eytt"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Þú þarft að velja a.m.k. tvo tengiliði til að sameina."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Valdir tengiliðir verða sameinaðir í einn tengilið."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Völdum tengiliðum verður eytt."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Upplýsingar af skrifvörðum reikningum verða faldar í tengiliðalistanum en ekki eytt."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Þessir tengiliðir innihalda 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>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> tengiliður með símanúmer</item>
+      <item quantity="other"><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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> fannst</item>
+      <item quantity="other"><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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> fannst</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> fundust</item>
+    </plurals>
     <string name="all_contacts_tab_label" msgid="6250372293594147703">"Allir"</string>
     <string name="favorites_tab_label" msgid="1524869648904016414">"Uppáhald"</string>
     <string name="callBack" msgid="5498224409038809224">"Hringja til baka"</string>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Aðalmynd"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">sameinaður úr <xliff:g id="COUNT">%0$d</xliff:g> öðrum</item>
+      <item quantity="other">sameinaður úr <xliff:g id="COUNT">%0$d</xliff:g> öðrum</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Hjálp og ábendingar"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> hópur</item>
+      <item quantity="other"><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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> aðili úr <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> aðilar úr <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> aðili</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"nýlegt símtal. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. smelltu til að hringja til baka"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Þú: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts virkar betur ef þú slærð Hangouts auðkenni viðkomandi inn í netfangsreitinn eða símanúmersreitinn."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Fleiri reitir"</string>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9b65450..0114638 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Cambia foto"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Aggiungi a schermata Home"</string>
     <string name="menu_call" msgid="3992595586042260618">"Chiama"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Invia SMS"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Aggiungi gruppo"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Separare contatto?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Questo contatto verrà diviso in più contatti."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Unisci"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Unisci"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Unisci contatti"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Scegli il contatto che desideri unire a <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Mostra tutti i contatti"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contatti suggeriti"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Tutti i contatti"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Contatti uniti"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Contatti uniti"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Contatti eliminati"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Imposta suoneria"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Tutte le chiamate a segreteria"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Non puoi eliminare contatti da account di sola lettura, ma puoi nasconderli nei tuoi elenchi di contatti."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Devi selezionare almeno due contatti da unire."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"I contatti selezionati verranno uniti in un unico contatto."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"I contatti selezionati verranno eliminati."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Le informazioni degli account di sola lettura verranno nascoste nei tuoi elenchi di contatti, non eliminate."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Questi contatti contengono informazioni di più account. Le informazioni degli 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="6854657936970228164">"Ignora modifiche"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Salvataggio delle modifiche ai contatti non riuscito."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Gruppo salvato."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Salvataggio delle modifiche ai gruppi non riuscito."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 contatto con numero di telefono"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contatti con numeri di telefono"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contatti con numero di telefono</item>
+      <item quantity="one">1 contatto con numero di telefono</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nessun contatto con numeri di telefono"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> trovati</item>
+      <item quantity="one">1 trovato</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Nessun contatto"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"1 trovato"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> trovati"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> trovati</item>
+      <item quantity="one">1 trovato</item>
+    </plurals>
     <string name="all_contacts_tab_label" msgid="6250372293594147703">"Tutti"</string>
     <string name="favorites_tab_label" msgid="1524869648904016414">"Preferiti"</string>
     <string name="callBack" msgid="5498224409038809224">"Richiama"</string>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Disinstalla alcune applicazioni"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Riprova l\'aggiornamento"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Ricerca..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Mostra selezionati"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Mostra tutto"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Foto principale"</string>
     <string name="description_star" msgid="2605854427360036550">"preferiti"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Modifica contatto"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"non uniti"</item>
-    <item quantity="other" msgid="425683718017380845">"uniti da <xliff:g id="COUNT">%0$d</xliff:g> origini"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">uniti da <xliff:g id="COUNT">%0$d</xliff:g> fonti</item>
+      <item quantity="one">non uniti</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Unire il contatto corrente al contatto selezionato?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Passare alla modifica del contatto selezionato? Le informazioni inserite finora verranno copiate."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Copia nei miei contatti"</string>
@@ -172,7 +176,7 @@
     <string name="list_filter_custom" msgid="8910173055702057002">"Personalizza"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Impostazioni"</string>
     <string name="menu_settings" msgid="377929915873428211">"Impostazioni"</string>
-    <string name="menu_help" msgid="5123887102216637725">"Guida"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Guida e feedback"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Opzioni di visualizzazione"</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">"Numero di telefono"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importa contatti"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Crea nuovo gruppo"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Crea nuovo gruppo"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 gruppo"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> gruppi"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> gruppi</item>
+      <item quantity="one">1 gruppo</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Eliminare il gruppo \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (I contatti non verranno eliminati)."</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> persona di <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> persone di <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> persona"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> persone"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> persone di <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persona di <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> persone</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persona</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Inserisci il nome del contatto prima di unirlo a un altro contatto."</string>
     <string name="copy_text" msgid="3257145021583508761">"Copia negli appunti"</string>
     <string name="set_default" msgid="4417505153468300351">"Imposta come predefinito"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"chiamata recente. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. fai clic per richiamare"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Tu: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts funziona meglio se inserisci l\'identificatore Hangouts della persona nel campo dell\'indirizzo email o del numero di telefono."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Atri campi"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index ce4d42c..9854965 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"שנה תמונה"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"הצב במסך הבית"</string>
     <string name="menu_call" msgid="3992595586042260618">"התקשר לאיש קשר"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"שלח הודעת טקסט לאיש קשר"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"מזג"</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="contactsJoinedMessage" msgid="656936718666768589">"אנשי הקשר שולבו"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"אנשי הקשר נמחקו"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"כדי לבצע מיזוג עליך לבחור שני אנשי קשר לפחות."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"אנשי הקשר הנבחרים ימוזגו לרשומת איש קשר אחת."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"אנשי הקשר הנבחרים יימחקו."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"מידע מחשבונות לקריאה בלבד יוסתר ברשימות אנשי הקשר ולא יימחק."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"אנשי הקשר האלה מכילים מידע מחשבונות מרובים. מידע מחשבונות לקריאה בלבד יוסתר ברשימות אנשי הקשר ולא יימחק."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"מחיקת איש קשר זה תמחק מידע מחשבונות מרובים."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"איש קשר זה יימחק."</string>
     <string name="menu_discard" msgid="6854657936970228164">"בטל שינויים"</string>
@@ -94,20 +101,26 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="two"><xliff:g id="COUNT">%d</xliff:g> אנשי קשר עם מספרי טלפון</item>
+      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> אנשי קשר עם מספרי טלפון</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> אנשי קשר עם מספרי טלפון</item>
+      <item quantity="one">איש קשר אחד עם מספר טלפון</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="two">נמצאו <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="many">נמצאו <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">נמצאו <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">אחד נמצא</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="two">נמצאו <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="many">נמצאו <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">נמצאו <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">אחד נמצא</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>
@@ -144,9 +157,6 @@
     <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>
@@ -160,10 +170,12 @@
     <string name="primary_photo" msgid="8517942231868516999">"תמונה ראשית"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="two">מוזגו מ-<xliff:g id="COUNT">%0$d</xliff:g> מקורות</item>
+      <item quantity="many">מוזגו מ-<xliff:g id="COUNT">%0$d</xliff:g> מקורות</item>
+      <item quantity="other">מוזגו מ-<xliff:g id="COUNT">%0$d</xliff:g> מקורות</item>
+      <item quantity="one">לא מוזגו</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>
@@ -172,7 +184,7 @@
     <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="menu_help" msgid="1680178646764069976">"עזרה ומשוב"</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>
@@ -188,19 +200,25 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="two"><xliff:g id="COUNT">%0$d</xliff:g> קבוצות</item>
+      <item quantity="many"><xliff:g id="COUNT">%0$d</xliff:g> קבוצות</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> קבוצות</item>
+      <item quantity="one">קבוצה אחת</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="two"><xliff:g id="COUNT_2">%1$d</xliff:g> אנשים מ-<xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="many"><xliff:g id="COUNT_2">%1$d</xliff:g> אנשים מ-<xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> אנשים מ-<xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one">אדם <xliff:g id="COUNT_0">%1$d</xliff:g> מ-<xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="two"><xliff:g id="COUNT_1">%1$d</xliff:g> אנשים</item>
+      <item quantity="many"><xliff:g id="COUNT_1">%1$d</xliff:g> אנשים</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> אנשים</item>
+      <item quantity="one">אדם <xliff:g id="COUNT_0">%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>
@@ -264,4 +282,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"שיחה אחרונה. <xliff:g id="CALL_TYPE">%s</xliff:g>‏. <xliff:g id="PHONE_NUMBER">%s</xliff:g>‏. <xliff:g id="DATE">%s</xliff:g>‏. לחץ כדי להתקשר חזרה"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"אתה: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"‏Hangouts פועל טוב יותר כשאתה מזין את מזהה ה-Hangouts של המשתמש בשדה האימייל או בשדה הטלפון."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"עוד שדות"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index c103574..d94ab9f 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"写真を変更"</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>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"統合"</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="contactsJoinedMessage" msgid="656936718666768589">"連絡先を統合しました"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"連絡先を削除しました"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"統合するには連絡先を2件以上選択してください。"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"選択した連絡先を1つの連絡先に統合します。"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"選択した連絡先を削除します。"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"読み取り専用アカウントの情報を連絡先リストで非表示にすることはできますが、削除はできません。"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"この連絡先には、複数のアカウント情報が含まれています。読み取り専用アカウントの情報を連絡先リストで非表示にすることはできますが、削除はできません。"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"この連絡先を削除すると、複数のアカウント情報が削除されます。"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"この連絡先を削除します。"</string>
     <string name="menu_discard" msgid="6854657936970228164">"変更を破棄"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">電話番号のある連絡先<xliff:g id="COUNT">%d</xliff:g>件</item>
+      <item quantity="one">電話番号のある連絡先1件</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g>件見つかりました</item>
+      <item quantity="one">1件見つかりました</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g>件見つかりました</item>
+      <item quantity="one">1件見つかりました</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"メインの写真"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g>件の連絡先から結合</item>
+      <item quantity="one">結合する連絡先はありません</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">"Myコンタクトにコピー"</string>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"ヘルプとフィードバック"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g>グループ</item>
+      <item quantity="one">1グループ</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g>から<xliff:g id="COUNT_2">%1$d</xliff:g>人</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g>から<xliff:g id="COUNT_0">%1$d</xliff:g>人</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>人</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"最近の通話。<xliff:g id="CALL_TYPE">%s</xliff:g>。<xliff:g id="PHONE_NUMBER">%s</xliff:g>。<xliff:g id="DATE">%s</xliff:g>。折り返し電話するにはタップしてください。"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"あなた: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"ハングアウトを使いやすくするには、相手のハングアウトIDをメールアドレス欄または電話番号欄に入力します。"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"他の項目"</string>
 </resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index 6d35269..ee5d330 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"ფოტოს გამოცვლა"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"მთავარ ეკრანზე განთავსება"</string>
     <string name="menu_call" msgid="3992595586042260618">"დარეკვა კონტაქტთან"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"ტექსტური შეტყობინების გაგზავნა კონტაქტისთვის"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"გაერთიანება"</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="contactsJoinedMessage" msgid="656936718666768589">"კონტაქტები გაერთიანდა"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"კონტაქტები წაიშალა"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"გაერთიანებისთვის საჭიროა აირჩიოთ, სულ მცირე, ორი კონტაქტი."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"არჩეული კონტაქტები გაერთიანდება ერთ კონტაქტში."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"არჩეული კონტაქტები წაიშლება."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"ინფორმაცია მხოლოდ წაკითხვადი ანგარიშებიდან დაიმალება კონტაქტების სიებში, მაგრამ არ წაიშლება."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"ეს კონტაქტები მოიცავს ინფორმაციას რამდენიმე ანგარიშიდან. ინფორმაცია მხოლოდ წაკითხვადი ანგარიშებიდან დაიმალება კონტაქტების სიებში, მაგრამ არ წაიშლება."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ამ კონტაქტის წაშლით წაიშლება ინფორმაცია რამდენიმე ანგარიშიდან."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"ეს კონტაქტი წაიშლება."</string>
     <string name="menu_discard" msgid="6854657936970228164">"ცვლილებების გაუქმება"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> კონტაქტი ტელეფონის ნომრით</item>
+      <item quantity="one">1 კონტაქტი ტელეფონის ნომრით</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> მოიძებნა</item>
+      <item quantity="one">1 მოიძებნა</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> მოიძებნა</item>
+      <item quantity="one">1 მოიძებნა</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"პირველადი ფოტო"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">გაერთიანებულია <xliff:g id="COUNT">%0$d</xliff:g> წყაროდან</item>
+      <item quantity="one">არ არის გაერთიანებული</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"დახმარება და უკუკავშირი"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> ჯგუფი</item>
+      <item quantity="one">1 ჯგუფი</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> ადამიანი <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g>-დან</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ადამიანი <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g>-დან</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ადამიანი</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -208,7 +212,7 @@
     <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="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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"ბოლო ზარი. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. დააწკაპუნეთ გადასარეკად"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"თქვენ: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangout უკეთესად იმუშავებს იმ შემთხვევაში, თუ ტელეფონის ან ელფოსტის ველში პიროვნების Hangout-ის ინდენტიფიკატორს შეიყვანთ."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"სხვა ველები"</string>
 </resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index 448a772..56593e5 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Фотосуретті өзгерту"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Негізгі экранға орналастыру"</string>
     <string name="menu_call" msgid="3992595586042260618">"Контактіге қоңырау шалу"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Контактіге мәтін-хабар жіберу"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Біріктіру"</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="contactsJoinedMessage" msgid="656936718666768589">"Контактілер біріктірілді"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Контактілер жойылды"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Біріктіруді орындау үшін кемінде екі контактіні таңдау керек."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Таңдалған контактілер бір контактіге біріктіріледі."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Таңдалған контактілер жойылады."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Тек оқуға арналған есептік жазбалардан алынған ақпарат жойылмайды, контактілер тізімдерінде жасырылады."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Бұл контактілер бірнеше есептік жазбадан алынған ақпаратты қамтиды. Тек оқуға арналған есептік жазбалардан алынған ақпарат жойылмайды, контактілер тізімдерінде жасырылады."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Бұл контактіні жою бірнеше есептік жазбадан ақпарат жояды."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Бұл контакт жойылады."</string>
     <string name="menu_discard" msgid="6854657936970228164">"Өзгертулерден бас тарту"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">Телефон нөмірі бар <xliff:g id="COUNT">%d</xliff:g> контакт</item>
+      <item quantity="one">Телефон нөмірі бар 1 контакт</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> табылды</item>
+      <item quantity="one">1 табылды</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> табылды</item>
+      <item quantity="one">1 табылды</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Негізгі фотосурет"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> көзден біріктірілген</item>
+      <item quantity="one">біріктірілмеген</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Анықтама және кері байланыс"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> топ</item>
+      <item quantity="one">1 топ</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> ішінен <xliff:g id="COUNT_2">%1$d</xliff:g> адам</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> ішінен <xliff:g id="COUNT_0">%1$d</xliff:g> адам</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> адам</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"жақындағы қоңырау. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. кері қоңырау шалу үшін басыңыз"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Сіз: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts қолданбасы электрондық пошта өрісіне немесе телефон өрісіне адамның Hangouts идентификаторын енгізгенде жақсырақ жұмыс істейді."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Қосымша өрістер"</string>
 </resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 6dc210b..91bf8b7 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"ប្ដូររូបថត"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ដាក់​លើ​អេក្រង់​ដើម"</string>
     <string name="menu_call" msgid="3992595586042260618">"ហៅ​ទំនាក់ទំនង"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"អត្ថបទ​ទំនាក់ទំនង"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"បញ្ចូលគ្នា"</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="contactsJoinedMessage" msgid="656936718666768589">"ទំនាក់ទំនងត្រូវបានរួមបញ្ចូលគ្នា"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"ទំនាក់ទំនងត្រូវបានលុប"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"អ្នកត្រូវការទំនាក់ទំនងដែលបានជ្រើសរើសយ៉ាងហោចណាស់ 2 ដើម្បីធ្វើការរួមបញ្ចូលគ្នា។"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"ទំនាក់ទំនងដែលបានជ្រើសរើសនឹងត្រូវបានរួមបញ្ចូលជាមួយទំនាក់ទំនងទោល។"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"ទំនាក់ទំនងដែលបានជ្រើសរើសនឹងត្រូវបានលុប។"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"ព័ត៌មានដែលបានមកពីគណនីដែលអាចត្រឹមតែអាន នឹងត្រូវបានលាក់ក្នុងបញ្ជីទំនាក់ទំនងរបស់អ្នក មិនមែនលុបចោលទេ។"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"ទំនាក់ទំនងទាំងនេះផ្ទុកព័ត៌មានដែលបានមកពីគណនីជាច្រើន។ ព័ត៌មានដែលបានមកពីគណនីដែលអាចត្រឹមតែអាន នឹងត្រូវបានលាក់នៅក្នុងបញ្ជីទំនាក់ទំនងរបស់អ្នក មិនមែនលុបចោលទេ។"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ការ​លុប​ទំនាក់ទំនង​នេះ​នឹង​លុប​ព័ត៌មាន​ពី​គណនី​ច្រើន​ទៀត។"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"នឹង​លុប​ទំនាក់ទំនង​នេះ។"</string>
     <string name="menu_discard" msgid="6854657936970228164">"បោះបង់​ការ​ផ្លាស់ប្ដូរ"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">ទំនាក់ទំនង <xliff:g id="COUNT">%d</xliff:g> ដែលមានលេខទូរស័ព្ទ</item>
+      <item quantity="one">ទំនាក់ទំនង 1 ដែលមានលេខទូរស័ព្ទ</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other">បានរកឃើញ <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">បានរកឃើញ 1</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other">បានរកឃើញ <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">បានរកឃើញ 1</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"រូបថតបឋម"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">បានរួមបញ្ចូលគ្នាពីប្រភព <xliff:g id="COUNT">%0$d</xliff:g></item>
+      <item quantity="one">មិនបានរួមបញ្ចូលគ្នា</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"ជំនួយ &amp; មតិត្រឡប់"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> ក្រុម</item>
+      <item quantity="one">1 ក្រុម</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other">មនុស្ស <xliff:g id="COUNT_2">%1$d</xliff:g> នាក់ពី <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one">មនុស្ស <xliff:g id="COUNT_0">%1$d</xliff:g> នាក់ពី <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other">មនុស្ស <xliff:g id="COUNT_1">%1$d</xliff:g> នាក់</item>
+      <item quantity="one">មនុស្ស <xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"ការ​ហៅ​ថ្មី​។ <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. ចុច​ដើម្បី​ហៅ​ត្រឡប់"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"អ្នក៖ <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts ដំណើរការបានយ៉ាងល្អ នៅពេលដែលអ្នកបញ្ចូលអត្តសញ្ញាណ Hangouts របស់បុគ្គលនោះទៅក្នុងប្រអប់អ៊ីម៉ែល ឬប្រអប់លេខទូរស័ព្ទ។"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"ប្រអប់ច្រើនទៀត"</string>
 </resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 8fcab1b..83426ef 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"ಫೋಟೋ ಬದಲಾಯಿಸು"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ಮುಖಪುಟ ಪರದೆಯ ಮೇಲೆ ಇರಿಸು"</string>
     <string name="menu_call" msgid="3992595586042260618">"ಕರೆಯ ಸಂಪರ್ಕ"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"ಪಠ್ಯ ಸಂಪರ್ಕ"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"ವಿಲೀನಗೊಳಿಸು"</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="contactsJoinedMessage" msgid="656936718666768589">"ಸಂಪರ್ಕಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಲಾಗಿದೆ"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"ಸಂಪರ್ಕಗಳನ್ನು ಅಳಿಸಲಾಗಿದೆ"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"ವಿಲೀನಗೊಳಿಸಲು ನೀವು ಕನಿಷ್ಠ ಎರಡು ಸಂಪರ್ಕಗಳನ್ನಾದರೂ ಆಯ್ಕೆ ಮಾಡಬೇಕಾಗಿರುತ್ತದೆ."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"ಆಯ್ಕೆಮಾಡಲಾದ ಸಂಪರ್ಕಗಳನ್ನು ಒಂದೇ ಸಂಪರ್ಕವನ್ನಾಗಿ ವಿಲೀನಗೊಳಿಸಲಾಗುತ್ತದೆ."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"ಆಯ್ಕೆಮಾಡಲಾದ ಸಂಪರ್ಕಗಳನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"ಓದಲು-ಮಾತ್ರ ಖಾತೆಗಳಿಂದ ಮಾಹಿತಿಯನ್ನು ನಿಮ್ಮ ಸಂಪರ್ಕಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಮರೆಮಾಡಲಾಗಿರುತ್ತದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"ಈ ಸಂಪರ್ಕಗಳು ಬಹು ಖಾತೆಗಳಿಂದ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿವೆ. ಓದಲು-ಮಾತ್ರ ಖಾತೆಗಳಿಂದ ಮಾಹಿತಿಯನ್ನು ನಿಮ್ಮ ಸಂಪರ್ಕಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಮರೆಮಾಡಲಾಗಿರುತ್ತದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ಬಹು ಖಾತೆಗಳಿಂದ ಮಾಹಿತಿಯನ್ನು ಅಳಿಸಿಹಾಕಲು ಈ ಸಂಪರ್ಕವನ್ನು ಅಳಿಸಿ ಹಾಕಲಾಗುತ್ತಿದೆ."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"ಈ ಸಂಪರ್ಕವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
     <string name="menu_discard" msgid="6854657936970228164">"ಬದಲಾವಣೆಗಳನ್ನು ತ್ಯಜಿಸಿ"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one">ಫೋನ್‌ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ <xliff:g id="COUNT">%d</xliff:g> ಸಂಪರ್ಕಗಳು</item>
+      <item quantity="other">ಫೋನ್‌ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ <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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ಕಂಡುಬಂದಿದೆ</item>
+      <item quantity="other"><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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ಕಂಡುಬಂದಿದೆ</item>
+      <item quantity="other"><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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"ಪ್ರಾಥಮಿಕ ಫೋಟೋ"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> ಮೂಲಗಳಿಂದ ವಿಲೀನಗೊಳಿಸಲಾಗಿದೆ</item>
+      <item quantity="other"><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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"ಸಹಾಯ &amp; ಪ್ರತಿಕ್ರಿಯೆ"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> ಗುಂಪುಗಳು</item>
+      <item quantity="other"><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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> ರಿಂದ ಜನರು</item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> ರಿಂದ ಜನರು</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ಜನರು</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"ಇತ್ತೀಚಿನ ಕರೆ. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. ಪುನಃ ಕರೆ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"ನೀವು: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"ಇಮೇಲ್ ಕ್ಷೇತ್ರ ಅಥವಾ ಫೋನ್ ಕ್ಷೇತ್ರದಲ್ಲಿ ವ್ಯಕ್ತಿಯ Hangouts ಗುರುತಿಸುವಿಕೆಯನ್ನು ನೀವು ನಮೂದಿಸಿದಾಗ Hangouts ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"ಹೆಚ್ಚು ಫೀಲ್ಡ್‌ಗಳು"</string>
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 6ca34ad..5d05d0f 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"사진 변경"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"홈 화면에 만들기"</string>
     <string name="menu_call" msgid="3992595586042260618">"연락처로 전화 걸기"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"연락처에 문자 보내기"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"병합"</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="contactsJoinedMessage" msgid="656936718666768589">"연락처가 병합되었습니다."</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"연락처가 삭제되었습니다."</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="batch_merge_single_contact_warning" msgid="982585201970392110">"병합하려면 두 개 이상의 연락처를 선택해야 합니다."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"선택한 연락처를 하나의 연락처로 병합합니다."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"선택한 연락처를 삭제합니다."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"읽기 전용 계정의 정보는 연락처 목록에서 숨길 수 있지만 삭제할 수는 없습니다."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"연락처에 여러 계정의 정보가 들어 있습니다. 읽기 전용 계정의 정보는 연락처 목록에서 숨길 수 있지만 삭제할 수는 없습니다."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"이 연락처를 삭제하면 여러 계정의 정보가 삭제됩니다."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"이 연락처를 삭제합니다."</string>
     <string name="menu_discard" msgid="6854657936970228164">"변경사항 취소"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">전화번호가 포함된 연락처 <xliff:g id="COUNT">%d</xliff:g>개</item>
+      <item quantity="one">전화번호가 포함된 연락처 1개</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other">연락처 <xliff:g id="COUNT">%d</xliff:g>개</item>
+      <item quantity="one">연락처 1개</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other">연락처 <xliff:g id="COUNT">%d</xliff:g>개</item>
+      <item quantity="one">연락처 1개</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"기본 사진"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g>개 출처에서 병합되었습니다.</item>
+      <item quantity="one">병합되지 않았습니다.</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"도움말 및 의견"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other">그룹 <xliff:g id="COUNT">%0$d</xliff:g>개</item>
+      <item quantity="one">그룹 1개</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> 소속 <xliff:g id="COUNT_2">%1$d</xliff:g>명</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> 소속 <xliff:g id="COUNT_0">%1$d</xliff:g>명</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>명</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"최근 통화내역은 다음과 같습니다. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. 연락 온 번호로 다시 전화하려면 클릭하세요."</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"내가 보낸 메시지: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"사용자의 행아웃 식별자를 이메일 입력란 또는 휴대전화 입력란에 입력하면 행아웃이 더 잘 작동합니다."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"입력란 더보기"</string>
 </resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index 24c87d0..3cd90ef 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -67,6 +67,7 @@
     <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_change_photo" msgid="7769177631511496210">"Сүрөт өзгөртүү"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Үй экранына жайгаштыруу"</string>
     <!-- no translation found for menu_call (3992595586042260618) -->
     <skip />
@@ -80,8 +81,7 @@
     <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 />
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Бириктирүү"</string>
     <!-- no translation found for titleJoinContactDataWith (7684875775798635354) -->
     <skip />
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g> менен бириктиргиңиз келген байланышты тандаңыз."</string>
@@ -91,13 +91,18 @@
     <skip />
     <!-- no translation found for separatorJoinAggregateAll (7939932265026181043) -->
     <skip />
-    <!-- no translation found for contactsJoinedMessage (7208148163607047389) -->
-    <skip />
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Байланыштар бириктирилди"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Байланыштар жок кылынды"</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>
     <!-- no translation found for readOnlyContactDeleteConfirmation (2137170726670196909) -->
     <skip />
+    <string name="batch_merge_single_contact_warning" msgid="982585201970392110">"Бириктирүүнү аткаруу үчүн кеминде эки байланыш тандашыңыз керек."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Тандалган байланыштар бир байланыш катары бириктирилет."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Тандалган байланыштар жок кылынат."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Окуу үчүн жана ачылган каттоо эсептеринин маалыматы байланыштарыңыздын тизмесинде жашырылат, бирок жок кылынбайт."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Бул байланыштарда бир нече каттоо эсебинен маалымат камтылган. Окуу үчүн жана ачылган каттоо эсептеринин маалыматы байланыштарыңыздын тизмесинде жашырылат, бирок жок кылынбайт."</string>
     <!-- no translation found for multipleContactDeleteConfirmation (938900978442960800) -->
     <skip />
     <!-- no translation found for deleteConfirmation (811706994761610640) -->
@@ -137,15 +142,21 @@
     <!-- 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) -->
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">телефон номерлери менен <xliff:g id="COUNT">%d</xliff:g> байланыш</item>
+      <item quantity="one">телефон номери менен 1 байланыш</item>
+    </plurals>
     <!-- no translation found for listTotalPhoneContactsZero (6968813857632984319) -->
     <skip />
-    <!-- no translation found for listFoundAllContacts:one (5517063038754171134) -->
-    <!-- no translation found for listFoundAllContacts:other (3852668542926965042) -->
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> табылды</item>
+      <item quantity="one">1 табылды</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Байланыштар жок"</string>
-    <!-- no translation found for searchFoundContacts:one (4826918429708286628) -->
-    <!-- no translation found for searchFoundContacts:other (7988132539476575389) -->
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> табылды</item>
+      <item quantity="one">1 табылды</item>
+    </plurals>
     <string name="all_contacts_tab_label" msgid="6250372293594147703">"Бардк байлнштр"</string>
     <string name="favorites_tab_label" msgid="1524869648904016414">"Сүйүктүүлөр"</string>
     <!-- no translation found for callBack (5498224409038809224) -->
@@ -198,11 +209,6 @@
     <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 />
@@ -222,8 +228,10 @@
     <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) -->
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> булактарынан бириктирилген</item>
+      <item quantity="one">бириктирилген жок</item>
+    </plurals>
     <!-- no translation found for aggregation_suggestion_join_dialog_message (3842757977671434836) -->
     <skip />
     <!-- no translation found for aggregation_suggestion_edit_dialog_message (6549585283910518095) -->
@@ -240,7 +248,7 @@
     <!-- no translation found for menu_settings (377929915873428211) -->
     <!-- no translation found for menu_settings (377929915873428211) -->
     <skip />
-    <string name="menu_help" msgid="5123887102216637725">"Жардам"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Жардам &amp; жооп пикир"</string>
     <!-- no translation found for preference_displayOptions (1341720270148252393) -->
     <skip />
     <!-- no translation found for organization_company_and_title (6718207751363732025) -->
@@ -267,17 +275,19 @@
     <!-- 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) -->
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> топ</item>
+      <item quantity="one">1 топ</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> ичинен <xliff:g id="COUNT_2">%1$d</xliff:g> киши</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> ичинен <xliff:g id="COUNT_0">%1$d</xliff:g> киши</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> киши</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -342,4 +352,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"акыркы чалуу. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. кайра чалуу үчүн чыкылдатыңыз"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Сиз: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Кимдир-бирөөнүн Hangouts аныктагычы электрондук почта же телефон талаасына киргизилгенде Hangouts жакшыраак иштейт."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Көбүрөөк талаа"</string>
 </resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index d31655a..2c270c7 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"ປ່ຽນຮູບ"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ວາງໃສ່ໜ້າຈໍຫຼັກ"</string>
     <string name="menu_call" msgid="3992595586042260618">"ໂທຫາລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"ສົ່ງຂໍ້ຄວາມຫາລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"ລວມ​ເຂົ້າ​ກັນ"</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="contactsJoinedMessage" msgid="656936718666768589">"ລວມ​ລາຍ​ຊື່​ເຂົ້າ​ກັນ​ແລ້ວ"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"ລຶບ​ລາຍ​ຊື່​ແລ້ວ"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"ທ່ານ​ຈຳ​ເປັນ​ຕ້ອງ​ມີ​ຢ່າງ​ໜ້ອຍ​ສອງ​ລາຍ​ຊື່​ເລືອກ​ໄວ້ ເພື່ອ​ດຳ​ເນີນ​ການ​ລວມ​ເຂົ້າ​ກັນ."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"ລາຍ​ຊື່​ທີ່​ເລືອກ​ໄວ້​ຈະ​ຖືກ​ເອົາ​ລວມ​ເຂົ້າ​ກັນ​ເປັນ​ລາຍ​ຊື່​ຕິດ​ຕໍ່​ດຽວ."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"ລາຍ​ຊື່​ທີ່​ເລືອກ​ໄວ້​ຈະ​ຖືກ​ລຶບ."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"ຂໍ້ມູນຈາກບັນຊີທີ່ອ່ານໄດ້ເທົ່ານັ້ນ ຈະຖືກເຊື່ອງໄວ້ໃນລາຍຊື່ຂອງທ່ານ, ແຕ່ບໍ່ຖືກລຶບອອກ."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"ລາຍຊື່ເຫຼົ່ານີ້ມີຂໍ້ມູນຈາກຫຼາຍບັນຊີ. ຂໍ້ມູນຈາກບັນຊີທີ່ອ່ານໄດ້ເທົ່ານັ້ນ ຈະຖືກເຊື່ອງໄວ້ໃນລາຍຊື່ຂອງທ່ານ ແຕ່ບໍ່ຖືກລຶບອອກ."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ການລຶບລາຍຊື່ຜູ່ຕິດຕໍ່ນີ້ຈະລຶບຂໍ້ມູນຈາກຫຼາຍບັນຊີ."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"ລາຍຊື່ຜູ່ຕິດຕໍ່ນີ້ຈະຖືກລຶບອອກ."</string>
     <string name="menu_discard" msgid="6854657936970228164">"ຍົກເລີກການແກ້ໄຂ"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ລາຍຊື່ພ້ອມເບີໂທລະສັບ</item>
+      <item quantity="one">ລາຍຊື່ພ້ອມເບີໂທລະສັບ</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ພົບແລ້ວ</item>
+      <item quantity="one">1 ພົບແລ້ວ</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ພົບແລ້ວ</item>
+      <item quantity="one">1 ພົບແລ້ວ</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"ຮູບ​ຖ່າຍ​ຕົ້ນ​ຕໍ"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">ລວມເຂົ້າກັນຈາກ <xliff:g id="COUNT">%0$d</xliff:g> ແຫຼ່ງແລ້ວ</item>
+      <item quantity="one">ບໍ່ລວມເຂົ້າກັນເທື່ອ</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"ຊ່ວຍ​ເຫຼືອ &amp; ຄຳ​ຕິ​ຊົມ"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> ກຸ່ມ</item>
+      <item quantity="one">1 ກຸ່ມ</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> ຄົນຈາກ <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ຄົນຈາກ <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ຄົນ</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"ການ​ໂທຫຼ້າ​ສຸດ. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. ຄລິກ​ເພື່ອ​ໂທ​ກັບ"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"​ທ່ານ: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts ເຮັດ​ວຽກ​ໄດ້​ດີ​ຂຶ້ນ ເມື່ອ​ທ່ານ​ປ້ອນ​ຕົວ​ລະ​ບຸ​ Hangouts ຂອງ​ບຸກ​ຄົນ​ໃສ່​ບ່ອນ​ໃສ່ອີເມວ ຫຼື​ບ່ອນ​ໃສ່​ໂທ​ລະ​ສັບ​ຂອງ​ທ່ານ."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"ຊ່ອງ​ເພີ່ມ​ເຕີມ"</string>
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 641b376..8408caf 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Keisti nuotrauką"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Padėti pagrindiniame ekrane"</string>
     <string name="menu_call" msgid="3992595586042260618">"Skambinti adresatui"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Siųsti pranešimą adresatui"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Pridėti grupę"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Išskirti kontaktą?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Šis kontaktas bus suskaidytas į kelis kontaktus."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Sujungti"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Sujungti"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Jungti adresatus"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Pasirinkite kontaktą, kurį norite susieti su <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Rodyti visus adresatus"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Siūlomi adresatai"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Visi adresatai"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Sujungti adresatai"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontaktai susieti"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontaktai ištrinti"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Nustat. sk. toną"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Visi skamb. į balso paštą"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Negalite ištrinti kontaktų iš tik skaitomų paskyrų, bet galite paslėpti juos savo kontaktų sąrašuose."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Reikia pasirinkti bent du kontaktus, kad būtų galima atlikti sujungimo veiksmą."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Pasirinkti kontaktai bus sujungti į vieną kontaktą."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Pasirinkti kontaktai bus ištrinti."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Tik skaitomų paskyrų informacija kontaktų sąrašuose bus paslėpta, bet neištrinta."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Šiems kontaktams priskirta kelių paskyrų informacija. Tik skaitomų paskyrų informacija kontaktų sąrašuose bus paslėpta, bet neiš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="6854657936970228164">"Atmesti pakeitimus"</string>
@@ -94,20 +101,26 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Nepavyko išsaugoti kontakto pakeitimų."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Grupė išsaugota."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Nepavyko išsaugoti grupės pakeitimų."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 kontaktas su telefono numeriu"</item>
-    <item quantity="other" msgid="3299954047880968205">"Kontaktai (-ų) su telefonų numeriais: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> kontaktas su telefonų numeriais</item>
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontaktai su telefonų numeriais</item>
+      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> kontakto su telefonų numeriais</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontaktų su telefonų numeriais</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nėra kontaktų su telefonų numeriais"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one">Rastas <xliff:g id="COUNT">%d</xliff:g> kontaktas</item>
+      <item quantity="few">Rasti <xliff:g id="COUNT">%d</xliff:g> kontaktai</item>
+      <item quantity="many">Rasta <xliff:g id="COUNT">%d</xliff:g> kontakto</item>
+      <item quantity="other">Rasta <xliff:g id="COUNT">%d</xliff:g> kontaktų</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Kontaktų nėra"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"rastas 1"</item>
-    <item quantity="other" msgid="7988132539476575389">"Rasta <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one">Rastas <xliff:g id="COUNT">%d</xliff:g> kontaktas</item>
+      <item quantity="few">Rasti <xliff:g id="COUNT">%d</xliff:g> kontaktai</item>
+      <item quantity="many">Rasta <xliff:g id="COUNT">%d</xliff:g> kontakto</item>
+      <item quantity="other">Rasta <xliff:g id="COUNT">%d</xliff:g> kontaktų</item>
+    </plurals>
     <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>
@@ -144,9 +157,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Pašalinti kai kurias programas"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Bandyti naujovinti iš naujo"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Ieškoma…"</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Rodyti pasirinktus"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Rodyti visus"</string>
@@ -160,10 +170,12 @@
     <string name="primary_photo" msgid="8517942231868516999">"Pagrindinė nuotrauka"</string>
     <string name="description_star" msgid="2605854427360036550">"įtraukti į adresyną"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Redaguoti kontaktą"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"nesujungta"</item>
-    <item quantity="other" msgid="425683718017380845">"sujungta iš <xliff:g id="COUNT">%0$d</xliff:g> šaltinių (-io)"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">sujungta iš <xliff:g id="COUNT">%0$d</xliff:g> šaltinio</item>
+      <item quantity="few">sujungta iš <xliff:g id="COUNT">%0$d</xliff:g> šaltinių</item>
+      <item quantity="many">sujungta iš <xliff:g id="COUNT">%0$d</xliff:g> šaltinio</item>
+      <item quantity="other">sujungta iš <xliff:g id="COUNT">%0$d</xliff:g> šaltinių</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Sujungti dabartinį kontaktą su pasirinktu?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Perjungti į pasirinkto kontakto redagavimą? Iki šiol įvesta informacija bus nukopijuota."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopijuoti į „Mano kontaktus“"</string>
@@ -172,7 +184,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Pagalba"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Pagalba ir atsiliepimai"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Pateikties parinktys"</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 numeris"</string>
@@ -188,19 +200,25 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importuoti kontaktus"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Sukurti naują grupę"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Sukurti naują grupę"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 grupė"</item>
-    <item quantity="other" msgid="1276758425904917367">"Grupių: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> grupė</item>
+      <item quantity="few"><xliff:g id="COUNT">%0$d</xliff:g> grupės</item>
+      <item quantity="many"><xliff:g id="COUNT">%0$d</xliff:g> grupės</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupių</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Ištrinti grupę „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“? (Kontaktai nebus ištrinti.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> žm. iš <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> žm. iš <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> žm."</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> žm."</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> žmogus iš <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="few"><xliff:g id="COUNT_2">%1$d</xliff:g> žmonės iš <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="many"><xliff:g id="COUNT_2">%1$d</xliff:g> žmogaus iš <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> žmonių iš <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> žmogus</item>
+      <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> žmonės</item>
+      <item quantity="many"><xliff:g id="COUNT_1">%1$d</xliff:g> žmogaus</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> žmonių</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Įveskite kontaktinio asmens vardą prieš susiedami jį su kitu."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopijuoti į iškarpinę"</string>
     <string name="set_default" msgid="4417505153468300351">"Nustatyti numatytuosius nustatymus"</string>
@@ -264,4 +282,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"Neseniai skambino. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. Spustelėkite, kad atskambintumėte."</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Jūs: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"„Hangout“ veikia geriau įvedus asmens „Hangout“ identifikatorių el. pašto ar telefono numerio lauke."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Daugiau laukų"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index be93046..a71b17e 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Mainīt fotoattēlu"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Novietot sākuma ekrānā"</string>
     <string name="menu_call" msgid="3992595586042260618">"Zvanīt kontaktpersonai"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Sūtīt īsziņu kontaktpersonai"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Pievienot grupu"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Atdalīt kontaktp.?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Šī kontaktpersona tiks sadalīta vairākās kontaktpersonās."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Apvienot"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Apvienot"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Kontaktpersonu apvienošana"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Izvēlieties kontaktpersonu, kuru vēlaties apvienot ar kontaktpersonu <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Rādīt visas kontaktpersonas"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Ieteiktās kontaktpersonas"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Visas kontaktpersonas"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontaktpersonas ir apvienotas."</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontaktpersonas ir apvienotas."</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontaktpersonas ir dzēstas."</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Iestatīt zv. signālu"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Visi zvani uz balss pastu"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Jūs nevarat dzēst kontaktpersonas no tikai lasāmiem kontiem, taču varat tās slēpt kontaktpersonu sarakstos."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Lai veiktu apvienošanu, ir jāatlasa vismaz divas kontaktpersonas."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Atlasītās kontaktpersonas tiks apvienotas vienā."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Atlasītās kontaktpersonas tiks dzēstas."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Informācija no tikai lasāmiem kontiem jūsu kontaktpersonu sarakstā tiks slēpta, nevis dzēsta."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Šis kontaktpersonu saraksts ietver 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="6854657936970228164">"Atmest izmaiņas"</string>
@@ -94,20 +101,23 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Nevarēja saglabāt kontaktpersonas datu izmaiņas."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Grupa ir saglabāta."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Nevarēja saglabāt grupas izmaiņas."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 kontaktpersona ar tālruņa numuru"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontaktpersonas ar tālruņa numuriem"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="zero"><xliff:g id="COUNT">%d</xliff:g> kontaktpersonas ar tālruņa numuriem</item>
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> kontaktpersona ar tālruņa numuriem</item>
+      <item quantity="other"><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="listFoundAllContacts">
-    <item quantity="one" msgid="5517063038754171134">"Atrasta 1"</item>
-    <item quantity="other" msgid="3852668542926965042">"Atrastas <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="zero">Atrastas <xliff:g id="COUNT">%d</xliff:g> kontaktpersonas</item>
+      <item quantity="one">Atrasta <xliff:g id="COUNT">%d</xliff:g> kontaktpersona</item>
+      <item quantity="other">Atrastas <xliff:g id="COUNT">%d</xliff:g> kontaktpersonas</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Nav kontaktpersonu"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"Atrasta 1"</item>
-    <item quantity="other" msgid="7988132539476575389">"Atrastas <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="zero">Atrastas <xliff:g id="COUNT">%d</xliff:g> kontaktpersonas</item>
+      <item quantity="one">Atrasta <xliff:g id="COUNT">%d</xliff:g> kontaktpersona</item>
+      <item quantity="other">Atrastas <xliff:g id="COUNT">%d</xliff:g> kontaktpersonas</item>
+    </plurals>
     <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>
@@ -144,9 +154,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Atinstalēt dažas lietojumprogrammas"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Mēģināt jaunināt vēlreiz"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Notiek meklēšana..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Rādīt atlasi"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Rādīt visus"</string>
@@ -160,10 +167,11 @@
     <string name="primary_photo" msgid="8517942231868516999">"Galvenais foto"</string>
     <string name="description_star" msgid="2605854427360036550">"izlase"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Kontaktpersonu rediģēšana"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"nav sapludinātas"</item>
-    <item quantity="other" msgid="425683718017380845">"sapludināts no <xliff:g id="COUNT">%0$d</xliff:g> avotiem"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="zero">apvienotas no <xliff:g id="COUNT">%0$d</xliff:g> avotiem</item>
+      <item quantity="one">apvienotas no <xliff:g id="COUNT">%0$d</xliff:g> avota</item>
+      <item quantity="other">apvienotas no <xliff:g id="COUNT">%0$d</xliff:g> avotiem</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Vai savienot pašreizējo saturu ar atlasīto kontaktpersonu?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Vai pāriet uz atlasītās kontaktpersonas rediģēšanu? Līdz šim ievadītā informācija tiks kopēta."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopēt uz manām kontaktpersonām"</string>
@@ -172,7 +180,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Palīdzība"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Palīdzība un atsauksmes"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Attēlošanas opcijas"</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">"Tālruņa numurs"</string>
@@ -188,19 +196,22 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importēt kontaktpersonas"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Jaunas grupas izveide"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Izveidot jaunu grupu"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 grupa"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupas"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="zero"><xliff:g id="COUNT">%0$d</xliff:g> grupu</item>
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> grupa</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupas</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Vai dzēst grupu <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? (Kontaktpersonas netiks dzēstas.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> persona(-as) grupā <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> persona(-as) grupā <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> persona(-as)"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> persona(-as)"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="zero"><xliff:g id="COUNT_2">%1$d</xliff:g> personu grupā <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> persona grupā <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> personas grupā <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="zero"><xliff:g id="COUNT_1">%1$d</xliff:g> personu</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> persona</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> personas</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Ievadiet kontaktpersonas vārdu, pirms apvienojat to ar citu kontaktpersonu."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopēt starpliktuvē"</string>
     <string name="set_default" msgid="4417505153468300351">"Iestatīt kā noklusējumu"</string>
@@ -264,4 +275,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"Nesen saņemts zvans. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. Noklikšķiniet, lai atzvanītu."</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Jūs: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Funkcija Hangouts darbojas precīzāk, ja e-pasta vai tālruņa laukā ievadāt personas Hangouts identifikatoru."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Vairāk lauku"</string>
 </resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index acc75f1..2dcc80d 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Промени фотографија"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Постави на почетниот екран"</string>
     <string name="menu_call" msgid="3992595586042260618">"Повикај контакт"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Испрати текстуална порака на контакт"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Спои"</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="contactsJoinedMessage" msgid="656936718666768589">"Контактите се споени"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Контактите се избришани"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Ви требаат најмалку два избрани контакти за да се изврши спојување."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Избраните контакти ќе се спојат во еден контакт."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Избраните контакти ќе се избришат."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Информациите од сметките само за читање ќе се скријат во вашите списоци со контакти, нема да се избришат."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Овие контакти содржат информации од повеќе сметки. Информациите од сметките само за читање ќе се скријат во вашите списоци со контакти, нема да се избришат."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Со бришење на овој контакт ќе се избришат информации од повеќе сметки."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Овој контакт ќе се избрише."</string>
     <string name="menu_discard" msgid="6854657936970228164">"Отфрли ги промените"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> контакт со телефонски број</item>
+      <item quantity="other"><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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> пронајден</item>
+      <item quantity="other"><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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> пронајден</item>
+      <item quantity="other"><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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Пр. фотографија"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one"> споен од <xliff:g id="COUNT">%0$d</xliff:g> извор</item>
+      <item quantity="other"> споени од <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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Помош и повратни информации"</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>
@@ -184,23 +188,23 @@
     <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>
-  <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> група</item>
+      <item quantity="other"><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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> лице од <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> лица од <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> лице</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"неодамнешен повик. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. кликни за да повикаш назад"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Вие: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts работат подобро кога во полето за е-пошта или за телефон ќе го внесете идентификаторот на Hangouts за лицето."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Повеќе полиња"</string>
 </resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index 81b2af7..0f9b6f0 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"ഫോട്ടോ മാറ്റുക"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ഹോം സ്‌ക്രീനിൽ സ്ഥാപിക്കുക"</string>
     <string name="menu_call" msgid="3992595586042260618">"കോൺടാക്റ്റിനെ വിളിക്കുക"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"കോൺടാക്റ്റിന് വാചകസന്ദേശമയയ്‌ക്കുക"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"ലയിപ്പിക്കുക"</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="contactsJoinedMessage" msgid="656936718666768589">"കോൺടാക്റ്റുകൾ ലയിപ്പിച്ചു"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"കോൺടാക്റ്റുകൾ ഇല്ലാതാക്കി"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"ലയിപ്പിക്കാനായി രണ്ട് കോൺടാക്‌റ്റുകളെങ്കിലും തിരഞ്ഞെടുക്കണം."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"തിരഞ്ഞെടുത്ത കോൺടാക്‌റ്റുകൾ ഒരൊറ്റ കോൺടാക്‌റ്റിലേക്ക് ലയിപ്പിക്കും."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"തിരഞ്ഞെടുത്ത കോൺടാക്‌റ്റുകൾ ഇല്ലാതാക്കും."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"വായന-മാത്രം അക്കൗണ്ടുകളിൽ നിന്നുള്ള വിവരം നിങ്ങളുടെ കോൺടാക്റ്റുകളുടെ ലിസ്റ്റിൽ നിന്നും മറയ്‌ക്കുമെങ്കിലും അവ ഇല്ലാതാക്കില്ല."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"ഈ കോൺടാക്റ്റുകളിൽ ഒന്നിലധികം അക്കൗണ്ടുകളിൽ നിന്നുള്ള വിവരം അടങ്ങിയിരിക്കുന്നു. വായന-മാത്രം അക്കൗണ്ടുകളിൽ നിന്നുള്ള വിവരം നിങ്ങളുടെ കോൺടാക്റ്റുകളുടെ ലിസ്റ്റിൽ നിന്നും മറയ്‌ക്കുമെങ്കിലും അവ ഇല്ലാതാക്കില്ല."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ഈ കോൺടാക്റ്റ് ഇല്ലാതാക്കുന്നത്, ഒന്നിലധികം അക്കൗണ്ടുകളിൽ നിന്ന് വിവരം ഇല്ലാതാക്കുന്നതിനിടയാക്കും."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"ഈ കോൺടാക്‌റ്റിനെ ഇല്ലാതാക്കും."</string>
     <string name="menu_discard" msgid="6854657936970228164">"മാറ്റങ്ങള്‍‌ നിരാകരിക്കുക"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">ഫോൺ നമ്പറുള്ള <xliff:g id="COUNT">%d</xliff:g> കോൺടാക്‌റ്റുകൾ</item>
+      <item quantity="one">ഫോൺ നമ്പറുള്ള ഒരു കോൺടാക്റ്റ്</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> എണ്ണം കണ്ടെത്തി</item>
+      <item quantity="one">ഒന്ന് കണ്ടെത്തി</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> എണ്ണം കണ്ടെത്തി</item>
+      <item quantity="one">ഒന്ന് കണ്ടെത്തി</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"പ്രാഥമിക ഫോട്ടോ"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> ഉറവിടങ്ങളിൽ നിന്ന് ലയിപ്പിച്ചവ</item>
+      <item quantity="one">ലയിപ്പിച്ചിട്ടില്ല</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"സഹായവും ഫീഡ്‌ബാക്കും"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> ഗ്രൂപ്പുകൾ</item>
+      <item quantity="one">ഒരു ഗ്രൂപ്പ്</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> എന്നതിൽ നിന്നുള്ള <xliff:g id="COUNT_2">%1$d</xliff:g> പേർ</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> എന്നതിൽ നിന്നുള്ള <xliff:g id="COUNT_0">%1$d</xliff:g> ആൾ</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> പേർ</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"പുതിയ കോൾ. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. തിരികെ വിളിക്കാൻ ക്ലിക്കുചെയ്യുക"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"നിങ്ങൾ: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"ഇമെയിൽ ഫീൽഡിലോ ഫോൺ ഫീൽഡിലോ വ്യക്തിയുടെ Hangouts ഐഡന്റിഫയർ നൽകുമ്പോൾ, Hangouts മികച്ചതായി പ്രവർത്തിക്കുന്നു."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"കൂടുതൽ ഫീൽഡുകൾ"</string>
 </resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 2d0780b..264dff5 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Зураг солих"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Үндсэн дэлгэц дээр байршуулах"</string>
     <string name="menu_call" msgid="3992595586042260618">"Харилцагч руу залгах"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Харилцагч руу зурвас илгээх"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Нэгтгэх"</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="contactsJoinedMessage" msgid="656936718666768589">"Холбоо барих хаягуудыг нэгтгэсэн"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Холбоо барих хаягуудыг устгасан"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Та нэгтгэх үйлдэл хийхдээ доод тал нь хоёр хаяг сонгох ёстой."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Сонгосон хаягуудыг нэг хаяг руу нэгтгэнэ."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Сонгосон харилцах хаягуудыг устгах болно."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Зөвхөн унших зориулалттай акаунтуудын мэдээлэл таны харилцах жагсаалтанд нуугдсан байдалтай үлдэх бөгөөд устгагдахгүй."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Эдгээр харилцах хаягууд нь олон тооны акаунтын мэдээллийг агуулж байна. Зөвхөн унших зориулалттай акаунтуудын мэдээлэл таны харилцах жагсаалтанд нуугдсан байдалтай үлдэх бөгөөд устгагдахгүй."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Энэ харилцагчийг устгаснаар олон акаунтаас мэдээллийг устгах болно."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Энэ харилцагч устгагдах болно."</string>
     <string name="menu_discard" msgid="6854657936970228164">"Өөрчлөлтүүдийг цуцлах"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">Утасны дугаар бүхий <xliff:g id="COUNT">%d</xliff:g> хаяг байна</item>
+      <item quantity="one">Утасны дугаар бүхий 1 хаяг байна</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> олдсон байна</item>
+      <item quantity="one">1 олдсон байна</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> олдсон байна</item>
+      <item quantity="one">1 олсон байна</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Ерөнхий зураг"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"> <xliff:g id="COUNT">%0$d</xliff:g> эх үүсвэрээс нэгтгэлийг хийсэн байна</item>
+      <item quantity="one">нэгтгэгдээгүй байна</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Тусламж &amp; санал хүсэлт"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> бүлэг</item>
+      <item quantity="one">1 бүлэг</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other">  <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g>-с <xliff:g id="COUNT_2">%1$d</xliff:g> хүн</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> -с <xliff:g id="COUNT_0">%1$d</xliff:g>  хүн</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> хүн</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"саяхны дуудлага. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. буцааж залгахын тулд товшино уу"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Та: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts апликейшн нь таныг найзуудынхаа мэдээллийг харилцагчийн и-мэйл эсвэл гар утасны талбарт оруулбал илүү сайн ажилладаг."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Нэмэлт талбарууд"</string>
 </resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index 438ef0e..598fcfe 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"फोटो बदला"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"मुख्‍यपृष्‍ठ स्क्रीन वर ठेवा"</string>
     <string name="menu_call" msgid="3992595586042260618">"संपर्कास कॉल करा"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"संपर्कास मजकूर पाठवा"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"विलीन करा"</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="contactsJoinedMessage" msgid="656936718666768589">"संपर्क विलीन केले"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"संपर्क हटविले"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"विलीन करण्‍यासाठी आपण कमीतकमी दोन संपर्क निवडलेले असणे आवश्‍यक आहे."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"निवडलेले संपर्क एकाच संपर्कामध्‍ये विलीन केले जातील."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"निवडलेले संपर्क हटविले जातील."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"केवळ-वाचनीय खात्यांमधील माहिती आपल्‍या संपर्क सूचींमध्‍ये लपविली जाईल, ती हटविली जाणार नाही."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"या संपर्कांमध्‍ये एकाधिक खात्यांमधील माहिती आहे. केवळ-वाचनीय खात्यांमधील माहिती आपल्‍या संपर्क सूचींमध्‍ये लपविली जाईल, ती हटविली जाणार नाही."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"हा संपर्क हटविल्याने एकाधिक खात्‍यांमधून माहिती हटवली जाईल."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"हा संपर्क हटविला जाईल."</string>
     <string name="menu_discard" msgid="6854657936970228164">"बदल टाकून द्या"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one">फोन नंबरसह <xliff:g id="COUNT">%d</xliff:g> संपर्क</item>
+      <item quantity="other">फोन नंबरसह <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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> आढळला</item>
+      <item quantity="other"><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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> आढळला</item>
+      <item quantity="other"><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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"प्राथमिक फोटो"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one"> <xliff:g id="COUNT">%0$d</xliff:g> स्त्रोतांमधून विलीन केले</item>
+      <item quantity="other"> <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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"मदत आणि अभिप्राय"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> गट</item>
+      <item quantity="other"><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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"> <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> मधील <xliff:g id="COUNT_2">%1$d</xliff:g> व्यक्ती</item>
+      <item quantity="other"> <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> मधील <xliff:g id="COUNT_2">%1$d</xliff:g> लोक</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> व्‍यक्‍ती</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"अलीकडील कॉल. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. परत कॉल करण्यासाठी क्लिक करा"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"आपण: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"आपण ईमेल फिल्डमध्ये किंवा फोन फिल्डमध्ये एखाद्या व्यक्तीचे Hangouts अभिज्ञापक प्रविष्ट करता तेव्हा Hangouts उत्कृष्ट कार्य करते."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"अधिक फील्ड"</string>
 </resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 3d0f7c5..b40c073 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Tukar foto"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Letakkan pada skrin Utama"</string>
     <string name="menu_call" msgid="3992595586042260618">"Panggil kenalan"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"SMS kepada kenalan"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Tambah Kumpulan"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Pisahkan kenalan?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Kenalan ini akan dipisahkan kepada berbilang kenalan."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Sertai"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Gabung"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Gabungkan kenalan"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Pilih kenalan yang anda mahu untuk menyertai <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Tunjukkan semua kenalan"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Kenalan cadangan"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Semua kenalan"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kenalan digabungkan"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kenalan digabungkan"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kenalan dipadamkan"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Ttpkn nd dering"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Semua panggilan ke mel suara"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Anda tidak boleh memadamkan kenalan daripada akaun baca sahaja, tetapi anda boleh menyembunyikan mereka dalam senarai kenalan anda."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Anda memerlukan sekurang-kurangnya dua kenalan yang dipilih untuk melakukan penggabungan."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Kenalan yang dipilih akan digabungkan menjadi kenalan tunggal."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Kenalan yang dipilih akan dipadamkan."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Maklumat daripada akaun baca sahaja akan disembunyikan dalam senarai kenalan anda, bukannya dipadamkan."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Kenalan ini mengandungi maklumat daripada berbilang akaun. Maklumat daripada akaun baca sahaja akan disembunyikan dalam senarai kenalan anda, 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="6854657936970228164">"Buang perubahan"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Tidak dapat menyimpan perubahan kenalan."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Kumpulan sudah disimpan."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Tidak dapat menyimpan perubahan kumpulan."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 kenalan dengan nombor telefon"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kenalan dengan nombor telefon"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kenalan dengan nombor telefon</item>
+      <item quantity="one">1 kenalan dengan nombor telefon</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Tiada kenalan dengan nombor telefon"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ditemui</item>
+      <item quantity="one">1 ditemui</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Tiada kenalan"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"1 ditemui"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> ditemui"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ditemui</item>
+      <item quantity="one">1 ditemui</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Nyahpasang beberapa aplikasi"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Cuba semula peningkatan"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Mencari..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Tunjukkan pilihan"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Tunjukkan semua"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Foto utama"</string>
     <string name="description_star" msgid="2605854427360036550">"kegemaran"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Edit kenalan"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"tidak digabungkan"</item>
-    <item quantity="other" msgid="425683718017380845">"digabungkan daripada <xliff:g id="COUNT">%0$d</xliff:g> sumber"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">digabungkan daripada <xliff:g id="COUNT">%0$d</xliff:g> sumber</item>
+      <item quantity="one">tidak digabungkan</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Gabungkan kenalan semasa dengan kenalan pilihan?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Bertukar kepada mengedit kenalan pilihan? Maklumat yang anda masukkan setakat ini akan disalin."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Salin ke Kenalan Saya"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Bantuan"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Bantuan &amp; maklum balas"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Pilihan paparan"</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">"Nombor telefon"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Import kenalan"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Buat kumpulan baru"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Buat kumpulan baharu"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 kumpulan"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> kumpulan"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> kumpulan</item>
+      <item quantity="one">1 kumpulan</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Padamkan kumpulan \" <xliff:g id="GROUP_LABEL">%1$s</xliff:g> \"? (Kenalan itu sendiri tidak akan dipadamkan.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> orang daripada <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> orang daripada <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> orang"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> orang"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> orang daripada <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> orang daripada <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> orang</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> orang</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Taip nama kenalan sebelum bergabung dengan yang lain."</string>
     <string name="copy_text" msgid="3257145021583508761">"Salin ke papan keratan"</string>
     <string name="set_default" msgid="4417505153468300351">"Tetapkan lalai"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"panggilan terbaharu. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. klik untuk memanggil balik"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Anda: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts berfungsi lebih baik apabila anda memasukkan pengecam Hangouts individu itu ke dalam medan e-mel atau telefon."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Lagi Medan"</string>
 </resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index b59124c..6a508bd 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"ဓာတ်ပုံ ပြောင်းလဲ"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ပင်မစာမျက်နှာတွင် တင်ထားပါ"</string>
     <string name="menu_call" msgid="3992595586042260618">"အဆက်အသွယ်ကို ခေါ်ပါ"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"အဆက်အသွယ်ကို စာတိုပို့ရန်"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"ပေါင်းစည်းပါ"</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="contactsJoinedMessage" msgid="656936718666768589">"ဆက်သွယ်မှုစာရင်း ပေါင်းကူးပြီး"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"ဆက်သွယ်မှုစာရင်း ဖျက်ပြီး"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"ပေါင်းစည်းမှုတစ်ခုလုပ်ဆောင်ရန် အနည်းဆုံးအဆက်အသွယ်နှစ်ခု ရွေးချယ်ရန် လိုအပ်သည်။"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"ရွေးချယ်ထားသောအကောင့်များအား အဆက်အသွယ်တစ်ခုတည်းသို့ ပေါင်းစည်းပါလိမ့်မည်။"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"ရွေးချယ်ထားသောအဆက်အသွယ်များ ဖျက်ပစ်လိမ့်မည်။"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"ဖတ်ရန်အတွက်သာ အကောင့်များမှ အချက်အလက်များကို ဖျောက်ထားမှာဖြစ်ပြီး ဖျက်ပစ်ထားတာ မဟုတ်ပါ။"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"ဒီအဆက်အသွယ်များတွင် အကောင့်အများအပြား၏ အချက်အလက်များ ပါဝင်ပါသည်။ ဖတ်ရန်အတွက်သာ အကောင့်များမှ အချက်အလက်များကို ဖျောက်ထားမှာဖြစ်ပြီး ဖျက်ပစ်ထားတာ မဟုတ်ပါ"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ဤအဆက်အသွယ်အားဖျက်ခြင်းကြောင့် တခြားအကောင့်များမှ အချက်အလက်များလည်း ပျက်ပါလိမ့်မည်"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"ဒီလိပ်စာကို ဖျက်ပစ်ပါလိမ့်မည်"</string>
     <string name="menu_discard" msgid="6854657936970228164">"အပြောင်းအလဲများ စွန့်ပစ်ရန်"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">ဖုန်းနံပါတ်များပါသောအဆက်အသွယ်<xliff:g id="COUNT">%d</xliff:g>ခု</item>
+      <item quantity="one">ဖုန်းနံပါတ်ပါသောအဆက်အသွယ်1ခု</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ခု တွေ့ရှိသည်</item>
+      <item quantity="one">1ခု တွေ့ရှိသည်</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ခုတွေ့ရှိသည်</item>
+      <item quantity="one">1ခု တွေ့ရှိသည်</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"အဓိက ဓာတ်ပုံ"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">ရင်းမြစ် <xliff:g id="COUNT">%0$d</xliff:g> ခုမှ ပူးပေါင်းထားသည်</item>
+      <item quantity="one">မပူးပေါင်းပါ</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"အကူအညီ &amp;amp၊ တုံ့ပြန်ချက်"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other">အုပ်စု <xliff:g id="COUNT">%0$d</xliff:g>စု</item>
+      <item quantity="one">အုပ်စု 1စု</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> မှ လူ<xliff:g id="COUNT_2">%1$d</xliff:g> ယောက်</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> မှ လူ<xliff:g id="COUNT_0">%1$d</xliff:g> ယောက်</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other">လူ <xliff:g id="COUNT_1">%1$d</xliff:g> ယောက်</item>
+      <item quantity="one">လူ <xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"မကြာမီက ခေါ်ဆိုမှု။ <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. ပြန်ခေါ်ရန် ကလစ်ပါ"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"သင်: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"အီးမေးအကွက် သို့မဟုတ် ဖုန်းနံပါတ် အကွက်တွင် တစ်ခြားသူ၏ Hangouts  အမှတ်သညာအား သင်ရိုက်ထည့်သည့်အခါ Hangouts ပိုမိုလွယ်ကူကောင်းမွန်စွာ အလုပ်လုပ်သည်။"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"နေရာပိုချဲ့ရန်"</string>
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 0184771..94a0e31 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Endre bilde"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Plassér på startsiden"</string>
     <string name="menu_call" msgid="3992595586042260618">"Ring kontakt"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Send SMS til kontakt"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Legg til gruppe"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Dele opp kontakt?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Denne kontakten kommer til å deles opp i flere kontakter."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Foren"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Slå sammen"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Slå sammen kontakter"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Velg kontakten du vil slå sammen med <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Vis alle kontakter"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Forslag"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alle kontakter"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontaktene er forent"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontaktene er slått sammen"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontaktene er slettet"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Angi ringetone"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Alle samtaler til talepost"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Du kan ikke slette kontakter fra skrivebeskyttede kontoer, men du kan skjule dem i kontaktlisten."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Du trenger minst to valgte kontakter for å utføre en sammenslåing."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"De valgte kontaktene slås sammen til én enkelt kontakt."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"De valgte kontaktene blir slettet."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Informasjon fra skrivebeskyttede kontoer blir skjult i kontaktlistene dine, ikke slettet."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Disse kontaktene inneholder informasjon fra flere kontoer. Informasjon fra skrivebeskyttede kontoer blir skjult i kontaktlistene dine, 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="6854657936970228164">"Forkast endringene"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Kunne ikke lagre kontaktendringene."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Gruppe er lagret."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Kunne ikke lagre gruppeendringer."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 kontakt med telefonnummer"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontakter med telefonnumre"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontakter med telefonnumre</item>
+      <item quantity="one">1 kontakt med telefonnummer</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ingen kontakter med telefonnummer"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> er funnet</item>
+      <item quantity="one">1 er funnet</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Ingen kontakter"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"1 funnet"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> funnet"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> er funnet</item>
+      <item quantity="one">1 er funnet</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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 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>
     <string name="menu_display_all" msgid="8887488642609786198">"Vis alle"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Hovedbilde"</string>
     <string name="description_star" msgid="2605854427360036550">"favoritt"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Rediger kontakt"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"ikke slått sammen"</item>
-    <item quantity="other" msgid="425683718017380845">"sammenslått fra <xliff:g id="COUNT">%0$d</xliff:g> kilder"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">slått sammen fra <xliff:g id="COUNT">%0$d</xliff:g> kilder</item>
+      <item quantity="one">ikke slått sammen</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Slå sammen gjeldende kontakt med valgt kontakt?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Bytt til redigering av gjeldende kontakt? Informasjonen du har lagt til så langt blir kopiert."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopiér til mine kontakter"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Hjelp"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Hjelp og tilbakemelding"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Vis grupper"</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">"Telefonnummer"</string>
@@ -188,19 +192,19 @@
     <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>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"Én gruppe"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupper"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupper</item>
+      <item quantity="one">1 gruppe</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Vil du slette gruppen <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? (Selve kontaktene blir ikke slettet.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> person fra <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> personer fra <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> personer"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> personer fra <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> person fra <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> personer</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> person</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Skriv inn kontaktens navn før du slår vedkommende sammen med en annen."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopier til utklippstavlen"</string>
     <string name="set_default" msgid="4417505153468300351">"Angi som standard"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"nylig oppringning. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. klikk for å ringe tilbake"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Du: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts fungerer bedre når du går inn i personenes Hangouts-identifikatorer i e-postfeltet eller telefonfeltet."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Flere felt"</string>
 </resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index 685d3bf..92363a6 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"तस्बिर परिवर्तन गर्नुहोस्"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"होम स्क्रिनमा राख्नुहोस्"</string>
     <string name="menu_call" msgid="3992595586042260618">"सम्पर्कलाई कल गर्नुहोस्"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"पाठ सम्पर्क"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"मर्ज गर्नुहोस्"</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="contactsJoinedMessage" msgid="656936718666768589">"सम्पर्कहरू मर्ज गरिए"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"सम्पर्कहरू मेटाइए"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"तपाईंले मर्ज गर्नको लागि कम्तिमा दुई सम्पर्कहरू चयन गर्न आवश्यक छ।"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"चयन गरिएका सम्पर्कहरू एकल सम्पर्कमा मर्ज गरिनेछ।"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"चयन गरिएका सम्पर्कहरू मेटिने छन्।"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"पढ्ने-मात्र खाताहरूबाट जानकारी तपाईँको सम्पर्क सूचीमा लुकाइने छन्, मेटिने छैनन्।"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"यी सम्पर्कहरूले धेरै खाताहरूबाट जानकारी समावेश गर्दछ। पढ्ने-मात्र खाताहरूबाट जानकारी तपाईँको सम्पर्क सूचीमा लुकाइने छन्, मेटिने छैनन्।"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"यो सम्पर्कलाइ हटाउनाले धेरै खाताहरूबाट जानकारीहरू नष्ट गर्ने छ।"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"यो सम्पर्क हटाइने छ।"</string>
     <string name="menu_discard" msgid="6854657936970228164">"परिवर्तनहरू रद्द गर्नुहोस्"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g>सम्पर्कहरू फोन नम्बर सहित</item>
+      <item quantity="one">फोन नम्बर सहित 1 सम्पर्क</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> फेला पर्‍यो</item>
+      <item quantity="one">१ फेला पर्‍यो</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> फेला पर्‍यो</item>
+      <item quantity="one">1 फेला पर्‍यो</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"प्राथमिक तस्बिर"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"> यस <xliff:g id="COUNT">%0$d</xliff:g> स्रोतबाट मर्ज गरियो</item>
+      <item quantity="one">मर्ज गरिएको छैन</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"मद्दत &amp; प्रतिक्रिया"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> समूहहरू</item>
+      <item quantity="one">1 समूह</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> व्यक्तिहरू <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> बाट</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> व्यक्ति <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> बाट</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> व्यक्तिहरु</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"हालैको कल। <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. कल फिर्ता गर्न क्लिक गर्नुहोस्"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"तपाईँ: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"तपाईंले इमेल क्षेत्र वा फोन क्षेत्रमा व्यक्तिको Hangouts परिचायक प्रविष्ट गर्नु हुँदा Hangouts राम्रो काम गर्दछ।"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"थप क्षेत्र"</string>
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index a129ecb..6c8d36e 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Foto wijzigen"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Op startscherm plaatsen"</string>
     <string name="menu_call" msgid="3992595586042260618">"Contact bellen"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Sms\'en naar contact"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Groep toevoegen"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Contact opsplitsen?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Dit contact wordt gesplitst in meerdere contacten."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Samenvoegen"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Samenvoegen"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Contacten samenvoegen"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Selecteer het contact dat u met <xliff:g id="NAME">%s</xliff:g> wilt samenvoegen:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Alle contacten weergeven"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Mogelijke contacten"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Alle contacten"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Contacten zijn samengevoegd"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Contacten samengevoegd"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Contacten verwijderd"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Beltoon instellen"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Alle oproepen naar voicemail"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"U kunt contacten niet verwijderen uit alleen-lezen-accounts, maar u kunt ze verbergen in uw contactenlijst."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"U moet minimaal twee contacten selecteren om te kunnen samenvoegen."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"De geselecteerde contacten worden samengevoegd tot één contact."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"De geselecteerde contacten worden verwijderd."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Gegevens uit alleen-lezen accounts worden verborgen in uw contactenlijst, maar niet verwijderd."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Deze contacten bevatten 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="6854657936970228164">"Wijzigingen niet opslaan"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Kan wijzigingen in contact niet opslaan."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Groep opgeslagen."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Kan wijzigingen in groep niet opslaan."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 contact met telefoonnummer"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contacten met telefoonnummers"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacten met telefoonnummers</item>
+      <item quantity="one">1 contact met telefoonnummer</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Geen contacten met telefoonnummers"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> gevonden</item>
+      <item quantity="one">1 gevonden</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Geen contacten"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"1 gevonden"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> gevonden"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> gevonden</item>
+      <item quantity="one">1 gevonden</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Verwijder enkele apps"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Upgrade opnieuw proberen"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Zoeken..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Selectie weergeven"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Alles weergeven"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Primaire foto"</string>
     <string name="description_star" msgid="2605854427360036550">"favoriet"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Contact bewerken"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"niet samengevoegd"</item>
-    <item quantity="other" msgid="425683718017380845">"samengevoegd uit <xliff:g id="COUNT">%0$d</xliff:g> bronnen"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">samengevoegd uit <xliff:g id="COUNT">%0$d</xliff:g> bronnen</item>
+      <item quantity="one">niet samengevoegd</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Wilt u het huidige contact samenvoegen met het geselecteerde contact?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Wilt u overschakelen naar het bewerken van het geselecteerde contact? Gegevens die u tot nu toe heeft ingevoerd, worden gekopieerd."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopiëren naar mijn contacten"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Help"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Help en feedback"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Weergaveopties"</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">"Telefoonnummer"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Contacten importeren"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Nieuwe groep maken"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Nieuwe groep maken"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 groep"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> groepen"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> groepen</item>
+      <item quantity="one">1 groep</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"De groep \'<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\' verwijderen? (De contacten zelf worden niet verwijderd.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> persoon van <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> personen van <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> persoon"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> personen"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> mensen uit <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persoon uit <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> mensen</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persoon</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Geef een contactnaam op voordat u dit contact samenvoegt met een ander contact."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopiëren naar klembord"</string>
     <string name="set_default" msgid="4417505153468300351">"Standaard instellen"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"recente oproep. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. klik om terug te bellen"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"U: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts werkt beter wanneer u de Hangouts-ID van de betreffende persoon in het veld \'E-mail\' of \'Telefoon\' opgeeft."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Meer velden"</string>
 </resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..2e593ad
--- /dev/null
+++ b/res/values-pa-rIN/strings.xml
@@ -0,0 +1,272 @@
+<?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="applicationLabel" msgid="3906689777043645443">"ਸੰਪਰਕ"</string>
+    <string name="launcherActivityLabel" msgid="6497230399032392417">"ਸੰਪਰਕ"</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="contactInsertOrEditActivityTitle" msgid="6527505405325862674">"ਸੰਪਰਕ ਵਿੱਚ ਜੋੜੋ"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"ਇੱਕ ਸੰਪਰਕ ਚੁਣੋ"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2436981165830115659">"ਨਵਾਂ ਸੰਪਰਕ ਬਣਾਓ"</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_change_photo" msgid="7769177631511496210">"ਫੋਟੋ ਬਦਲੋ"</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="4050157483569357666">"ਮਿਲਾਓ"</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="656936718666768589">"ਸੰਪਰਕ ਮਿਲਾਏ ਗਏ"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"ਸੰਪਰਕ ਮਿਟਾਏ ਗਏ"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"ਤੁਹਾਨੂੰ ਇੱਕ ਮਿਲਾਉਣਾ ਪਰਫੌਰਮ ਕਰਨ ਲਈ ਘੱਟੋ-ਘੱਟ ਦੋ ਸੰਪਰਕ ਚੁਣਨ ਦੀ ਲੋੜ ਹੈ।"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"ਚੁਣੇ ਗਏ ਸੰਪਰਕ ਇੱਕ ਸਿੰਗਲ ਸੰਪਰਕ ਵਿੱਚ ਮਿਲਾ ਦਿੱਤੇ ਜਾਣਗੇ।"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"ਚੁਣੇ ਗਏ ਸੰਪਰਕ ਮਿਟਾ ਦਿੱਤੇ ਜਾਣਗੇ।"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"ਰੀਡ-ਓਨਲੀ ਖਾਤਿਆਂ ਦੀ ਜਾਣਕਾਰੀ ਤੁਹਾਡੀਆਂ ਸੰਪਰਕ ਸੂਚੀਆਂ ਵਿੱਚ ਲੁਕਾਈ ਜਾਏਗੀ, ਮਿਟਾਈ ਨਹੀਂ ਜਾਏਗੀ।"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"ਇਹਨਾਂ ਸੰਪਰਕਾਂ ਵਿੱਚ ਮਲਟੀਪਲ ਖਾਤਿਆਂ ਦੀ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੈ। ਰੀਡ-ਓਨਲੀ ਖਾਤਿਆਂ ਦੀ ਜਾਣਕਾਰੀ ਤੁਹਾਡੀਆਂ ਸੰਪਰਕ ਸੂਚੀਆਂ ਵਿੱਚ ਲੁਕਾਈ ਜਾਏਗੀ, ਮਿਟਾਈ ਨਹੀਂ ਜਾਏਗੀ।"</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" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ਫੋਨ ਨੰਬਰਾਂ ਵਾਲੇ ਸੰਪਰਕ</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ਫੋਨ ਨੰਬਰਾਂ ਵਾਲੇ ਸੰਪਰਕ</item>
+    </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"ਫੋਨ ਨੰਬਰਾਂ ਵਾਲੇ ਕੋਈ ਸੰਪਰਕ ਨਹੀਂ"</string>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ਮਿਲਿਆ</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ਮਿਲਿਆ</item>
+    </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"ਕੋਈ ਸੰਪਰਕ ਨਹੀਂ"</string>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ਮਿਲਿਆ</item>
+      <item quantity="other"><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="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="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_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="change_photo" msgid="8530597935483526383">"ਬਦਲੋ"</string>
+    <string name="primary_photo" msgid="8517942231868516999">"ਪ੍ਰਾਈਮਰੀ ਫੋਟੋ"</string>
+    <string name="description_star" msgid="2605854427360036550">"ਮਨਪਸੰਦ"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"ਸੰਪਰਕ ਸੰਪਾਦਿਤ ਕਰੋ"</string>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one"> ਸ਼ਾਮਲ ਕੀਤਾ</item>
+      <item quantity="other"> ਸ਼ਾਮਲ ਕੀਤਾ</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="1680178646764069976">"ਸਹਾਇਤਾ ਅਤੇ ਫੀਡਬੈਕ"</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" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> ਸਮੂਹ</item>
+      <item quantity="other"><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" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> ਤੋਂ <xliff:g id="COUNT_2">%1$d</xliff:g> ਲੋਕ</item>
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> ਤੋਂ <xliff:g id="COUNT_2">%1$d</xliff:g> ਲੋਕ</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ਲੋਕ</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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="header_account_entry" msgid="2684318506427891827">"ਖਾਤਾ"</string>
+    <string name="header_name_entry" msgid="1592791008096288306">"ਨਾਮ"</string>
+    <string name="header_email_entry" msgid="8666093061171624478">"ਈਮੇਲ"</string>
+    <string name="header_phone_entry" msgid="8450980572274173570">"ਫੋਨ"</string>
+    <string name="header_photo_entry" msgid="4438023151411853238">"ਫੋਟੋ"</string>
+    <string name="content_description_expand_editor" msgid="1111381475901897470">"ਸੰਪਰਕ ਸੰਪਾਦਕ ਦਾ ਵਿਸਤਾਰ ਕਰਨ ਲਈ ਕਲਿਕ ਕਰੋ।"</string>
+    <string name="content_description_collapse_editor" msgid="7598061318022977825">"ਸੰਪਰਕ ਸੰਪਾਦਕ ਨਸ਼ਟ ਕਰਨ ਲਈ ਕਲਿਕ ਕਰੋ।"</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਲਈ ਨਿਰਦੇਸ਼"</string>
+    <string name="content_description_recent_sms" msgid="1666389577263317445">"ਹਾਲੀਆ sms. <xliff:g id="MESSAGE_BODY">%s</xliff:g>। <xliff:g id="PHONE_NUMBER">%s</xliff:g>। <xliff:g id="DATE">%s</xliff:g>। ਜਵਾਬ ਦੇਣ ਲਈ ਕਲਿਕ ਕਰੋ"</string>
+    <string name="content_description_recent_call_type_incoming" msgid="5210739096863511410">"ਇਨਕਮਿੰਗ"</string>
+    <string name="content_description_recent_call_type_outgoing" msgid="5156553338985232744">"ਆਊਟਗੋਇੰਗ"</string>
+    <string name="content_description_recent_call_type_missed" msgid="7371810920196048204">"ਮਿਸਡ"</string>
+    <string name="content_description_recent_call" msgid="5183800406316723676">"ਹਾਲੀਆ ਕਾਲ। <xliff:g id="CALL_TYPE">%s</xliff:g>। <xliff:g id="PHONE_NUMBER">%s</xliff:g>। <xliff:g id="DATE">%s</xliff:g>। ਕਾਲ ਬੈਕ ਕਰਨ ਲਈ ਕਲਿਕ ਕਰੋ।"</string>
+    <string name="message_from_you_prefix" msgid="7180706529908434482">"ਤੁਸੀਂ: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
+    <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"ਜਦੋਂ ਤੁਸੀਂ ਈਮੇਲ ਖੇਤਰ ਜਾਂ ਫੋਨ ਖੇਤਰ ਵਿੱਚ ਵਿਅਕਤੀ ਦਾ ਹੈਂਗਆਊਟਸ ਆਈਡੈਂਟੀਫਾਇਰ ਦਰਜ ਕਰਦੇ ਹੋ ਤਾਂ ਹੈਂਗਆਊਟਸ ਬਿਹਤਰ ਕੰਮ ਕਰਦਾ ਹੈ।"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"ਹੋਰ ਖੇਤਰ"</string>
+</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 5d834ea..752b117 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Zmień zdjęcie"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Umieść na ekranie głównym"</string>
     <string name="menu_call" msgid="3992595586042260618">"Zadzwoń do kontaktu"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Wyślij tekst do kontaktu"</string>
@@ -55,18 +56,24 @@
     <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Dodaj kontakt"</string>
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Dodaj grupę"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Podzielić kontakt?"</string>
-    <string name="splitConfirmation" msgid="740190210499587175">"Ten kontakt zostanie podzielony na wiele wpisów."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Połącz"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Ten kontakt zostanie podzielony na kilka wpisów."</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Scal"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Połącz kontakty"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Wybierz kontakt, który chcesz połączyć z <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Pokaż wszystkie kontakty"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Sugerowane kontakty"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Wszystkie kontakty"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakty zostały połączone"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontakty zostały scalone"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontakty zostały usunięte"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Ustaw dzwonek"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Łącz na pocztę głosową"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Nie możesz usunąć kontaktów z kont tylko do odczytu, ale możesz ukryć je na swoich listach kontaktów."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Do scalenia potrzebne są co najmniej dwa kontakty."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Wybrane kontakty zostaną scalone w jeden."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Wybrane kontakty zostaną usunięte."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Informacje z kont przeznaczonych tylko do odczytu zostaną na listach kontaktów ukryte, a nie usunięte."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Te kontakty zawierają 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="6854657936970228164">"Odrzuć zmiany"</string>
@@ -94,20 +101,26 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Nie można zapisać zmian kontaktu."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Grupa została zapisana."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Nie można zapisać zmian grupy."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"Liczba kontaktów z numerem telefonu: 1"</item>
-    <item quantity="other" msgid="3299954047880968205">"Liczba kontaktów z numerami telefonów: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontakty z numerami telefonu</item>
+      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> kontaktów z numerami telefonu</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontaktu z numerami telefonu</item>
+      <item quantity="one">1 kontakt z numerem telefonu</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Brak kontaktów z numerami telefonów"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> znalezione</item>
+      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> znalezionych</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> znalezionego</item>
+      <item quantity="one">1 znaleziony</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Brak kontaktów"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"Znaleziono: 1"</item>
-    <item quantity="other" msgid="7988132539476575389">"Znaleziono: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> znalezione</item>
+      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> znalezionych</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> znalezionego</item>
+      <item quantity="one">1 znaleziony</item>
+    </plurals>
     <string name="all_contacts_tab_label" msgid="6250372293594147703">"Wszystkie"</string>
     <string name="favorites_tab_label" msgid="1524869648904016414">"Ulubione"</string>
     <string name="callBack" msgid="5498224409038809224">"Oddzwoń"</string>
@@ -125,7 +138,7 @@
     <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="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>
     <string name="video_chat" msgid="1872255818640336072">"Czat wideo"</string>
@@ -144,9 +157,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Odinstaluj część aplikacji"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Ponów próbę uaktualnienia"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Wyszukiwanie…"</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Pokaż wybrane"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Pokaż wszystkie"</string>
@@ -160,10 +170,12 @@
     <string name="primary_photo" msgid="8517942231868516999">"Główne zdjęcie"</string>
     <string name="description_star" msgid="2605854427360036550">"ulubione"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Edytuj kontakt"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"nie scalono"</item>
-    <item quantity="other" msgid="425683718017380845">"scalono z <xliff:g id="COUNT">%0$d</xliff:g> źródeł"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="few">scalono z <xliff:g id="COUNT">%0$d</xliff:g> źródeł</item>
+      <item quantity="many">scalono z <xliff:g id="COUNT">%0$d</xliff:g> źródeł</item>
+      <item quantity="other">scalono z <xliff:g id="COUNT">%0$d</xliff:g> źródła</item>
+      <item quantity="one">nie scalono</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Czy połączyć bieżący kontakt z wybranym?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Czy chcesz edytować wybrany kontakt? Wprowadzone dotąd informacje zostaną skopiowane."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopiuj do moich kontaktów"</string>
@@ -172,7 +184,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Pomoc"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Pomoc i opinie"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Opcje wyświetlania"</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">"Numer telefonu"</string>
@@ -188,19 +200,25 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importuj kontakty"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Utwórz nową grupę"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Utwórz nową grupę"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 grupa"</item>
-    <item quantity="other" msgid="1276758425904917367">"Grupy: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="few"><xliff:g id="COUNT">%0$d</xliff:g> grupy</item>
+      <item quantity="many"><xliff:g id="COUNT">%0$d</xliff:g> grup</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupy</item>
+      <item quantity="one">1 grupa</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Usunąć grupę „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>”? (Same kontakty nie zostaną usunięte)."</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> osoba z <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"Osoby z <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> osoba"</item>
-    <item quantity="other" msgid="6251996206137048525">"Osoby: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="few"><xliff:g id="COUNT_2">%1$d</xliff:g> osoby z: <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="many"><xliff:g id="COUNT_2">%1$d</xliff:g> osób z: <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> osoby z: <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> osoba z: <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> osoby</item>
+      <item quantity="many"><xliff:g id="COUNT_1">%1$d</xliff:g> osób</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> osoby</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> osoba</item>
+    </plurals>
     <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>
@@ -208,7 +226,7 @@
     <string name="toast_text_copied" msgid="5143776250008541719">"Tekst skopiowany"</string>
     <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Odrzucić zmiany?"</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">"Konfiguruj profil"</string>
+    <string name="profile_display_name" msgid="4127389543625918771">"Skonfiguruj swój profil"</string>
     <string name="enter_contact_name" msgid="1738391320566349924">"Wpisz imię osoby"</string>
     <string name="group_name_hint" msgid="238359485263401293">"Nazwa grupy"</string>
     <string name="local_profile_title" msgid="2021416826991393684">"Mój profil lokalny"</string>
@@ -264,4 +282,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"ostatnie połączenie. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. kliknij, by oddzwonić"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Ty: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"W przypadku Hangouts lepiej wpisać identyfikator danej osoby w polu adresu e-mail lub telefonu."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Więcej pól"</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 96ba590..c42e79b 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Alterar fotografia"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Colocar no ecrã principal"</string>
     <string name="menu_call" msgid="3992595586042260618">"Ligar para contacto"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Enviar SMS/MMS para contacto"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Adicionar Grupo"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Separar contacto?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Este contacto será separado em vários contactos."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Associar"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Unir"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Associar contactos"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Escolha o contacto que pretende associar a <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Mostrar todos os contactos"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contactos sugeridos"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Todos os contactos"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Contactos associados"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Contactos unidos"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Contactos eliminados"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Definir toque"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Todas as cham. p/ correio voz"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Não pode eliminar contactos de contas só de leitura, mas pode ocultá-los nas suas listas de contactos."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Necessita de, pelo menos, dois contactos selecionados para efetuar uma união."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Os contactos selecionados vão ser unidos num único contacto."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Os contactos selecionados vão ser eliminados."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"As informações de contas só de leitura vão ser ocultadas nas suas listas de contactos, mas não eliminadas."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Estes contactos contêm informações de várias contas. As informações de contas só de leitura vão ser 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="6854657936970228164">"Rejeitar alterações"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Não foi possível guardar as alterações do contacto."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Grupo guardado."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Não foi possível guardar as alterações do grupo."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 contacto com número de telefone"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contactos com números de telefone"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos com números de telefone</item>
+      <item quantity="one">1 contacto com número de telefone</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Sem contactos com números de telefone"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> encontrados</item>
+      <item quantity="one">1 encontrado</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Sem 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> encontrado(s)"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> encontrados</item>
+      <item quantity="one">1 encontrado</item>
+    </plurals>
     <string name="all_contacts_tab_label" msgid="6250372293594147703">"Todos"</string>
     <string name="favorites_tab_label" msgid="1524869648904016414">"Favoritos"</string>
     <string name="callBack" msgid="5498224409038809224">"Chamada de retorno"</string>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Desinstalar algumas aplicações"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Repetir actualização"</string>
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Fot. principal"</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">"não intercalado(s)"</item>
-    <item quantity="other" msgid="425683718017380845">"intercalado a partir de <xliff:g id="COUNT">%0$d</xliff:g> origens"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">intercalados de <xliff:g id="COUNT">%0$d</xliff:g> origens</item>
+      <item quantity="one">não intercalado</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Associar o contacto actual ao contacto selecionado?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Alternar para edição do contacto selecionado? A informação introduzida até agora vai ser copiada."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Copiar para Os Meus Contactos"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Ajuda"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Ajuda e comentários"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Opções de visualização"</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 telefone"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importar contactos"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Criar novo grupo"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Criar 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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupos</item>
+      <item quantity="one">1 grupo</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Eliminar o grupo \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Os contactos não serão eliminados)."</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> pessoa 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> pessoas 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> pessoa"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> pessoas"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> pessoas de <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> pessoa de <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> pessoas</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> pessoa</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Introduza o nome do contacto antes de juntar a outro contacto."</string>
     <string name="copy_text" msgid="3257145021583508761">"Copiar para área de transf."</string>
     <string name="set_default" msgid="4417505153468300351">"Definir a predefinição"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"chamada recente. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. clique para ligar de volta"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"O utilizador: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"O Hangouts funciona melhor quando introduz o identificador do Hangouts da pessoa no campo do email ou no campo do telefone."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Mais campos"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index e13b735..e56a6ee 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Alterar foto"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Colocar na tela inicial"</string>
     <string name="menu_call" msgid="3992595586042260618">"Ligar para contato"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Enviar SMS/MMS para o contato"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Adicionar grupo"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Dividir contato?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Este contato será separado em vários contatos."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Unir"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Mesclar"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Unir contatos"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Selecione o contato que deseja mesclar com <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Mostrar todos os contatos"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Contatos sugeridos"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Todos os contatos"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Contatos unificados"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Contatos mesclados"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Contatos excluídos"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Definir toque"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Todas as cham. p/ correio voz"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Não é possível excluir os contatos das contas somente leitura, mas você pode ocultá-los nas suas listas de contatos."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Selecione pelo menos dois contatos para realizar uma mesclagem."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Os contatos selecionados serão mesclados em um único contato."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Os contatos selecionados serão excluídos."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"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="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Esses contatos 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="6854657936970228164">"Descartar alterações"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Não foi possível salvar as alterações do contato."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Grupo salvo."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Não foi possível salvar as alterações de grupo."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"Um contato com número de telefone"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> contatos com números de telefone"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> contatos com números de telefone</item>
+      <item quantity="other"><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="listFoundAllContacts">
-    <item quantity="one" msgid="5517063038754171134">"Um encontrado"</item>
-    <item quantity="other" msgid="3852668542926965042">"<xliff:g id="COUNT">%d</xliff:g> encontrados"</item>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> encontrados</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> encontrados</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Nenhum contato"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"Um encontrado"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> encontrados"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> encontrados</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> encontrados</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Desinstalar alguns apps"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Tentar atualizar novamente"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Pesquisando..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Mostrar selecionados"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Mostrar todos"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Foto principal"</string>
     <string name="description_star" msgid="2605854427360036550">"favorito"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Editar contato"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"não mesclado"</item>
-    <item quantity="other" msgid="425683718017380845">"mesclado a partir de <xliff:g id="COUNT">%0$d</xliff:g> origens"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">mesclados de <xliff:g id="COUNT">%0$d</xliff:g> fontes</item>
+      <item quantity="other">mesclados de <xliff:g id="COUNT">%0$d</xliff:g> fontes</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Unir o contato atual ao contato selecionado?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Alternar para a edição do contato selecionado? As informações inseridas até agora serão copiadas."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Copiar para Meus contatos"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Ajudar"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Ajuda e feedback"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Opções de exibição"</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 telefone"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importar contatos"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Criar um novo grupo"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Criar novo grupo"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"Um grupo"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupos"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> grupos</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupos</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Excluir o grupo \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? Os contatos não serão apagados."</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> pessoa 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> pessoas 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> pessoa"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> pessoas"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> pessoas de <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> pessoas de <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> pessoas</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> pessoas</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Digite o nome de contato antes de juntar a outro."</string>
     <string name="copy_text" msgid="3257145021583508761">"Copiar para área de transferência"</string>
     <string name="set_default" msgid="4417505153468300351">"Definir padrão"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"chamada recente. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. clique para retornar a chamada"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Você: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"O Hangouts funciona melhor quando você insere o identificador do Hangouts da pessoa no campo de e-mail ou de telefone."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Mais campos"</string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 8b51bbc..f123c48 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Schimbați fotografia"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Plasaţi în ecranul de pornire"</string>
     <string name="menu_call" msgid="3992595586042260618">"Apelaţi persoana din agendă"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Trimiteţi mesaj text către o persoană din agendă"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Adăugaţi un grup"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Intrare separată?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Această persoană de contact va fi separată în mai multe intrări în Agendă."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Îmbinați"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Îmbinați"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Îmbinați intrările din Agendă"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Alegeţi persoana de contact de asociat cu <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Afişaţi toate persoanele din agendă"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Persoane din agendă sugerate"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Toate persoanele din agendă"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Intrările din agendă au fost îmbinate"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Persoane de contact îmbinate"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Persoane de contact șterse"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Setaţi ton apel"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Toate apel. către mesag. voc."</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Nu puteţi şterge persoane din agendă, din conturi cu permisiuni doar de citire, însă puteţi să le ascundeţi în lista dvs. de persoane din agendă."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Pentru o îmbinare aveți nevoie de cel puțin două persoane de contact selectate."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Persoanele de contact selectate vor fi îmbinate într-o singură persoană de contact."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Persoanele de contact selectate vor fi șterse."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Informațiile din conturile numai în citire vor fi ascunse în lista persoanelor de contact, nu vor fi șterse."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Pentru aceste persoane de contact există informații din mai multe conturi. Informațiile din conturile numai în citire vor fi ascunse în lista persoanelor de contact, nu vor fi șterse."</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="6854657936970228164">"Renunțați la modificări"</string>
@@ -94,20 +101,23 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Nu s-au putut salva modificările aduse persoanei de contact."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Grupul a fost salvat."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Nu s-au putut salva modificările aduse grupului."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 persoană din agendă cu număr de telefon"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> (de) persoane din agendă cu numere de telefon"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> persoane de contact cu numere de telefon</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> de persoane de contact cu numere de telefon</item>
+      <item quantity="one">O persoană de contact cu număr de telefon</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nicio persoană din agendă cu numere de telefon"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> persoane de contact găsite</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> de persoane de contact găsite</item>
+      <item quantity="one">O persoană de contact găsită</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Nu există persoane în agendă"</string>
-  <plurals name="searchFoundContacts">
-    <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> persoane de contact găsite</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> de persoane de contact găsite</item>
+      <item quantity="one">O persoană de contact găsită</item>
+    </plurals>
     <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>
@@ -118,7 +128,7 @@
     <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> 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_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>
@@ -136,7 +146,7 @@
     <string name="account_type_format" msgid="718948015590343010">"Persoana din agendă din <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
-    <string name="contact_read_only" msgid="7421346527289472273">"Nu se poate edita din această aplicaţie"</string>
+    <string name="contact_read_only" msgid="7421346527289472273">"Nu se poate edita din această aplicație"</string>
     <string name="group_read_only" msgid="1061762906115697637">"Nu poate fi editat pe acest dispozitiv."</string>
     <string name="take_photo" msgid="7496128293167402354">"Fotografiaţi"</string>
     <string name="take_new_photo" msgid="7341354729436576304">"Creaţi o fotografie nouă"</string>
@@ -144,9 +154,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Dezinstalaţi unele aplicaţii"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Încercaţi din nou trecerea la o versiune superioară"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Se caută..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Afişaţi elementele selectate"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Afişaţi-i pe toţi"</string>
@@ -160,10 +167,11 @@
     <string name="primary_photo" msgid="8517942231868516999">"Foto. de bază"</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">
-    <item quantity="one" msgid="148365587896371969">"nu au fost îmbinate"</item>
-    <item quantity="other" msgid="425683718017380845">"au fost îmbinate din <xliff:g id="COUNT">%0$d</xliff:g> surse"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="few">au fost îmbinate din <xliff:g id="COUNT">%0$d</xliff:g> surse</item>
+      <item quantity="other">au fost îmbinate din <xliff:g id="COUNT">%0$d</xliff:g> de surse</item>
+      <item quantity="one">nu au fost îmbinate</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Îmbinați intrarea curentă din agendă cu intrarea selectată?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Comutaţi la funcţia de editare a persoanei din agendă selectate? Informaţiile introduse până acum vor fi copiate."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Copiaţi în Agendă"</string>
@@ -172,7 +180,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Ajutor"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Ajutor și feedback"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Opţiuni de afişare"</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ăr de telefon"</string>
@@ -188,19 +196,22 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importaţi Agenda"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Creaţi un grup nou"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Creaţi un grup nou"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 grup"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> (de) grupuri"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="few"><xliff:g id="COUNT">%0$d</xliff:g> grupuri</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> de grupuri</item>
+      <item quantity="one">Un grup</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Ștergeţi grupul „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>”? (Agenda nu va fi ştearsă.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> persoană din <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> (de) persoane din <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> persoană"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> (de) persoane"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="few"><xliff:g id="COUNT_2">%1$d</xliff:g> persoane din <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> de persoane din <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persoană din <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> persoane</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> de persoane</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> persoană</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Introduceţi un nume pentru intrarea din agendă înainte de îmbinarea cu altă intrare."</string>
     <string name="copy_text" msgid="3257145021583508761">"Copiaţi în clipboard"</string>
     <string name="set_default" msgid="4417505153468300351">"Setaţi ca prestabilit"</string>
@@ -264,4 +275,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"apel recent. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. dați clic pentru a apela"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Dvs.: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts funcționează mai bine când introduceți identificatorul Hangouts al persoanei în câmpul pentru adresa de e-mail sau în câmpul pentru numărul de telefon."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Mai multe câmpuri"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index eaccb7e..6fe02cd 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Сменить фото"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Поместить на главный экран"</string>
     <string name="menu_call" msgid="3992595586042260618">"Позвонить"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Отправить SMS/MMS"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Объединить"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Объединить контакты"</string>
-    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Выберите контакт, который хотите объединить с \"<xliff:g id="NAME">%s</xliff:g>\":"</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="contactsJoinedMessage" msgid="656936718666768589">"Контакты объединены"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Контакты удалены"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Для объединения нужно хотя бы два контакта."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Выбранные контакты будут объединены в один."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Выбранные контакты будут удалены."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Информация из аккаунтов, доступных только для чтения, будет скрыта в списках контактов, но не удалена."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Эти контакты содержат данные из нескольких аккаунтов. Информация из аккаунтов, доступных только для чтения, будет скрыта в списках контактов, но не удалена."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Удаление этого контакта приведет к потере данных из нескольких аккаунтов."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Этот контакт будет удален."</string>
     <string name="menu_discard" msgid="6854657936970228164">"Отмена"</string>
@@ -94,20 +101,26 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> контакт с номером телефона</item>
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> контакта с номером телефона</item>
+      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> контактов с номером телефона</item>
+      <item quantity="other"><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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one">Найден <xliff:g id="COUNT">%d</xliff:g> контакт</item>
+      <item quantity="few">Найдено <xliff:g id="COUNT">%d</xliff:g> контакта</item>
+      <item quantity="many">Найдено <xliff:g id="COUNT">%d</xliff:g> контактов</item>
+      <item quantity="other">Найдено <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one">Найден <xliff:g id="COUNT">%d</xliff:g> контакт</item>
+      <item quantity="few">Найдено <xliff:g id="COUNT">%d</xliff:g> контакта</item>
+      <item quantity="many">Найдено <xliff:g id="COUNT">%d</xliff:g> контактов</item>
+      <item quantity="other">Найдено <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>
@@ -144,9 +157,6 @@
     <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>
@@ -160,10 +170,12 @@
     <string name="primary_photo" msgid="8517942231868516999">"Основное фото"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">Объединен <xliff:g id="COUNT">%0$d</xliff:g> контакт</item>
+      <item quantity="few">Объединены <xliff:g id="COUNT">%0$d</xliff:g> контакта</item>
+      <item quantity="many">Объединено <xliff:g id="COUNT">%0$d</xliff:g> контактов</item>
+      <item quantity="other">Объединено <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>
@@ -172,7 +184,7 @@
     <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="menu_help" msgid="1680178646764069976">"Справка/отзыв"</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>
@@ -188,20 +200,26 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> группа</item>
+      <item quantity="few"><xliff:g id="COUNT">%0$d</xliff:g> группы</item>
+      <item quantity="many"><xliff:g id="COUNT">%0$d</xliff:g> групп</item>
+      <item quantity="other"><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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> человек из <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="few"><xliff:g id="COUNT_2">%1$d</xliff:g> человека из <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="many"><xliff:g id="COUNT_2">%1$d</xliff:g> человек из <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> человек из <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one">В группе <xliff:g id="COUNT_1">%1$d</xliff:g> человек</item>
+      <item quantity="few">В группе <xliff:g id="COUNT_1">%1$d</xliff:g> человека</item>
+      <item quantity="many">В группе <xliff:g id="COUNT_1">%1$d</xliff:g> человек</item>
+      <item quantity="other">В группе <xliff:g id="COUNT_1">%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>
@@ -264,4 +282,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"Недавний вызов. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. Нажмите, чтобы перезвонить."</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Вы: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Чтобы обеспечить надежную работу Hangouts, указывайте вместо адреса электронной почты или номера телефона идентификатор пользователя в Hangouts."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Другие поля"</string>
 </resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index 0930577..593ed6a 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"ඡායාරූපය වෙනස් කරන්න"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"මුල් තිරයෙහි තබන්න"</string>
     <string name="menu_call" msgid="3992595586042260618">"සම්බන්ධතාව අමතන්න"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"සම්බන්ධතාවයට කෙටි පණිවිඩයක් යවන්න"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"ඒකාබද්ධ කරන්න"</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="contactsJoinedMessage" msgid="656936718666768589">"සම්බන්ධතා ඒකාබද්ධ කරන ලදි"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"සම්බන්ධතා ඉවත් කරන ලදි"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"ඒකාබද්ධ කිරීමක් සිදු කිරීමට ඔබ විසින් අවම වශයෙන් සම්බන්ධතා දෙකක් තෝරාගත යුතුය."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"තෝරාගත් සම්බන්ධතා තනි සම්බන්ධතාවයක් ලෙස ඒකාබද්ධ කෙරෙනු ඇත."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"තෝරාගත් සම්බන්ධතා මකා දැමෙනු ඇත."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"කියවීමට-පමණක් වූ ගිණුම්වල තොරතුරු  ඔබේ සම්බන්ධතා ලැයිස්තුවේ සඟවනු ඇත, ඒවා මැකෙනු නොලැබේ."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"මෙම සම්බන්ධතා වල ගිණුම් කිහිපයක තොරතුරු අන්තර්ගතයි. කියවීමට-පමණක් වූ ගිණුම්වල තොරතුරු ඔබේ සම්බන්ධතා ලැයිස්තුවේ සඟවනු ඇත, ඒවා මකාදමනු නොලැබේ."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"මෙම සම්බන්ධතාවය මකා දැමීමෙන් ගිණුම් කිහිපයකින් තොරතුරු මකා දැමෙනු ඇත."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"මෙම සම්බන්ධතාවය මකා දැමෙනු ඇත."</string>
     <string name="menu_discard" msgid="6854657936970228164">"වෙනස්කම් ඉවතලන්න"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one">දුරකථන අංක සමඟ සම්බන්ධතාවන් <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">දුරකථන අංක සමඟ සම්බන්ධතාවන් <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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ක් හුමු වුණි</item>
+      <item quantity="other"><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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one">සොයා ගැනීම් <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">සොයා ගැනීම් <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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"ප්‍රාථමික රූප"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> මූලාශ්‍රයකින් ඒකාබද්ධ කර තිබේ</item>
+      <item quantity="other">මූලාශ්‍ර <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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"උදවු සහ ප්‍රතිපෝෂණ"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one">කණ්ඩායම් <xliff:g id="COUNT">%0$d</xliff:g></item>
+      <item quantity="other">කණ්ඩායම් <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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> වෙතින් පුද්ගලයන් <xliff:g id="COUNT_2">%1$d</xliff:g> යි</item>
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> වෙතින් පුද්ගලයන් <xliff:g id="COUNT_2">%1$d</xliff:g> යි</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one">පුද්ගලයින් <xliff:g id="COUNT_1">%1$d</xliff:g></item>
+      <item quantity="other">පුද්ගලයින් <xliff:g id="COUNT_1">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"මෑත අමන්තුම්. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. ආපසු ඇමතිමට ක්ලික් කරන්න"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"ඔබ: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"ඔබ පුද්ගලයාගේ Hangouts හඳුන්වනය ඊ-තැපැල් හෝ දුරකථන ක්ෂේත්‍රයට ඇතුළත් කළ විටHangouts වඩා හොඳින් ක්‍රියා කරයි."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"තව ක්ෂේත්‍ර"</string>
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 0e6523a..a580e7b 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Zmeniť fotku"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Umiestniť na plochu"</string>
     <string name="menu_call" msgid="3992595586042260618">"Zavolať kontaktu"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Odoslať správu kontaktu"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Pridať skupinu"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Rozdeliť kontakt?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Tento kontakt sa rozdelí do viacerých kontaktov."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Spojiť"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Zlúčiť"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Spojiť kontakty"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Vyberte kontakt, ktorý chcete spojiť s kontaktom <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Zobraziť všetky kontakty"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Navrhnuté kontakty"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Všetky kontakty"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kontakty boli spojené"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontakty boli zlúčené"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontakty boli odstránené"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Nastaviť zvonenie"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Všetky hovory do hl. schránky"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Z účtov, ktoré sú iba na čítanie, nie je možné odstrániť kontakty. Tieto kontakty však môžete v zozname kontaktov skryť."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Keď chcete zlučovať, musíte vybrať aspoň dva kontakty."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Vybrané kontakty budú zlúčené do jedného kontaktu."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Vybrané kontakty budú odstránené."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Informácie z účtov iba na čítanie budú v zoznamoch kontaktov skryté, ale nebudú odstránené."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Tieto kontakty obsahujú 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="6854657936970228164">"Zahodiť zmeny"</string>
@@ -94,20 +101,26 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Nepodarilo sa uložiť zmeny kontaktu."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Skupina bola uložená."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Nepodarilo sa uložiť zmeny skupiny."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 kontakt s telefónnym číslom"</item>
-    <item quantity="other" msgid="3299954047880968205">"Počet kontaktov s telefónnymi číslami: <xliff:g id="COUNT">%d</xliff:g>"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontakty s telefónnym číslom</item>
+      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> kontaktu s telefónnym číslom</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontaktov s telefónnym číslom</item>
+      <item quantity="one">1 kontakt s telefónnym číslom</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ku kontaktom nie sú priradené žiadne telefónne čísla"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> nájdené položky</item>
+      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> nájdenej položky</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> nájdených položiek</item>
+      <item quantity="one">1 nájdená položka</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Žiadne kontakty"</string>
-  <plurals name="searchFoundContacts">
-    <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> nájdené položky</item>
+      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> nájdenej položky</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> nájdených položiek</item>
+      <item quantity="one">1 nájdená položka</item>
+    </plurals>
     <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>
@@ -127,7 +140,7 @@
     <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="audio_chat" msgid="2535716629358298691">"Hlasový čet"</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>
@@ -144,9 +157,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Odinštalovať niektoré aplikácie"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Skúsiť inovovať znova"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Vyhľadávanie..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Zobraziť vybraté"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Zobraziť všetky"</string>
@@ -160,10 +170,12 @@
     <string name="primary_photo" msgid="8517942231868516999">"Hlavná fotka"</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">
-    <item quantity="one" msgid="148365587896371969">"zlúčenie sa nepodarilo"</item>
-    <item quantity="other" msgid="425683718017380845">"zlúčené z <xliff:g id="COUNT">%0$d</xliff:g> zdrojov"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="few">zlúčenie (počet zdrojov: <xliff:g id="COUNT">%0$d</xliff:g>)</item>
+      <item quantity="many">zlúčenie (počet zdrojov: <xliff:g id="COUNT">%0$d</xliff:g>)</item>
+      <item quantity="other">zlúčenie (počet zdrojov: <xliff:g id="COUNT">%0$d</xliff:g>)</item>
+      <item quantity="one">zlúčenie sa nepodarilo</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Spojiť aktuálny kontakt s vybraným kontaktom?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Prepnúť do režimu úpravy vybraného kontaktu? Doposiaľ zadané informácie budú skopírované."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Skopírovať do priečinka Moje kontakty"</string>
@@ -172,7 +184,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Pomocník"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Pomocník a spätná väzba"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Možnosti zobrazenia"</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">"Telefónne číslo"</string>
@@ -188,19 +200,25 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importovať kontakty"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Vytvoriť novú skupinu"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Vytvoriť novú skupinu"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"Počet skupín: 1"</item>
-    <item quantity="other" msgid="1276758425904917367">"Počet skupín: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="few"><xliff:g id="COUNT">%0$d</xliff:g> skupiny</item>
+      <item quantity="many"><xliff:g id="COUNT">%0$d</xliff:g> skupiny</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> skupín</item>
+      <item quantity="one">1 skupina</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Chcete odstrániť skupinu „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“? (Samotné kontakty nebudú odstránené.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"Počet ľudí zo skupiny <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>: <xliff:g id="COUNT_0">%1$d</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"Počet ľudí zo skupiny <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">"Počet ľudí: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-    <item quantity="other" msgid="6251996206137048525">"Počet ľudí: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="few">Počet ľudí zo skupiny <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g>: <xliff:g id="COUNT_2">%1$d</xliff:g></item>
+      <item quantity="many">Počet ľudí zo skupiny <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g>: <xliff:g id="COUNT_2">%1$d</xliff:g></item>
+      <item quantity="other">Počet ľudí zo skupiny <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g>: <xliff:g id="COUNT_2">%1$d</xliff:g></item>
+      <item quantity="one">Počet ľudí zo skupiny <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g>: <xliff:g id="COUNT_0">%1$d</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="few">Počet ľudí: <xliff:g id="COUNT_1">%1$d</xliff:g></item>
+      <item quantity="many">Počet ľudí: <xliff:g id="COUNT_1">%1$d</xliff:g></item>
+      <item quantity="other">Počet ľudí: <xliff:g id="COUNT_1">%1$d</xliff:g></item>
+      <item quantity="one">Počet ľudí: <xliff:g id="COUNT_0">%1$d</xliff:g></item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Pred spojením s iným kontaktom zadajte meno kontaktu."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopírovať do schránky"</string>
     <string name="set_default" msgid="4417505153468300351">"Nastaviť ako predvolené"</string>
@@ -264,4 +282,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"nedávny hovor. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. kliknutím zavoláte späť"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Vy: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Služba Hangouts funguje lepšie, keď do poľa pre e-mailovú adresu alebo telefón zadáte identifikátor osoby v službe Hangouts."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Ďalšie polia"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 5dab63f..f0d15e5 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Sprememba fotografije"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Postavi na začetni zaslon"</string>
     <string name="menu_call" msgid="3992595586042260618">"Pokliči stik"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Pošlji SMS stiku"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Dodajanje skupine"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Želite ločiti stik?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Ta stik bo razdeljen na več stikov."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Pridruži"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Združi"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Pridruži stike"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Izberite stik, ki ga želite združiti s stikom <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Prikaži vse stike"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Predlagani stiki"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Vsi stiki"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Stiki pridruženi"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Stika sta bila združena"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Stiki so bili izbrisani"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Nastavi zvonj."</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Vsi klici na odzivnik"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Iz računov samo za branje stikov ni mogoče izbrisati, lahko pa jih skrijete na seznamih stikov."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Za združevanje morate izbrati vsaj dva stika."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Izbrani stiki bodo združeni v en stik."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Izbrani stiki bodo izbrisani."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Podatki iz računov, ki so samo za branje, ne bodo izbrisani s seznamov stikov, temveč bodo samo skriti."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Ti stiki vsebujejo podatke iz več računov. Podatki iz računov, ki so 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="6854657936970228164">"Zavrzi spremembe"</string>
@@ -94,20 +101,26 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Sprememb v stikih ni bilo mogoče shraniti."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Skupina je shranjena."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Sprememb v skupini ni mogoče shraniti."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 stik s telefonsko število."</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> stikov s telefonskimi številkami"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> stik s telefonsko številko</item>
+      <item quantity="two"><xliff:g id="COUNT">%d</xliff:g> stika s telefonsko številko</item>
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> stiki s telefonsko številko</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> stikov s telefonsko številko</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Ni stikov s telefonskimi številkami"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> najden</item>
+      <item quantity="two"><xliff:g id="COUNT">%d</xliff:g> najdena</item>
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> najdeni</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> najdenih</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Ni stikov"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"1 najden"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> najdenih"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> najden</item>
+      <item quantity="two"><xliff:g id="COUNT">%d</xliff:g> najdena</item>
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> najdeni</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> najdenih</item>
+    </plurals>
     <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>
@@ -144,9 +157,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Odstranite nekaj aplikacij"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Znova poskusi nadgraditi"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Iskanje ..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Pokaži izbrane"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Pokaži vse"</string>
@@ -160,10 +170,12 @@
     <string name="primary_photo" msgid="8517942231868516999">"Glavna fotogr."</string>
     <string name="description_star" msgid="2605854427360036550">"priljubljeno"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Uredi stik"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"ni spojeno"</item>
-    <item quantity="other" msgid="425683718017380845">"spojeno iz <xliff:g id="COUNT">%0$d</xliff:g> virov"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">združeno iz <xliff:g id="COUNT">%0$d</xliff:g> vira</item>
+      <item quantity="two">združeno iz <xliff:g id="COUNT">%0$d</xliff:g> virov</item>
+      <item quantity="few">združeno iz <xliff:g id="COUNT">%0$d</xliff:g> virov</item>
+      <item quantity="other">združeno iz <xliff:g id="COUNT">%0$d</xliff:g> virov</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Želite združiti stik z izbranim stikom?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Želite urejati izbrani stik? Podatki, ki ste jih doslej vnesli, bodo kopirani."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopiraj v moje stike"</string>
@@ -172,7 +184,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Pomoč"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Pomoč in povratne informacije"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Možnosti prikaza"</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">"Telefonska številka"</string>
@@ -188,19 +200,25 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Uvozi stike"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Ustvarjanje nove skupine"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Ustvari novo skupino"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 skupina"</item>
-    <item quantity="other" msgid="1276758425904917367">"Št. skupin: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> skupina</item>
+      <item quantity="two"><xliff:g id="COUNT">%0$d</xliff:g> skupini</item>
+      <item quantity="few"><xliff:g id="COUNT">%0$d</xliff:g> skupine</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> skupin</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Želite izbrisati skupino »<xliff:g id="GROUP_LABEL">%1$s</xliff:g>«? (Stiki ne bodo izbrisani.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> oseba iz <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"Št. ljudi iz <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">"Št. oseb: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-    <item quantity="other" msgid="6251996206137048525">"Št. oseb: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> oseba iz skupine <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="two"><xliff:g id="COUNT_2">%1$d</xliff:g> osebi iz skupine <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="few"><xliff:g id="COUNT_2">%1$d</xliff:g> osebe iz skupine <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> oseb iz skupine <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> oseba</item>
+      <item quantity="two"><xliff:g id="COUNT_1">%1$d</xliff:g> osebi</item>
+      <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> osebe</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> oseb</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Vnesite ime stika pred združitvijo z drugim."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopiraj v odložišče"</string>
     <string name="set_default" msgid="4417505153468300351">"Nastavi za privzeto"</string>
@@ -264,4 +282,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"nedavni klic. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. kliknite, če želite poklicati nazaj"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Vi: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Pogovori Hangouts delujejo bolje, če v polje za e-pošto ali polje za telefon vnesete identifikator osebe za pogovore Hangouts."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Več polj"</string>
 </resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..1679da4
--- /dev/null
+++ b/res/values-sq-rAL/strings.xml
@@ -0,0 +1,272 @@
+<?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="applicationLabel" msgid="3906689777043645443">"Kontaktet"</string>
+    <string name="launcherActivityLabel" msgid="6497230399032392417">"Kontaktet"</string>
+    <string name="contactsList" msgid="8661624236494819731">"Kontaktet"</string>
+    <string name="shortcutContact" msgid="749243779392912958">"Kontakti"</string>
+    <string name="shortcutDialContact" msgid="746622101599186779">"Telefonatë e drejtpërdrejtë"</string>
+    <string name="shortcutMessageContact" msgid="2460337253595976198">"Mesazh i drejtpërdrejtë"</string>
+    <string name="shortcutActivityTitle" msgid="6642877210643565436">"Zgjidh një shkurtore të kontaktit"</string>
+    <string name="callShortcutActivityTitle" msgid="6065749861423648991">"Zgjidh një numër për ta telefonuar"</string>
+    <string name="messageShortcutActivityTitle" msgid="3084542316620335911">"Zgjidh një numër për t\'i dërguar mesazh"</string>
+    <string name="contactInsertOrEditActivityTitle" msgid="6527505405325862674">"Shto te kontakti"</string>
+    <string name="contactPickerActivityTitle" msgid="4301062192337417640">"Zgjidh një kontakt"</string>
+    <string name="header_entry_contact_list_adapter_header_title" msgid="2436981165830115659">"Krijo një kontakt të ri"</string>
+    <string name="starredList" msgid="4817256136413959463">"Me yll"</string>
+    <string name="frequentList" msgid="7154768136473953056">"Të shpeshtat"</string>
+    <string name="strequentList" msgid="5640192862059373511">"Të preferuarat"</string>
+    <string name="viewContactTitle" msgid="7989394521836644384">"Detajet e kontaktit"</string>
+    <string name="editContactDescription" msgid="2947202828256214947">"Redakto kontaktin"</string>
+    <string name="insertContactDescription" msgid="4709878105452681987">"Krijo një kontakt"</string>
+    <string name="editGroupDescription" msgid="6321161304201540561">"Redakto grupin"</string>
+    <string name="insertGroupDescription" msgid="5658512271662210139">"Krijo një grup"</string>
+    <string name="contactDetailAbout" msgid="5430408883907061400">"Informacion rreth"</string>
+    <string name="contactDetailUpdates" msgid="3780588624763446941">"Përditësimet"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Kërko për kontakte"</string>
+    <string name="menu_viewContact" msgid="2795575601596468581">"Shiko kontaktin"</string>
+    <string name="menu_addStar" msgid="2908478235715404876">"Shto te të preferuarat"</string>
+    <string name="menu_removeStar" msgid="5844227078364227030">"Hiq nga të preferuarat"</string>
+    <string name="description_action_menu_remove_star" msgid="4699640108012265178">"U hoq nga të preferuarat"</string>
+    <string name="description_action_menu_add_star" msgid="3327186327234177456">"U shtua te të preferuarat"</string>
+    <string name="menu_editContact" msgid="9042415603857662633">"Redakto"</string>
+    <string name="menu_deleteContact" msgid="6788644058868189393">"Fshi"</string>
+    <string name="menu_change_photo" msgid="7769177631511496210">"Ndrysho fotografinë"</string>
+    <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Vendose në \"Ekranin bazë\""</string>
+    <string name="menu_call" msgid="3992595586042260618">"Telefono kontaktin"</string>
+    <string name="menu_sendSMS" msgid="5535886767547006515">"Dërgo mesazh me tekst te kontakti"</string>
+    <string name="menu_splitAggregate" msgid="8368636463748691868">"Ndaje"</string>
+    <string name="menu_editGroup" msgid="5062005185370983720">"Redakto"</string>
+    <string name="menu_deleteGroup" msgid="3486380004411482874">"Fshi"</string>
+    <string name="menu_new_contact_action_bar" msgid="7263362129442119188">"Shto një kontakt"</string>
+    <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Shto një grup"</string>
+    <string name="splitConfirmation_title" msgid="633640935430370530">"Të ndahet kontakti?"</string>
+    <string name="splitConfirmation" msgid="740190210499587175">"Ky kontakt do të ndahet në shumë kontakte."</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Shkri"</string>
+    <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Bashkoji kontaktet"</string>
+    <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Zgjidh kontaktin që dëshiron të bashkosh me <xliff:g id="NAME">%s</xliff:g>:"</string>
+    <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Shfaq të gjitha kontaktet"</string>
+    <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Kontaktet e sugjeruara"</string>
+    <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Të gjitha kontaktet"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontaktet u shkrinë"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontaktet u fshinë"</string>
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Cakto tonin e ziles"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Të gjitha telefonatat te posta zanore"</string>
+    <string name="readOnlyContactWarning" msgid="7808825687289848259">"Nuk mund t\'i fshish kontaktet nga llogaritë \"vetëm për lexim\", por mund t\'i fshehësh në listat e tua të kontakteve."</string>
+    <string name="readOnlyContactDeleteConfirmation" msgid="2137170726670196909">"Ky kontakt përmban informacione nga shumë llogari. Informacionet nga llogaritë \"vetëm për lexim\", nuk do të shfaqen në listën tënde të kontakteve. Megjithatë, kjo nuk do të thotë se ato do të fshihen."</string>
+    <string name="batch_merge_single_contact_warning" msgid="982585201970392110">"Të duhen të paktën dy kontakte të zgjedhura për të kryer një shkrirje."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Kontaktet e zgjedhura do të shkrihen në një kontakt të vetëm."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Kontaktet e zgjedhura do të fshihen."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Informacionet nga llogaritë \"vetëm për lexim\" do të jenë të fshehura në listën tënde të kontakteve, por nuk do të fshihen."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Këto kontakte përmbajnë informacione nga shumë llogari. Informacionet nga llogaritë \"vetëm për lexim\" do të jenë të fshehura në listën tënde të kontakteve, por nuk do të fshihen."</string>
+    <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Fshirja e këtij kontakti do të fshijë informacionet nga shumë llogari."</string>
+    <string name="deleteConfirmation" msgid="811706994761610640">"Ky kontakt do të fshihet."</string>
+    <string name="menu_discard" msgid="6854657936970228164">"Hidhi poshtë ndryshimet"</string>
+    <string name="invalidContactMessage" msgid="8215051456181842274">"Kontakti nuk ekziston."</string>
+    <string name="createContactShortcutSuccessful" msgid="7874133287558150877">"Miniaplikacioni i kontakteve u shtua tek \"Ekrani bazë\"."</string>
+    <string name="pickerNewContactHeader" msgid="7750705279843568147">"Krijo një kontakt të ri"</string>
+    <string name="pickerNewContactText" msgid="6166997164401048211">"Krijo një kontakt të ri"</string>
+  <string-array name="otherLabels">
+    <item msgid="8287841928119937597">"Organizata"</item>
+    <item msgid="7196592230748086755">"Shënim."</item>
+  </string-array>
+    <string name="photoPickerNotFoundText" product="tablet" msgid="6247290728908599701">"Nuk ka fotografi të përdorshme në tablet."</string>
+    <string name="photoPickerNotFoundText" product="default" msgid="431331662154342581">"Nuk ka fotografi të përdorshme në telefon."</string>
+    <string name="attach_photo_dialog_title" msgid="5599827035558557169">"Fotografia e kontaktit"</string>
+    <string name="customLabelPickerTitle" msgid="1081475101983255212">"Emri i personalizuar i etiketës"</string>
+    <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Dërgoji telefonatat drejtpërdrejt te posta zanore"</string>
+    <string name="removePhoto" msgid="4898105274130284565">"Hiqe fotografinë"</string>
+    <string name="noContacts" msgid="8579310973261953559">"Nuk ka asnjë kontakt."</string>
+    <string name="noGroups" msgid="8614664663561385253">"Nuk ka asnjë grup."</string>
+    <string name="noAccounts" msgid="7768267764545265909">"Për të krijuar grupe të duhet një llogari."</string>
+    <string name="emptyGroup" msgid="7502116218697177370">"Nuk ka persona në këtë grup."</string>
+    <string name="addPeopleToGroup" msgid="7879585947222263516">"Për të shtuar disa anëtarë, redakto grupin."</string>
+    <string name="savingContact" msgid="4075751076741924939">"Po ruan kontaktin…"</string>
+    <string name="contactSavedToast" msgid="7152589189385441091">"Kontakti u ruajt."</string>
+    <string name="contactSavedErrorToast" msgid="3207250533172944892">"Ndryshimet e kontaktit nuk mund të ruheshin."</string>
+    <string name="groupSavedToast" msgid="1168756874239833756">"Grupi u ruajt."</string>
+    <string name="groupSavedErrorToast" msgid="7984466936615304740">"Ndryshimet e grupit nuk mund të ruheshin."</string>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontakte me numra telefoni</item>
+      <item quantity="one">1 kontakt me numër telefoni</item>
+    </plurals>
+    <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Nuk ka kontakte me numra telefoni"</string>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other">U gjetën <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">U gjet 1</item>
+    </plurals>
+    <string name="listFoundAllContactsZero" msgid="922980883593159444">"Nuk ka asnjë kontakt"</string>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other">U gjetën <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">U gjet 1</item>
+    </plurals>
+    <string name="all_contacts_tab_label" msgid="6250372293594147703">"Të gjitha kontaktet"</string>
+    <string name="favorites_tab_label" msgid="1524869648904016414">"Të preferuarat"</string>
+    <string name="callBack" msgid="5498224409038809224">"Ritelefonoje"</string>
+    <string name="callAgain" msgid="3197312117049874778">"Telefono përsëri"</string>
+    <string name="returnCall" msgid="8171961914203617813">"Ktheji telefonatën"</string>
+    <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Të shtohet \"<xliff:g id="EMAIL">%s</xliff:g>\" te kontaktet?"</string>
+    <string name="description_contact_photo" msgid="3387458082667894062">"fotografia e kontaktit"</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> nga gjithsej <xliff:g id="TOTAL_NUMBER">%s</xliff:g> kontakte"</string>
+    <string name="search_settings_description" msgid="2675223022992445813">"Emrat e kontakteve të tua"</string>
+    <string name="quickcontact_missing_app" msgid="358168575340921552">"Nuk u gjet asnjë aplikacion për të menaxhuar këtë veprim"</string>
+    <string name="quickcontact_transparent_view_description" msgid="987959416759562455">"Kliko për t\'u kthyer tek ekrani i mëparshëm"</string>
+    <string name="quickcontact_add_phone_number" msgid="731665835910658965">"Shto një numër telefoni"</string>
+    <string name="quickcontact_add_email" msgid="739298028384348482">"Shto një mail"</string>
+    <string name="missing_app" msgid="1466111003546611387">"Nuk u gjet asnjë aplikacion për të menaxhuar këtë veprim"</string>
+    <string name="menu_share" msgid="943789700636542260">"Shpërnda"</string>
+    <string name="menu_add_contact" msgid="3198704337220892684">"Shto te kontaktet"</string>
+    <string name="share_via" msgid="563121028023030093">"Shpërnda kontaktin nëpërmjet"</string>
+    <string name="dialog_new_group_account" msgid="2318032089273496830">"Krijo një grup nën llogari"</string>
+    <string name="audio_chat" msgid="2535716629358298691">"Biseda me zë"</string>
+    <string name="video_chat" msgid="1872255818640336072">"Biseda me video"</string>
+    <string name="connections" msgid="8098440723172028350">"Lidhjet"</string>
+    <string name="add_connection_button" msgid="4861308615789601727">"Shto një lidhje"</string>
+    <string name="recent" msgid="2659189233141493004">"Të fundit"</string>
+    <string name="recent_updates" msgid="4267258535615860710">"Përditësimet së fundi"</string>
+    <string name="account_type_format" msgid="718948015590343010">"Kontakt i <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
+    <!-- no translation found for from_account_format (4469138575127580203) -->
+    <skip />
+    <string name="contact_read_only" msgid="7421346527289472273">"Nuk mund të redaktohet nga ky aplikacion."</string>
+    <string name="group_read_only" msgid="1061762906115697637">"Nuk mund të redaktohet në këtë pajisje."</string>
+    <string name="take_photo" msgid="7496128293167402354">"Bëj një fotografi"</string>
+    <string name="take_new_photo" msgid="7341354729436576304">"Bëj një fotografi të re"</string>
+    <string name="pick_photo" msgid="2129509985223564942">"Zgjidh një fotografi"</string>
+    <string name="pick_new_photo" msgid="9122450996263688237">"Zgjidh një fotografi të re"</string>
+    <string name="locale_change_in_progress" msgid="7583992153091537467">"Lista e kontakteve po përditësohet për të pasqyruar ndryshimin e gjuhës."</string>
+    <string name="upgrade_in_progress" msgid="474511436863451061">"Lista e kontakteve po përditësohet."</string>
+    <string name="search_results_searching" msgid="3984833028938569930">"Po kërkon..."</string>
+    <string name="menu_display_selected" msgid="6470001164297969034">"Shfaq të zgjedhurat"</string>
+    <string name="menu_display_all" msgid="8887488642609786198">"Shfaqi të gjithë"</string>
+    <string name="menu_select_all" msgid="621719255150713545">"Zgjidhi të gjitha"</string>
+    <string name="menu_select_none" msgid="7093222469852132345">"Hiq zgjedhjen nga të gjitha"</string>
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Shto të re"</string>
+    <string name="add_organization" msgid="7311893231158291197">"Shto një organizatë"</string>
+    <string name="event_edit_field_hint_text" msgid="5794424930242630477">"Data"</string>
+    <string name="group_edit_field_hint_text" msgid="3966441850870457808">"Emri i grupit"</string>
+    <string name="change_photo" msgid="8530597935483526383">"Ndërro"</string>
+    <string name="primary_photo" msgid="8517942231868516999">"Fotografia parësore"</string>
+    <string name="description_star" msgid="2605854427360036550">"i preferuar"</string>
+    <string name="edit_contact" msgid="7529281274005689512">"Redakto kontaktin"</string>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"> të shkrirë nga <xliff:g id="COUNT">%0$d</xliff:g> burime</item>
+      <item quantity="one"> i pashkrirë</item>
+    </plurals>
+    <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Të bashkohet kontakti aktual me kontaktin e zgjedhur?"</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Të kalohet te redaktimi i kontaktit të zgjedhur? Informacionet që fute deri tani do të kopjohen."</string>
+    <string name="menu_copyContact" msgid="1573960845106822639">"Kopjo te \"Kontaktet e mia\""</string>
+    <string name="add_to_my_contacts" msgid="1068274916793627723">"Shto te \"Kontaktet e mia\""</string>
+    <string name="contact_directory_description" msgid="683398073603909119">"Direktoria <xliff:g id="TYPE">%1$s</xliff:g>"</string>
+    <string name="list_filter_custom" msgid="8910173055702057002">"Të personalizuara"</string>
+    <string name="activity_title_settings" msgid="5464130076132770781">"Cilësimet"</string>
+    <string name="menu_settings" msgid="377929915873428211">"Cilësimet"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Ndihma dhe reagimi"</string>
+    <string name="preference_displayOptions" msgid="1341720270148252393">"Opsionet e paraqitjes"</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">"Numri i telefonit"</string>
+    <string name="non_phone_add_to_contacts" msgid="6590985286250471169">"Shto te kontaktet"</string>
+    <string name="activity_title_confirm_add_detail" msgid="4065089866210730616">"Shto te kontakti"</string>
+    <string name="non_phone_close" msgid="7608506439725515667">"Mbyll"</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">"Shkruaj një vit"</string>
+    <string name="social_widget_label" msgid="6378905543028924592">"Kontakti"</string>
+    <string name="social_widget_loading" msgid="5327336597364074608">"Po ngarkon..."</string>
+    <string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Krijo një kontakt të ri"</string>
+    <string name="contacts_unavailable_add_account" msgid="7911101713860139754">"Identifikohu në një llogari"</string>
+    <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importo kontaktet"</string>
+    <string name="create_group_dialog_title" msgid="6874527142828424475">"Krijo një grup të ri"</string>
+    <string name="create_group_item_label" msgid="4411981763169654825">"Krijo një grup të ri"</string>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupe</item>
+      <item quantity="one">1 grup</item>
+    </plurals>
+    <string name="delete_group_dialog_message" msgid="7586856514337560529">"Të fshihet grupi \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Kontaktet nuk do të fshihen.)"</string>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> persona nga <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> person nga <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> persona</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> person</item>
+    </plurals>
+    <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Shkruaj emrin e kontaktit para se ta bashkosh me një tjetër."</string>
+    <string name="copy_text" msgid="3257145021583508761">"Kopjo në kujtesën e fragmenteve"</string>
+    <string name="set_default" msgid="4417505153468300351">"Vendos të parazgjedhurën"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Pastro të paracaktuarin"</string>
+    <string name="toast_text_copied" msgid="5143776250008541719">"Teksti u kopjua"</string>
+    <string name="cancel_confirmation_dialog_message" msgid="5885724679874403115">"Të hiqen ndryshimet e tua?"</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">"Konfiguro profilin tim"</string>
+    <string name="enter_contact_name" msgid="1738391320566349924">"Shkruaj emrin e personit"</string>
+    <string name="group_name_hint" msgid="238359485263401293">"Emri i grupit"</string>
+    <string name="local_profile_title" msgid="2021416826991393684">"Profili im lokal"</string>
+    <string name="external_profile_title" msgid="8034998767621359438">"Profili im i <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
+    <string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Po shfaq të gjitha kontaktet"</string>
+    <string name="no_account_prompt" msgid="6424883302325061025">"Kontaktet funksionojnë më mirë me një llogari të Google.\n\n• Qasje nga çdo shfletues uebi.\n• Rezervim kontaktesh në mënyrë të sigurt."</string>
+    <string name="generic_no_account_prompt" msgid="7218827704367325460">"Mbaji kontaktet e tua të sigurta edhe nëse të humbet telefoni. Sinkronizoji me një shërbim në linjë."</string>
+    <string name="generic_no_account_prompt_title" msgid="753783911899054860">"Shto një llogari"</string>
+    <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Kontakti yt i ri nuk do të rezervohet. Të shtohet një llogari që i rezervon kontaktet në linjë?"</string>
+    <string name="contact_editor_prompt_one_account" msgid="8669032699767375976">"Kontakti yt i ri do të sinkronizohet me <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
+    <string name="contact_editor_prompt_multiple_accounts" msgid="611828200100438242">"Mund ta sinkronizosh kontaktin tënd të ri me një nga llogaritë e mëposhtme. Cilën dëshiron të përdorësh?"</string>
+    <string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Shto një kontakt të ri"</string>
+    <string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Modifiko kontaktin"</string>
+    <string name="keep_local" msgid="1258761699192993322">"Mbaje në nivel lokal"</string>
+    <string name="add_account" msgid="8201790677994503186">"Shto një llogari"</string>
+    <string name="add_new_account" msgid="5748627740680940264">"Shto një llogari të re"</string>
+    <string name="menu_export_database" msgid="2659719297530170820">"Eksporto skedarët e bazës së të dhënave"</string>
+    <string name="action_menu_add_new_contact_button" msgid="3180222523336380017">"shto një kontakt të ri"</string>
+    <string name="expanding_entry_card_view_see_more" msgid="3779194067124758079">"Shiko më shumë"</string>
+    <string name="expanding_entry_card_view_see_less" msgid="5344160551629714168">"Shiko më pak"</string>
+    <string name="expanding_entry_card_view_see_all" msgid="3845258737661412627">"Shikoji të gjitha"</string>
+    <string name="recent_card_title" msgid="8982782042698001695">"Të fundit"</string>
+    <string name="about_card_title" msgid="2920942314212825637">"Informacion rreth"</string>
+    <string name="send_message" msgid="8938418965550543196">"Dërgo mesazh"</string>
+    <string name="toast_making_personal_copy" msgid="6137651078366797938">"Po krijon një kopje personale..."</string>
+    <string name="yesterday" msgid="6840858548955018569">"Dje"</string>
+    <string name="tomorrow" msgid="6241969467795308581">"Nesër"</string>
+    <string name="today" msgid="8041090779381781781">"Sot"</string>
+    <string name="today_at_time_fmt" msgid="605665249491030460">"Sot në <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
+    <string name="tomorrow_at_time_fmt" msgid="4856497969617819421">"Nesër në <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">"(Ngjarje e patitulluar)"</string>
+    <string name="date_time_set" msgid="4761419824439606690">"Cakto"</string>
+    <string name="header_im_entry" msgid="3581720979640225615">"Mesazh i çastit"</string>
+    <string name="header_organization_entry" msgid="8515394955666265406">"Organizata"</string>
+    <string name="header_nickname_entry" msgid="6743561883967451485">"Pseudonimi"</string>
+    <string name="header_note_entry" msgid="4320190426480612344">"Shënim"</string>
+    <string name="header_website_entry" msgid="1411467850000824745">"Uebsajti"</string>
+    <string name="header_event_entry" msgid="6738250422744401460">"Ngjarje"</string>
+    <string name="header_relation_entry" msgid="1520292958088146460">"Lidhja"</string>
+    <string name="header_account_entry" msgid="2684318506427891827">"Llogaria"</string>
+    <string name="header_name_entry" msgid="1592791008096288306">"Emri"</string>
+    <string name="header_email_entry" msgid="8666093061171624478">"Mail-i"</string>
+    <string name="header_phone_entry" msgid="8450980572274173570">"Telefoni"</string>
+    <string name="header_photo_entry" msgid="4438023151411853238">"Fotografia"</string>
+    <string name="content_description_expand_editor" msgid="1111381475901897470">"Kliko për ta zgjeruar redaktorin e kontaktit."</string>
+    <string name="content_description_collapse_editor" msgid="7598061318022977825">"Kliko për ta palosur redaktorin e kontaktit."</string>
+    <string name="content_description_directions" msgid="2686791825798189335">"drejtime për te vendndodhja"</string>
+    <string name="content_description_recent_sms" msgid="1666389577263317445">"sms-ja e fundit. <xliff:g id="MESSAGE_BODY">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. kliko për t\'u përgjigjur"</string>
+    <string name="content_description_recent_call_type_incoming" msgid="5210739096863511410">"hyrëse"</string>
+    <string name="content_description_recent_call_type_outgoing" msgid="5156553338985232744">"dalëse"</string>
+    <string name="content_description_recent_call_type_missed" msgid="7371810920196048204">"të humbura"</string>
+    <string name="content_description_recent_call" msgid="5183800406316723676">"telefonata e fundit. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. kliko për të ri-telefonuar"</string>
+    <string name="message_from_you_prefix" msgid="7180706529908434482">"Ti: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
+    <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Shërbimi \"Hangouts\" funksionon më mirë kur fut identifikuesin e personit në fushën e mail-it ose në fushën e telefonit."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Më shumë fusha"</string>
+</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 0916b6d..ebeb86e 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Промени слику"</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>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Обједини"</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="contactsJoinedMessage" msgid="656936718666768589">"Контакти су обједињени"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Контакти су избрисани"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Треба да изаберете најмање два контакта да бисте их објединили."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Изабрани контакти ће бити обједињени у један контакт."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Изабрани контакти ће бити избрисани."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Информације са налога који су само за читање неће бити избрисане са листе контаката, него скривене."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Ови контакти садрже информације са више налога. Информације са налога који су само за читање неће бити избрисане са листе контаката, него скривене."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Ако избришете овај контакт, биће избрисане информације са више налога."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Овај контакт ће бити избрисан."</string>
     <string name="menu_discard" msgid="6854657936970228164">"Одбаци промене"</string>
@@ -94,20 +101,23 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> контакт са бројем телефона</item>
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> контакта са бројевима телефона</item>
+      <item quantity="other"><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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one">пронађен је <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="few">пронађена су <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">пронађено је <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one">пронађен је <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="few">пронађена су <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">пронађено је <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>
@@ -144,9 +154,6 @@
     <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>
@@ -160,10 +167,11 @@
     <string name="primary_photo" msgid="8517942231868516999">"Главна слика"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">обједињено је из <xliff:g id="COUNT">%0$d</xliff:g> извора</item>
+      <item quantity="few">обједињено је из <xliff:g id="COUNT">%0$d</xliff:g> извора</item>
+      <item quantity="other">обједињено је из <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>
@@ -172,7 +180,7 @@
     <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="menu_help" msgid="1680178646764069976">"Помоћ и повратне информације"</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>
@@ -188,19 +196,22 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> група</item>
+      <item quantity="few"><xliff:g id="COUNT">%0$d</xliff:g> групе</item>
+      <item quantity="other"><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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> особа са налога <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="few"><xliff:g id="COUNT_2">%1$d</xliff:g> особе са налога <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> особа са налога <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> особа</item>
+      <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> особе</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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>
@@ -264,4 +275,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"Недавни позив. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. Кликните за повратни позив"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Ви: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts ради боље кад унесете Hangouts идентификатор особе у поље за имејл адресу или број телефона."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Још поља"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 84bed0c..1d0dc97 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Ändra bild"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Placera på startskärmen"</string>
     <string name="menu_call" msgid="3992595586042260618">"Ring upp kontakt"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Skicka SMS till kontakt"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Lägg till grupp"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Dela upp kontakten?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Kontakten kommer att delas upp i flera kontakter."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Slå ihop"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Sammanfoga"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Kombinera kontakter"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Välj en kontakt som du vill slå ihop med <xliff:g id="NAME">%s</xliff:g>:"</string>
     <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">"Kontakterna har slagits ihop"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kontakterna har sammanfogats"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontakterna har raderats"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Du måste markera minst två kontakter som ska sammanfogas."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"De valda kontakterna sammanfogas till en."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"De valda kontakterna raderas."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Information från skrivskyddade konton döljs i kontaktlistan, men tas inte bort."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"De här kontakterna 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="6854657936970228164">"Ignorera ändringar"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Det gick inte att spara ändringarna i kontakten."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Gruppen sparades."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Det gick inte att spara ändringarna i gruppen."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"en kontakt med telefonnummer"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> kontakter med telefonnummer"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontakter med telefonnummer</item>
+      <item quantity="one">1 kontakt med telefonnummer</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Inga kontakter med telefonnummer"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> hittades</item>
+      <item quantity="one">1 hittades</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Inga kontakter"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"1 hittades"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> hittades"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> hittades</item>
+      <item quantity="one">1 hittades</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Avinstallera några appar"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Försök uppgradera igen"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Söker …"</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Visa markerade"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Visa alla"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Primärt foto"</string>
     <string name="description_star" msgid="2605854427360036550">"favorit"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Redigera kontakt"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"inte kombinerade"</item>
-    <item quantity="other" msgid="425683718017380845">"kombinerade från <xliff:g id="COUNT">%0$d</xliff:g> källor"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">slagits samman från <xliff:g id="COUNT">%0$d</xliff:g> källor</item>
+      <item quantity="one">har inte slagits samman</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Vill du kombinera kontakten med den markerade kontakten?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Vill du fortsätta att redigera den markerade kontakten? Information som du har angett hittills kommer att kopieras."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopiera till mina kontakter"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Hjälp"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Hjälp och feedback"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Visa alternativ"</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">"Telefonnummer"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Importera kontakter"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Skapa ny grupp"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Skapa ny grupp"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 grupp"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupper"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grupper</item>
+      <item quantity="one">1 grupp</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Vill du ta bort gruppen <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? (Kontakterna tas inte bort.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> person från <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> personer från <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> personer"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> personer från <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> person från <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> personer</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> person</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Skriv in kontaktens namn innan du slår ihop den med en annan."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopiera till Urklipp"</string>
     <string name="set_default" msgid="4417505153468300351">"Ange standard"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"samtal. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. Klicka om du vill ringa upp"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Du: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts fungerar bättre när du anger personens identifierare i Hangouts i e-postfältet eller mobilfältet."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Fler fält"</string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index b2ad7c8..0ff2b45 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Badilisha picha"</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>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Ongeza Kikundi"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Tenganisha anwani?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Mwasiliani atatenganishwa kwa anwani kadha."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Muunganishe"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Unganisha"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Unganisha anwani"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Chagua mwasiliani unayetaka kuugana naye kwa <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Onyesha anwani zote"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Anwani zilizopendekezwa"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Anwani zote"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Anwani zimeunganishwa"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Anwani zimeunganishwa"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Anwani zimefutwa"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Weka mlio wa simu"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Unahitaji kuchagua angalau anwani mbili ili uunganishe."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Anwani ulizochagua zitaunganishwa ziwe anwani moja."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Anwani ulizochagua zitafutwa."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Maelezo kutoka kwa akaunti za kusoma pekee yatafichwa katika orodha zako za anwani, hayatafutwa."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Anwani hizi zina maelezo kutoka kwa akaunti nyingi. Maelezo kutoka kwa akaunti za kusoma pekee yatafichwa katika orodha zako za anwani, hayatafutwa."</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="6854657936970228164">"Usihifadhi mabadiliko"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Haikuweza kuhifadhi mabadiliko ya mwasiliani."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Kikundi kimehifadhiwa."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Haikuweza kuhifadhi mabadiliko  ya kikundi."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"Anwani 1 yenye namba ya simu"</item>
-    <item quantity="other" msgid="3299954047880968205">"Anwani <xliff:g id="COUNT">%d</xliff:g> zilizo na nambari ya simu"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> unaowasiliana nao wenye nambari za simu</item>
+      <item quantity="one">1 unayewasiliana naye mwenye nambari ya simu</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Hakuna anwani zilizo na nambari za simu"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> zimepatikana</item>
+      <item quantity="one">1 imepatikana</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Hakuna anwani"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"Patikana 1"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> zimepatikana"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> zimepatikana</item>
+      <item quantity="one">Moja imepatikana</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Ondoa baadhi ya programu"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Jaribu kupandisha gredi tena"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Inatafuta…"</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Onyesha iliyochaguliwa"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Onyesha zote"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Picha ya msingi"</string>
     <string name="description_star" msgid="2605854427360036550">"kipendwa"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Hariri anwani"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"haijaunganishwa"</item>
-    <item quantity="other" msgid="425683718017380845">"Zimeunganishwa kutoka kwa nyenzo <xliff:g id="COUNT">%0$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">imeunganishwa kutoka sehemu <xliff:g id="COUNT">%0$d</xliff:g></item>
+      <item quantity="one">haijaunganishwa</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">"Ungependa kubadilisha anwani uliyochagua? Maelezo uliyoweka kufikia sasa yatanakiliwa."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Nakili kwa Anwani Zangu"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Usaidizi"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Usaidizi na maoni"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Onyesha machaguo"</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">"Nambari ya simu"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Ingiza anwani"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Unda kikundi kipya"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Unda kikundi kipya"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"Kikundi 1"</item>
-    <item quantity="other" msgid="1276758425904917367">"Vikundi <xliff:g id="COUNT">%0$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other">Makundi <xliff:g id="COUNT">%0$d</xliff:g></item>
+      <item quantity="one">Kundi kimoja</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Futa kikundi \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Anwani zenyewe hazitafutwa.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"Mtu<xliff:g id="COUNT_0">%1$d</xliff:g> kutoka <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"Watu <xliff:g id="COUNT_0">%1$d</xliff:g>  kutoka<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-  </plurals>
-  <plurals name="group_list_num_contacts_in_group">
-    <item quantity="one" msgid="3323065321661972446">"Mtu <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-    <item quantity="other" msgid="6251996206137048525">"Watu <xliff:g id="COUNT">%1$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other">Watu <xliff:g id="COUNT_2">%1$d</xliff:g> kutoka <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one">Mtu<xliff:g id="COUNT_0">%1$d</xliff:g> kutoka <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other">Watu <xliff:g id="COUNT_1">%1$d</xliff:g></item>
+      <item quantity="one">Mtu <xliff:g id="COUNT_0">%1$d</xliff:g></item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Andika jina ya mwasiliani kabla ya kumuunganisha na mwingine."</string>
     <string name="copy_text" msgid="3257145021583508761">"Nakili kwenye ubao wa klipu"</string>
     <string name="set_default" msgid="4417505153468300351">"Weka chaguo-msingi"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"simu ya hivi karibuni. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. bofya ili upige simu"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Wewe: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangout hufanya kazi vizuri zaidi unapoweka nambari ya mtu ya utambulisho wa Hangout katika sehemu ya anwani ya barua pepe au sehemu ya nambari ya simu."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Sehemu Zaidi"</string>
 </resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index 19117df..b0356e0 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"படத்தை மாற்று"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"முகப்புத் திரையில் அமை"</string>
     <string name="menu_call" msgid="3992595586042260618">"தொடர்பை அழை"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"தொடர்பிற்கு உரைச் செய்தியை அனுப்பு"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"ஒன்றிணை"</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="contactsJoinedMessage" msgid="656936718666768589">"தொடர்புகள் இணைக்கப்பட்டன"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"தொடர்புகள் நீக்கப்பட்டன"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"ஒன்றிணைப்பதற்கு, குறைந்தபட்சம் இரண்டு தொடர்புகளையாவது தேர்ந்தெடுத்திருக்க வேண்டும்."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"தேர்ந்தெடுத்த தொடர்புகள் ஒரே தொடர்பாக்கப்படும்."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"தேர்ந்தெடுத்த தொடர்புகள் நீக்கப்படும்."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"படிக்க மட்டுமேயான கணக்குகளின் தகவல்கள் உங்கள் தொடர்புப் பட்டியல்களில் மறைக்கப்படும் ஆனால் நீக்கப்படாது."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"இந்தத் தொடர்புகள் பல கணக்குகளின் தகவலைக் கொண்டுள்ளன. படிக்க மட்டுமேயான கணக்குகளின் தகவல்கள் உங்கள் தொடர்புப் பட்டியல்களில் மறைக்கப்படும் ஆனால் நீக்கப்படாது."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"தொடர்பை நீக்குவது பல கணக்குகளில் உள்ள தகவலை நீக்கும்."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"தொடர்பு நீக்கப்படும்."</string>
     <string name="menu_discard" msgid="6854657936970228164">"மாற்றங்களை நிராகரி"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">மொபைல் எண்களுடன் <xliff:g id="COUNT">%d</xliff:g> தொடர்புகள் உள்ளன</item>
+      <item quantity="one">மொபைல் எண்ணுடன் 1 தொடர்பு உள்ளது</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> கண்டறியப்பட்டன</item>
+      <item quantity="one">1 கண்டறியப்பட்டது</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> கண்டறியப்பட்டன</item>
+      <item quantity="one">1 கண்டறியப்பட்டது</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"முதன்மை படம்"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> மூலங்களிலிருந்து இணைக்கப்பட்டன</item>
+      <item quantity="one">இணைக்கப்படவில்லை</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"உதவி &amp; கருத்துத் தெரிவி"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> குழுக்கள்</item>
+      <item quantity="one">1 குழு</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> இலிருந்து <xliff:g id="COUNT_2">%1$d</xliff:g> பேர்</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> இலிருந்து <xliff:g id="COUNT_0">%1$d</xliff:g> நபர்</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> பேர்</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"சமீபத்திய அழைப்பு. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. திரும்ப அழைக்க, கிளிக் செய்க"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"நீங்கள்: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"பிறரின் Hangouts அடையாளத்தை மின்னஞ்சல் அல்லது ஃபோன் புலத்தில் உள்ளிடும் போது, Hangouts இன்னும் சிறப்பாகச் செயல்படும்."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"மேலும் புலங்கள்"</string>
 </resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index 9789b79..7120de8 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"ఫోటోను మార్చు"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"హోమ్ స్క్రీన్‌లో ఉంచు"</string>
     <string name="menu_call" msgid="3992595586042260618">"పరిచయానికి కాల్ చేయి"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"పరిచయానికి వచనం పంపు"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"విలీనం చేయి"</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="contactsJoinedMessage" msgid="656936718666768589">"పరిచయాలు విలీనం చేయబడ్డాయి"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"పరిచయాలు తొలగించబడ్డాయి"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"మీరు విలీన చర్యను అమలు చేయడానికి కనీసం రెండు పరిచయాలను ఎంచుకోవాలి."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"ఎంచుకున్న పరిచయాలు ఒకే పరిచయంగా విలీనం చేయబడతాయి."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"ఎంచుకున్న పరిచయాలు తొలగించబడతాయి."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"చదవడానికి మాత్రమే అనుమతి ఉన్న ఖాతాల్లోని సమాచారం మీ పరిచయాల జాబితాల్లో దాచబడుతుంది కానీ తొలగించబడదు."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"ఈ పరిచయాలు బహుళ ఖాతాల నుండి సమాచారాన్ని కలిగి ఉన్నాయి. చదవడానికి మాత్రమే అనుమతి ఉన్న ఖాతాల్లోని సమాచారం మీ పరిచయాల జాబితాల్లో దాచబడుతుంది కానీ తొలగించబడదు."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"ఈ పరిచయాన్ని తొలగించడం వలన బహుళ ఖాతాల నుండి సమాచారం తొలగించబడుతుంది."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"ఈ పరిచయం తొలగించబడుతుంది."</string>
     <string name="menu_discard" msgid="6854657936970228164">"మార్పులను విస్మరించు"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">ఫోన్ నంబర్‌లు ఉన్న <xliff:g id="COUNT">%d</xliff:g> పరిచయాలు</item>
+      <item quantity="one">ఫోన్ నంబర్ ఉన్న 1 పరిచయం</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> కనుగొనబడ్డాయి</item>
+      <item quantity="one">1 కనుగొనబడింది</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> కనుగొనబడ్డాయి</item>
+      <item quantity="one">1 కనుగొనబడింది</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"ప్రాథమిక ఫోటో"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> మూలాల నుండి విలీనం చేయబడ్డాయి</item>
+      <item quantity="one">విలీనం చేయబడలేదు</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"సహాయం &amp; అభిప్రాయం"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> సమూహాలు</item>
+      <item quantity="one">1 సమూహం</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> నుండి <xliff:g id="COUNT_2">%1$d</xliff:g> మంది వ్యక్తులు</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> నుండి <xliff:g id="COUNT_0">%1$d</xliff:g> వ్యక్తి</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> మంది వ్యక్తులు</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"ఇటీవలి కాల్. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. తిరిగి కాల్ చేయడానికి క్లిక్ చేయండి"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"మీరు: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"మీరు ఇమెయిల్ ఫీల్డ్ లేదా ఫోన్ ఫీల్డ్‌లో వ్యక్తి యొక్క Hangouts ఐడెంటిఫైయర్‌ని నమోదు చేసినప్పుడు Hangouts ఉత్తమంగా పని చేస్తాయి."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"మరిన్ని ఫీల్డ్‌లు"</string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 595da9e..44f99bc 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"เปลี่ยนรูปภาพ"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"วางบนหน้าจอหลัก"</string>
     <string name="menu_call" msgid="3992595586042260618">"โทรหารายชื่อในสมุดโทรศัพท์"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"ส่งข้อความถึงรายชื่อในสมุดโทรศัพท์"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"รวม"</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="contactsJoinedMessage" msgid="656936718666768589">"รวมรายชื่อติดต่อแล้ว"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"ลบรายชื่อติดต่อแล้ว"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"คุณต้องเลือกรายชื่อติดต่อไว้อย่างน้อย 2 รายการเพื่อดำเนินการรวม"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"รายชื่อติดต่อที่เลือกไว้จะรวมเป็นรายชื่อเดียว"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"ระบบจะลบรายชื่อติดต่อที่เลือก"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"ระบบจะซ่อนข้อมูลจากบัญชีที่อ่านอย่างเดียวไว้ในรายชื่อติดต่อโดยไม่ลบออก"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"รายชื่อติดต่อเหล่านี้มีข้อมูลจากหลายบัญชี ระบบจะซ่อนข้อมูลจากบัญชีที่อ่านอย่างเดียวไว้ในรายชื่อติดต่อของคุณโดยไม่ลบออก"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"การลบสมุดโทรศัพท์นี้จะลบข้อมูลจากบัญชีแบบหลายรายการ"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"รายชื่อนี้จะถูกลบ"</string>
     <string name="menu_discard" msgid="6854657936970228164">"ยกเลิกการเปลี่ยนแปลง"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> รายชื่อติดต่อมีหมายเลขโทรศัพท์</item>
+      <item quantity="one">1 รายชื่อติดต่อมีหมายเลขโทรศัพท์</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other">พบ <xliff:g id="COUNT">%d</xliff:g> รายการ</item>
+      <item quantity="one">พบ 1 รายการ</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other">พบ <xliff:g id="COUNT">%d</xliff:g> รายการ</item>
+      <item quantity="one">พบ 1 รายการ</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"รูปภาพหลัก"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">รวมจาก <xliff:g id="COUNT">%0$d</xliff:g> แหล่งที่มา</item>
+      <item quantity="one">ไม่ได้รวม</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"ความช่วยเหลือและความคิดเห็น"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> กลุ่ม</item>
+      <item quantity="one">1 กลุ่ม</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> คนจาก <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> คนจาก <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> คน</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"โทรล่าสุด <xliff:g id="CALL_TYPE">%s</xliff:g> <xliff:g id="PHONE_NUMBER">%s</xliff:g> <xliff:g id="DATE">%s</xliff:g> คลิกเพื่อโทรกลับ"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"คุณ: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"แฮงเอาท์ทำงานได้ดียิ่งขึ้นเมื่อคุณป้อนตัวระบุแฮงเอาท์ของบุคคลที่ต้องการลงในช่องอีเมลหรือช่องโทรศัพท์"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"ช่องเพิ่มเติม"</string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 7f5af50..8e2dd70 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -46,6 +46,7 @@
     <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">"I-delete"</string>
+    <string name="menu_change_photo" msgid="7769177631511496210">"Palitan ang larawan"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Ilagay sa Home screen"</string>
     <string name="menu_call" msgid="3992595586042260618">"Tawagan ang contact"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Mag-text sa contact"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Magdagdag ng Pangkat"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Ihiwalay ang contact?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Paghihiwa-hiwalayin ang contact na ito patungo sa maramihang contact."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Sumali"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"I-merge"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Sumali sa mga contact"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Piliin ang contact na gusto mong isama sa/kay <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Ipakita ang lahat ng mga contact"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Mga iminumungkahing contact"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Lahat ng mga contact"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Pinagsama ang mga contact"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Pinagsama ang mga contact"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Na-delete ang mga contact"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Itakda ang ringtone"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Lahat ng tawag sa voicemail"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Hindi ka makakapagtanggal ng mga contact mula sa mga read-only na account, ngunit maitatago mo ang mga ito sa iyong mga listahan ng mga contact."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Kailangan mo ng kahit dalawang piniling contact upang gumawa ng pag-merge."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Ime-merge sa iisang contact ang mga piniling contact."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Ide-delete ang mga piniling contact."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Itatago sa iyong mga listahan ng contact ang impormasyon mula sa mga read-only na account, hindi ide-delete."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Naglalaman ng impormasyon mula sa maraming account ang mga contact na ito. Itatago sa iyong mga listahan ng contact ang impormasyon mula sa mga read-only na account, hindi ide-delete."</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="6854657936970228164">"I-discard ang mga pagbabago"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Hindi ma-save ang mga pagbabago sa contact."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Na-save ang pangkat."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Hindi ma-save ang mga pagbabago sa pangkat."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 contact na may numero ng telepono"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> (na) contact na may mga numero ng telepono"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> contact na may mga numero ng telepono</item>
+      <item quantity="other"><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="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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ang nahanap</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ang nahanap</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Walang mga contact"</string>
-  <plurals name="searchFoundContacts">
-    <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ang nahanap</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ang nahanap</item>
+    </plurals>
     <string name="all_contacts_tab_label" msgid="6250372293594147703">"Lahat ng Contact"</string>
     <string name="favorites_tab_label" msgid="1524869648904016414">"Mga Paborito"</string>
     <string name="callBack" msgid="5498224409038809224">"Tumawag pabalik"</string>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"I-uninstall ang ilang application"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Muling subukan ang i-upgrade"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Naghahanap…"</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Ipakita ang napili"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Ipakita lahat"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Pangunahing larawan"</string>
     <string name="description_star" msgid="2605854427360036550">"paborito"</string>
     <string name="edit_contact" msgid="7529281274005689512">"I-edit ang Contact"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"hindi pinagsama"</item>
-    <item quantity="other" msgid="425683718017380845">"pinagsama mula sa <xliff:g id="COUNT">%0$d</xliff:g> (na) pinagmumulan"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">pinagsama mula sa <xliff:g id="COUNT">%0$d</xliff:g> pinagmulan</item>
+      <item quantity="other">pinagsama mula sa <xliff:g id="COUNT">%0$d</xliff:g> na pinagmulan</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Isama ang kasalukuyang contact sa piniling contact?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Lumipat sa pag-edit ng napiling contact? Kokopyahin ang impormasyong ipinasok mo sa ngayon."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopyahin sa Aking Mga Contact"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Tulong"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Tulong at feedback"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Mga pagpipilian sa pagpapakita"</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">"Numero ng telepono"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Mag-import ng mga contact"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Lumikha ng bagong pangkat"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Lumikha ng bagong pangkat"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 pangkat"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> (na) pangkat"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> pangkat</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> na pangkat</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Tanggalin ang pangkat na \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Hindi tatanggalin ang mismong mga contact.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> (na) tao mula sa <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> (na) tao mula sa <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> (na) tao"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> (na) tao"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> tao mula sa <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> na tao mula sa <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> tao</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> na tao</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"I-type ang pangalan ng contact bago isama sa isa pa."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopyahin sa clipboard"</string>
     <string name="set_default" msgid="4417505153468300351">"Itakda ang default"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"kamakailang tawag. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. mag-click upang tumawag"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Ikaw: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Gagana nang mas maayos ang Hangouts kapag inilagay mo ang identifier sa Hangouts ng isang tao sa field ng email o sa field ng telepono."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Higit Pang Mga Field"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 9ec99fb..4bdbae5 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -38,7 +38,7 @@
     <string name="insertGroupDescription" msgid="5658512271662210139">"Grup oluştur"</string>
     <string name="contactDetailAbout" msgid="5430408883907061400">"Hakkında"</string>
     <string name="contactDetailUpdates" msgid="3780588624763446941">"Güncellemlr"</string>
-    <string name="searchHint" msgid="8482945356247760701">"Kişileri ara"</string>
+    <string name="searchHint" msgid="8482945356247760701">"Kişilerde ara"</string>
     <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>
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Fotoğrafı değiştir"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Ana ekrana yerleştir"</string>
     <string name="menu_call" msgid="3992595586042260618">"Çağrı yap"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Kısa mesaj gönder"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Grup Ekle"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Kişi ayrılsın mı?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Kişi birden çok kişiye ayrılacak."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Birleştir"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Birleştir"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Kişileri birleştir"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"<xliff:g id="NAME">%s</xliff:g> ile birleştirmek istediğiniz kişiyi seçin:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Tüm kişileri göster"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Önerilen kişiler"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Tüm kişiler"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Kişiler birleştirildi"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Kişiler birleştirildi"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kişiler silindi"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Zil sesi ayarla"</string>
-    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Sesli mesaja gelen tüm çağrlr"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Tüm çağrıları sesli mesaja"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Kişileri salt okunur hesaplardan silemezsiniz, ancak bu kişileri kişiler listenizde gizleyebilirsiniz."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Birleştirme işlemi için en az iki kişi seçmeniz gerekir."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Seçili kişiler tek bir kişi olarak birleştirilecek."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Seçili kişiler silinecek."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Salt okunur hesaplara ait bilgiler kişi listelerinizde silinmeyecek, gizlenecektir."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Bu kişiler birden fazla hesaba ait bilgi içeriyor. Salt okunur hesaplara ait bilgiler kişi listelerinizde silinmeyecek, gizlenecektir."</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="6854657936970228164">"Değişiklikleri sil"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Kişi değişiklikleri kaydedilemedi."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Grup kaydedildi."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Grup değişiklikleri kaydedilemedi."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"Telefon numarası olan 1 kişi"</item>
-    <item quantity="other" msgid="3299954047880968205">"Telefon numarası olan <xliff:g id="COUNT">%d</xliff:g> kişi"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">Telefon numarası olan <xliff:g id="COUNT">%d</xliff:g> kişi</item>
+      <item quantity="one">Telefon numarası olan 1 kişi</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Telefon numarası olan hiçbir kişi yok"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kişi bulundu</item>
+      <item quantity="one">1 kişi bulundu</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Hiç kişi yok"</string>
-  <plurals name="searchFoundContacts">
-    <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kişi bulundu</item>
+      <item quantity="one">1 kişi bulundu</item>
+    </plurals>
     <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>
@@ -125,7 +132,7 @@
     <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="share_via" msgid="563121028023030093">"Kişiyi şunu kullanarak 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>
     <string name="video_chat" msgid="1872255818640336072">"Görüntülü sohbet"</string>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Bazı uygulamaları kaldırın"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Yeni sürüme geçmeyi tekrar dene"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Aranıyor…"</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Seçileni göster"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Tümünü göster"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Birincil fotoğraf"</string>
     <string name="description_star" msgid="2605854427360036550">"favori"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Kişiyi düzenle"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"birleştirilmemiş"</item>
-    <item quantity="other" msgid="425683718017380845">"<xliff:g id="COUNT">%0$d</xliff:g> kaynaktan birleştirildi"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> kaynaktan birleştirilmiş</item>
+      <item quantity="one">birleştirilmemiş</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Mevcut kişi, seçili kişiyle birleştirilsin mi?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Seçili kişiyi düzenlemeye geçilsin mi? Şimdiye kadar girdiğiniz bilgiler kopyalanacak."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kişilerime kopyala"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Yardım"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Yardım ve geri bildirim"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Görüntüleme seçenekleri"</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 numarası"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Kişileri içe aktar"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Yeni grup oluştur"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Yeni grup oluştur"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 grup"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grup"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> grup</item>
+      <item quantity="one">1 grup</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" grubu silinsin mi? (Kişilerin kendileri silinmeyecektir.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> türünde <xliff:g id="COUNT_0">%1$d</xliff:g> kişi"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g> türünde <xliff:g id="COUNT_0">%1$d</xliff:g> kişi"</item>
-  </plurals>
-  <plurals name="group_list_num_contacts_in_group">
-    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> kişi"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> kullanıcı"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> türünde <xliff:g id="COUNT_2">%1$d</xliff:g> kişi</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> türünde <xliff:g id="COUNT_0">%1$d</xliff:g> kişi</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> kişi</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> kişi</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Başka bir kişiyle birleştirmeden önce kişi adını yazın."</string>
     <string name="copy_text" msgid="3257145021583508761">"Panoya kopyala"</string>
     <string name="set_default" msgid="4417505153468300351">"Varsayılan olarak ayarla"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"son gelen çağrı. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. geri aramak için dokunun"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Siz: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Kişinin Hangouts tanımlayıcısını e-posta veya telefon alanına girdiğinizde Hangouts daha iyi çalışır."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Diğer Alanlar"</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index e0b322f..3f0a3f3 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Змінити фото"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Місце на головному екрані"</string>
     <string name="menu_call" msgid="3992595586042260618">"Набрати конт."</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Повід. контакт"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Об’єднати"</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="contactsJoinedMessage" msgid="656936718666768589">"Контакти об’єднано"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Контакти видалено"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Виберіть принаймні два контакта, щоб об’єднати їх."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Вибрані контакти буде об’єднано в один."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Вибрані контакти буде видалено."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Дані з облікових записів лише для перегляду буде приховано у ваших списках контактів, а не видалено."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Ці контакти містять дані з декількох облікових записів. Дані з облікових записів лише для перегляду буде приховано у ваших списках контактів, а не видалено."</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"Якщо видал. цей контакт, буде видалено інф-ю з декількох обл. записів."</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"Цей контакт буде видалено."</string>
     <string name="menu_discard" msgid="6854657936970228164">"Відхилити зміни"</string>
@@ -94,20 +101,26 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> контакт із номерами телефону</item>
+      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> контакти з номерами телефону</item>
+      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> контактів із номерами телефону</item>
+      <item quantity="other"><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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one">Знайдено <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="few">Знайдено <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="many">Знайдено <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">Знайдено <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one">Знайдено <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="few">Знайдено <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="many">Знайдено <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">Знайдено <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>
@@ -144,9 +157,6 @@
     <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>
@@ -160,10 +170,12 @@
     <string name="primary_photo" msgid="8517942231868516999">"Основн. фото"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">об’єднано з <xliff:g id="COUNT">%0$d</xliff:g> джерела</item>
+      <item quantity="few">об’єднано з <xliff:g id="COUNT">%0$d</xliff:g> джерел</item>
+      <item quantity="many">об’єднано з <xliff:g id="COUNT">%0$d</xliff:g> джерел</item>
+      <item quantity="other">об’єднано з <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>
@@ -172,7 +184,7 @@
     <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="menu_help" msgid="1680178646764069976">"Довідка й відгуки"</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>
@@ -188,19 +200,25 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> група</item>
+      <item quantity="few"><xliff:g id="COUNT">%0$d</xliff:g> групи</item>
+      <item quantity="many"><xliff:g id="COUNT">%0$d</xliff:g> груп</item>
+      <item quantity="other"><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="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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> особа з <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="few"><xliff:g id="COUNT_2">%1$d</xliff:g> особи з <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="many"><xliff:g id="COUNT_2">%1$d</xliff:g> осіб із <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> особи з <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> особа</item>
+      <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> особи</item>
+      <item quantity="many"><xliff:g id="COUNT_1">%1$d</xliff:g> осіб</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%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>
@@ -264,4 +282,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"Останній дзвінок: <xliff:g id="CALL_TYPE">%s</xliff:g>, <xliff:g id="PHONE_NUMBER">%s</xliff:g>, <xliff:g id="DATE">%s</xliff:g>. Натисніть, щоб зателефонувати"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Ви: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Щоб сервіс Hangouts працював краще, введіть свій ідентифікатор Hangouts у поле \"Електронна адреса\" або \"Телефон\"."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Більше полів"</string>
 </resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index 20aec6a..a1f0d5d 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"تصویر بدلیں"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"ہوم اسکرین پر رکھیں"</string>
     <string name="menu_call" msgid="3992595586042260618">"رابطہ کو کال کریں"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"رابطہ کو متن بھیجیں"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"ضم کریں"</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="contactsJoinedMessage" msgid="656936718666768589">"رابطے ضم کر دیے گئے"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"رابطے حذف کر دیے گئے"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"ضم کرنے کیلئے آپ کو کم از کم دو رابطے منتخب کرنے کی ضرورت ہے۔"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"منتخب کردہ رابطوں کو ایک رابطہ میں ضم کر دیا جائے گا۔"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"منتخب کردہ رابطے حذف کر دیے جائیں گے۔"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"صرف پڑھنے کیلئے اکاؤنٹس کی معلومات آپ کے رابطوں کی فہرست میں چھپا دی جائیں گی، حذف نہیں ہوں گی۔"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"یہ رابطے متعدد اکاؤنٹس کی معلومات پر مشتمل ہیں۔ صرف پڑھنے کیلئے اکاؤنٹس کی معلومات آپ کے رابطوں کی فہرست میں چھپا دی جائیں گی، حذف نہیں ہوں گی۔"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"یہ رابطہ حذف کرنے سے متعدد اکاؤنٹس کی معلومات حذف ہوجائے گی۔"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"یہ رابطہ حذف ہوجائے گا۔"</string>
     <string name="menu_discard" msgid="6854657936970228164">"تبدیلیاں رد کریں"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">فون نمبرز کے ساتھ <xliff:g id="COUNT">%d</xliff:g> رابطے</item>
+      <item quantity="one">فون نمبر کے ساتھ 1 رابطہ</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ملے</item>
+      <item quantity="one">1 ملا</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ملے</item>
+      <item quantity="one">1 ملا</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"بنیادی تصویر"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> مآخذ سے ضم کر دیا گیا</item>
+      <item quantity="one">ضم نہیں ہے</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"مدد اور تاثرات"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> گروپس</item>
+      <item quantity="one">1 گروپ</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> میں سے <xliff:g id="COUNT_2">%1$d</xliff:g> لوگ</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> میں سے <xliff:g id="COUNT_0">%1$d</xliff:g> شخص</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> لوگ</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"حالیہ کال۔ <xliff:g id="CALL_TYPE">%s</xliff:g>۔ <xliff:g id="PHONE_NUMBER">%s</xliff:g>۔ <xliff:g id="DATE">%s</xliff:g>۔ واپسی کال کرنے کیلئے کلک کریں"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"آپ: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"‏جب آپ کسی شخص کا Hangouts شناخت کنندہ ای میل فیلڈ یا فون فیلڈ میں داخل کرتے ہیں تو Hangouts بہتر کام کرتا ہے۔"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"مزید فیلڈز"</string>
 </resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index ba01574..0711c17 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Rasmni o‘zgartirish"</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>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"Birlashtirish"</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="contactsJoinedMessage" msgid="656936718666768589">"Kontaktlar birlashtirildi"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Kontaktlar o\'chirildi"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"Birlashtirish uchun kamida ikkita kontaktni tanlash lozim."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Tanlangan kontaktlar yagona kontaktga birlashtiriladi."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Tanlangan kontaktlar o‘chirib tashlanadi."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Faqat o‘qish rejimidagi hisoblardan olingan ma’lumotlar kontaktlaringiz ro‘yxatida ko‘rsatilmaydi, lekin o‘chirib tashlanmaydi."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Ushbu kontaktlarda bir nechta hisobga aloqador ma’lumotlar mavjud. Faqat o‘qish rejimidagi hisoblardan olingan ma’lumotlar kontaktlaringiz ro‘yxatida ko‘rsatilmaydi, lekin o‘chirib tashlanmaydi."</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>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other">Telefon raqami bor <xliff:g id="COUNT">%d</xliff:g> ta kontakt</item>
+      <item quantity="one">Telefon raqami bor 1 ta kontakt</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ta topildi</item>
+      <item quantity="one">1 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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ta topildi</item>
+      <item quantity="one">1 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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Asosiy rasm"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> ta manbadan birlashtirilgan</item>
+      <item quantity="one">birlashtirilmagan</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"Yordam va fikr-mulohaza"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> ta guruh</item>
+      <item quantity="one">1 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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> guruhidan <xliff:g id="COUNT_2">%1$d</xliff:g> ta odam</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> guruhidan <xliff:g id="COUNT_0">%1$d</xliff:g> ta odam</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ta odam</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"so‘nggi qo‘ng‘iroq. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. qaytarib qo‘ng‘iroq qilish uchun bosing"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Siz: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts yanada yaxshi ishlashi uchun e-pochta yoki telefon raqami maydoniga foydalanuvchining Hangouts identifikatorini kiriting."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Boshqa maydonlar"</string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 8219ad2..81e3f35 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Thay đổi ảnh"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Đặt trên màn hình chính"</string>
     <string name="menu_call" msgid="3992595586042260618">"Gọi liên hệ"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Nhắn tin tới liên hệ"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Thêm nhóm"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Tách địa chỉ liên hệ?"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Địa chỉ liên hệ này sẽ được tách thành nhiều địa chỉ liên hệ."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Kết hợp"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Hợp nhất"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Kết hợp danh bạ"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Chọn địa chỉ liên hệ bạn muốn kết hợp với <xliff:g id="NAME">%s</xliff:g>:"</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Hiển thị tất cả liên hệ"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Liên hệ được đề xuất"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Tất cả liên hệ"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Danh bạ đã được kết hợp"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Đã hợp nhất các địa chỉ liên hệ"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Đã xóa các địa chỉ liên hệ"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Đặt nhạc chuông"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Các cuộc gọi tới thư thoại"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Bạn không thể xóa địa chỉ liên hệ từ tài khoản chỉ đọc, nhưng bạn có thể ẩn chúng trong danh sách địa chỉ liên hệ của mình."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Bạn cần chọn ít nhất hai liên hệ để thực hiện hợp nhất."</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Liên hệ được chọn sẽ được hợp nhất vào một liên hệ."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Liên hệ được chọn sẽ bị xóa."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"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="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Các 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="6854657936970228164">"Hủy các thay đổi"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Không thể lưu thay đổi của địa chỉ liên hệ."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Đã lưu nhóm."</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Không thể lưu thay đổi nhóm."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"1 liên hệ có số điện thoại"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> liên hệ có số điện thoại"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> liên hệ có số điện thoại</item>
+      <item quantity="one">1 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="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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other">Đã tìm thấy <xliff:g id="COUNT">%d</xliff:g> liên hệ</item>
+      <item quantity="one">Đã tìm thấy 1 liên hệ</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Không có địa chỉ liên hệ nào"</string>
-  <plurals name="searchFoundContacts">
-    <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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other">Đã tìm thấy <xliff:g id="COUNT">%d</xliff:g> liên hệ</item>
+      <item quantity="one">Đã tìm thấy 1 liên hệ</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
     <string name="search_results_searching" msgid="3984833028938569930">"Đang tìm kiếm…"</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Hiển thị mục đã chọn"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Hiển thị tất cả"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Ảnh chính"</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">
-    <item quantity="one" msgid="148365587896371969">"chưa được hợp nhất"</item>
-    <item quantity="other" msgid="425683718017380845">"được hợp nhất từ <xliff:g id="COUNT">%0$d</xliff:g> nguồn"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">được hợp nhất từ  <xliff:g id="COUNT">%0$d</xliff:g> nguồn</item>
+      <item quantity="one">chưa được hợp nhất</item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Kết hợp địa chỉ liên hệ hiện tại với địa chỉ liên hệ đã chọn?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Chuyển sang chỉnh sửa liên hệ đã chọn? Thông tin bạn đã nhập đến giờ sẽ được sao chép."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Sao chép vào Danh bạ của tôi"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Trợ giúp"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Trợ giúp và phản hồi"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Tùy chọn hiển thị"</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ố điện thoại"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Nhập danh bạ"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Tạo nhóm mới"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Tạo nhóm mới"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 nhóm"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> nhóm"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> nhóm</item>
+      <item quantity="one">1 nhóm</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Xóa nhóm \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Danh bạ sẽ không bị xóa.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> người từ <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> người từ <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> người"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> người"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> người từ <xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> người từ <xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> người</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> người</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Nhập tên địa chỉ liên hệ trước khi kết hợp với địa chỉ liên hệ khác."</string>
     <string name="copy_text" msgid="3257145021583508761">"Sao chép vào khay nhớ tạm"</string>
     <string name="set_default" msgid="4417505153468300351">"Đặt mặc định"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"cuộc gọi gần đây. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. nhấp để gọi lại"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Bạn: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"Hangouts hoạt động tốt hơn khi bạn nhập số nhận dạng Hangouts của người đó vào trường email hoặc trường điện thoại."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Trường khác"</string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index cdb0388..022fdeb 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"更换照片"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"放在主屏幕上"</string>
     <string name="menu_call" msgid="3992595586042260618">"呼叫联系人"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"向联系人发送短信"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"合并"</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="contactsJoinedMessage" msgid="656936718666768589">"已合并联系人"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"已删除联系人"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"您至少需要选择两个联系人才能进行合并。"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"所选的联系人将会合并为一个联系人。"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"所选的联系人将会被删除。"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"来自只读帐户的信息将在您的联系人列表中隐藏，而不会被删除。"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"这些联系人的信息中包含来自多个帐户的信息。来自只读帐户的信息将在您的联系人列表中隐藏，而不会被删除。"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"删除该联系人将会删除多个帐户中的信息。"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"将会删除此联系人。"</string>
     <string name="menu_discard" msgid="6854657936970228164">"舍弃更改"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 个有电话号码的联系人</item>
+      <item quantity="one">1 个有电话号码的联系人</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other">找到 <xliff:g id="COUNT">%d</xliff:g> 个联系人</item>
+      <item quantity="one">找到 1 个联系人</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other">找到 <xliff:g id="COUNT">%d</xliff:g> 个联系人</item>
+      <item quantity="one">找到 1 个联系人</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"主照片"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">已合并 <xliff:g id="COUNT">%0$d</xliff:g> 个联系人</item>
+      <item quantity="one">未合并任何联系人</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"帮助和反馈"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> 个群组</item>
+      <item quantity="one">1 个群组</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="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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g>中有 <xliff:g id="COUNT_2">%1$d</xliff:g> 个联系人</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g>中有 <xliff:g id="COUNT_0">%1$d</xliff:g> 个联系人</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> 个联系人</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"近期通话：<xliff:g id="CALL_TYPE">%s</xliff:g>，<xliff:g id="PHONE_NUMBER">%s</xliff:g>，<xliff:g id="DATE">%s</xliff:g>。点按可回拨。"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"您：<xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"请将联系人的环聊帐户信息输入到电子邮件地址字段或电话号码字段，以便获得更佳的环聊使用体验。"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"更多字段"</string>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 5ff4102..0acdf35 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"變更相片"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"新增到主畫面上"</string>
     <string name="menu_call" msgid="3992595586042260618">"致電聯絡人"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"傳送簡訊至聯絡人"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"合併"</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="contactsJoinedMessage" msgid="656936718666768589">"已合併聯絡人"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"已刪除聯絡人"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"您至少需要選取兩個聯絡人才能執行合併。"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"已選的聯絡人將會合併為單一聯絡人。"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"已選的聯絡人將被刪除。"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"唯讀帳戶的資訊會從您的聯絡人名單隱藏，而不是刪除。"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"這些聯絡人包含來自多個帳戶的資訊。唯讀帳戶的資訊會從您的聯絡人名單隱藏，而不是刪除。"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"刪除這個聯絡人將刪除多個帳戶的資訊。"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"刪除此聯絡人？"</string>
     <string name="menu_discard" msgid="6854657936970228164">"放棄變更"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 位有電話號碼的聯絡人</item>
+      <item quantity="one">1 位有電話號碼的聯絡人</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other">找到 <xliff:g id="COUNT">%d</xliff:g> 位聯絡人</item>
+      <item quantity="one">找到 1 位聯絡人</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other">找到 <xliff:g id="COUNT">%d</xliff:g> 位聯絡人</item>
+      <item quantity="one">找到 1 位聯絡人</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"主要相片"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">已從 <xliff:g id="COUNT">%0$d</xliff:g> 個來源合併</item>
+      <item quantity="one">未合併</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"說明和意見反映"</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>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> 個群組</item>
+      <item quantity="one">1 個群組</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g> 中有 <xliff:g id="COUNT_2">%1$d</xliff:g> 人</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g> 中有 <xliff:g id="COUNT_0">%1$d</xliff:g> 人</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> 人</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"最近通話 (<xliff:g id="CALL_TYPE">%s</xliff:g>、<xliff:g id="PHONE_NUMBER">%s</xliff:g>、<xliff:g id="DATE">%s</xliff:g>)。按一下即可回電"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"您：<xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"當您在電郵欄或手機欄中輸入個人的 Hangouts 識別碼時，Hangouts 會提供更卓越的服務。"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"更多欄位"</string>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index fdf1448..0e37676 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"更換相片"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"放在主螢幕上"</string>
     <string name="menu_call" msgid="3992595586042260618">"去電聯絡人"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"傳送簡訊至聯絡人"</string>
@@ -56,17 +57,23 @@
     <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="menu_joinAggregate" msgid="4050157483569357666">"合併"</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="contactsJoinedMessage" msgid="656936718666768589">"已合併聯絡人"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"已刪除聯絡人"</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="batch_merge_single_contact_warning" msgid="982585201970392110">"您至少要選取兩個聯絡人才可執行合併。"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"您所選的聯絡人將合併為單一聯絡人。"</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"所選的聯絡人將被刪除。"</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"您的聯絡人清單不會顯示唯讀帳戶的資訊 (系統不會刪除這些資訊)。"</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"這些聯絡人包含來自多個帳戶的資訊。您的聯絡人清單不會顯示唯讀帳戶的資訊 (系統不會刪除這些資訊)。"</string>
     <string name="multipleContactDeleteConfirmation" msgid="938900978442960800">"刪除此聯絡人將會刪除多個帳戶的資訊。"</string>
     <string name="deleteConfirmation" msgid="811706994761610640">"刪除此聯絡人？"</string>
     <string name="menu_discard" msgid="6854657936970228164">"捨棄變更"</string>
@@ -94,20 +101,20 @@
     <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>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 位有電話號碼的聯絡人</item>
+      <item quantity="one">1 位有電話號碼的聯絡人</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>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="other">找到 <xliff:g id="COUNT">%d</xliff:g> 位聯絡人</item>
+      <item quantity="one">找到 1 位聯絡人</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>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="other">找到 <xliff:g id="COUNT">%d</xliff:g> 位聯絡人</item>
+      <item quantity="one">找到 1 位聯絡人</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>
@@ -144,9 +151,6 @@
     <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>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"主要相片"</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>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="other">已合併 (<xliff:g id="COUNT">%0$d</xliff:g> 個來源)</item>
+      <item quantity="one">未合併</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>
@@ -172,7 +176,7 @@
     <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="menu_help" msgid="1680178646764069976">"說明與意見回饋"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"顯示選項"</string>
     <string name="organization_company_and_title" msgid="6718207751363732025">"<xliff:g id="COMPANY_1">%1$s</xliff:g> <xliff:g id="COMPANY_0">%2$s</xliff:g>"</string>
     <string name="non_phone_caption" msgid="1541655052330027380">"電話號碼"</string>
@@ -188,19 +192,19 @@
     <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>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> 個群組</item>
+      <item quantity="one">1 個群組</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>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="other"><xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g>中有 <xliff:g id="COUNT_2">%1$d</xliff:g> 人</item>
+      <item quantity="one"><xliff:g id="ACCOUNT_TYPE_1">%2$s</xliff:g>中有 <xliff:g id="COUNT_0">%1$d</xliff:g> 人</item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> 人</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%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>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"近期通話。<xliff:g id="CALL_TYPE">%s</xliff:g>。<xliff:g id="PHONE_NUMBER">%s</xliff:g>。<xliff:g id="DATE">%s</xliff:g>。按一下即可回電"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"您：<xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"如果您在電子郵件欄位或電話欄位中輸入聯絡人的 Hangouts 識別碼，可讓 Hangouts 的運作效能更佳。"</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"更多欄位"</string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 48be0d2..8df1d98 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -46,6 +46,7 @@
     <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_change_photo" msgid="7769177631511496210">"Guqula isithombe"</string>
     <string name="menu_create_contact_shortcut" msgid="1217971915748509640">"Indawo esikrinini sekhaya"</string>
     <string name="menu_call" msgid="3992595586042260618">"Shayela othintana naye"</string>
     <string name="menu_sendSMS" msgid="5535886767547006515">"Bhalela othintana naye"</string>
@@ -56,17 +57,23 @@
     <string name="menu_new_group_action_bar" msgid="3520232877587377175">"Engeza iqembu"</string>
     <string name="splitConfirmation_title" msgid="633640935430370530">"Oxhumana naye oseceleni"</string>
     <string name="splitConfirmation" msgid="740190210499587175">"Lona oxhumana naye uyocazwa abe oxhumana nabo bningi."</string>
-    <string name="menu_joinAggregate" msgid="5027981918265667970">"Hlanganisa"</string>
+    <string name="menu_joinAggregate" msgid="4050157483569357666">"Hlanganisa"</string>
     <string name="titleJoinContactDataWith" msgid="7684875775798635354">"Joyina othintana nabo"</string>
     <string name="blurbJoinContactDataWith" msgid="8736488417422708236">"Khetha oxhumana naye ofuna ukujoyina naye <xliff:g id="NAME">%s</xliff:g>."</string>
     <string name="showAllContactsJoinItem" msgid="2189695051430392383">"Bonakalisa bonke  othintana nabo"</string>
     <string name="separatorJoinAggregateSuggestions" msgid="2831414448851313345">"Othintana nabo abasikiselwayo"</string>
     <string name="separatorJoinAggregateAll" msgid="7939932265026181043">"Bonke othintana nabo"</string>
-    <string name="contactsJoinedMessage" msgid="7208148163607047389">"Othintana nabo abahlanganisiwe"</string>
+    <string name="contactsJoinedMessage" msgid="656936718666768589">"Oxhumana nabo bahlanganisiwe"</string>
+    <string name="contacts_deleted_toast" msgid="286851430992788215">"Oxhumana nabo basusiwe"</string>
     <string name="menu_set_ring_tone" msgid="8728345772068064946">"Hlela iringithoni"</string>
     <string name="menu_redirect_calls_to_vm" msgid="4181789196416396656">"Wonke amakholi aya kwimeyili yezwi"</string>
     <string name="readOnlyContactWarning" msgid="7808825687289848259">"Awukwazi ukususa othintana nabo ema-akhawuntini okufunda kuphela, kodwa ungabafihla ohlwini lwakho loxhumana nabo."</string>
     <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="batch_merge_single_contact_warning" msgid="982585201970392110">"Udinga okungenani oxh"</string>
+    <string name="batch_merge_confirmation" msgid="8551299480317422420">"Oxhumana nabo abakhethiwe bazohlanganiswa benziwe oxhumana naye oyedwa."</string>
+    <string name="batch_delete_confirmation" msgid="2564172328268885394">"Oxhumana nabo abakhethiwe bazosuswa."</string>
+    <string name="batch_delete_read_only_contact_confirmation" msgid="6614878716815412523">"Ulwazi kusukela kuma-akhawunti wokufunda kuphela luzofihlwa kuhlu lwakho loxhumana nabo, lungasuswa."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="5189722181586680185">"Laba oxhumana nabo baqukethe ulwazi oluvela kuma-akhawunti amaningi. Ulwazi oluvela kusukela kuma-akhawunti wokufunda kuphela luzofihlwa kuhlu loxhumana nabo, lungasuswa."</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="6854657936970228164">"Lahla izinguquko"</string>
@@ -94,20 +101,20 @@
     <string name="contactSavedErrorToast" msgid="3207250533172944892">"Yehlulekile ukulondoloza izinguquko zoxhumana nabo."</string>
     <string name="groupSavedToast" msgid="1168756874239833756">"Isigcawu silondiwe"</string>
     <string name="groupSavedErrorToast" msgid="7984466936615304740">"Yehlulekile ukulana izinguquko zeqembu."</string>
-  <plurals name="listTotalPhoneContacts">
-    <item quantity="one" msgid="3015357862286673986">"othintana naye ongu-1 onenombolo yocingo"</item>
-    <item quantity="other" msgid="3299954047880968205">"<xliff:g id="COUNT">%d</xliff:g> Othintana nabo abanezinombolo zocingo"</item>
-  </plurals>
+    <plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> oxhumana nabo abanezinombolo zefoni</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> oxhumana nabo abanezinombolo zefoni</item>
+    </plurals>
     <string name="listTotalPhoneContactsZero" msgid="6968813857632984319">"Abekho othintana nabo abanezinombolo zocingo"</string>
-  <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>
-  </plurals>
+    <plurals name="listFoundAllContacts" formatted="false" msgid="4872115339963093220">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> abatholakele</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> abatholakele</item>
+    </plurals>
     <string name="listFoundAllContactsZero" msgid="922980883593159444">"Abekho oxhumana nabo"</string>
-  <plurals name="searchFoundContacts">
-    <item quantity="one" msgid="4826918429708286628">"otholakele ongu-1"</item>
-    <item quantity="other" msgid="7988132539476575389">"<xliff:g id="COUNT">%d</xliff:g> tholakele"</item>
-  </plurals>
+    <plurals name="searchFoundContacts" formatted="false" msgid="7223023725334884618">
+      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> abatholakele</item>
+      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> abatholakele</item>
+    </plurals>
     <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>
@@ -144,9 +151,6 @@
     <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>
-    <string name="upgrade_out_of_memory_uninstall" msgid="1721798828992091432">"Khipa ezinye izinhlelo zokusebenza"</string>
-    <string name="upgrade_out_of_memory_retry" msgid="8431289830472724609">"Zama futhi ukuthuthukisa"</string>
     <string name="search_results_searching" msgid="3984833028938569930">"Iyasesha..."</string>
     <string name="menu_display_selected" msgid="6470001164297969034">"Khetha okukhethiwe"</string>
     <string name="menu_display_all" msgid="8887488642609786198">"Bonisa konke"</string>
@@ -160,10 +164,10 @@
     <string name="primary_photo" msgid="8517942231868516999">"Isithombe esiyinhloko"</string>
     <string name="description_star" msgid="2605854427360036550">"intandokazi"</string>
     <string name="edit_contact" msgid="7529281274005689512">"Hlela othintana naye"</string>
-  <plurals name="merge_info">
-    <item quantity="one" msgid="148365587896371969">"akuhlanganisiwe"</item>
-    <item quantity="other" msgid="425683718017380845">"ihlanganiswe kusuka emithombeni engu-<xliff:g id="COUNT">%0$d</xliff:g>"</item>
-  </plurals>
+    <plurals name="merge_info" formatted="false" msgid="2489323424994280962">
+      <item quantity="one">kuhlanganiswe kusuka kumithombo engu-<xliff:g id="COUNT">%0$d</xliff:g></item>
+      <item quantity="other">kuhlanganiswe kusuka kumithombo engu-<xliff:g id="COUNT">%0$d</xliff:g></item>
+    </plurals>
     <string name="aggregation_suggestion_join_dialog_message" msgid="3842757977671434836">"Joyina othintana naye wamanje nothintana naye okhethiwe?"</string>
     <string name="aggregation_suggestion_edit_dialog_message" msgid="6549585283910518095">"Shintshela ekuhleleni othintana naye okhethiwe? Ulwazi olufakile kuze kube manje luzokopishwa."</string>
     <string name="menu_copyContact" msgid="1573960845106822639">"Kopisha kwengithintana nabo"</string>
@@ -172,7 +176,7 @@
     <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>
-    <string name="menu_help" msgid="5123887102216637725">"Usizo"</string>
+    <string name="menu_help" msgid="1680178646764069976">"Usizo nempendulo"</string>
     <string name="preference_displayOptions" msgid="1341720270148252393">"Izinketho zokubonisa"</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">"Inombolo yefoni"</string>
@@ -188,19 +192,19 @@
     <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Ngenisa othintana nabo"</string>
     <string name="create_group_dialog_title" msgid="6874527142828424475">"Dala iqembu elisha"</string>
     <string name="create_group_item_label" msgid="4411981763169654825">"Dala iqembu elisha"</string>
-  <plurals name="num_groups_in_account">
-    <item quantity="one" msgid="2944819210288517794">"1 isigcawu"</item>
-    <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> Amaqembu"</item>
-  </plurals>
+    <plurals name="num_groups_in_account" formatted="false" msgid="6189297639209663469">
+      <item quantity="one"><xliff:g id="COUNT">%0$d</xliff:g> amaqembu</item>
+      <item quantity="other"><xliff:g id="COUNT">%0$d</xliff:g> amaqembu</item>
+    </plurals>
     <string name="delete_group_dialog_message" msgid="7586856514337560529">"Susa leliqembu \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (oxhumana nabo ngeke basuseke.)"</string>
-  <plurals name="num_contacts_in_group">
-    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> umuntu kusuka ku-<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
-    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> abantu abasuka ku- <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> umuntu"</item>
-    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> abantu"</item>
-  </plurals>
+    <plurals name="num_contacts_in_group" formatted="false" msgid="5520734553286350341">
+      <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> abantu kusuka ku-<xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+      <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> abantu kusuka ku-<xliff:g id="ACCOUNT_TYPE_3">%2$s</xliff:g></item>
+    </plurals>
+    <plurals name="group_list_num_contacts_in_group" formatted="false" msgid="8240460423614369023">
+      <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> abantu</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> abantu</item>
+    </plurals>
     <string name="toast_join_with_empty_contact" msgid="2238581529864542985">"Bhala igama lomuntu oxhuana naye ngaphambili kokujoyina nomunye."</string>
     <string name="copy_text" msgid="3257145021583508761">"Kopisha ku-clipboard"</string>
     <string name="set_default" msgid="4417505153468300351">"Hlela okuzenzakalelayo"</string>
@@ -264,4 +268,5 @@
     <string name="content_description_recent_call" msgid="5183800406316723676">"ikholi yakamuva. <xliff:g id="CALL_TYPE">%s</xliff:g>. <xliff:g id="PHONE_NUMBER">%s</xliff:g>. <xliff:g id="DATE">%s</xliff:g>. chofoza ukuze uphinde ushaye"</string>
     <string name="message_from_you_prefix" msgid="7180706529908434482">"Wena: <xliff:g id="SMS_BODY">%s</xliff:g>"</string>
     <string name="contact_editor_hangouts_im_alert" msgid="114855385615225735">"I-Hangouts isebenza kangcono uma ufaka isikhombi somuntu se-Hangouts kunkambu ye-imeyili noma kunkambu yefoni."</string>
+    <string name="compact_editor_more_fields" msgid="2874181192382284115">"Izinkambu eziningi"</string>
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index c3bf79e..a537a95 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -29,6 +29,10 @@
     <color name="actionbar_background_color">@color/primary_color</color>
     <color name="actionbar_background_color_dark">@color/primary_color_dark</color>
 
+    <color name="contextual_selection_bar_color">#616161</color>
+    <!-- Color of the status bar above the contextual selection bar. -->
+    <color name="contextual_selection_bar_status_bar_color">#424242</color>
+
     <color name="primary_color_dark">#0277bd</color>
     <color name="primary_color">#0288d1</color>
 
@@ -58,6 +62,6 @@
     <!-- Color of the mime-type icons inside the editor. 50% black. -->
     <color name="editor_icon_color">#7f7f7f</color>
 
-    <!-- Color of disabled text and unfocused hint text inside the contact editor. -->
-    <color name="editor_disabled_text_color">#989898</color>
+    <!-- Color of disabled text and unfocused hint text inside the contact editor. 25% black. -->
+    <color name="editor_disabled_text_color">#40000000</color>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index a6afca6..b8650e3 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -33,14 +33,18 @@
         snaps to the top of the window. -->
     <dimen name="quickcontact_snap_to_top_slop_height">33dp</dimen>
 
+    <!-- The ratio of width:height (360:184) for the compact editor contact photo in portrait -->
+    <item name="editor_portrait_photo_ratio" type="dimen" format="float">1.96</item>
+
     <!-- Padding of the rounded plus/minus/expand/collapse buttons in the editor  -->
     <dimen name="editor_round_button_padding_left">16dip</dimen>
     <dimen name="editor_round_button_padding_right">16dip</dimen>
     <dimen name="editor_round_button_padding_top">16dip</dimen>
     <dimen name="editor_round_button_padding_bottom">16dip</dimen>
 
-    <!-- Minimum height of a row in the Editor -->
-    <dimen name="editor_min_line_item_height">48dip</dimen>
+    <!-- Minimum height of a row in the Editor. This is the target height for editor "rows",
+        including the "More fields" button/row. -->
+    <dimen name="editor_min_line_item_height">54dp</dimen>
 
     <!-- Width of the delete button (X) in the raw contact editor -->
     <dimen name="editor_delete_button_width">48dp</dimen>
@@ -69,21 +73,21 @@
     <dimen name="editor_kind_icon_total_width">68dp</dimen>
 
     <!-- Padding below every editor view, such as LabeledEditorView. This value is chosen
-        to give 32dp of apparent padding between EditText's in the Raw Contact Editor. -->
-    <dimen name="editor_padding_between_editor_views">15dp</dimen>
+        to give 19dp of apparent padding between EditText's in the Raw Contact Editor. -->
+    <dimen name="editor_padding_between_editor_views">2dp</dimen>
 
-    <!-- Padding below every readonly editor view. This value is chosen to give 32dp of apparent padding
-        between TextView's in the readonly Raw Contact Editor. -->
-    <dimen name="editor_padding_between_read_only_editor_views">25dp</dimen>
+    <!-- Padding below every readonly editor view. This value is chosen to give 19dp of apparent
+        padding between TextView's in the readonly Raw Contact Editor. -->
+    <dimen name="editor_padding_between_read_only_editor_views">9dp</dimen>
 
-    <!-- Padding above and below the photo editor. This value is chosen to give 32dp of apparent
+    <!-- Padding above and below the photo editor. This value is chosen to give 19dp of apparent
         padding between TextView's and the photo's ImageView. -->
-    <dimen name="editor_padding_around_read_only_photo_editor">28dp</dimen>
+    <dimen name="editor_padding_around_read_only_photo_editor">15dp</dimen>
 
     <!-- Padding below the photo editor. This value is larger than
         editor_padding_between_editor_views, since ImageView's don't have space between the bottom
         of their visual bottom, like an EditText does. -->
-    <dimen name="editor_padding_below_photo">21dp</dimen>
+    <dimen name="editor_padding_below_photo">9dp</dimen>
 
     <!-- Width of the Type-Label in the Editor -->
     <dimen name="editor_type_label_width">150dip</dimen>
@@ -94,6 +98,9 @@
     <!-- Left padding of the label in the add field button for the contact editor -->
     <dimen name="editor_add_field_label_left_padding">16dip</dimen>
 
+    <!-- Top margin for the first field of the compact contact editor -->
+    <dimen name="editor_compact_first_field_padding">10dp</dimen>
+
     <!-- Width and height of the expanded contact photo on the contact detail page -->
     <dimen name="detail_contact_photo_expanded_size">400dip</dimen>
 
diff --git a/res/values/ids.xml b/res/values/ids.xml
index b5a230f..7f6a51f 100644
--- a/res/values/ids.xml
+++ b/res/values/ids.xml
@@ -20,9 +20,11 @@
     <item type="id" name="dialog_sync_add"/>
 
     <!-- For ContactDeletionInteraction -->
-    <item type="id" name="dialog_delete_contact_confirmation"/>
     <item type="id" name="dialog_delete_contact_loader_id" />
 
+    <!-- For ContactMultiDeletionInteraction -->
+    <item type="id" name="dialog_delete_multiple_contact_loader_id" />
+
     <!-- For PhoneNumberInteraction -->
     <item type="id" name="dialog_phone_number_call_disambiguation"/>
 
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e11a519..55e182d 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -114,6 +114,9 @@
     <!-- Menu item used to delete a specific contact -->
     <string name="menu_deleteContact">Delete</string>
 
+    <!-- Menu item used to change the photo for a specific contact [CHAR LIMIT=30]-->
+    <string name="menu_change_photo">Change photo</string>
+
     <!-- Menu item used to create a contact shortcut when viewing contact details. [CHAR LIMIT=30] -->
     <string name="menu_create_contact_shortcut">Place on Home screen</string>
 
@@ -145,7 +148,7 @@
     <string name="splitConfirmation">This contact will be separated into multiple contacts.</string>
 
     <!-- Menu item that joins an aggregate with another aggregate -->
-    <string name="menu_joinAggregate">Join</string>
+    <string name="menu_joinAggregate">Merge</string>
 
     <!-- Heading of the Join Contact screen -->
     <string name="titleJoinContactDataWith">Join contacts</string>
@@ -162,8 +165,11 @@
     <!-- List separator for the Join Contact list: A-Z -->
     <string name="separatorJoinAggregateAll">All contacts</string>
 
-    <!-- Toast shown after two contacts have been joined by a user action -->
-    <string name="contactsJoinedMessage">Contacts joined</string>
+    <!-- Toast shown after two contacts have been joined by a user action. [CHAR LIMIT=NONE] -->
+    <string name="contactsJoinedMessage">Contacts merged</string>
+
+    <!-- Toast shown after contacts that the user has selected are deleted by a user action. [CHAR LIMIT=NONE] -->
+    <string name="contacts_deleted_toast">Contacts deleted</string>
 
     <!-- Menu item that opens the Options activity for a given contact [CHAR LIMIT=15] -->
     <string name="menu_set_ring_tone">Set ringtone</string>
@@ -177,6 +183,21 @@
     <!-- Warning dialog contents after users selects to delete a contact with ReadOnly and Writable sources. -->
     <string name="readOnlyContactDeleteConfirmation">This contact contains information from multiple accounts. Information from read-only accounts will be hidden in your contacts lists, not deleted.</string>
 
+    <!-- Warning dialog. Shown if user selects a single contact to merge. [CHAR LIMIT=NONE]  -->
+    <string name="batch_merge_single_contact_warning">You need at least two contacts selected to perform a merge.</string>
+
+    <!-- Confirmation dialog. Shown after user selects to merge contacts. [CHAR LIMIT=NONE]  -->
+    <string name="batch_merge_confirmation">The selected contacts will be merged into a single contact.</string>
+
+    <!-- Confirmation dialog. Shown after user selects to delete writable contacts. [CHAR LIMIT=NONE]  -->
+    <string name="batch_delete_confirmation">The selected contacts will be deleted.</string>
+
+    <!-- Confirmation dialog. Shown after user selects to delete readonly contacts. [CHAR LIMIT=NONE] -->
+    <string name="batch_delete_read_only_contact_confirmation">Information from read-only accounts will be hidden in your contacts lists, not deleted.</string>
+
+    <!-- Confirmation dialog. Shown after user selects to delete contacts from multiple accounts. [CHAR LIMIT=NONE]  -->
+    <string name="batch_delete_multiple_accounts_confirmation">These contacts contains information from multiple accounts. Information from read-only accounts will be hidden in your contacts lists, not deleted.</string>
+
     <!-- Warning dialog contents after users selects to delete a contact with multiple Writable sources. -->
     <string name="multipleContactDeleteConfirmation">Deleting this contact will delete information from multiple accounts.</string>
 
@@ -254,6 +275,9 @@
     <!-- Toast displayed when saving a contact failed. [CHAR LIMIT=NONE] -->
     <string name="contactSavedErrorToast">Couldn\'t save contact changes.</string>
 
+    <!-- Toast displayed when saving a contact photo failed. [CHAR LIMIT=NONE] -->
+    <string name="contactPhotoSavedErrorToast">Couldn\'t save contact photo changes.</string>
+
     <!-- Toast displayed when a group is saved [CHAR LIMIT=NONE] -->
     <string name="groupSavedToast">Group saved.</string>
 
@@ -397,17 +421,6 @@
     <!-- Text shown in the contacts app while the background process updates contacts after a system upgrade [CHAR LIMIT=300] -->
     <string name="upgrade_in_progress">Contact list is being updated.</string>
 
-    <!-- Text shown in the contacts app if the background process updating contacts fails because of memory shortage [CHAR LIMIT=300] -->
-    <string name="upgrade_out_of_memory">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>
-
-    <!-- Button shown in the contacts app if the background process updating contacts fails because of memory shortage [CHAR LIMIT=50] -->
-    <string name="upgrade_out_of_memory_uninstall">Uninstall some applications</string>
-
-    <!-- Button shown in the contacts app if the background process updating contacts fails because of memory shortage [CHAR LIMIT=50] -->
-    <string name="upgrade_out_of_memory_retry">Retry upgrade</string>
-
     <!-- Title shown in the search result activity of contacts app while searching.  [CHAR LIMIT=20] -->
     <string name="search_results_searching">Searching\u2026</string>
 
@@ -438,7 +451,7 @@
     <!-- Button used for changing a photo in the Raw Contact Editor [CHAR LIMIT=15] -->
     <string name="change_photo">Change</string>
 
-    <!-- RadioButton that determines whether a raw contact's photo should be used for the entire contact [CHAR LIMIT=15] -->
+    <!-- RadioButton that determines whether a raw contact's photo should be used for the entire contact [CHAR LIMIT=25] -->
     <string name="primary_photo">Primary photo</string>
 
     <!-- String describing the Star/Favorite checkbox
@@ -488,8 +501,8 @@
     <!-- Menu item for the settings activity [CHAR LIMIT=64] -->
     <string name="menu_settings" msgid="377929915873428211">Settings</string>
 
-    <!-- Menu item for invoking contextual help [CHAR LIMIT=64] -->
-    <string name="menu_help">Help</string>
+    <!-- Menu item for invoking contextual Help & Feedback [CHAR LIMIT=64] -->
+    <string name="menu_help">Help &amp; feedback</string>
 
     <!-- The preference section title for contact display options [CHAR LIMIT=128] -->
     <string name="preference_displayOptions">Display options</string>
@@ -745,4 +758,10 @@
 
     <!-- When a user tries to create an IM Hangouts field, an alert dialog pops up displaying this message. We don't want users entering email addresses of phone numbers into the IM field. [CHAR LIMIT=200] -->
     <string name="contact_editor_hangouts_im_alert">Hangouts works better when you enter the person\'s Hangouts identifier into the email field or phone field.</string>
+
+    <!-- Button to expand the compact contact editor to show all available input fields. [CHAR LIMIT=60] -->
+    <string name="compact_editor_more_fields">More Fields</string>
+
+    <!-- Content description for the compact contact editor photo overlay which, when clicked, shows a dialog with the options for changing the contact photo. [CHAR LIMIT=30] -->
+    <string name="compact_editor_change_photo_content_description">Change photo</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index d4826a1..8fce0f1 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -123,8 +123,7 @@
     </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>
+        <item name="android:contentInsetStart">72dp</item>
     </style>
 
     <!-- When this style was added, android:toolbarStyle was private. Therefore, this style
@@ -163,6 +162,7 @@
         <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:elevation">0dp</item>
         <item name="android:textStyle">bold</item>
     </style>
 
@@ -219,6 +219,7 @@
         <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="android:colorAccent">@color/primary_color</item>
     </style>
 
     <style name="SectionDivider">
diff --git a/src/com/android/contacts/ContactSaveService.java b/src/com/android/contacts/ContactSaveService.java
index 7c6dfc7..df5c697 100755
--- a/src/com/android/contacts/ContactSaveService.java
+++ b/src/com/android/contacts/ContactSaveService.java
@@ -37,6 +37,7 @@
 import android.provider.ContactsContract;
 import android.provider.ContactsContract.AggregationExceptions;
 import android.provider.ContactsContract.CommonDataKinds.GroupMembership;
+import android.provider.ContactsContract.CommonDataKinds.StructuredName;
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.Groups;
@@ -53,16 +54,12 @@
 import com.android.contacts.common.model.RawContactDeltaList;
 import com.android.contacts.common.model.RawContactModifier;
 import com.android.contacts.common.model.account.AccountWithDataSet;
+import com.android.contacts.editor.ContactEditorFragment;
 import com.android.contacts.util.ContactPhotoUtils;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -103,7 +100,9 @@
 
     public static final String ACTION_SET_STARRED = "setStarred";
     public static final String ACTION_DELETE_CONTACT = "delete";
+    public static final String ACTION_DELETE_MULTIPLE_CONTACTS = "deleteMultipleContacts";
     public static final String EXTRA_CONTACT_URI = "contactUri";
+    public static final String EXTRA_CONTACT_IDS = "contactIds";
     public static final String EXTRA_STARRED_FLAG = "starred";
 
     public static final String ACTION_SET_SUPER_PRIMARY = "setSuperPrimary";
@@ -111,9 +110,9 @@
     public static final String EXTRA_DATA_ID = "dataId";
 
     public static final String ACTION_JOIN_CONTACTS = "joinContacts";
+    public static final String ACTION_JOIN_SEVERAL_CONTACTS = "joinSeveralContacts";
     public static final String EXTRA_CONTACT_ID1 = "contactId1";
     public static final String EXTRA_CONTACT_ID2 = "contactId2";
-    public static final String EXTRA_CONTACT_WRITABLE = "contactWritable";
 
     public static final String ACTION_SET_SEND_TO_VOICEMAIL = "sendToVoicemail";
     public static final String EXTRA_SEND_TO_VOICEMAIL_FLAG = "sendToVoicemailFlag";
@@ -207,10 +206,14 @@
             setSuperPrimary(intent);
         } else if (ACTION_CLEAR_PRIMARY.equals(action)) {
             clearPrimary(intent);
+        } else if (ACTION_DELETE_MULTIPLE_CONTACTS.equals(action)) {
+            deleteMultipleContacts(intent);
         } else if (ACTION_DELETE_CONTACT.equals(action)) {
             deleteContact(intent);
         } else if (ACTION_JOIN_CONTACTS.equals(action)) {
             joinContacts(intent);
+        } else if (ACTION_JOIN_SEVERAL_CONTACTS.equals(action)) {
+            joinSeveralContacts(intent);
         } else if (ACTION_SET_SEND_TO_VOICEMAIL.equals(action)) {
             setSendToVoicemail(intent);
         } else if (ACTION_SET_RINGTONE.equals(action)) {
@@ -298,7 +301,7 @@
         Bundle bundle = new Bundle();
         bundle.putParcelable(String.valueOf(rawContactId), updatedPhotoPath);
         return createSaveContactIntent(context, state, saveModeExtraKey, saveMode, isProfile,
-                callbackActivity, callbackAction, bundle);
+                callbackActivity, callbackAction, bundle, /* backPressed =*/ false);
     }
 
     /**
@@ -307,11 +310,13 @@
      * This variant is used when multiple contacts' photos may be updated, as in the
      * Contact Editor.
      * @param updatedPhotos maps each raw-contact's ID to the file-path of the new photo.
+     * @param backPressed whether the save was initiated as a result of a back button press
+     *         or because the framework stopped the editor Activity
      */
     public static Intent createSaveContactIntent(Context context, RawContactDeltaList state,
             String saveModeExtraKey, int saveMode, boolean isProfile,
             Class<? extends Activity> callbackActivity, String callbackAction,
-            Bundle updatedPhotos) {
+            Bundle updatedPhotos, boolean backPressed) {
         Intent serviceIntent = new Intent(
                 context, ContactSaveService.class);
         serviceIntent.setAction(ContactSaveService.ACTION_SAVE_CONTACT);
@@ -330,6 +335,11 @@
             Intent callbackIntent = new Intent(context, callbackActivity);
             callbackIntent.putExtra(saveModeExtraKey, saveMode);
             callbackIntent.setAction(callbackAction);
+            if (updatedPhotos != null) {
+                callbackIntent.putExtra(EXTRA_UPDATED_PHOTOS, (Parcelable) updatedPhotos);
+            }
+            callbackIntent.putExtra(ContactEditorFragment.INTENT_EXTRA_SAVE_BACK_PRESSED,
+                    backPressed);
             serviceIntent.putExtra(ContactSaveService.EXTRA_CALLBACK_INTENT, callbackIntent);
         }
         return serviceIntent;
@@ -339,6 +349,12 @@
         RawContactDeltaList state = intent.getParcelableExtra(EXTRA_CONTACT_STATE);
         boolean isProfile = intent.getBooleanExtra(EXTRA_SAVE_IS_PROFILE, false);
         Bundle updatedPhotos = intent.getParcelableExtra(EXTRA_UPDATED_PHOTOS);
+
+        if (state == null) {
+            Log.e(TAG, "Invalid arguments for saveContact request");
+            return;
+        }
+
         int saveMode = intent.getIntExtra(EXTRA_SAVE_MODE, -1);
         // Trim any empty fields, and RawContacts, before persisting
         final AccountTypeManager accountTypes = AccountTypeManager.getInstance(this);
@@ -368,6 +384,11 @@
                 ContentProviderResult[] results = null;
                 if (!diff.isEmpty()) {
                     results = resolver.applyBatch(ContactsContract.AUTHORITY, diff);
+                    if (results == null) {
+                        Log.w(TAG, "Resolver.applyBatch failed in saveContacts");
+                        // Retry save
+                        continue;
+                    }
                 }
 
                 final long rawContactId = getRawContactId(state, diff, results);
@@ -384,6 +405,9 @@
                     Cursor c = resolver.query(Profile.CONTENT_URI,
                             new String[] {Contacts._ID, Contacts.LOOKUP_KEY},
                             null, null, null);
+                    if (c == null) {
+                        continue;
+                    }
                     try {
                         if (c.moveToFirst()) {
                             final long contactId = c.getLong(0);
@@ -398,7 +422,9 @@
                                     rawContactId);
                     lookupUri = RawContacts.getContactLookupUri(resolver, rawContactUri);
                 }
-                Log.v(TAG, "Saved contact. New URI: " + lookupUri);
+                if (lookupUri != null) {
+                    Log.v(TAG, "Saved contact. New URI: " + lookupUri);
+                }
 
                 // We can change this back to false later, if we fail to save the contact photo.
                 succeeded = true;
@@ -465,13 +491,12 @@
                 // replace the bogus ID with the new one that we actually saved the contact at.
                 if (rawContactId < 0) {
                     rawContactId = insertedRawContactId;
-                    if (rawContactId == -1) {
-                        throw new IllegalStateException(
-                                "Could not determine RawContact ID for image insertion");
-                    }
                 }
 
-                if (!saveUpdatedPhoto(rawContactId, photoUri, saveMode)) succeeded = false;
+                // If the save failed, insertedRawContactId will be -1
+                if (rawContactId < 0 || !saveUpdatedPhoto(rawContactId, photoUri, saveMode)) {
+                    succeeded = false;
+                }
             }
         }
 
@@ -527,8 +552,7 @@
         final int numResults = results.length;
         for (int i = 0; i < diffSize && i < numResults; i++) {
             ContentProviderOperation operation = diff.get(i);
-            if (operation.getType() == ContentProviderOperation.TYPE_INSERT
-                    && operation.getUri().getEncodedPath().contains(
+            if (operation.isInsert() && operation.getUri().getEncodedPath().contains(
                             RawContacts.CONTENT_URI.getEncodedPath())) {
                 return ContentUris.parseId(results[i].uri);
             }
@@ -835,8 +859,7 @@
 
                 // Don't bother undemoting if this contact is the user's profile.
                 if (id < Profile.MIN_ID) {
-                    getContentResolver().call(ContactsContract.AUTHORITY_URI,
-                            PinnedPositions.UNDEMOTE_METHOD, String.valueOf(id), null);
+                    PinnedPositions.undemote(getContentResolver(), id);
                 }
             }
         } finally {
@@ -953,6 +976,17 @@
         return serviceIntent;
     }
 
+    /**
+     * Creates an intent that can be sent to this service to delete multiple contacts.
+     */
+    public static Intent createDeleteMultipleContactsIntent(Context context,
+            long[] contactIds) {
+        Intent serviceIntent = new Intent(context, ContactSaveService.class);
+        serviceIntent.setAction(ContactSaveService.ACTION_DELETE_MULTIPLE_CONTACTS);
+        serviceIntent.putExtra(ContactSaveService.EXTRA_CONTACT_IDS, contactIds);
+        return serviceIntent;
+    }
+
     private void deleteContact(Intent intent) {
         Uri contactUri = intent.getParcelableExtra(EXTRA_CONTACT_URI);
         if (contactUri == null) {
@@ -963,17 +997,29 @@
         getContentResolver().delete(contactUri, null, null);
     }
 
+    private void deleteMultipleContacts(Intent intent) {
+        final long[] contactIds = intent.getLongArrayExtra(EXTRA_CONTACT_IDS);
+        if (contactIds == null) {
+            Log.e(TAG, "Invalid arguments for deleteMultipleContacts request");
+            return;
+        }
+        for (long contactId : contactIds) {
+            final Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
+            getContentResolver().delete(contactUri, null, null);
+        }
+        showToast(R.string.contacts_deleted_toast);
+    }
+
     /**
      * Creates an intent that can be sent to this service to join two contacts.
+     * The resulting contact uses the name from {@param contactId1} if possible.
      */
     public static Intent createJoinContactsIntent(Context context, long contactId1,
-            long contactId2, boolean contactWritable,
-            Class<? extends Activity> callbackActivity, String callbackAction) {
+            long contactId2, Class<? extends Activity> callbackActivity, String callbackAction) {
         Intent serviceIntent = new Intent(context, ContactSaveService.class);
         serviceIntent.setAction(ContactSaveService.ACTION_JOIN_CONTACTS);
         serviceIntent.putExtra(ContactSaveService.EXTRA_CONTACT_ID1, contactId1);
         serviceIntent.putExtra(ContactSaveService.EXTRA_CONTACT_ID2, contactId2);
-        serviceIntent.putExtra(ContactSaveService.EXTRA_CONTACT_WRITABLE, contactWritable);
 
         // Callback intent will be invoked by the service once the contacts are joined.
         Intent callbackIntent = new Intent(context, callbackActivity);
@@ -983,86 +1029,60 @@
         return serviceIntent;
     }
 
+    /**
+     * Creates an intent to join all raw contacts inside {@param contactIds}'s contacts.
+     * No special attention is paid to where the resulting contact's name is taken from.
+     */
+    public static Intent createJoinSeveralContactsIntent(Context context, long[] contactIds) {
+        Intent serviceIntent = new Intent(context, ContactSaveService.class);
+        serviceIntent.setAction(ContactSaveService.ACTION_JOIN_SEVERAL_CONTACTS);
+        serviceIntent.putExtra(ContactSaveService.EXTRA_CONTACT_IDS, contactIds);
+        return serviceIntent;
+    }
+
 
     private interface JoinContactQuery {
         String[] PROJECTION = {
                 RawContacts._ID,
                 RawContacts.CONTACT_ID,
-                RawContacts.NAME_VERIFIED,
                 RawContacts.DISPLAY_NAME_SOURCE,
         };
 
-        String SELECTION = RawContacts.CONTACT_ID + "=? OR " + RawContacts.CONTACT_ID + "=?";
-
         int _ID = 0;
         int CONTACT_ID = 1;
-        int NAME_VERIFIED = 2;
-        int DISPLAY_NAME_SOURCE = 3;
+        int DISPLAY_NAME_SOURCE = 2;
     }
 
-    private void joinContacts(Intent intent) {
-        long contactId1 = intent.getLongExtra(EXTRA_CONTACT_ID1, -1);
-        long contactId2 = intent.getLongExtra(EXTRA_CONTACT_ID2, -1);
-        boolean writable = intent.getBooleanExtra(EXTRA_CONTACT_WRITABLE, false);
-        if (contactId1 == -1 || contactId2 == -1) {
-            Log.e(TAG, "Invalid arguments for joinContacts request");
+    private interface ContactEntityQuery {
+        String[] PROJECTION = {
+                Contacts.Entity.DATA_ID,
+                Contacts.Entity.CONTACT_ID,
+                Contacts.Entity.IS_SUPER_PRIMARY,
+        };
+        String SELECTION = Data.MIMETYPE + " = '" + StructuredName.CONTENT_ITEM_TYPE + "'" +
+                " AND " + StructuredName.DISPLAY_NAME + "=" + Contacts.DISPLAY_NAME +
+                " AND " + StructuredName.DISPLAY_NAME + " IS NOT NULL " +
+                " AND " + StructuredName.DISPLAY_NAME + " != '' ";
+
+        int DATA_ID = 0;
+        int CONTACT_ID = 1;
+        int IS_SUPER_PRIMARY = 2;
+    }
+
+    private void joinSeveralContacts(Intent intent) {
+        final long[] contactIds = intent.getLongArrayExtra(EXTRA_CONTACT_IDS);
+
+        // Load raw contact IDs for all contacts involved.
+        long rawContactIds[] = getRawContactIdsForAggregation(contactIds);
+        if (rawContactIds == null) {
+            Log.e(TAG, "Invalid arguments for joinSeveralContacts request");
             return;
         }
 
-        final ContentResolver resolver = getContentResolver();
-
-        // Load raw contact IDs for all raw contacts involved - currently edited and selected
-        // in the join UIs
-        Cursor c = resolver.query(RawContacts.CONTENT_URI,
-                JoinContactQuery.PROJECTION,
-                JoinContactQuery.SELECTION,
-                new String[]{String.valueOf(contactId1), String.valueOf(contactId2)}, null);
-        if (c == null) {
-            Log.e(TAG, "Unable to open Contacts DB cursor");
-            showToast(R.string.contactSavedErrorToast);
-            return;
-        }
-
-        long rawContactIds[];
-        long verifiedNameRawContactId = -1;
-        try {
-            if (c.getCount() == 0) {
-                return;
-            }
-            int maxDisplayNameSource = -1;
-            rawContactIds = new long[c.getCount()];
-            for (int i = 0; i < rawContactIds.length; i++) {
-                c.moveToPosition(i);
-                long rawContactId = c.getLong(JoinContactQuery._ID);
-                rawContactIds[i] = rawContactId;
-                int nameSource = c.getInt(JoinContactQuery.DISPLAY_NAME_SOURCE);
-                if (nameSource > maxDisplayNameSource) {
-                    maxDisplayNameSource = nameSource;
-                }
-            }
-
-            // Find an appropriate display name for the joined contact:
-            // if should have a higher DisplayNameSource or be the name
-            // of the original contact that we are joining with another.
-            if (writable) {
-                for (int i = 0; i < rawContactIds.length; i++) {
-                    c.moveToPosition(i);
-                    if (c.getLong(JoinContactQuery.CONTACT_ID) == contactId1) {
-                        int nameSource = c.getInt(JoinContactQuery.DISPLAY_NAME_SOURCE);
-                        if (nameSource == maxDisplayNameSource
-                                && (verifiedNameRawContactId == -1
-                                        || c.getInt(JoinContactQuery.NAME_VERIFIED) != 0)) {
-                            verifiedNameRawContactId = c.getLong(JoinContactQuery._ID);
-                        }
-                    }
-                }
-            }
-        } finally {
-            c.close();
-        }
-
         // For each pair of raw contacts, insert an aggregation exception
-        ArrayList<ContentProviderOperation> operations = new ArrayList<ContentProviderOperation>();
+        final ContentResolver resolver = getContentResolver();
+        final ArrayList<ContentProviderOperation> operations
+                = new ArrayList<ContentProviderOperation>();
         for (int i = 0; i < rawContactIds.length; i++) {
             for (int j = 0; j < rawContactIds.length; j++) {
                 if (i != j) {
@@ -1071,12 +1091,70 @@
             }
         }
 
-        // Mark the original contact as "name verified" to make sure that the contact
-        // display name does not change as a result of the join
-        if (verifiedNameRawContactId != -1) {
+        // Apply all aggregation exceptions as one batch
+        try {
+            resolver.applyBatch(ContactsContract.AUTHORITY, operations);
+            showToast(R.string.contactsJoinedMessage);
+        } catch (RemoteException | OperationApplicationException e) {
+            Log.e(TAG, "Failed to apply aggregation exception batch", e);
+            showToast(R.string.contactSavedErrorToast);
+        }
+    }
+
+
+    private void joinContacts(Intent intent) {
+        long contactId1 = intent.getLongExtra(EXTRA_CONTACT_ID1, -1);
+        long contactId2 = intent.getLongExtra(EXTRA_CONTACT_ID2, -1);
+
+        // Load raw contact IDs for all raw contacts involved - currently edited and selected
+        // in the join UIs.
+        long rawContactIds[] = getRawContactIdsForAggregation(contactId1, contactId2);
+        if (rawContactIds == null) {
+            Log.e(TAG, "Invalid arguments for joinContacts request");
+            return;
+        }
+
+        ArrayList<ContentProviderOperation> operations = new ArrayList<ContentProviderOperation>();
+
+        // For each pair of raw contacts, insert an aggregation exception
+        for (int i = 0; i < rawContactIds.length; i++) {
+            for (int j = 0; j < rawContactIds.length; j++) {
+                if (i != j) {
+                    buildJoinContactDiff(operations, rawContactIds[i], rawContactIds[j]);
+                }
+            }
+        }
+
+        final ContentResolver resolver = getContentResolver();
+
+        // Use the name for contactId1 as the name for the newly aggregated contact.
+        final Uri contactId1Uri = ContentUris.withAppendedId(
+                Contacts.CONTENT_URI, contactId1);
+        final Uri entityUri = Uri.withAppendedPath(
+                contactId1Uri, Contacts.Entity.CONTENT_DIRECTORY);
+        Cursor c = resolver.query(entityUri,
+                ContactEntityQuery.PROJECTION, ContactEntityQuery.SELECTION, null, null);
+        if (c == null) {
+            Log.e(TAG, "Unable to open Contacts DB cursor");
+            showToast(R.string.contactSavedErrorToast);
+            return;
+        }
+        long dataIdToAddSuperPrimary = -1;
+        try {
+            if (c.moveToFirst()) {
+                dataIdToAddSuperPrimary = c.getLong(ContactEntityQuery.DATA_ID);
+            }
+        } finally {
+            c.close();
+        }
+
+        // Mark the name from contactId1 IS_SUPER_PRIMARY to make sure that the contact
+        // display name does not change as a result of the join.
+        if (dataIdToAddSuperPrimary != -1) {
             Builder builder = ContentProviderOperation.newUpdate(
-                    ContentUris.withAppendedId(RawContacts.CONTENT_URI, verifiedNameRawContactId));
-            builder.withValue(RawContacts.NAME_VERIFIED, 1);
+                    ContentUris.withAppendedId(Data.CONTENT_URI, dataIdToAddSuperPrimary));
+            builder.withValue(Data.IS_SUPER_PRIMARY, 1);
+            builder.withValue(Data.IS_PRIMARY, 1);
             operations.add(builder.build());
         }
 
@@ -1086,10 +1164,7 @@
             resolver.applyBatch(ContactsContract.AUTHORITY, operations);
             showToast(R.string.contactsJoinedMessage);
             success = true;
-        } catch (RemoteException e) {
-            Log.e(TAG, "Failed to apply aggregation exception batch", e);
-            showToast(R.string.contactSavedErrorToast);
-        } catch (OperationApplicationException e) {
+        } catch (RemoteException | OperationApplicationException e) {
             Log.e(TAG, "Failed to apply aggregation exception batch", e);
             showToast(R.string.contactSavedErrorToast);
         }
@@ -1103,6 +1178,58 @@
         deliverCallback(callbackIntent);
     }
 
+    private long[] getRawContactIdsForAggregation(long[] contactIds) {
+        if (contactIds == null) {
+            return null;
+        }
+
+        final ContentResolver resolver = getContentResolver();
+        long rawContactIds[];
+
+        final StringBuilder queryBuilder = new StringBuilder();
+        final String stringContactIds[] = new String[contactIds.length];
+        for (int i = 0; i < contactIds.length; i++) {
+            queryBuilder.append(RawContacts.CONTACT_ID + "=?");
+            stringContactIds[i] = String.valueOf(contactIds[i]);
+            if (contactIds[i] == -1) {
+                return null;
+            }
+            if (i == contactIds.length -1) {
+                break;
+            }
+            queryBuilder.append(" OR ");
+        }
+
+        final Cursor c = resolver.query(RawContacts.CONTENT_URI,
+                JoinContactQuery.PROJECTION,
+                queryBuilder.toString(),
+                stringContactIds, null);
+        if (c == null) {
+            Log.e(TAG, "Unable to open Contacts DB cursor");
+            showToast(R.string.contactSavedErrorToast);
+            return null;
+        }
+        try {
+            if (c.getCount() < 2) {
+                Log.e(TAG, "Not enough raw contacts to aggregate together.");
+                return null;
+            }
+            rawContactIds = new long[c.getCount()];
+            for (int i = 0; i < rawContactIds.length; i++) {
+                c.moveToPosition(i);
+                long rawContactId = c.getLong(JoinContactQuery._ID);
+                rawContactIds[i] = rawContactId;
+            }
+        } finally {
+            c.close();
+        }
+        return rawContactIds;
+    }
+
+    private long[] getRawContactIdsForAggregation(long contactId1, long contactId2) {
+        return getRawContactIdsForAggregation(new long[] {contactId1, contactId2});
+    }
+
     /**
      * Construct a {@link AggregationExceptions#TYPE_KEEP_TOGETHER} ContentProviderOperation.
      */
diff --git a/src/com/android/contacts/ContactsApplication.java b/src/com/android/contacts/ContactsApplication.java
index ff6a1ae..eae078e 100644
--- a/src/com/android/contacts/ContactsApplication.java
+++ b/src/com/android/contacts/ContactsApplication.java
@@ -95,15 +95,6 @@
             }
         }
 
-        if (ContactPhotoManager.CONTACT_PHOTO_SERVICE.equals(name)) {
-            if (mContactPhotoManager == null) {
-                mContactPhotoManager = ContactPhotoManager.createContactPhotoManager(this);
-                registerComponentCallbacks(mContactPhotoManager);
-                mContactPhotoManager.preloadPhotosInBackground();
-            }
-            return mContactPhotoManager;
-        }
-
         return super.getSystemService(name);
     }
 
diff --git a/src/com/android/contacts/ContactsSearchManager.java b/src/com/android/contacts/ContactsSearchManager.java
deleted file mode 100644
index 20d7c5c..0000000
--- a/src/com/android/contacts/ContactsSearchManager.java
+++ /dev/null
@@ -1,73 +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.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.provider.ContactsContract;
-import android.provider.ContactsContract.Intents.UI;
-
-import com.android.contacts.list.ContactsRequest;
-
-/**
- * A convenience class that helps launch contact search from within the app.
- */
-public class ContactsSearchManager {
-
-    /**
-     * An extra that provides context for search UI and defines the scope for
-     * the search queries.
-     */
-    public static final String ORIGINAL_REQUEST_KEY = "originalRequest";
-
-    /**
-     * Starts the contact list activity in the search mode.
-     */
-    public static void startSearch(Activity context, String initialQuery) {
-        context.startActivity(buildIntent(context, initialQuery, null));
-    }
-
-    public static void startSearchForResult(Activity context, String initialQuery,
-            int requestCode, ContactsRequest originalRequest) {
-        context.startActivityForResult(
-                buildIntent(context, initialQuery, originalRequest), requestCode);
-    }
-
-    public static void startSearch(Activity context, String initialQuery,
-            ContactsRequest originalRequest) {
-        context.startActivity(buildIntent(context, initialQuery, originalRequest));
-    }
-
-    private static Intent buildIntent(
-            Activity context, String initialQuery, ContactsRequest originalRequest) {
-        Intent intent = new Intent();
-        intent.setData(ContactsContract.Contacts.CONTENT_URI);
-        intent.setAction(UI.FILTER_CONTACTS_ACTION);
-
-        Intent originalIntent = context.getIntent();
-        Bundle originalExtras = originalIntent.getExtras();
-        if (originalExtras != null) {
-            intent.putExtras(originalExtras);
-        }
-        intent.putExtra(UI.FILTER_TEXT_EXTRA_KEY, initialQuery);
-        if (originalRequest != null) {
-            intent.putExtra(ORIGINAL_REQUEST_KEY, originalRequest);
-        }
-        return intent;
-    }
-}
diff --git a/src/com/android/contacts/NonPhoneActivity.java b/src/com/android/contacts/NonPhoneActivity.java
index 652620c..05c556b 100644
--- a/src/com/android/contacts/NonPhoneActivity.java
+++ b/src/com/android/contacts/NonPhoneActivity.java
@@ -16,6 +16,9 @@
 
 package com.android.contacts;
 
+import com.android.contacts.common.activity.RequestPermissionsActivity;
+import com.android.contacts.common.util.ImplicitIntentsUtil;
+
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
@@ -41,6 +44,10 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        if (RequestPermissionsActivity.startPermissionActivity(this)) {
+            return;
+        }
+
         final String phoneNumber = getPhoneNumber();
         if (TextUtils.isEmpty(phoneNumber)) {
             finish();
@@ -85,7 +92,7 @@
                 final Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);
                 intent.setType(Contacts.CONTENT_ITEM_TYPE);
                 intent.putExtra(Insert.PHONE, getArgumentPhoneNumber());
-                startActivity(intent);
+                ImplicitIntentsUtil.startActivityInApp(getActivity(), intent);
             }
             dismiss();
         }
diff --git a/src/com/android/contacts/activities/ActionBarAdapter.java b/src/com/android/contacts/activities/ActionBarAdapter.java
index 4b9e83f..5a95c90 100644
--- a/src/com/android/contacts/activities/ActionBarAdapter.java
+++ b/src/com/android/contacts/activities/ActionBarAdapter.java
@@ -18,6 +18,7 @@
 
 import android.animation.ValueAnimator;
 import android.app.ActionBar;
+import android.app.Activity;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.content.res.TypedArray;
@@ -26,13 +27,17 @@
 import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextWatcher;
+import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.inputmethod.InputMethodManager;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout.LayoutParams;
 import android.widget.SearchView.OnCloseListener;
 import android.view.View.OnClickListener;
 import android.widget.EditText;
+import android.widget.TextView;
 import android.widget.Toolbar;
 
 import com.android.contacts.R;
@@ -48,7 +53,9 @@
         public abstract class Action {
             public static final int CHANGE_SEARCH_QUERY = 0;
             public static final int START_SEARCH_MODE = 1;
-            public static final int STOP_SEARCH_MODE = 2;
+            public static final int START_SELECTION_MODE = 2;
+            public static final int STOP_SEARCH_AND_SELECTION_MODE = 3;
+            public static final int BEGIN_STOPPING_SEARCH_AND_SELECTION_MODE = 4;
         }
 
         void onAction(int action);
@@ -65,29 +72,38 @@
     private static final String EXTRA_KEY_SEARCH_MODE = "navBar.searchMode";
     private static final String EXTRA_KEY_QUERY = "navBar.query";
     private static final String EXTRA_KEY_SELECTED_TAB = "navBar.selectedTab";
+    private static final String EXTRA_KEY_SELECTED_MODE = "navBar.selectionMode";
 
     private static final String PERSISTENT_LAST_TAB = "actionBarAdapter.lastTab";
 
+    private boolean mSelectionMode;
     private boolean mSearchMode;
     private String mQueryString;
 
     private EditText mSearchView;
+    private View mClearSearchView;
     /** 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 View mSelectionContainer;
 
     private int mMaxPortraitTabHeight;
     private int mMaxToolbarContentInsetStart;
 
-    private final Context mContext;
+    private final Activity mActivity;
     private final SharedPreferences mPrefs;
 
     private Listener mListener;
 
     private final ActionBar mActionBar;
     private final Toolbar mToolbar;
+    /**
+     *  Frame that contains the toolbar and draws the toolbar's background color. This is useful
+     *  for placing things behind the toolbar.
+     */
+    private final FrameLayout mToolBarFrame;
 
     private boolean mShowHomeIcon;
 
@@ -101,20 +117,21 @@
 
     private int mCurrentTab = TabState.DEFAULT;
 
-    public ActionBarAdapter(Context context, Listener listener, ActionBar actionBar,
+    public ActionBarAdapter(Activity activity, Listener listener, ActionBar actionBar,
             View portraitTabs, View landscapeTabs, Toolbar toolbar) {
-        mContext = context;
+        mActivity = activity;
         mListener = listener;
         mActionBar = actionBar;
-        mPrefs = PreferenceManager.getDefaultSharedPreferences(mContext);
+        mPrefs = PreferenceManager.getDefaultSharedPreferences(mActivity);
         mPortraitTabs = portraitTabs;
         mLandscapeTabs = landscapeTabs;
         mToolbar = toolbar;
+        mToolBarFrame = (FrameLayout) mToolbar.getParent();
         mMaxToolbarContentInsetStart = mToolbar.getContentInsetStart();
-        mShowHomeIcon = mContext.getResources().getBoolean(R.bool.show_home_icon);
+        mShowHomeIcon = mActivity.getResources().getBoolean(R.bool.show_home_icon);
 
-        setupSearchView();
-        setupTabs(context);
+        setupSearchAndSelectionViews();
+        setupTabs(mActivity);
     }
 
     private void setupTabs(Context context) {
@@ -125,26 +142,20 @@
         setPortraitTabHeight(0);
     }
 
-    private void setupSearchView() {
+    private void setupSearchAndSelectionViews() {
         final LayoutInflater inflater = (LayoutInflater) mToolbar.getContext().getSystemService(
                 Context.LAYOUT_INFLATER_SERVICE);
+
+        // Setup search bar
         mSearchContainer = inflater.inflate(R.layout.search_bar_expanded, mToolbar,
                 /* attachToRoot = */ false);
         mSearchContainer.setVisibility(View.VISIBLE);
         mToolbar.addView(mSearchContainer);
-
-        mSearchContainer.setBackgroundColor(mContext.getResources().getColor(
+        mSearchContainer.setBackgroundColor(mActivity.getResources().getColor(
                 R.color.searchbox_background_color));
         mSearchView = (EditText) mSearchContainer.findViewById(R.id.search_view);
-        mSearchView.setHint(mContext.getString(R.string.hint_findContacts));
+        mSearchView.setHint(mActivity.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) {
-                setQueryString(null);
-            }
-        });
         mSearchContainer.findViewById(R.id.search_back_button).setOnClickListener(
                 new OnClickListener() {
             @Override
@@ -154,6 +165,31 @@
                 }
             }
         });
+
+        mClearSearchView = mSearchContainer.findViewById(R.id.search_close_button);
+        mClearSearchView.setOnClickListener(
+                new OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                setQueryString(null);
+            }
+        });
+
+        // Setup selection bar
+        mSelectionContainer = inflater.inflate(R.layout.selection_bar, mToolbar,
+                /* attachToRoot = */ false);
+        // Insert the selection container into mToolBarFrame behind the Toolbar, so that
+        // the Toolbar's MenuItems can appear on top of the selection container.
+        mToolBarFrame.addView(mSelectionContainer, 0);
+        mSelectionContainer.findViewById(R.id.selection_close).setOnClickListener(
+                new OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        if (mListener != null) {
+                            mListener.onUpButtonPressed();
+                        }
+                    }
+                });
     }
 
     public void initialize(Bundle savedState, ContactsRequest request) {
@@ -161,8 +197,10 @@
             mSearchMode = request.isSearchMode();
             mQueryString = request.getQueryString();
             mCurrentTab = loadLastTabPreference();
+            mSelectionMode = false;
         } else {
             mSearchMode = savedState.getBoolean(EXTRA_KEY_SEARCH_MODE);
+            mSelectionMode = savedState.getBoolean(EXTRA_KEY_SELECTED_MODE);
             mQueryString = savedState.getString(EXTRA_KEY_QUERY);
 
             // Just set to the field here.  The listener will be notified by update().
@@ -201,6 +239,8 @@
             } else if (mListener != null) {
                 mListener.onAction(Action.CHANGE_SEARCH_QUERY);
             }
+            mClearSearchView.setVisibility(
+                    TextUtils.isEmpty(queryString) ? View.GONE : View.VISIBLE);
         }
 
         @Override
@@ -244,6 +284,13 @@
         return mSearchMode;
     }
 
+    /**
+     * @return Whether in selection mode, i.e. if the selection view is visible/expanded.
+     */
+    public boolean isSelectionMode() {
+        return mSelectionMode;
+    }
+
     public void setSearchMode(boolean flag) {
         if (mSearchMode != flag) {
             mSearchMode = flag;
@@ -265,6 +312,13 @@
         }
     }
 
+    public void setSelectionMode(boolean flag) {
+        if (mSelectionMode != flag) {
+            mSelectionMode = flag;
+            update(false /* skipAnimation */);
+        }
+    }
+
     public String getQueryString() {
         return mSearchMode ? mQueryString : null;
     }
@@ -288,25 +342,43 @@
     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;
+                | ActionBar.DISPLAY_HOME_AS_UP;
 
         // The current flags set to the action bar.  (only the ones that we may change here)
         final int current = mActionBar.getDisplayOptions() & MASK;
 
+        final boolean isSearchOrSelectionMode = mSearchMode || mSelectionMode;
+
         // Build the new flags...
         int newFlags = 0;
-        if (mShowHomeIcon && !mSearchMode) {
+        if (mShowHomeIcon && !isSearchOrSelectionMode) {
             newFlags |= ActionBar.DISPLAY_SHOW_HOME;
         }
-        if (mSearchMode) {
-            newFlags |= ActionBar.DISPLAY_SHOW_CUSTOM;
+        if (mSearchMode && !mSelectionMode) {
+            // The search container is placed inside the toolbar. So we need to disable the
+            // Toolbar's content inset in order to allow the search container to be the width of
+            // the window.
             mToolbar.setContentInsetsRelative(0, mToolbar.getContentInsetEnd());
-        } else {
+        }
+        if (!isSearchOrSelectionMode) {
             newFlags |= ActionBar.DISPLAY_SHOW_TITLE;
             mToolbar.setContentInsetsRelative(mMaxToolbarContentInsetStart,
                     mToolbar.getContentInsetEnd());
         }
 
+        if (mSelectionMode) {
+            // Minimize the horizontal width of the Toolbar since the selection container is placed
+            // behind the toolbar and its left hand side needs to be clickable.
+            FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) mToolbar.getLayoutParams();
+            params.width = LayoutParams.WRAP_CONTENT;
+            params.gravity = Gravity.END;
+            mToolbar.setLayoutParams(params);
+        } else {
+            FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) mToolbar.getLayoutParams();
+            params.width = LayoutParams.MATCH_PARENT;
+            params.gravity = Gravity.END;
+            mToolbar.setLayoutParams(params);
+        }
 
         if (current != newFlags) {
             // Pass the mask here to preserve other flags that we're not interested here.
@@ -315,43 +387,108 @@
     }
 
     private void update(boolean skipAnimation) {
-        final boolean isIconifiedChanging
+        updateStatusBarColor();
+
+        final boolean isSelectionModeChanging
+                = (mSelectionContainer.getParent() == null) == mSelectionMode;
+        final boolean isSwitchingFromSearchToSelection =
+                mSearchMode && isSelectionModeChanging || mSearchMode && mSelectionMode;
+        final boolean isSearchModeChanging
                 = (mSearchContainer.getParent() == null) == mSearchMode;
-        if (isIconifiedChanging && !skipAnimation) {
+        final boolean isTabHeightChanging = isSearchModeChanging || isSelectionModeChanging;
+
+        // When skipAnimation=true, it is possible that we will switch from search mode
+        // to selection mode directly. So we need to remove the undesired container in addition
+        // to adding the desired container.
+        if (skipAnimation || isSwitchingFromSearchToSelection) {
+            if (isTabHeightChanging || isSwitchingFromSearchToSelection) {
+                mToolbar.removeView(mLandscapeTabs);
+                mToolbar.removeView(mSearchContainer);
+                mToolBarFrame.removeView(mSelectionContainer);
+                if (mSelectionMode) {
+                    setPortraitTabHeight(0);
+                    addSelectionContainer();
+                } else if (mSearchMode) {
+                    setPortraitTabHeight(0);
+                    addSearchContainer();
+                } else {
+                    setPortraitTabHeight(mMaxPortraitTabHeight);
+                    addLandscapeViewPagerTabs();
+                }
+                updateDisplayOptions(isSearchModeChanging);
+            }
+            return;
+        }
+
+        // Handle a switch to/from selection mode, due to UI interaction.
+        if (isSelectionModeChanging) {
+            mToolbar.removeView(mLandscapeTabs);
+            if (mSelectionMode) {
+                addSelectionContainer();
+                mSelectionContainer.setAlpha(0);
+                mSelectionContainer.animate().alpha(1);
+                animateTabHeightChange(mMaxPortraitTabHeight, 0);
+                updateDisplayOptions(isSearchModeChanging);
+            } else {
+                if (mListener != null) {
+                    mListener.onAction(Action.BEGIN_STOPPING_SEARCH_AND_SELECTION_MODE);
+                }
+                mSelectionContainer.setAlpha(1);
+                animateTabHeightChange(0, mMaxPortraitTabHeight);
+                mSelectionContainer.animate().alpha(0).withEndAction(new Runnable() {
+                    @Override
+                    public void run() {
+                        updateDisplayOptions(isSearchModeChanging);
+                        addLandscapeViewPagerTabs();
+                        mToolBarFrame.removeView(mSelectionContainer);
+                    }
+                });
+            }
+        }
+
+        // Handle a switch to/from search mode, due to UI interaction.
+        if (isSearchModeChanging) {
             mToolbar.removeView(mLandscapeTabs);
             if (mSearchMode) {
                 addSearchContainer();
                 mSearchContainer.setAlpha(0);
                 mSearchContainer.animate().alpha(1);
                 animateTabHeightChange(mMaxPortraitTabHeight, 0);
-                updateDisplayOptions(isIconifiedChanging);
+                updateDisplayOptions(isSearchModeChanging);
             } else {
                 mSearchContainer.setAlpha(1);
                 animateTabHeightChange(0, mMaxPortraitTabHeight);
                 mSearchContainer.animate().alpha(0).withEndAction(new Runnable() {
                     @Override
                     public void run() {
-                        updateDisplayOptionsInner();
-                        updateDisplayOptions(isIconifiedChanging);
+                        updateDisplayOptions(isSearchModeChanging);
                         addLandscapeViewPagerTabs();
                         mToolbar.removeView(mSearchContainer);
                     }
                 });
             }
-            return;
         }
-        if (isIconifiedChanging && skipAnimation) {
-            mToolbar.removeView(mLandscapeTabs);
-            if (mSearchMode) {
-                setPortraitTabHeight(0);
-                addSearchContainer();
-            } else {
-                setPortraitTabHeight(mMaxPortraitTabHeight);
-                mToolbar.removeView(mSearchContainer);
-                addLandscapeViewPagerTabs();
-            }
+    }
+
+    public void setSelectionCount(int selectionCount) {
+        TextView textView = (TextView) mSelectionContainer.findViewById(R.id.selection_count_text);
+        if (selectionCount == 0) {
+            textView.setVisibility(View.GONE);
+        } else {
+            textView.setVisibility(View.VISIBLE);
         }
-        updateDisplayOptions(isIconifiedChanging);
+        textView.setText(String.valueOf(selectionCount));
+    }
+
+    private void updateStatusBarColor() {
+        if (mSelectionMode) {
+            int cabStatusBarColor = mActivity.getResources().getColor(
+                    R.color.contextual_selection_bar_status_bar_color);
+            mActivity.getWindow().setStatusBarColor(cabStatusBarColor);
+        } else {
+            int normalStatusBarColor = mActivity.getColor(R.color.primary_color_dark);
+            mActivity.getWindow().setStatusBarColor(normalStatusBarColor);
+        }
     }
 
     private void addLandscapeViewPagerTabs() {
@@ -364,26 +501,37 @@
     private void addSearchContainer() {
         mToolbar.removeView(mSearchContainer);
         mToolbar.addView(mSearchContainer);
+        mSearchContainer.setAlpha(1);
     }
 
-    private void updateDisplayOptions(boolean isIconifiedChanging) {
-        if (mSearchMode) {
+    private void addSelectionContainer() {
+        mToolBarFrame.removeView(mSelectionContainer);
+        mToolBarFrame.addView(mSelectionContainer, 0);
+        mSelectionContainer.setAlpha(1);
+    }
+
+    private void updateDisplayOptions(boolean isSearchModeChanging) {
+        if (mSearchMode && !mSelectionMode) {
             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) {
+            if (isSearchModeChanging) {
                 final CharSequence queryText = mSearchView.getText();
                 if (!TextUtils.isEmpty(queryText)) {
                     mSearchView.setText(queryText);
                 }
             }
-            if (mListener != null) {
+        }
+        if (mListener != null) {
+            if (mSearchMode) {
                 mListener.onAction(Action.START_SEARCH_MODE);
             }
-        } else {
-            if (mListener != null) {
-                mListener.onAction(Action.STOP_SEARCH_MODE);
+            if (mSelectionMode) {
+                mListener.onAction(Action.START_SELECTION_MODE);
+            }
+            if (!mSearchMode && !mSelectionMode) {
+                mListener.onAction(Action.STOP_SEARCH_AND_SELECTION_MODE);
                 mListener.onSelectedTabChanged();
             }
         }
@@ -398,6 +546,7 @@
 
     public void onSaveInstanceState(Bundle outState) {
         outState.putBoolean(EXTRA_KEY_SEARCH_MODE, mSearchMode);
+        outState.putBoolean(EXTRA_KEY_SELECTED_MODE, mSelectionMode);
         outState.putString(EXTRA_KEY_QUERY, mQueryString);
         outState.putInt(EXTRA_KEY_SELECTED_TAB, mCurrentTab);
     }
@@ -408,7 +557,7 @@
     }
 
     private void showInputMethod(View view) {
-        final InputMethodManager imm = (InputMethodManager) mContext.getSystemService(
+        final InputMethodManager imm = (InputMethodManager) mActivity.getSystemService(
                 Context.INPUT_METHOD_SERVICE);
         if (imm != null) {
             imm.showSoftInput(view, 0);
diff --git a/src/com/android/contacts/activities/AttachPhotoActivity.java b/src/com/android/contacts/activities/AttachPhotoActivity.java
index 3196f87..cf3bfc8 100644
--- a/src/com/android/contacts/activities/AttachPhotoActivity.java
+++ b/src/com/android/contacts/activities/AttachPhotoActivity.java
@@ -23,6 +23,8 @@
 import android.content.Intent;
 import android.content.Loader;
 import android.content.Loader.OnLoadCompleteListener;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
 import android.database.Cursor;
 import android.graphics.Bitmap;
 import android.net.Uri;
@@ -38,6 +40,7 @@
 import com.android.contacts.ContactSaveService;
 import com.android.contacts.ContactsActivity;
 import com.android.contacts.R;
+import com.android.contacts.common.activity.RequestPermissionsActivity;
 import com.android.contacts.common.model.Contact;
 import com.android.contacts.common.model.ContactLoader;
 import com.android.contacts.common.model.RawContactDelta;
@@ -51,6 +54,7 @@
 import com.android.contacts.util.ContactPhotoUtils;
 
 import java.io.FileNotFoundException;
+import java.util.List;
 
 /**
  * Provides an external interface for other applications to attach images
@@ -85,6 +89,10 @@
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
+        if (RequestPermissionsActivity.startPermissionActivity(this)) {
+            return;
+        }
+
         if (icicle != null) {
             final String uri = icicle.getString(KEY_CONTACT_URI);
             mContactUri = (uri == null) ? null : Uri.parse(uri);
@@ -143,7 +151,8 @@
             }
             // If there's an account specified, use it.
             if (result != null) {
-                AccountWithDataSet account = result.getParcelableExtra(Intents.Insert.ACCOUNT);
+                AccountWithDataSet account = result.getParcelableExtra(
+                        Intents.Insert.EXTRA_ACCOUNT);
                 if (account != null) {
                     createNewRawContact(account);
                     return;
@@ -161,20 +170,35 @@
             final Intent myIntent = getIntent();
             final Uri inputUri = myIntent.getData();
 
-            final Uri toCrop;
+
             // Save the URI into a temporary file provider URI so that
             // we can add the FLAG_GRANT_WRITE_URI_PERMISSION flag to the eventual
             // crop intent for read-only URI's.
             // TODO: With b/10837468 fixed should be able to avoid this copy.
-            ContactPhotoUtils.savePhotoFromUriToUri(this, inputUri, mTempPhotoUri, false);
-            toCrop = mTempPhotoUri;
+            if (!ContactPhotoUtils.savePhotoFromUriToUri(this, inputUri, mTempPhotoUri, false)) {
+                finish();
+                return;
+            }
 
-            final Intent intent = new Intent("com.android.camera.action.CROP", toCrop);
+            final Intent intent = new Intent("com.android.camera.action.CROP", mTempPhotoUri);
             if (myIntent.getStringExtra("mimeType") != null) {
-                intent.setDataAndType(toCrop, myIntent.getStringExtra("mimeType"));
+                intent.setDataAndType(mTempPhotoUri, myIntent.getStringExtra("mimeType"));
             }
             ContactPhotoUtils.addPhotoPickerExtras(intent, mCroppedPhotoUri);
             ContactPhotoUtils.addCropExtras(intent, mPhotoDim != 0 ? mPhotoDim : mDefaultPhotoDim);
+            if (!hasIntentHandler(intent)) {
+                // No activity supports the crop action. So skip cropping and set the photo
+                // without performing any cropping.
+                mCroppedPhotoUri = mTempPhotoUri;
+                mContactUri = result.getData();
+                loadContact(mContactUri, new Listener() {
+                    @Override
+                    public void onContactLoaded(Contact contact) {
+                        saveContact(contact);
+                    }
+                });
+                return;
+            }
 
             try {
                 startActivityForResult(intent, REQUEST_CROP_PHOTO);
@@ -202,6 +226,12 @@
         }
     }
 
+    private boolean hasIntentHandler(Intent intent) {
+        final List<ResolveInfo> resolveInfo = getPackageManager()
+                .queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
+        return resolveInfo != null && resolveInfo.size() > 0;
+    }
+
     // TODO: consider moving this to ContactLoader, especially if we keep adding similar
     // code elsewhere (ViewNotificationService is another case).  The only concern is that,
     // although this is convenient, it isn't quite as robust as using LoaderManager... for
@@ -321,11 +351,7 @@
             // Otherwise, there should be a default account. Then either create a local contact
             // (if default account is null) or create a contact with the specified account.
             AccountWithDataSet defaultAccount = editorUtils.getDefaultAccount();
-            if (defaultAccount == null) {
-                createNewRawContact(null);
-            } else {
-                createNewRawContact(defaultAccount);
-            }
+            createNewRawContact(defaultAccount);
         }
     }
 
diff --git a/src/com/android/contacts/activities/CompactContactEditorActivity.java b/src/com/android/contacts/activities/CompactContactEditorActivity.java
new file mode 100644
index 0000000..c45c261
--- /dev/null
+++ b/src/com/android/contacts/activities/CompactContactEditorActivity.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.contacts.activities;
+
+import com.android.contacts.R;
+import com.android.contacts.editor.CompactContactEditorFragment;
+import com.android.contacts.common.activity.RequestPermissionsActivity;
+
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+
+/**
+ * Contact editor with only the most important fields displayed initially.
+ */
+public class CompactContactEditorActivity extends ContactEditorBaseActivity {
+
+    private static final String TAG_COMPACT_EDITOR = "compact_editor";
+
+    @Override
+    public void onCreate(Bundle savedState) {
+        super.onCreate(savedState);
+
+        if (RequestPermissionsActivity.startPermissionActivity(this)) {
+            return;
+        }
+
+        setContentView(R.layout.compact_contact_editor_activity);
+
+        mFragment = (CompactContactEditorFragment) getFragmentManager().findFragmentByTag(
+                TAG_COMPACT_EDITOR);
+        if (mFragment == null) {
+            mFragment = new CompactContactEditorFragment();
+            getFragmentManager().beginTransaction()
+                    .add(R.id.compact_contact_editor_fragment_container,
+                            (CompactContactEditorFragment) mFragment, TAG_COMPACT_EDITOR)
+                    .commit();
+        }
+        mFragment.setListener(mFragmentListener);
+
+        final String action = getIntent().getAction();
+        final Uri uri = Intent.ACTION_EDIT.equals(action) ? getIntent().getData() : null;
+        mFragment.load(action, uri, getIntent().getExtras());
+    }
+
+    @Override
+    public void onBackPressed() {
+        if (mFragment != null) {
+            mFragment.save(ContactEditor.SaveMode.CLOSE, /* backPressed =*/ true);
+        }
+    }
+}
diff --git a/src/com/android/contacts/activities/ConfirmAddDetailActivity.java b/src/com/android/contacts/activities/ConfirmAddDetailActivity.java
index e3fa7e2..f4e8c78 100644
--- a/src/com/android/contacts/activities/ConfirmAddDetailActivity.java
+++ b/src/com/android/contacts/activities/ConfirmAddDetailActivity.java
@@ -495,6 +495,9 @@
                             if (photoId == 0) {
                                 mContactId = cursor.getLong(ContactQuery._ID);
                                 startDisambiguationQuery(mDisplayName);
+                            } else if (TextUtils.isEmpty(mLookupKey)) {
+                                finish();
+                                return;
                             } else {
                                 // Otherwise do the photo query.
                                 Uri lookupUri = Contacts.getLookupUri(mContactId, mLookupKey);
diff --git a/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java b/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
index bf3b1c1..a922ca1 100644
--- a/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
+++ b/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
@@ -185,7 +185,7 @@
 
         // Pass account info in activity result intent
         Intent intent = new Intent();
-        intent.putExtra(Intents.Insert.ACCOUNT, account);
+        intent.putExtra(Intents.Insert.EXTRA_ACCOUNT, account);
         setResult(RESULT_OK, intent);
         finish();
     }
diff --git a/src/com/android/contacts/activities/ContactEditorActivity.java b/src/com/android/contacts/activities/ContactEditorActivity.java
index c350da9..800a267 100644
--- a/src/com/android/contacts/activities/ContactEditorActivity.java
+++ b/src/com/android/contacts/activities/ContactEditorActivity.java
@@ -16,243 +16,45 @@
 
 package com.android.contacts.activities;
 
-import android.app.ActionBar;
-import android.app.Dialog;
-import android.content.ContentValues;
-import android.content.Context;
+import com.android.contacts.R;
+import com.android.contacts.common.activity.RequestPermissionsActivity;
+import com.android.contacts.editor.ContactEditorFragment;
+import com.android.contacts.util.DialogManager;
+
 import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
-import android.provider.ContactsContract;
-import android.provider.ContactsContract.Contacts;
-import android.provider.ContactsContract.RawContacts;
-import android.util.Log;
-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;
-import com.android.contacts.R;
-import com.android.contacts.editor.ContactEditorFragment;
-import com.android.contacts.editor.ContactEditorFragment.SaveMode;
-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;
-
-public class ContactEditorActivity extends ContactsActivity
+/**
+ * Contact editor with all fields displayed.
+ */
+public class ContactEditorActivity extends ContactEditorBaseActivity
         implements DialogManager.DialogShowingViewActivity {
-    private static final String TAG = "ContactEditorActivity";
-
-    public static final String ACTION_JOIN_COMPLETED = "joinCompleted";
-    public static final String ACTION_SAVE_COMPLETED = "saveCompleted";
-
-    /**
-     * Boolean intent key that specifies that this activity should finish itself
-     * (instead of launching a new view intent) after the editor changes have been
-     * saved.
-     */
-    public static final String INTENT_KEY_FINISH_ACTIVITY_ON_SAVE_COMPLETED =
-            "finishActivityOnSaveCompleted";
-
-    private ContactEditorFragment mFragment;
-    private boolean mFinishActivityOnSaveCompleted;
-
-    private DialogManager mDialogManager = new DialogManager(this);
 
     @Override
     public void onCreate(Bundle savedState) {
         super.onCreate(savedState);
 
-        final Intent intent = getIntent();
-        final String action = intent.getAction();
-
-        // Determine whether or not this activity should be finished after the user is done
-        // editing the contact or if this activity should launch another activity to view the
-        // contact's details.
-        mFinishActivityOnSaveCompleted = intent.getBooleanExtra(
-                INTENT_KEY_FINISH_ACTIVITY_ON_SAVE_COMPLETED, false);
-
-        // The only situation where action could be ACTION_JOIN_COMPLETED is if the
-        // user joined the contact with another and closed the activity before
-        // the save operation was completed.  The activity should remain closed then.
-        if (ACTION_JOIN_COMPLETED.equals(action)) {
-            finish();
-            return;
-        }
-
-        if (ACTION_SAVE_COMPLETED.equals(action)) {
-            finish();
+        if (RequestPermissionsActivity.startPermissionActivity(this)) {
             return;
         }
 
         setContentView(R.layout.contact_editor_activity);
 
-        ActionBar actionBar = getActionBar();
-        if (actionBar != null) {
-            if (Intent.ACTION_EDIT.equals(action)) {
-                actionBar.setTitle(getResources().getString(
-                        R.string.contact_editor_title_existing_contact));
-            } else {
-                actionBar.setTitle(getResources().getString(
-                        R.string.contact_editor_title_new_contact));
-            }
-            actionBar.setDisplayShowHomeEnabled(true);
-            actionBar.setDisplayHomeAsUpEnabled(true);
-        }
-
         mFragment = (ContactEditorFragment) getFragmentManager().findFragmentById(
                 R.id.contact_editor_fragment);
         mFragment.setListener(mFragmentListener);
-        Uri uri = Intent.ACTION_EDIT.equals(action) ? getIntent().getData() : null;
+
+        final String action = getIntent().getAction();
+        final Uri uri = ContactEditorBaseActivity.ACTION_EDIT.equals(action)
+                || Intent.ACTION_EDIT.equals(action) ? getIntent().getData() : null;
         mFragment.load(action, uri, getIntent().getExtras());
     }
 
     @Override
-    protected void onNewIntent(Intent intent) {
-        super.onNewIntent(intent);
-
-        if (mFragment == null) {
-            return;
-        }
-
-        String action = intent.getAction();
-        if (Intent.ACTION_EDIT.equals(action)) {
-            mFragment.setIntentExtras(intent.getExtras());
-        } else if (ACTION_SAVE_COMPLETED.equals(action)) {
-            mFragment.onSaveCompleted(true,
-                    intent.getIntExtra(ContactEditorFragment.SAVE_MODE_EXTRA_KEY, SaveMode.CLOSE),
-                    intent.getBooleanExtra(ContactSaveService.EXTRA_SAVE_SUCCEEDED, false),
-                    intent.getData());
-        } else if (ACTION_JOIN_COMPLETED.equals(action)) {
-            mFragment.onJoinCompleted(intent.getData());
-        }
-    }
-
-    @Override
-    protected Dialog onCreateDialog(int id, Bundle args) {
-        if (DialogManager.isManagedId(id)) return mDialogManager.onCreateDialog(id, args);
-
-        // Nobody knows about the Dialog
-        Log.w(TAG, "Unknown dialog requested, id: " + id + ", args: " + args);
-        return null;
-    }
-
-    @Override
     public void onBackPressed() {
-        mFragment.save(SaveMode.CLOSE);
-    }
-
-    private final ContactEditorFragment.Listener mFragmentListener =
-            new ContactEditorFragment.Listener() {
-
-        @Override
-        public void onDeleteRequested(Uri contactUri) {
-            ContactDeletionInteraction.start(ContactEditorActivity.this, contactUri, true);
+        if (mFragment != null) {
+            mFragment.save(ContactEditor.SaveMode.COMPACT, /* backPressed =*/ true);
         }
-
-        @Override
-        public void onReverted() {
-            finish();
-        }
-
-        @Override
-        public void onSaveFinished(Intent resultIntent) {
-            if (mFinishActivityOnSaveCompleted) {
-                setResult(resultIntent == null ? RESULT_CANCELED : RESULT_OK, resultIntent);
-            } else if (resultIntent != null) {
-                startActivity(resultIntent);
-            }
-            finish();
-        }
-
-        @Override
-        public void onContactSplit(Uri newLookupUri) {
-            finish();
-        }
-
-        @Override
-        public void onContactNotFound() {
-            finish();
-        }
-
-        @Override
-        public void onEditOtherContactRequested(
-                Uri contactLookupUri, ArrayList<ContentValues> values) {
-            Intent intent = new Intent(Intent.ACTION_EDIT, contactLookupUri);
-            intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
-                    | Intent.FLAG_ACTIVITY_FORWARD_RESULT);
-            intent.putExtra(ContactEditorFragment.INTENT_EXTRA_ADD_TO_DEFAULT_DIRECTORY, "");
-
-            // Pass on all the data that has been entered so far
-            if (values != null && values.size() != 0) {
-                intent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, values);
-            }
-
-            startActivity(intent);
-            finish();
-        }
-
-        @Override
-        public void onCustomCreateContactActivityRequested(AccountWithDataSet account,
-                Bundle intentExtras) {
-            final AccountTypeManager accountTypes =
-                    AccountTypeManager.getInstance(ContactEditorActivity.this);
-            final AccountType accountType = accountTypes.getAccountType(
-                    account.type, account.dataSet);
-
-            Intent intent = new Intent();
-            intent.setClassName(accountType.syncAdapterPackageName,
-                    accountType.getCreateContactActivityClassName());
-            intent.setAction(Intent.ACTION_INSERT);
-            intent.setType(Contacts.CONTENT_ITEM_TYPE);
-            if (intentExtras != null) {
-                intent.putExtras(intentExtras);
-            }
-            intent.putExtra(RawContacts.ACCOUNT_NAME, account.name);
-            intent.putExtra(RawContacts.ACCOUNT_TYPE, account.type);
-            intent.putExtra(RawContacts.DATA_SET, account.dataSet);
-            intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
-                    | Intent.FLAG_ACTIVITY_FORWARD_RESULT);
-            startActivity(intent);
-            finish();
-        }
-
-        @Override
-        public void onCustomEditContactActivityRequested(AccountWithDataSet account,
-                Uri rawContactUri, Bundle intentExtras, boolean redirect) {
-            final AccountTypeManager accountTypes =
-                    AccountTypeManager.getInstance(ContactEditorActivity.this);
-            final AccountType accountType = accountTypes.getAccountType(
-                    account.type, account.dataSet);
-
-            Intent intent = new Intent();
-            intent.setClassName(accountType.syncAdapterPackageName,
-                    accountType.getEditContactActivityClassName());
-            intent.setAction(Intent.ACTION_EDIT);
-            intent.setData(rawContactUri);
-            if (intentExtras != null) {
-                intent.putExtras(intentExtras);
-            }
-
-            if (redirect) {
-                intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
-                        | Intent.FLAG_ACTIVITY_FORWARD_RESULT);
-                startActivity(intent);
-                finish();
-            } else {
-                startActivity(intent);
-            }
-        }
-    };
-
-    @Override
-    public DialogManager getDialogManager() {
-        return mDialogManager;
     }
 }
diff --git a/src/com/android/contacts/activities/ContactEditorBaseActivity.java b/src/com/android/contacts/activities/ContactEditorBaseActivity.java
new file mode 100644
index 0000000..41b0c6b
--- /dev/null
+++ b/src/com/android/contacts/activities/ContactEditorBaseActivity.java
@@ -0,0 +1,365 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.contacts.activities;
+
+import com.android.contacts.ContactSaveService;
+import com.android.contacts.ContactsActivity;
+import com.android.contacts.R;
+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.util.ImplicitIntentsUtil;
+import com.android.contacts.editor.ContactEditorBaseFragment;
+import com.android.contacts.editor.ContactEditorFragment;
+import com.android.contacts.editor.EditorIntents;
+import com.android.contacts.interactions.ContactDeletionInteraction;
+import com.android.contacts.util.DialogManager;
+
+import android.app.ActionBar;
+import android.app.Dialog;
+import android.content.ContentValues;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.provider.ContactsContract.Contacts;
+import android.provider.ContactsContract.RawContacts;
+import android.util.Log;
+
+import java.util.ArrayList;
+
+/**
+ * Base Activity for contact editors.
+ */
+abstract public class ContactEditorBaseActivity extends ContactsActivity
+        implements DialogManager.DialogShowingViewActivity {
+    protected static final String TAG = "ContactEditorActivity";
+
+    /**
+     * Intent action to edit a contact with all available field inputs displayed.
+     *
+     * Only used to open the "fully expanded" editor -- {@link ContactEditorActivity}.
+     */
+    public static final String ACTION_EDIT = "com.google.android.contacts.action.EDIT";
+
+    /**
+     * Intent action to insert a new contact with all available field inputs displayed.
+     *
+     * Only used to open the "fully expanded" editor -- {@link ContactEditorActivity}.
+     */
+    public static final String ACTION_INSERT = "com.google.android.contacts.action.INSERT";
+
+    public static final String ACTION_JOIN_COMPLETED = "joinCompleted";
+    public static final String ACTION_SAVE_COMPLETED = "saveCompleted";
+
+    /**
+     * Contract for contact editors Fragments that are managed by this Activity.
+     */
+    public interface ContactEditor {
+
+        /**
+         * Modes that specify what the AsyncTask has to perform after saving
+         */
+        public interface SaveMode {
+            /**
+             * Close the editor after saving
+             */
+            public static final int CLOSE = 0;
+
+            /**
+             * Reload the data so that the user can continue editing
+             */
+            public static final int RELOAD = 1;
+
+            /**
+             * Split the contact after saving
+             */
+            public static final int SPLIT = 2;
+
+            /**
+             * Join another contact after saving
+             */
+            public static final int JOIN = 3;
+
+            /**
+             * Navigate to the compact editor view after saving.
+             */
+            public static final int COMPACT = 4;
+        }
+
+        /**
+         * The status of the contact editor.
+         */
+        public interface Status {
+            /**
+             * The loader is fetching data
+             */
+            public static final int LOADING = 0;
+
+            /**
+             * Not currently busy. We are waiting for the user to enter data
+             */
+            public static final int EDITING = 1;
+
+            /**
+             * The data is currently being saved. This is used to prevent more
+             * auto-saves (they shouldn't overlap)
+             */
+            public static final int SAVING = 2;
+
+            /**
+             * Prevents any more saves. This is used if in the following cases:
+             * - After Save/Close
+             * - After Revert
+             * - After the user has accepted an edit suggestion
+             * - After the user chooses to expand the compact editor
+             */
+            public static final int CLOSING = 3;
+
+            /**
+             * Prevents saving while running a child activity.
+             */
+            public static final int SUB_ACTIVITY = 4;
+        }
+
+        /**
+         * Sets the hosting Activity that will receive callbacks from the contact editor.
+         */
+        void setListener(ContactEditorBaseFragment.Listener listener);
+
+        /**
+         * Initialize the contact editor.
+         */
+        void load(String action, Uri lookupUri, Bundle intentExtras);
+
+        /**
+         * Applies extras from the hosting Activity to the first writable raw contact.
+         */
+        void setIntentExtras(Bundle extras);
+
+        /**
+         * Saves or creates the contact based on the mode, and if successful
+         * finishes the activity.
+         *
+         * @param backPressed whether the save was initiated as a result of a back button press
+         *         or because the framework stopped the editor Activity
+         */
+        boolean save(int saveMode, boolean backPressed);
+
+        /**
+         * Invoked after the contact is saved.
+         */
+        void onSaveCompleted(boolean hadChanges, int saveMode, boolean saveSucceeded,
+                Uri contactLookupUri, Bundle updatedPhotos, boolean backPressed);
+
+        /**
+         * Invoked after the contact is joined.
+         */
+        void onJoinCompleted(Uri uri);
+    }
+
+    /**
+     * Boolean intent key that specifies that this activity should finish itself
+     * (instead of launching a new view intent) after the editor changes have been
+     * saved.
+     */
+    public static final String INTENT_KEY_FINISH_ACTIVITY_ON_SAVE_COMPLETED =
+            "finishActivityOnSaveCompleted";
+
+    protected ContactEditor mFragment;
+    private boolean mFinishActivityOnSaveCompleted;
+
+    private DialogManager mDialogManager = new DialogManager(this);
+
+    @Override
+    public void onCreate(Bundle savedState) {
+        super.onCreate(savedState);
+
+        final Intent intent = getIntent();
+        final String action = intent.getAction();
+
+        // Determine whether or not this activity should be finished after the user is done
+        // editing the contact or if this activity should launch another activity to view the
+        // contact's details.
+        mFinishActivityOnSaveCompleted = intent.getBooleanExtra(
+                INTENT_KEY_FINISH_ACTIVITY_ON_SAVE_COMPLETED, false);
+
+        // The only situation where action could be ACTION_JOIN_COMPLETED is if the
+        // user joined the contact with another and closed the activity before
+        // the save operation was completed.  The activity should remain closed then.
+        if (ACTION_JOIN_COMPLETED.equals(action)) {
+            finish();
+            return;
+        }
+
+        if (ACTION_SAVE_COMPLETED.equals(action)) {
+            finish();
+            return;
+        }
+
+        ActionBar actionBar = getActionBar();
+        if (actionBar != null) {
+            if (Intent.ACTION_EDIT.equals(action) || ACTION_EDIT.equals(action)) {
+                actionBar.setTitle(getResources().getString(
+                        R.string.contact_editor_title_existing_contact));
+            } else {
+                actionBar.setTitle(getResources().getString(
+                        R.string.contact_editor_title_new_contact));
+            }
+            actionBar.setDisplayShowHomeEnabled(true);
+            actionBar.setDisplayHomeAsUpEnabled(true);
+        }
+    }
+
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+
+        if (mFragment == null) {
+            return;
+        }
+
+        String action = intent.getAction();
+        if (Intent.ACTION_EDIT.equals(action) || ACTION_EDIT.equals(action)) {
+            mFragment.setIntentExtras(intent.getExtras());
+        } else if (ACTION_SAVE_COMPLETED.equals(action)) {
+            mFragment.onSaveCompleted(true,
+                    intent.getIntExtra(ContactEditorFragment.SAVE_MODE_EXTRA_KEY,
+                            ContactEditor.SaveMode.CLOSE),
+                    intent.getBooleanExtra(ContactSaveService.EXTRA_SAVE_SUCCEEDED, false),
+                    intent.getData(),
+                    (Bundle) intent.getParcelableExtra(ContactSaveService.EXTRA_UPDATED_PHOTOS),
+                    intent.getBooleanExtra(ContactEditorFragment.INTENT_EXTRA_SAVE_BACK_PRESSED,
+                            false));
+        } else if (ACTION_JOIN_COMPLETED.equals(action)) {
+            mFragment.onJoinCompleted(intent.getData());
+        }
+    }
+
+    @Override
+    protected Dialog onCreateDialog(int id, Bundle args) {
+        if (DialogManager.isManagedId(id)) return mDialogManager.onCreateDialog(id, args);
+
+        // Nobody knows about the Dialog
+        Log.w(TAG, "Unknown dialog requested, id: " + id + ", args: " + args);
+        return null;
+    }
+
+    protected final ContactEditorBaseFragment.Listener  mFragmentListener =
+            new ContactEditorBaseFragment.Listener() {
+
+        @Override
+        public void onDeleteRequested(Uri contactUri) {
+            ContactDeletionInteraction.start(ContactEditorBaseActivity.this, contactUri, true);
+        }
+
+        @Override
+        public void onReverted() {
+            finish();
+        }
+
+        @Override
+        public void onSaveFinished(Intent resultIntent) {
+            final boolean backPressed = resultIntent == null ? false : resultIntent.getBooleanExtra(
+                    ContactEditorBaseFragment.INTENT_EXTRA_SAVE_BACK_PRESSED, false);
+            if (mFinishActivityOnSaveCompleted) {
+                setResult(resultIntent == null ? RESULT_CANCELED : RESULT_OK, resultIntent);
+            } else if (resultIntent != null) {
+                if (backPressed) {
+                    ImplicitIntentsUtil.startActivityInApp(ContactEditorBaseActivity.this,
+                            resultIntent);
+                }
+            }
+            finish();
+        }
+
+        @Override
+        public void onContactSplit(Uri newLookupUri) {
+            finish();
+        }
+
+        @Override
+        public void onContactNotFound() {
+            finish();
+        }
+
+        @Override
+        public void onEditOtherContactRequested(
+                Uri contactLookupUri, ArrayList<ContentValues> values) {
+            final Intent intent = EditorIntents.createEditOtherContactIntent(
+                    contactLookupUri, values);
+            ImplicitIntentsUtil.startActivityInApp(ContactEditorBaseActivity.this, intent);
+            finish();
+        }
+
+        @Override
+        public void onCustomCreateContactActivityRequested(AccountWithDataSet account,
+                Bundle intentExtras) {
+            final AccountTypeManager accountTypes =
+                    AccountTypeManager.getInstance(ContactEditorBaseActivity.this);
+            final AccountType accountType = accountTypes.getAccountType(
+                    account.type, account.dataSet);
+
+            Intent intent = new Intent();
+            intent.setClassName(accountType.syncAdapterPackageName,
+                    accountType.getCreateContactActivityClassName());
+            intent.setAction(Intent.ACTION_INSERT);
+            intent.setType(Contacts.CONTENT_ITEM_TYPE);
+            if (intentExtras != null) {
+                intent.putExtras(intentExtras);
+            }
+            intent.putExtra(RawContacts.ACCOUNT_NAME, account.name);
+            intent.putExtra(RawContacts.ACCOUNT_TYPE, account.type);
+            intent.putExtra(RawContacts.DATA_SET, account.dataSet);
+            intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
+                    | Intent.FLAG_ACTIVITY_FORWARD_RESULT);
+            startActivity(intent);
+            finish();
+        }
+
+        @Override
+        public void onCustomEditContactActivityRequested(AccountWithDataSet account,
+                Uri rawContactUri, Bundle intentExtras, boolean redirect) {
+            final AccountTypeManager accountTypes =
+                    AccountTypeManager.getInstance(ContactEditorBaseActivity.this);
+            final AccountType accountType = accountTypes.getAccountType(
+                    account.type, account.dataSet);
+
+            Intent intent = new Intent();
+            intent.setClassName(accountType.syncAdapterPackageName,
+                    accountType.getEditContactActivityClassName());
+            intent.setAction(Intent.ACTION_EDIT);
+            intent.setData(rawContactUri);
+            if (intentExtras != null) {
+                intent.putExtras(intentExtras);
+            }
+
+            if (redirect) {
+                intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
+                        | Intent.FLAG_ACTIVITY_FORWARD_RESULT);
+                startActivity(intent);
+                finish();
+            } else {
+                startActivity(intent);
+            }
+        }
+    };
+
+    @Override
+    public DialogManager getDialogManager() {
+        return mDialogManager;
+    }
+}
diff --git a/src/com/android/contacts/activities/ContactSelectionActivity.java b/src/com/android/contacts/activities/ContactSelectionActivity.java
index 53f685c..e147b76 100644
--- a/src/com/android/contacts/activities/ContactSelectionActivity.java
+++ b/src/com/android/contacts/activities/ContactSelectionActivity.java
@@ -27,7 +27,6 @@
 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;
@@ -45,7 +44,9 @@
 
 import com.android.contacts.ContactsActivity;
 import com.android.contacts.R;
+import com.android.contacts.common.activity.RequestPermissionsActivity;
 import com.android.contacts.common.list.ContactEntryListFragment;
+import com.android.contacts.common.util.ImplicitIntentsUtil;
 import com.android.contacts.list.ContactPickerFragment;
 import com.android.contacts.list.ContactsIntentResolver;
 import com.android.contacts.list.ContactsRequest;
@@ -55,6 +56,7 @@
 import com.android.contacts.list.LegacyPhoneNumberPickerFragment;
 import com.android.contacts.list.OnContactPickerActionListener;
 import com.android.contacts.list.OnEmailAddressPickerActionListener;
+import com.android.contacts.list.UiIntentActions;
 import com.android.contacts.common.list.OnPhoneNumberPickerActionListener;
 import com.android.contacts.list.OnPostalAddressPickerActionListener;
 import com.android.contacts.common.list.PhoneNumberPickerFragment;
@@ -105,6 +107,10 @@
     protected void onCreate(Bundle savedState) {
         super.onCreate(savedState);
 
+        if (RequestPermissionsActivity.startPermissionActivity(this)) {
+            return;
+        }
+
         if (savedState != null) {
             mActionCode = savedState.getInt(KEY_ACTION_CODE);
             mIsSearchMode = savedState.getBoolean(KEY_SEARCH_MODE);
@@ -118,14 +124,6 @@
             return;
         }
 
-        Intent redirect = mRequest.getRedirectIntent();
-        if (redirect != null) {
-            // Need to start a different activity
-            startActivity(redirect);
-            finish();
-            return;
-        }
-
         configureActivityTitle();
 
         setContentView(R.layout.contact_picker);
@@ -616,10 +614,11 @@
 
     private long getTargetContactId() {
         Intent intent = getIntent();
-        final long targetContactId = intent.getLongExtra(UI.TARGET_CONTACT_ID_EXTRA_KEY, -1);
+        final long targetContactId = intent.getLongExtra(
+                UiIntentActions.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);
+                    + UiIntentActions.TARGET_CONTACT_ID_EXTRA_KEY);
             setResult(RESULT_CANCELED);
             finish();
             return -1;
@@ -649,7 +648,7 @@
         if (requestCode == SUBACTIVITY_ADD_TO_EXISTING_CONTACT) {
             if (resultCode == Activity.RESULT_OK) {
                 if (data != null) {
-                    startActivity(data);
+                    ImplicitIntentsUtil.startActivityInAppIfPossible(this, data);
                 }
                 finish();
             }
diff --git a/src/com/android/contacts/activities/GroupDetailActivity.java b/src/com/android/contacts/activities/GroupDetailActivity.java
index c24a42f..394e5e5 100644
--- a/src/com/android/contacts/activities/GroupDetailActivity.java
+++ b/src/com/android/contacts/activities/GroupDetailActivity.java
@@ -31,6 +31,7 @@
 
 import com.android.contacts.ContactsActivity;
 import com.android.contacts.R;
+import com.android.contacts.common.util.ImplicitIntentsUtil;
 import com.android.contacts.group.GroupDetailDisplayUtils;
 import com.android.contacts.group.GroupDetailFragment;
 import com.android.contacts.common.model.AccountTypeManager;
@@ -106,7 +107,7 @@
         @Override
         public void onContactSelected(Uri contactUri) {
             Intent intent = new Intent(Intent.ACTION_VIEW, contactUri);
-            startActivity(intent);
+            ImplicitIntentsUtil.startActivityInApp(GroupDetailActivity.this, intent);
         }
 
     };
@@ -149,7 +150,7 @@
                 final Intent intent = new Intent(Intent.ACTION_VIEW, uri);
                 intent.setClassName(accountType.syncAdapterPackageName,
                         accountType.getViewGroupActivity());
-                startActivity(intent);
+                ImplicitIntentsUtil.startActivityInApp(GroupDetailActivity.this, intent);
             }
         });
         groupSourceMenuItem.setActionView(groupSourceView);
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 6d8d231..1591866 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -20,6 +20,8 @@
 import android.app.FragmentManager;
 import android.app.FragmentTransaction;
 import android.content.ActivityNotFoundException;
+import android.content.ContentUris;
+import android.content.Context;
 import android.content.Intent;
 import android.graphics.Rect;
 import android.net.Uri;
@@ -30,7 +32,6 @@
 import android.provider.ContactsContract;
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.ProviderStatus;
-import android.provider.ContactsContract.QuickContact;
 import android.provider.Settings;
 import android.support.v13.app.FragmentPagerAdapter;
 import android.support.v4.view.PagerAdapter;
@@ -53,18 +54,27 @@
 import com.android.contacts.R;
 import com.android.contacts.activities.ActionBarAdapter.TabState;
 import com.android.contacts.common.ContactsUtils;
+import com.android.contacts.common.activity.RequestPermissionsActivity;
 import com.android.contacts.common.dialog.ClearFrequentsDialog;
+import com.android.contacts.common.util.ImplicitIntentsUtil;
+import com.android.contacts.common.widget.FloatingActionButtonController;
+import com.android.contacts.editor.EditorIntents;
 import com.android.contacts.interactions.ContactDeletionInteraction;
 import com.android.contacts.common.interactions.ImportExportDialogFragment;
 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.interactions.ContactMultiDeletionInteraction;
+import com.android.contacts.interactions.ContactMultiDeletionInteraction.MultiContactDeleteListener;
+import com.android.contacts.interactions.JoinContactsDialogFragment;
+import com.android.contacts.interactions.JoinContactsDialogFragment.JoinContactsListener;
+import com.android.contacts.list.MultiSelectContactsListFragment;
+import com.android.contacts.list.MultiSelectContactsListFragment.OnCheckBoxListActionListener;
 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;
@@ -79,8 +89,9 @@
 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.contactsbind.HelpUtils;
 
+import java.util.List;
 import java.util.Locale;
 import java.util.concurrent.atomic.AtomicInteger;
 
@@ -93,7 +104,9 @@
         ActionBarAdapter.Listener,
         DialogManager.DialogShowingViewActivity,
         ContactListFilterController.ContactListFilterListener,
-        ProviderStatusListener {
+        ProviderStatusListener,
+        MultiContactDeleteListener,
+        JoinContactsListener {
 
     private static final String TAG = "PeopleActivity";
 
@@ -108,6 +121,9 @@
     private ContactsRequest mRequest;
 
     private ActionBarAdapter mActionBarAdapter;
+    private FloatingActionButtonController mFloatingActionButtonController;
+    private View mFloatingActionButtonContainer;
+    private boolean wasLastFabAnimationScaleIn = false;
 
     private ContactTileListFragment.Listener mFavoritesFragmentListener =
             new StrequentContactListFragmentListener();
@@ -116,14 +132,14 @@
 
     private ContactsUnavailableFragment mContactsUnavailableFragment;
     private ProviderStatusWatcher mProviderStatusWatcher;
-    private ProviderStatusWatcher.Status mProviderStatus;
+    private Integer mProviderStatus;
 
     private boolean mOptionsMenuContactsAvailable;
 
     /**
      * Showing a list of Contacts. Also used for showing search results in search mode.
      */
-    private DefaultContactBrowseListFragment mAllFragment;
+    private MultiSelectContactsListFragment mAllFragment;
     private ContactTileListFragment mFavoritesFragment;
 
     /** ViewPager for swipe */
@@ -172,7 +188,7 @@
 
     public boolean areContactsAvailable() {
         return (mProviderStatus != null)
-                && mProviderStatus.status == ProviderStatus.STATUS_NORMAL;
+                && mProviderStatus.equals(ProviderStatus.STATUS_NORMAL);
     }
 
     private boolean areContactWritableAccountsAvailable() {
@@ -210,6 +226,10 @@
         }
         super.onCreate(savedState);
 
+        if (RequestPermissionsActivity.startPermissionActivity(this)) {
+            return;
+        }
+
         if (!processIntent(false)) {
             finish();
             return;
@@ -242,6 +262,7 @@
 
         // Re-configure fragments.
         configureFragments(true /* from request */);
+        initializeFabVisibility();
         invalidateOptionsMenuIfNeeded();
     }
 
@@ -266,18 +287,10 @@
             return false;
         }
 
-        Intent redirect = mRequest.getRedirectIntent();
-        if (redirect != null) {
-            // Need to start a different activity
-            startActivity(redirect);
-            return false;
-        }
-
         if (mRequest.getActionCode() == ContactsRequest.ACTION_VIEW_CONTACT) {
-            redirect = new Intent(this, QuickContactActivity.class);
-            redirect.setAction(Intent.ACTION_VIEW);
-            redirect.setData(mRequest.getContactUri());
-            startActivity(redirect);
+            final Intent intent = ImplicitIntentsUtil.composeQuickContactIntent(
+                    mRequest.getContactUri(), QuickContactActivity.MODE_FULLY_EXPANDED);
+            ImplicitIntentsUtil.startActivityInApp(this, intent);
             return false;
         }
         return true;
@@ -329,12 +342,12 @@
         // existing.
         mFavoritesFragment = (ContactTileListFragment)
                 fragmentManager.findFragmentByTag(FAVORITE_TAG);
-        mAllFragment = (DefaultContactBrowseListFragment)
+        mAllFragment = (MultiSelectContactsListFragment)
                 fragmentManager.findFragmentByTag(ALL_TAG);
 
         if (mFavoritesFragment == null) {
             mFavoritesFragment = new ContactTileListFragment();
-            mAllFragment = new DefaultContactBrowseListFragment();
+            mAllFragment = new MultiSelectContactsListFragment();
 
             transaction.add(R.id.tab_pager, mFavoritesFragment, FAVORITE_TAG);
             transaction.add(R.id.tab_pager, mAllFragment, ALL_TAG);
@@ -343,6 +356,7 @@
         mFavoritesFragment.setListener(mFavoritesFragmentListener);
 
         mAllFragment.setOnContactListActionListener(new ContactBrowserActionListener());
+        mAllFragment.setCheckBoxListListener(new CheckBoxListListener());
 
         // Hide all fragments for now.  We adjust visibility when we get onSelectedTabChanged()
         // from ActionBarAdapter.
@@ -362,12 +376,14 @@
         // 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);
+        // Configure floating action button
+        mFloatingActionButtonContainer = findViewById(R.id.floating_action_button_container);
+        final ImageButton floatingActionButton
+                = (ImageButton) findViewById(R.id.floating_action_button);
         floatingActionButton.setOnClickListener(this);
+        mFloatingActionButtonController = new FloatingActionButtonController(this,
+                mFloatingActionButtonContainer, floatingActionButton);
+        initializeFabVisibility();
 
         invalidateOptionsMenuIfNeeded();
     }
@@ -423,11 +439,6 @@
     }
 
     @Override
-    protected void onStop() {
-        super.onStop();
-    }
-
-    @Override
     protected void onDestroy() {
         mProviderStatusWatcher.removeListener(this);
 
@@ -495,6 +506,34 @@
         invalidateOptionsMenuIfNeeded();
     }
 
+    private void initializeFabVisibility() {
+        final boolean hideFab = mActionBarAdapter.isSearchMode()
+                || mActionBarAdapter.isSelectionMode();
+        mFloatingActionButtonContainer.setVisibility(hideFab ? View.GONE : View.VISIBLE);
+        mFloatingActionButtonController.resetIn();
+        wasLastFabAnimationScaleIn = !hideFab;
+    }
+
+    private void showFabWithAnimation(boolean showFab) {
+        if (mFloatingActionButtonContainer == null) {
+            return;
+        }
+        if (showFab) {
+            if (!wasLastFabAnimationScaleIn) {
+                mFloatingActionButtonContainer.setVisibility(View.VISIBLE);
+                mFloatingActionButtonController.scaleIn(0);
+            }
+            wasLastFabAnimationScaleIn = true;
+
+        } else {
+            if (wasLastFabAnimationScaleIn) {
+                mFloatingActionButtonContainer.setVisibility(View.VISIBLE);
+                mFloatingActionButtonController.scaleOut();
+            }
+            wasLastFabAnimationScaleIn = false;
+        }
+    }
+
     @Override
     public void onContactListFilterChanged() {
         if (mAllFragment == null || !mAllFragment.isAdded()) {
@@ -512,16 +551,24 @@
     @Override
     public void onAction(int action) {
         switch (action) {
+            case ActionBarAdapter.Listener.Action.START_SELECTION_MODE:
+                mAllFragment.displayCheckBoxes(true);
+                // Fall through:
             case ActionBarAdapter.Listener.Action.START_SEARCH_MODE:
-                // Tell the fragments that we're in the search mode
+                // Tell the fragments that we're in the search mode or selection mode
                 configureFragments(false /* from request */);
                 updateFragmentsVisibility();
                 invalidateOptionsMenu();
+                showFabWithAnimation(/* showFabWithAnimation = */ false);
                 break;
-            case ActionBarAdapter.Listener.Action.STOP_SEARCH_MODE:
+            case ActionBarAdapter.Listener.Action.BEGIN_STOPPING_SEARCH_AND_SELECTION_MODE:
+                showFabWithAnimation(/* showFabWithAnimation = */ true);
+                break;
+            case ActionBarAdapter.Listener.Action.STOP_SEARCH_AND_SELECTION_MODE:
                 setQueryTextToFragment("");
                 updateFragmentsVisibility();
                 invalidateOptionsMenu();
+                showFabWithAnimation(/* showFabWithAnimation = */ true);
                 break;
             case ActionBarAdapter.Listener.Action.CHANGE_SEARCH_QUERY:
                 final String queryString = mActionBarAdapter.getQueryString();
@@ -558,16 +605,20 @@
     private void updateFragmentsVisibility() {
         int tab = mActionBarAdapter.getCurrentTab();
 
-        if (mActionBarAdapter.isSearchMode()) {
-            mTabPagerAdapter.setSearchMode(true);
+        if (mActionBarAdapter.isSearchMode() || mActionBarAdapter.isSelectionMode()) {
+            mTabPagerAdapter.setTabsHidden(true);
         } else {
-            // No smooth scrolling if quitting from the search mode.
-            final boolean wasSearchMode = mTabPagerAdapter.isSearchMode();
-            mTabPagerAdapter.setSearchMode(false);
+            // No smooth scrolling if quitting from the search/selection mode.
+            final boolean wereTabsHidden = mTabPagerAdapter.areTabsHidden()
+                    || mActionBarAdapter.isSelectionMode();
+            mTabPagerAdapter.setTabsHidden(false);
             if (mTabPager.getCurrentItem() != tab) {
-                mTabPager.setCurrentItem(tab, !wasSearchMode);
+                mTabPager.setCurrentItem(tab, !wereTabsHidden);
             }
         }
+        if (!mActionBarAdapter.isSelectionMode()) {
+            mAllFragment.displayCheckBoxes(false);
+        }
         invalidateOptionsMenu();
         showEmptyStateForTab(tab);
     }
@@ -608,14 +659,14 @@
 
         @Override
         public void onPageScrollStateChanged(int state) {
-            if (!mTabPagerAdapter.isSearchMode()) {
+            if (!mTabPagerAdapter.areTabsHidden()) {
                 mViewPagerTabs.onPageScrollStateChanged(state);
             }
         }
 
         @Override
         public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
-            if (!mTabPagerAdapter.isSearchMode()) {
+            if (!mTabPagerAdapter.areTabsHidden()) {
                 mViewPagerTabs.onPageScrolled(position, positionOffset, positionOffsetPixels);
             }
         }
@@ -623,7 +674,7 @@
         @Override
         public void onPageSelected(int position) {
             // Make sure not in the search mode, in which case position != TabState.ordinal().
-            if (!mTabPagerAdapter.isSearchMode()) {
+            if (!mTabPagerAdapter.areTabsHidden()) {
                 mActionBarAdapter.setCurrentTab(position, false);
                 mViewPagerTabs.onPageSelected(position);
                 showEmptyStateForTab(position);
@@ -646,7 +697,7 @@
         private final FragmentManager mFragmentManager;
         private FragmentTransaction mCurTransaction = null;
 
-        private boolean mTabPagerAdapterSearchMode;
+        private boolean mAreTabsHiddenInTabPager;
 
         private Fragment mCurrentPrimaryItem;
 
@@ -654,27 +705,27 @@
             mFragmentManager = getFragmentManager();
         }
 
-        public boolean isSearchMode() {
-            return mTabPagerAdapterSearchMode;
+        public boolean areTabsHidden() {
+            return mAreTabsHiddenInTabPager;
         }
 
-        public void setSearchMode(boolean searchMode) {
-            if (searchMode == mTabPagerAdapterSearchMode) {
+        public void setTabsHidden(boolean hideTabs) {
+            if (hideTabs == mAreTabsHiddenInTabPager) {
                 return;
             }
-            mTabPagerAdapterSearchMode = searchMode;
+            mAreTabsHiddenInTabPager = hideTabs;
             notifyDataSetChanged();
         }
 
         @Override
         public int getCount() {
-            return mTabPagerAdapterSearchMode ? 1 : TabState.COUNT;
+            return mAreTabsHiddenInTabPager ? 1 : TabState.COUNT;
         }
 
         /** Gets called when the number of items changes. */
         @Override
         public int getItemPosition(Object object) {
-            if (mTabPagerAdapterSearchMode) {
+            if (mAreTabsHiddenInTabPager) {
                 if (object == mAllFragment) {
                     return 0; // Only 1 page in search mode
                 }
@@ -695,7 +746,7 @@
 
         private Fragment getFragment(int position) {
             position = getTabPositionForTextDirection(position);
-            if (mTabPagerAdapterSearchMode) {
+            if (mAreTabsHiddenInTabPager) {
                 if (position != 0) {
                     // This has only been observed in monkey tests.
                     // Let's log this issue, but not crash
@@ -821,14 +872,14 @@
     }
 
     private void updateViewConfiguration(boolean forceUpdate) {
-        ProviderStatusWatcher.Status providerStatus = mProviderStatusWatcher.getProviderStatus();
+        int providerStatus = mProviderStatusWatcher.getProviderStatus();
         if (!forceUpdate && (mProviderStatus != null)
-                && (providerStatus.status == mProviderStatus.status)) return;
+                && (mProviderStatus.equals(providerStatus))) return;
         mProviderStatus = providerStatus;
 
         View contactsUnavailableView = findViewById(R.id.contacts_unavailable_view);
 
-        if (mProviderStatus.status == ProviderStatus.STATUS_NORMAL) {
+        if (mProviderStatus.equals(ProviderStatus.STATUS_NORMAL)) {
             // Ensure that the mTabPager is visible; we may have made it invisible below.
             contactsUnavailableView.setVisibility(View.GONE);
             if (mTabPager != null) {
@@ -845,7 +896,7 @@
             //
             // Also check for ability to modify accounts.  In limited user mode, you can't modify
             // accounts so there is no point sending users to account setup activity.
-            final UserManager userManager = UserManager.get(this);
+            final UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE);
             final boolean disallowModifyAccounts = userManager.getUserRestrictions().getBoolean(
                     UserManager.DISALLOW_MODIFY_ACCOUNTS);
             if (!disallowModifyAccounts && !areContactWritableAccountsAvailable() &&
@@ -893,9 +944,9 @@
 
         @Override
         public void onViewContactAction(Uri contactLookupUri) {
-            Intent intent = QuickContact.composeQuickContactsIntent(PeopleActivity.this,
-                    (Rect) null, contactLookupUri, QuickContactActivity.MODE_FULLY_EXPANDED, null);
-            startActivity(intent);
+            final Intent intent = ImplicitIntentsUtil.composeQuickContactIntent(contactLookupUri,
+                    QuickContactActivity.MODE_FULLY_EXPANDED);
+            ImplicitIntentsUtil.startActivityInApp(PeopleActivity.this, intent);
         }
 
         @Override
@@ -926,13 +977,33 @@
         }
     }
 
+    private final class CheckBoxListListener implements OnCheckBoxListActionListener {
+        @Override
+        public void onStartDisplayingCheckBoxes() {
+            mActionBarAdapter.setSelectionMode(true);
+            invalidateOptionsMenu();
+        }
+
+        @Override
+        public void onSelectedContactIdsChanged() {
+            mActionBarAdapter.setSelectionCount(mAllFragment.getSelectedContactIds().size());
+            invalidateOptionsMenu();
+        }
+
+        @Override
+        public void onStopDisplayingCheckBoxes() {
+            mActionBarAdapter.setSelectionMode(false);
+        }
+    }
+
     private class ContactsUnavailableFragmentListener
             implements OnContactsUnavailableActionListener {
         ContactsUnavailableFragmentListener() {}
 
         @Override
         public void onCreateNewContactAction() {
-            startActivity(new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI));
+            ImplicitIntentsUtil.startActivityInApp(PeopleActivity.this,
+                    EditorIntents.createCompactInsertContactIntent());
         }
 
         @Override
@@ -940,8 +1011,8 @@
             Intent intent = new Intent(Settings.ACTION_ADD_ACCOUNT);
             intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
             intent.putExtra(Settings.EXTRA_AUTHORITIES,
-                    new String[] { ContactsContract.AUTHORITY });
-            startActivity(intent);
+                    new String[]{ContactsContract.AUTHORITY});
+            ImplicitIntentsUtil.startActivityOutsideApp(PeopleActivity.this, intent);
         }
 
         @Override
@@ -949,11 +1020,6 @@
             ImportExportDialogFragment.show(getFragmentManager(), areContactsAvailable(),
                     PeopleActivity.class);
         }
-
-        @Override
-        public void onFreeInternalStorageAction() {
-            startActivity(new Intent(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS));
-        }
     }
 
     private final class StrequentContactListFragmentListener
@@ -962,9 +1028,9 @@
 
         @Override
         public void onContactSelected(Uri contactUri, Rect targetRect) {
-            Intent intent = QuickContact.composeQuickContactsIntent(PeopleActivity.this,
-                    targetRect, contactUri, QuickContactActivity.MODE_FULLY_EXPANDED, null);
-            startActivity(intent);
+            final Intent intent = ImplicitIntentsUtil.composeQuickContactIntent(contactUri,
+                    QuickContactActivity.MODE_FULLY_EXPANDED);
+            ImplicitIntentsUtil.startActivityInApp(PeopleActivity.this, intent);
         }
 
         @Override
@@ -1018,8 +1084,9 @@
         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) {
+        final boolean isSearchOrSelectionMode = mActionBarAdapter.isSearchMode()
+                || mActionBarAdapter.isSelectionMode();
+        if (isSearchOrSelectionMode) {
             contactsFilterMenu.setVisible(false);
             clearFrequentsMenu.setVisible(false);
             helpMenu.setVisible(false);
@@ -1034,15 +1101,22 @@
                     clearFrequentsMenu.setVisible(false);
                     break;
             }
-            HelpUtils.prepareHelpMenuItem(this, helpMenu, R.string.help_url_people_main);
+            helpMenu.setVisible(HelpUtils.isHelpAndFeedbackAvailable());
         }
-        final boolean showMiscOptions = !isSearchMode;
+        final boolean showMiscOptions = !isSearchOrSelectionMode;
         makeMenuItemVisible(menu, R.id.menu_search, showMiscOptions);
         makeMenuItemVisible(menu, R.id.menu_import_export, showMiscOptions);
         makeMenuItemVisible(menu, R.id.menu_accounts, showMiscOptions);
         makeMenuItemVisible(menu, R.id.menu_settings,
                 showMiscOptions && !ContactsPreferenceActivity.isEmpty(this));
 
+        final boolean showSelectedContactOptions = mActionBarAdapter.isSelectionMode()
+                && mAllFragment.getSelectedContactIds().size() != 0;
+        makeMenuItemVisible(menu, R.id.menu_share, showSelectedContactOptions);
+        makeMenuItemVisible(menu, R.id.menu_delete, showSelectedContactOptions);
+        makeMenuItemVisible(menu, R.id.menu_join, showSelectedContactOptions);
+        makeMenuItemEnabled(menu, R.id.menu_join, mAllFragment.getSelectedContactIds().size() > 1);
+
         // Debug options need to be visible even in search mode.
         makeMenuItemVisible(menu, R.id.export_database, mEnableDebugMenuOptions);
 
@@ -1058,12 +1132,19 @@
     }
 
     private void makeMenuItemVisible(Menu menu, int itemId, boolean visible) {
-        MenuItem item =menu.findItem(itemId);
+        final MenuItem item = menu.findItem(itemId);
         if (item != null) {
             item.setVisible(visible);
         }
     }
 
+    private void makeMenuItemEnabled(Menu menu, int itemId, boolean visible) {
+        final MenuItem item = menu.findItem(itemId);
+        if (item != null) {
+            item.setEnabled(visible);
+        }
+    }
+
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         if (mDisableOptionItemSelected) {
@@ -1104,6 +1185,15 @@
                 onSearchRequested();
                 return true;
             }
+            case R.id.menu_share:
+                shareSelectedContacts();
+                return true;
+            case R.id.menu_join:
+                joinSelectedContacts();
+                return true;
+            case R.id.menu_delete:
+                deleteSelectedContacts();
+                return true;
             case R.id.menu_import_export: {
                 ImportExportDialogFragment.show(getFragmentManager(), areContactsAvailable(),
                         PeopleActivity.class);
@@ -1113,19 +1203,22 @@
                 ClearFrequentsDialog.show(getFragmentManager());
                 return true;
             }
+            case R.id.menu_help:
+                HelpUtils.launchHelpAndFeedbackForMainScreen(this);
+                return true;
             case R.id.menu_accounts: {
                 final Intent intent = new Intent(Settings.ACTION_SYNC_SETTINGS);
                 intent.putExtra(Settings.EXTRA_AUTHORITIES, new String[] {
                     ContactsContract.AUTHORITY
                 });
                 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
-                startActivity(intent);
+                ImplicitIntentsUtil.startActivityInAppIfPossible(this, intent);
                 return true;
             }
             case R.id.export_database: {
                 final Intent intent = new Intent("com.android.providers.contacts.DUMP_DATABASE");
                 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
-                startActivity(intent);
+                ImplicitIntentsUtil.startActivityOutsideApp(this, intent);
                 return true;
             }
         }
@@ -1134,10 +1227,55 @@
 
     @Override
     public boolean onSearchRequested() { // Search key pressed.
-        mActionBarAdapter.setSearchMode(true);
+        if (!mActionBarAdapter.isSelectionMode()) {
+            mActionBarAdapter.setSearchMode(true);
+        }
         return true;
     }
 
+    /**
+     * Share all contacts that are currently selected in mAllFragment. This method is pretty
+     * inefficient for handling large numbers of contacts. I don't expect this to be a problem.
+     */
+    private void shareSelectedContacts() {
+        final StringBuilder uriListBuilder = new StringBuilder();
+        boolean firstIteration = true;
+        for (Long contactId : mAllFragment.getSelectedContactIds()) {
+            if (!firstIteration)
+                uriListBuilder.append(':');
+            final Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
+            final Uri lookupUri = Contacts.getLookupUri(getContentResolver(), contactUri);
+            List<String> pathSegments = lookupUri.getPathSegments();
+            uriListBuilder.append(pathSegments.get(pathSegments.size() - 2));
+            firstIteration = false;
+        }
+        final Uri uri = Uri.withAppendedPath(
+                Contacts.CONTENT_MULTI_VCARD_URI,
+                Uri.encode(uriListBuilder.toString()));
+        final Intent intent = new Intent(Intent.ACTION_SEND);
+        intent.setType(Contacts.CONTENT_VCARD_TYPE);
+        intent.putExtra(Intent.EXTRA_STREAM, uri);
+        ImplicitIntentsUtil.startActivityOutsideApp(this, intent);
+    }
+    private void joinSelectedContacts() {
+        JoinContactsDialogFragment.start(this, mAllFragment.getSelectedContactIds());
+    }
+
+    @Override
+    public void onContactsJoined() {
+        mActionBarAdapter.setSelectionMode(false);
+    }
+
+    private void deleteSelectedContacts() {
+        ContactMultiDeletionInteraction.start(PeopleActivity.this,
+                mAllFragment.getSelectedContactIds());
+    }
+
+    @Override
+    public void onDeletionFinished() {
+        mActionBarAdapter.setSelectionMode(false);
+    }
+
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         switch (requestCode) {
@@ -1167,34 +1305,22 @@
     @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {
         // TODO move to the fragment
-        switch (keyCode) {
-//            case KeyEvent.KEYCODE_CALL: {
-//                if (callSelection()) {
-//                    return true;
-//                }
-//                break;
-//            }
 
-            case KeyEvent.KEYCODE_DEL: {
-                if (deleteSelection()) {
-                    return true;
-                }
-                break;
+        // Bring up the search UI if the user starts typing
+        final int unicodeChar = event.getUnicodeChar();
+        if ((unicodeChar != 0)
+                // If COMBINING_ACCENT is set, it's not a unicode character.
+                && ((unicodeChar & KeyCharacterMap.COMBINING_ACCENT) == 0)
+                && !Character.isWhitespace(unicodeChar)) {
+            if (mActionBarAdapter.isSelectionMode()) {
+                // Ignore keyboard input when in selection mode.
+                return true;
             }
-            default: {
-                // Bring up the search UI if the user starts typing
-                final int unicodeChar = event.getUnicodeChar();
-                if ((unicodeChar != 0)
-                        // If COMBINING_ACCENT is set, it's not a unicode character.
-                        && ((unicodeChar & KeyCharacterMap.COMBINING_ACCENT) == 0)
-                        && !Character.isWhitespace(unicodeChar)) {
-                    String query = new String(new int[]{ unicodeChar }, 0, 1);
-                    if (!mActionBarAdapter.isSearchMode()) {
-                        mActionBarAdapter.setSearchMode(true);
-                        mActionBarAdapter.setQueryString(query);
-                        return true;
-                    }
-                }
+            String query = new String(new int[]{unicodeChar}, 0, 1);
+            if (!mActionBarAdapter.isSearchMode()) {
+                mActionBarAdapter.setSearchMode(true);
+                mActionBarAdapter.setQueryString(query);
+                return true;
             }
         }
 
@@ -1203,28 +1329,16 @@
 
     @Override
     public void onBackPressed() {
-        if (mActionBarAdapter.isSearchMode()) {
+        if (mActionBarAdapter.isSelectionMode()) {
+            mActionBarAdapter.setSelectionMode(false);
+            mAllFragment.displayCheckBoxes(false);
+        } else if (mActionBarAdapter.isSearchMode()) {
             mActionBarAdapter.setSearchMode(false);
         } else {
             super.onBackPressed();
         }
     }
 
-    private boolean deleteSelection() {
-        // TODO move to the fragment
-//        if (mActionCode == ContactsRequest.ACTION_DEFAULT) {
-//            final int position = mListView.getSelectedItemPosition();
-//            if (position != ListView.INVALID_POSITION) {
-//                Uri contactUri = getContactUri(position);
-//                if (contactUri != null) {
-//                    doContactDelete(contactUri);
-//                    return true;
-//                }
-//            }
-//        }
-        return false;
-    }
-
     @Override
     protected void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
@@ -1266,7 +1380,7 @@
                     intent.putExtras(extras);
                 }
                 try {
-                    startActivity(intent);
+                    ImplicitIntentsUtil.startActivityInApp(PeopleActivity.this, intent);
                 } catch (ActivityNotFoundException ex) {
                     Toast.makeText(PeopleActivity.this, R.string.missing_app,
                             Toast.LENGTH_SHORT).show();
diff --git a/src/com/android/contacts/activities/PhotoSelectionActivity.java b/src/com/android/contacts/activities/PhotoSelectionActivity.java
deleted file mode 100644
index c81c448..0000000
--- a/src/com/android/contacts/activities/PhotoSelectionActivity.java
+++ /dev/null
@@ -1,571 +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.activities;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.ObjectAnimator;
-import android.animation.PropertyValuesHolder;
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Configuration;
-import android.graphics.Bitmap;
-import android.graphics.Rect;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Parcelable;
-import android.view.View;
-import android.view.ViewGroup.MarginLayoutParams;
-import android.widget.FrameLayout.LayoutParams;
-import android.widget.ImageView;
-
-import com.android.contacts.common.ContactPhotoManager;
-import com.android.contacts.ContactSaveService;
-import com.android.contacts.R;
-import com.android.contacts.detail.PhotoSelectionHandler;
-import com.android.contacts.editor.PhotoActionPopup;
-import com.android.contacts.common.model.RawContactDeltaList;
-import com.android.contacts.util.SchedulingUtils;
-
-/**
- * Popup activity for choosing a contact photo within the Contacts app.
- */
-public class PhotoSelectionActivity extends Activity {
-
-    private static final String TAG = "PhotoSelectionActivity";
-
-    /** Number of ms for the animation to expand the photo. */
-    private static final int PHOTO_EXPAND_DURATION = 100;
-
-    /** Number of ms for the animation to contract the photo on activity exit. */
-    private static final int PHOTO_CONTRACT_DURATION = 50;
-
-    /** Number of ms for the animation to hide the backdrop on finish. */
-    private static final int BACKDROP_FADEOUT_DURATION = 100;
-
-    /** Key used to persist photo uri. */
-    private static final String KEY_CURRENT_PHOTO_URI = "currentphotouri";
-
-    /** Key used to persist whether a sub-activity is currently in progress. */
-    private static final String KEY_SUB_ACTIVITY_IN_PROGRESS = "subinprogress";
-
-    /** Intent extra to get the photo URI. */
-    public static final String PHOTO_URI = "photo_uri";
-
-    /** Intent extra to get the entity delta list. */
-    public static final String ENTITY_DELTA_LIST = "entity_delta_list";
-
-    /** Intent extra to indicate whether the contact is the user's profile. */
-    public static final String IS_PROFILE = "is_profile";
-
-    /** Intent extra to indicate whether the contact is from a directory (non-editable). */
-    public static final String IS_DIRECTORY_CONTACT = "is_directory_contact";
-
-    /**
-     * Intent extra to indicate whether the photo should be animated to show the full contents of
-     * the photo (on a larger portion of the screen) when clicked.  If unspecified or false, the
-     * photo will not move from its original location.
-     */
-    public static final String EXPAND_PHOTO = "expand_photo";
-
-    /** Source bounds of the image that was clicked on. */
-    private Rect mSourceBounds;
-
-    /**
-     * The photo URI. May be null, in which case the default avatar will be used.
-     */
-    private Uri mPhotoUri;
-
-    /** Entity delta list of the contact. */
-    private RawContactDeltaList mState;
-
-    /** Whether the contact is the user's profile. */
-    private boolean mIsProfile;
-
-    /** Whether the contact is from a directory. */
-    private boolean mIsDirectoryContact;
-
-    /** Whether to animate the photo to an expanded view covering more of the screen. */
-    private boolean mExpandPhoto;
-
-    /**
-     * Side length (in pixels) of the expanded photo if to be expanded. Photos are expected to
-     * be square.
-     */
-    private int mExpandedPhotoSize;
-
-    /** Height (in pixels) to leave underneath the expanded photo to show the list popup */
-    private int mHeightOffset;
-
-    /** The semi-transparent backdrop. */
-    private View mBackdrop;
-
-    /** The photo view. */
-    private ImageView mPhotoView;
-
-    /** The photo handler attached to this activity, if any. */
-    private PhotoHandler mPhotoHandler;
-
-    /** Animator to expand the photo out to full size. */
-    private ObjectAnimator mPhotoAnimator;
-
-    /** Listener for the animation. */
-    private AnimatorListenerAdapter mAnimationListener;
-
-    /** Whether a change in layout of the photo has occurred that has no animation yet. */
-    private boolean mAnimationPending;
-
-    /** Prior position of the image (for animating). */
-    Rect mOriginalPos = new Rect();
-
-    /** Layout params for the photo view before we started animating. */
-    private LayoutParams mPhotoStartParams;
-
-    /** Layout params for the photo view after we finished animating. */
-    private LayoutParams mPhotoEndParams;
-
-    /** Whether a sub-activity is currently in progress. */
-    private boolean mSubActivityInProgress;
-
-    private boolean mCloseActivityWhenCameBackFromSubActivity;
-
-    /**
-     * A photo result received by the activity, persisted across activity lifecycle.
-     */
-    private PendingPhotoResult mPendingPhotoResult;
-
-    /**
-     * The photo uri being interacted with, if any.  Saved/restored between activity instances.
-     */
-    private Uri mCurrentPhotoUri;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.photoselection_activity);
-        if (savedInstanceState != null) {
-            mCurrentPhotoUri = savedInstanceState.getParcelable(KEY_CURRENT_PHOTO_URI);
-            mSubActivityInProgress = savedInstanceState.getBoolean(KEY_SUB_ACTIVITY_IN_PROGRESS);
-        }
-
-        // Pull data out of the intent.
-        final Intent intent = getIntent();
-        mPhotoUri = intent.getParcelableExtra(PHOTO_URI);
-        mState = (RawContactDeltaList) intent.getParcelableExtra(ENTITY_DELTA_LIST);
-        mIsProfile = intent.getBooleanExtra(IS_PROFILE, false);
-        mIsDirectoryContact = intent.getBooleanExtra(IS_DIRECTORY_CONTACT, false);
-        mExpandPhoto = intent.getBooleanExtra(EXPAND_PHOTO, false);
-
-        // Pull out photo expansion properties from resources
-        mExpandedPhotoSize = getResources().getDimensionPixelSize(
-                R.dimen.detail_contact_photo_expanded_size);
-        mHeightOffset = getResources().getDimensionPixelOffset(
-                R.dimen.expanded_photo_height_offset);
-
-        mBackdrop = findViewById(R.id.backdrop);
-        mPhotoView = (ImageView) findViewById(R.id.photo);
-
-        mSourceBounds = intent.getSourceBounds();
-
-        // Fade in the background.
-        animateInBackground();
-
-        // Dismiss the dialog on clicking the backdrop.
-        mBackdrop.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-
-        // Wait until the layout pass to show the photo, so that the source bounds will match up.
-        SchedulingUtils.doAfterLayout(mBackdrop, new Runnable() {
-            @Override
-            public void run() {
-                displayPhoto();
-            }
-        });
-    }
-
-    /**
-     * Compute the adjusted expanded photo size to fit within the enclosing view with the same
-     * aspect ratio.
-     * @param enclosingView This is the view that the photo must fit within.
-     * @param heightOffset This is the amount of height to leave open for the photo action popup.
-     */
-    private int getAdjustedExpandedPhotoSize(View enclosingView, int heightOffset) {
-        // pull out the bounds of the backdrop
-        final Rect bounds = new Rect();
-        enclosingView.getDrawingRect(bounds);
-        final int boundsWidth = bounds.width();
-        final int boundsHeight = bounds.height() - heightOffset;
-
-        // ensure that the new expanded photo size can fit within the backdrop
-        final float alpha = Math.min((float) boundsHeight / (float) mExpandedPhotoSize,
-                (float) boundsWidth / (float) mExpandedPhotoSize);
-        if (alpha < 1.0f) {
-            // need to shrink width and height while maintaining aspect ratio
-            return (int) (alpha * mExpandedPhotoSize);
-        } else {
-            return mExpandedPhotoSize;
-        }
-    }
-
-    @Override
-    public void onConfigurationChanged(Configuration newConfig) {
-        super.onConfigurationChanged(newConfig);
-
-        // The current look may not seem right on the new configuration, so let's just close self.
-
-        if (!mSubActivityInProgress) {
-            finishImmediatelyWithNoAnimation();
-        } else {
-            // A sub-activity is in progress, so don't close it yet, but close it when we come back
-            // to this activity.
-            mCloseActivityWhenCameBackFromSubActivity = true;
-        }
-    }
-
-    @Override
-    public void finish() {
-        if (!mSubActivityInProgress) {
-            closePhotoAndFinish();
-        } else {
-            finishImmediatelyWithNoAnimation();
-        }
-    }
-
-    /**
-     * Builds a well-formed intent for invoking this activity.
-     * @param context The context.
-     * @param photoUri The URI of the current photo (may be null, in which case the default
-     *     avatar image will be displayed).
-     * @param photoBitmap The bitmap of the current photo (may be null, in which case the default
-     *     avatar image will be displayed).
-     * @param photoBytes The bytes for the current photo (may be null, in which case the default
-     *     avatar image will be displayed).
-     * @param photoBounds The pixel bounds of the current photo.
-     * @param delta The entity delta list for the contact.
-     * @param isProfile Whether the contact is the user's profile.
-     * @param isDirectoryContact Whether the contact comes from a directory (non-editable).
-     * @param expandPhotoOnClick Whether the photo should be expanded on click or not (generally,
-     *     this should be true for phones, and false for tablets).
-     * @return An intent that can be used to invoke the photo selection activity.
-     */
-    public static Intent buildIntent(Context context, Uri photoUri, Bitmap photoBitmap,
-            byte[] photoBytes, Rect photoBounds, RawContactDeltaList delta, boolean isProfile,
-            boolean isDirectoryContact, boolean expandPhotoOnClick) {
-        Intent intent = new Intent(context, PhotoSelectionActivity.class);
-        if (photoUri != null && photoBitmap != null && photoBytes != null) {
-            intent.putExtra(PHOTO_URI, photoUri);
-        }
-        intent.setSourceBounds(photoBounds);
-        intent.putExtra(ENTITY_DELTA_LIST, (Parcelable) delta);
-        intent.putExtra(IS_PROFILE, isProfile);
-        intent.putExtra(IS_DIRECTORY_CONTACT, isDirectoryContact);
-        intent.putExtra(EXPAND_PHOTO, expandPhotoOnClick);
-        return intent;
-    }
-
-    private void finishImmediatelyWithNoAnimation() {
-        super.finish();
-    }
-
-    @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        if (mPhotoAnimator != null) {
-            mPhotoAnimator.cancel();
-            mPhotoAnimator = null;
-        }
-        if (mPhotoHandler != null) {
-            mPhotoHandler.destroy();
-            mPhotoHandler = null;
-        }
-    }
-
-    private void displayPhoto() {
-        // Animate the photo view into its end location.
-        final int[] pos = new int[2];
-        mBackdrop.getLocationOnScreen(pos);
-        LayoutParams layoutParams = new LayoutParams(mSourceBounds.width(),
-                mSourceBounds.height());
-        mOriginalPos.left = mSourceBounds.left - pos[0];
-        mOriginalPos.top = mSourceBounds.top - pos[1];
-        mOriginalPos.right = mOriginalPos.left + mSourceBounds.width();
-        mOriginalPos.bottom = mOriginalPos.top + mSourceBounds.height();
-        layoutParams.setMargins(mOriginalPos.left, mOriginalPos.top, mOriginalPos.right,
-                mOriginalPos.bottom);
-        mPhotoStartParams = layoutParams;
-        mPhotoView.setLayoutParams(layoutParams);
-        mPhotoView.requestLayout();
-
-        // Load the photo.
-        int photoWidth = getPhotoEndParams().width;
-        if (mPhotoUri != null) {
-            // If we have a URI, the bitmap should be cached directly.
-            ContactPhotoManager.getInstance(this).loadPhoto(mPhotoView, mPhotoUri, photoWidth,
-                    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.
-            mPhotoView.setImageDrawable(null);
-        }
-
-        mPhotoView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
-            @Override
-            public void onLayoutChange(View v, int left, int top, int right, int bottom,
-                    int oldLeft, int oldTop, int oldRight, int oldBottom) {
-                if (mAnimationPending) {
-                    mAnimationPending = false;
-                    PropertyValuesHolder pvhLeft =
-                            PropertyValuesHolder.ofInt("left", mOriginalPos.left, left);
-                    PropertyValuesHolder pvhTop =
-                            PropertyValuesHolder.ofInt("top", mOriginalPos.top, top);
-                    PropertyValuesHolder pvhRight =
-                            PropertyValuesHolder.ofInt("right", mOriginalPos.right, right);
-                    PropertyValuesHolder pvhBottom =
-                            PropertyValuesHolder.ofInt("bottom", mOriginalPos.bottom, bottom);
-                    ObjectAnimator anim = ObjectAnimator.ofPropertyValuesHolder(mPhotoView,
-                            pvhLeft, pvhTop, pvhRight, pvhBottom).setDuration(
-                            PHOTO_EXPAND_DURATION);
-                    if (mAnimationListener != null) {
-                        anim.addListener(mAnimationListener);
-                    }
-                    anim.start();
-                }
-            }
-        });
-        attachPhotoHandler();
-    }
-
-    /**
-     * This sets the photo's layout params at the end of the animation.
-     * <p>
-     * The scheme is to enlarge the photo to the desired size with the enlarged photo shifted
-     * to the top left of the screen as much as possible while keeping the underlying smaller
-     * photo occluded.
-     */
-    private LayoutParams getPhotoEndParams() {
-        if (mPhotoEndParams == null) {
-            mPhotoEndParams = new LayoutParams(mPhotoStartParams);
-            if (mExpandPhoto) {
-                final int adjustedPhotoSize = getAdjustedExpandedPhotoSize(mBackdrop,
-                        mHeightOffset);
-                int widthDelta = adjustedPhotoSize - mPhotoStartParams.width;
-                int heightDelta = adjustedPhotoSize - mPhotoStartParams.height;
-                if (widthDelta >= 1 || heightDelta >= 1) {
-                    // This is an actual expansion.
-                    mPhotoEndParams.width = adjustedPhotoSize;
-                    mPhotoEndParams.height = adjustedPhotoSize;
-                    mPhotoEndParams.topMargin =
-                            Math.max(mPhotoStartParams.topMargin - heightDelta, 0);
-                    mPhotoEndParams.leftMargin =
-                            Math.max(mPhotoStartParams.leftMargin - widthDelta, 0);
-                    mPhotoEndParams.bottomMargin = 0;
-                    mPhotoEndParams.rightMargin = 0;
-                }
-            }
-        }
-        return mPhotoEndParams;
-    }
-
-    private void animatePhotoOpen() {
-        mAnimationListener = new AnimatorListenerAdapter() {
-            private void capturePhotoPos() {
-                mPhotoView.requestLayout();
-                mOriginalPos.left = mPhotoView.getLeft();
-                mOriginalPos.top = mPhotoView.getTop();
-                mOriginalPos.right = mPhotoView.getRight();
-                mOriginalPos.bottom = mPhotoView.getBottom();
-            }
-
-            @Override
-            public void onAnimationEnd(Animator animation) {
-                capturePhotoPos();
-                if (mPhotoHandler != null) {
-                    mPhotoHandler.onClick(mPhotoView);
-                }
-            }
-
-            @Override
-            public void onAnimationCancel(Animator animation) {
-                capturePhotoPos();
-            }
-        };
-        animatePhoto(getPhotoEndParams());
-    }
-
-    private void closePhotoAndFinish() {
-        mAnimationListener = new AnimatorListenerAdapter() {
-            @Override
-            public void onAnimationEnd(Animator animation) {
-                // After the photo animates down, fade it away and finish.
-                ObjectAnimator anim = ObjectAnimator.ofFloat(
-                        mPhotoView, "alpha", 0f).setDuration(PHOTO_CONTRACT_DURATION);
-                anim.addListener(new AnimatorListenerAdapter() {
-                    @Override
-                    public void onAnimationEnd(Animator animation) {
-                        finishImmediatelyWithNoAnimation();
-                    }
-                });
-                anim.start();
-            }
-        };
-
-        animatePhoto(mPhotoStartParams);
-        animateAwayBackground();
-    }
-
-    private void animatePhoto(MarginLayoutParams to) {
-        // Cancel any existing animation.
-        if (mPhotoAnimator != null) {
-            mPhotoAnimator.cancel();
-        }
-
-        mPhotoView.setLayoutParams(to);
-        mAnimationPending = true;
-        mPhotoView.requestLayout();
-    }
-
-    private void animateInBackground() {
-        ObjectAnimator.ofFloat(mBackdrop, "alpha", 0, 0.5f).setDuration(
-                PHOTO_EXPAND_DURATION).start();
-    }
-
-    private void animateAwayBackground() {
-        ObjectAnimator.ofFloat(mBackdrop, "alpha", 0f).setDuration(
-                BACKDROP_FADEOUT_DURATION).start();
-    }
-
-    @Override
-    protected void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        outState.putParcelable(KEY_CURRENT_PHOTO_URI, mCurrentPhotoUri);
-        outState.putBoolean(KEY_SUB_ACTIVITY_IN_PROGRESS, mSubActivityInProgress);
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (mPhotoHandler != null) {
-            mSubActivityInProgress = false;
-            if (mPhotoHandler.handlePhotoActivityResult(requestCode, resultCode, data)) {
-                // Clear out any pending photo result.
-                mPendingPhotoResult = null;
-            } else {
-                // User cancelled the sub-activity and returning to the photo selection activity.
-                if (mCloseActivityWhenCameBackFromSubActivity) {
-                    finishImmediatelyWithNoAnimation();
-                } else {
-                    // Re-display options.
-                    mPhotoHandler.onClick(mPhotoView);
-                }
-            }
-        } else {
-            // Create a pending photo result to be handled when the photo handler is created.
-            mPendingPhotoResult = new PendingPhotoResult(requestCode, resultCode, data);
-        }
-    }
-
-    private void attachPhotoHandler() {
-        // Always provide the same two choices (take a photo with the camera, select a photo
-        // from the gallery), but with slightly different wording.
-        // Note: don't worry about this being a read-only contact; this code will not be invoked.
-        int mode = (mPhotoUri == null) ? PhotoActionPopup.Modes.NO_PHOTO
-                : PhotoActionPopup.Modes.WRITE_ABLE_PHOTO;
-        // We don't want to provide a choice to remove the photo for two reasons:
-        //   1) the UX designs don't call for it
-        //   2) even if we wanted to, the implementation would be moderately hairy
-        mode &= ~PhotoActionPopup.Flags.REMOVE_PHOTO;
-
-        mPhotoHandler = new PhotoHandler(this, mPhotoView, mode, mState);
-
-        if (mPendingPhotoResult != null) {
-            mPhotoHandler.handlePhotoActivityResult(mPendingPhotoResult.mRequestCode,
-                    mPendingPhotoResult.mResultCode, mPendingPhotoResult.mData);
-            mPendingPhotoResult = null;
-        } else {
-            // Setting the photo in displayPhoto() resulted in a relayout
-            // request... to avoid jank, wait until this layout has happened.
-            SchedulingUtils.doAfterLayout(mBackdrop, new Runnable() {
-                @Override
-                public void run() {
-                    animatePhotoOpen();
-                }
-            });
-        }
-    }
-
-    private final class PhotoHandler extends PhotoSelectionHandler {
-        private final PhotoActionListener mListener;
-
-        private PhotoHandler(
-                Context context, View photoView, int photoMode, RawContactDeltaList state) {
-            super(context, photoView, photoMode, PhotoSelectionActivity.this.mIsDirectoryContact,
-                    state);
-            mListener = new PhotoListener();
-        }
-
-        @Override
-        public PhotoActionListener getListener() {
-            return mListener;
-        }
-
-        @Override
-        public void startPhotoActivity(Intent intent, int requestCode, Uri photoUri) {
-            mSubActivityInProgress = true;
-            mCurrentPhotoUri = photoUri;
-            PhotoSelectionActivity.this.startActivityForResult(intent, requestCode);
-        }
-
-        private final class PhotoListener extends PhotoActionListener {
-            @Override
-            public void onPhotoSelected(Uri uri) {
-                RawContactDeltaList delta = getDeltaForAttachingPhotoToContact();
-                long rawContactId = getWritableEntityId();
-
-                Intent intent = ContactSaveService.createSaveContactIntent(
-                        mContext, delta, "", 0, mIsProfile, null, null, rawContactId, uri);
-                startService(intent);
-                finish();
-            }
-
-            @Override
-            public Uri getCurrentPhotoUri() {
-                return mCurrentPhotoUri;
-            }
-
-            @Override
-            public void onPhotoSelectionDismissed() {
-                if (!mSubActivityInProgress) {
-                    finish();
-                }
-            }
-        }
-    }
-
-    private static class PendingPhotoResult {
-        final private int mRequestCode;
-        final private int mResultCode;
-        final private Intent mData;
-        private PendingPhotoResult(int requestCode, int resultCode, Intent data) {
-            mRequestCode = requestCode;
-            mResultCode = resultCode;
-            mData = data;
-        }
-    }
-}
diff --git a/src/com/android/contacts/activities/ShowOrCreateActivity.java b/src/com/android/contacts/activities/ShowOrCreateActivity.java
index 0489065..6a516ad 100755
--- a/src/com/android/contacts/activities/ShowOrCreateActivity.java
+++ b/src/com/android/contacts/activities/ShowOrCreateActivity.java
@@ -31,11 +31,14 @@
 import android.provider.ContactsContract.PhoneLookup;
 import android.provider.ContactsContract.RawContacts;
 import android.telecom.PhoneAccount;
+import android.text.TextUtils;
 import android.util.Log;
 
 import com.android.contacts.common.ContactsUtils;
 import com.android.contacts.ContactsActivity;
 import com.android.contacts.R;
+import com.android.contacts.common.activity.RequestPermissionsActivity;
+import com.android.contacts.common.util.ImplicitIntentsUtil;
 import com.android.contacts.util.NotifyingAsyncQueryHandler;
 
 /**
@@ -85,6 +88,10 @@
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
+        if (RequestPermissionsActivity.startPermissionActivity(this)) {
+            return;
+        }
+
         // Create handler if doesn't exist, otherwise cancel any running
         if (mQueryHandler == null) {
             mQueryHandler = new NotifyingAsyncQueryHandler(this, this);
@@ -169,11 +176,11 @@
             cursor.close();
         }
 
-        if (count == 1 && contactId != -1) {
+        if (count == 1 && contactId != -1 && !TextUtils.isEmpty(lookupKey)) {
             // If we only found one item, jump right to viewing it
             final Uri contactUri = Contacts.getLookupUri(contactId, lookupKey);
             final Intent viewIntent = new Intent(Intent.ACTION_VIEW, contactUri);
-            startActivity(viewIntent);
+            ImplicitIntentsUtil.startActivityInApp(this, viewIntent);
             finish();
 
         } else if (count > 1) {
@@ -192,7 +199,7 @@
                 createIntent.putExtras(mCreateExtras);
                 createIntent.setType(RawContacts.CONTENT_TYPE);
 
-                startActivity(createIntent);
+                ImplicitIntentsUtil.startActivityInApp(this, createIntent);
                 finish();
 
             } else {
@@ -249,7 +256,7 @@
 
         public void onClick(DialogInterface dialog, int which) {
             if (mIntent != null) {
-                mParent.startActivity(mIntent);
+                ImplicitIntentsUtil.startActivityInApp(mParent, mIntent);
             }
             mParent.finish();
         }
diff --git a/src/com/android/contacts/datepicker/DatePicker.java b/src/com/android/contacts/datepicker/DatePicker.java
index 1b3b807..c6708a1 100644
--- a/src/com/android/contacts/datepicker/DatePicker.java
+++ b/src/com/android/contacts/datepicker/DatePicker.java
@@ -16,13 +16,8 @@
 
 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.
-
 import android.animation.LayoutTransition;
-import android.annotation.Widget;
 import android.content.Context;
-import android.content.res.TypedArray;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.format.DateFormat;
@@ -41,13 +36,13 @@
 import com.android.contacts.R;
 
 import java.text.DateFormatSymbols;
-import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Locale;
 
-import libcore.icu.ICU;
-
 /**
+ * This is a fork of the standard Android DatePicker that additionally allows toggling the year
+ * on/off.
+ *
  * A view for selecting a month / year / day based on a calendar like layout.
  *
  * <p>See the <a href="{@docRoot}resources/tutorials/views/hello-datepicker.html">Date Picker
@@ -55,13 +50,13 @@
  *
  * For a dialog using this view, see {@link android.app.DatePickerDialog}.
  */
-@Widget
 public class DatePicker extends FrameLayout {
     /** Magic year that represents "no year" */
     public static int NO_YEAR = 0;
 
     private static final int DEFAULT_START_YEAR = 1900;
     private static final int DEFAULT_END_YEAR = 2100;
+    private static final TwoDigitFormatter sTwoDigitFormatter = new TwoDigitFormatter();
 
     /* UI Components */
     private final LinearLayout mPickerContainer;
@@ -113,7 +108,7 @@
 
         mPickerContainer = (LinearLayout) findViewById(R.id.parent);
         mDayPicker = (NumberPicker) findViewById(R.id.day);
-        mDayPicker.setFormatter(NumberPicker.getTwoDigitFormatter());
+        mDayPicker.setFormatter(sTwoDigitFormatter);
         mDayPicker.setOnLongPressUpdateInterval(100);
         mDayPicker.setOnValueChangedListener(new OnValueChangeListener() {
             @Override
@@ -123,7 +118,7 @@
             }
         });
         mMonthPicker = (NumberPicker) findViewById(R.id.month);
-        mMonthPicker.setFormatter(NumberPicker.getTwoDigitFormatter());
+        mMonthPicker.setFormatter(sTwoDigitFormatter);
         DateFormatSymbols dfs = new DateFormatSymbols();
         String[] months = dfs.getShortMonths();
 
diff --git a/src/com/android/contacts/datepicker/DatePickerDialog.java b/src/com/android/contacts/datepicker/DatePickerDialog.java
index 2b470d5..1ae1e61 100644
--- a/src/com/android/contacts/datepicker/DatePickerDialog.java
+++ b/src/com/android/contacts/datepicker/DatePickerDialog.java
@@ -105,7 +105,8 @@
             int monthOfYear,
             int dayOfMonth,
             boolean yearOptional) {
-        this(context, THEME_DEVICE_DEFAULT_LIGHT, callBack, year, monthOfYear, dayOfMonth,
+        // Don't pass a theme id. Instead use the default alert dialog theme.
+        this(context, /* themeId = */ -1, callBack, year, monthOfYear, dayOfMonth,
                 yearOptional);
     }
 
diff --git a/src/com/android/contacts/datepicker/ICU.java b/src/com/android/contacts/datepicker/ICU.java
new file mode 100644
index 0000000..229fda6
--- /dev/null
+++ b/src/com/android/contacts/datepicker/ICU.java
@@ -0,0 +1,51 @@
+package com.android.contacts.datepicker;
+
+public class ICU {
+
+    /**
+     * This method is directly copied from {@link libcore.icu.ICU}. The method is simple enough
+     * that it probably won't change.
+     */
+    public static char[] getDateFormatOrder(String pattern) {
+        char[] result = new char[3];
+        int resultIndex = 0;
+        boolean sawDay = false;
+        boolean sawMonth = false;
+        boolean sawYear = false;
+
+        for (int i = 0; i < pattern.length(); ++i) {
+            char ch = pattern.charAt(i);
+            if (ch == 'd' || ch == 'L' || ch == 'M' || ch == 'y') {
+                if (ch == 'd' && !sawDay) {
+                    result[resultIndex++] = 'd';
+                    sawDay = true;
+                } else if ((ch == 'L' || ch == 'M') && !sawMonth) {
+                    result[resultIndex++] = 'M';
+                    sawMonth = true;
+                } else if ((ch == 'y') && !sawYear) {
+                    result[resultIndex++] = 'y';
+                    sawYear = true;
+                }
+            } else if (ch == 'G') {
+                // Ignore the era specifier, if present.
+            } else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
+                throw new IllegalArgumentException("Bad pattern character '"
+                        + ch + "' in " + pattern);
+            } else if (ch == '\'') {
+                if (i < pattern.length() - 1 && pattern.charAt(i + 1) == '\'') {
+                    ++i;
+                } else {
+                    i = pattern.indexOf('\'', i + 1);
+                    if (i == -1) {
+                        throw new IllegalArgumentException("Bad quoting in " + pattern);
+                    }
+                    ++i;
+                }
+            } else {
+                // Ignore spaces and punctuation.
+            }
+        }
+        return result;
+    }
+
+}
diff --git a/src/com/android/contacts/datepicker/TwoDigitFormatter.java b/src/com/android/contacts/datepicker/TwoDigitFormatter.java
new file mode 100644
index 0000000..7e03f28
--- /dev/null
+++ b/src/com/android/contacts/datepicker/TwoDigitFormatter.java
@@ -0,0 +1,55 @@
+package com.android.contacts.datepicker;
+
+import android.widget.NumberPicker;
+
+import java.text.DecimalFormatSymbols;
+import java.util.Locale;
+
+/**
+ * Copy of {@link android.widget.NumberPicker.TwoDigitFormatter}, modified
+ * so that it doesn't use libcore.
+ *
+ * Use a custom NumberPicker formatting callback to use two-digit minutes
+ * strings like "01". Keeping a static formatter etc. is the most efficient
+ * way to do this; it avoids creating temporary objects on every call to
+ * format().
+ */
+public class TwoDigitFormatter implements NumberPicker.Formatter {
+    final StringBuilder mBuilder = new StringBuilder();
+
+    char mZeroDigit;
+    java.util.Formatter mFmt;
+
+    final Object[] mArgs = new Object[1];
+
+    public TwoDigitFormatter() {
+        final Locale locale = Locale.getDefault();
+        init(locale);
+    }
+
+    private void init(Locale locale) {
+        mFmt = createFormatter(locale);
+        mZeroDigit = getZeroDigit(locale);
+    }
+
+    public String format(int value) {
+        final Locale currentLocale = Locale.getDefault();
+        if (mZeroDigit != getZeroDigit(currentLocale)) {
+            init(currentLocale);
+        }
+        mArgs[0] = value;
+        mBuilder.delete(0, mBuilder.length());
+        mFmt.format("%02d", mArgs);
+        return mFmt.toString();
+    }
+
+    private static char getZeroDigit(Locale locale) {
+        // The original TwoDigitFormatter directly referenced LocaleData's value. Instead,
+        // we need to use the public DecimalFormatSymbols API.
+        return DecimalFormatSymbols.getInstance(locale).getZeroDigit();
+    }
+
+    private java.util.Formatter createFormatter(Locale locale) {
+        return new java.util.Formatter(mBuilder, locale);
+    }
+}
diff --git a/src/com/android/contacts/detail/ContactDetailPhotoSetter.java b/src/com/android/contacts/detail/ContactDetailPhotoSetter.java
deleted file mode 100644
index 437de45..0000000
--- a/src/com/android/contacts/detail/ContactDetailPhotoSetter.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.detail;
-
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.Bitmap;
-import android.graphics.Rect;
-import android.net.Uri;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.ImageView;
-
-import com.android.contacts.common.ContactPhotoManager;
-import com.android.contacts.activities.PhotoSelectionActivity;
-import com.android.contacts.common.model.Contact;
-import com.android.contacts.common.model.RawContactDeltaList;
-import com.android.contacts.util.ImageViewDrawableSetter;
-
-/**
- * Extends superclass with methods specifically for setting the contact-detail
- * photo.
- */
-public class ContactDetailPhotoSetter extends ImageViewDrawableSetter {
-    public OnClickListener setupContactPhotoForClick(Context context, Contact contactData,
-            ImageView photoView, boolean expandPhotoOnClick) {
-        Bitmap bitmap = setupContactPhoto(contactData, photoView);
-        return setupClickListener(context, contactData, bitmap, expandPhotoOnClick);
-    }
-
-    private static final class PhotoClickListener implements OnClickListener {
-
-        private final Context mContext;
-        private final Contact mContactData;
-        private final Bitmap mPhotoBitmap;
-        private final byte[] mPhotoBytes;
-        private final boolean mExpandPhotoOnClick;
-
-        public PhotoClickListener(Context context, Contact contactData, Bitmap photoBitmap,
-                byte[] photoBytes, boolean expandPhotoOnClick) {
-            mContext = context;
-            mContactData = contactData;
-            mPhotoBitmap = photoBitmap;
-            mPhotoBytes = photoBytes;
-            mExpandPhotoOnClick = expandPhotoOnClick;
-        }
-
-        @Override
-        public void onClick(View v) {
-            // Assemble the intent.
-            RawContactDeltaList delta = mContactData.createRawContactDeltaList();
-
-            // Find location and bounds of target view, adjusting based on the
-            // assumed local density.
-            final float appScale =
-                    mContext.getResources().getCompatibilityInfo().applicationScale;
-            final int[] pos = new int[2];
-            v.getLocationOnScreen(pos);
-
-            // rect is the bounds (in pixels) of the photo view in screen coordinates
-            final Rect rect = new Rect();
-            rect.left = (int) (pos[0] * appScale + 0.5f);
-            rect.top = (int) (pos[1] * appScale + 0.5f);
-            rect.right = (int) ((pos[0] + v.getWidth()) * appScale + 0.5f);
-            rect.bottom = (int) ((pos[1] + v.getHeight()) * appScale + 0.5f);
-
-            Uri photoUri = null;
-            if (mContactData.getPhotoUri() != null) {
-                photoUri = Uri.parse(mContactData.getPhotoUri());
-            }
-            Intent photoSelectionIntent = PhotoSelectionActivity.buildIntent(mContext,
-                    photoUri, mPhotoBitmap, mPhotoBytes, rect, delta, mContactData.isUserProfile(),
-                    mContactData.isDirectoryEntry(), mExpandPhotoOnClick);
-            // Cache the bitmap directly, so the activity can pull it from the
-            // photo manager.
-            if (mPhotoBitmap != null) {
-                ContactPhotoManager.getInstance(mContext).cacheBitmap(
-                        photoUri, mPhotoBitmap, mPhotoBytes);
-            }
-            mContext.startActivity(photoSelectionIntent);
-        }
-    }
-
-    private OnClickListener setupClickListener(Context context, Contact contactData, Bitmap bitmap,
-            boolean expandPhotoOnClick) {
-        final ImageView target = getTarget();
-        if (target == null) return null;
-
-        return new PhotoClickListener(
-                context, contactData, bitmap, getCompressedImage(), expandPhotoOnClick);
-    }
-}
diff --git a/src/com/android/contacts/detail/PhotoSelectionHandler.java b/src/com/android/contacts/detail/PhotoSelectionHandler.java
index 9919773..405bbfc 100644
--- a/src/com/android/contacts/detail/PhotoSelectionHandler.java
+++ b/src/com/android/contacts/detail/PhotoSelectionHandler.java
@@ -21,6 +21,8 @@
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
 import android.database.Cursor;
 import android.net.Uri;
 import android.provider.ContactsContract.CommonDataKinds.Photo;
@@ -46,6 +48,7 @@
 import com.android.contacts.util.UiClosables;
 
 import java.io.FileNotFoundException;
+import java.util.List;
 
 /**
  * Handles displaying a photo selection popup for a given photo view and dealing with the results
@@ -161,8 +164,10 @@
                     } else {
                         toCrop = mTempPhotoUri;
                         try {
-                            ContactPhotoUtils.savePhotoFromUriToUri(mContext, uri,
-                                    toCrop, false);
+                            if (!ContactPhotoUtils.savePhotoFromUriToUri(mContext, uri,
+                                            toCrop, false)) {
+                                return false;
+                            }
                         } catch (SecurityException e) {
                             Log.d(TAG, "Did not have read-access to uri : " + uri);
                             return false;
@@ -235,9 +240,19 @@
      * Sends a newly acquired photo to Gallery for cropping
      */
     private void doCropPhoto(Uri inputUri, Uri outputUri) {
+        final Intent intent = getCropImageIntent(inputUri, outputUri);
+        if (!hasIntentHandler(intent)) {
+            try {
+                getListener().onPhotoSelected(inputUri);
+            } catch (FileNotFoundException e) {
+                Log.e(TAG, "Cannot save uncropped photo", e);
+                Toast.makeText(mContext, R.string.contactPhotoSavedErrorToast,
+                        Toast.LENGTH_LONG).show();
+            }
+            return;
+        }
         try {
             // Launch gallery to crop the photo
-            final Intent intent = getCropImageIntent(inputUri, outputUri);
             startPhotoActivity(intent, REQUEST_CROP_PHOTO, inputUri);
         } catch (Exception e) {
             Log.e(TAG, "Cannot crop image", e);
@@ -306,6 +321,12 @@
         return intent;
     }
 
+    private boolean hasIntentHandler(Intent intent) {
+        final List<ResolveInfo> resolveInfo = mContext.getPackageManager()
+                .queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
+        return resolveInfo != null && resolveInfo.size() > 0;
+    }
+
     /**
      * Constructs an intent for image cropping.
      */
diff --git a/src/com/android/contacts/detail/TransformableImageView.java b/src/com/android/contacts/detail/TransformableImageView.java
deleted file mode 100644
index 1eb35aa..0000000
--- a/src/com/android/contacts/detail/TransformableImageView.java
+++ /dev/null
@@ -1,72 +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.graphics.Canvas;
-import android.graphics.Matrix;
-import android.util.AttributeSet;
-import android.widget.ImageView;
-
-/**
- * Extension to ImageView that handles cropping during resize animations.
- */
-public class TransformableImageView extends ImageView {
-
-    public TransformableImageView(Context context) {
-        super(context);
-    }
-
-    public TransformableImageView(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public TransformableImageView(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-    }
-
-    @Override
-    protected void onDraw(Canvas canvas) {
-        if (getDrawable() == null) {
-            return;
-        }
-        int saveCount = canvas.getSaveCount();
-        canvas.save();
-        canvas.translate(mPaddingLeft, mPaddingTop);
-        Matrix drawMatrix = new Matrix();
-        int dwidth = getDrawable().getIntrinsicWidth();
-        int dheight = getDrawable().getIntrinsicHeight();
-
-        int vwidth = getWidth() - mPaddingLeft - mPaddingRight;
-        int vheight = getHeight() - mPaddingTop - mPaddingBottom;
-        float scale;
-        float dx = 0, dy = 0;
-
-        if (dwidth * vheight > vwidth * dheight) {
-            scale = (float) vheight / (float) dheight;
-            dx = (vwidth - dwidth * scale) * 0.5f;
-        } else {
-            scale = (float) vwidth / (float) dwidth;
-            dy = (vheight - dheight * scale) * 0.5f;
-        }
-
-        drawMatrix.setScale(scale, scale);
-        drawMatrix.postTranslate((int) (dx + 0.5f), (int) (dy + 0.5f));
-        canvas.concat(drawMatrix);
-        getDrawable().draw(canvas);
-        canvas.restoreToCount(saveCount);
-    }
-}
diff --git a/src/com/android/contacts/editor/AggregationSuggestionEngine.java b/src/com/android/contacts/editor/AggregationSuggestionEngine.java
index 91df272..ed4f313 100644
--- a/src/com/android/contacts/editor/AggregationSuggestionEngine.java
+++ b/src/com/android/contacts/editor/AggregationSuggestionEngine.java
@@ -218,17 +218,16 @@
             return null;
         }
 
-        Builder builder = AggregationSuggestions.builder()
+        Builder builder = new AggregationSuggestions.Builder()
                 .setLimit(MAX_SUGGESTION_COUNT)
                 .setContactId(mContactId);
 
         if (nameSb.length() != 0) {
-            builder.addParameter(AggregationSuggestions.PARAMETER_MATCH_NAME, nameSb.toString());
+            builder.addNameParameter(nameSb.toString());
         }
 
         if (phoneticNameSb.length() != 0) {
-            builder.addParameter(
-                    AggregationSuggestions.PARAMETER_MATCH_NAME, phoneticNameSb.toString());
+            builder.addNameParameter(phoneticNameSb.toString());
         }
 
         return builder.build();
diff --git a/src/com/android/contacts/editor/AggregationSuggestionView.java b/src/com/android/contacts/editor/AggregationSuggestionView.java
index a3d04e4..e3bab7e 100644
--- a/src/com/android/contacts/editor/AggregationSuggestionView.java
+++ b/src/com/android/contacts/editor/AggregationSuggestionView.java
@@ -20,6 +20,7 @@
 import android.graphics.BitmapFactory;
 import android.net.Uri;
 import android.provider.ContactsContract.Contacts;
+import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
@@ -138,6 +139,9 @@
     public boolean handleItemClickEvent() {
         if (mListener != null && isEnabled()) {
             if (canEditSuggestedContact()) {
+                if (TextUtils.isEmpty(mLookupKey)) {
+                    return false;
+                }
                 mListener.onEditAction(Contacts.getLookupUri(mContactId, mLookupKey));
             } else {
                 ArrayList<Long> rawContactIds = Lists.newArrayList();
diff --git a/src/com/android/contacts/editor/CancelEditDialogFragment.java b/src/com/android/contacts/editor/CancelEditDialogFragment.java
new file mode 100644
index 0000000..300759e
--- /dev/null
+++ b/src/com/android/contacts/editor/CancelEditDialogFragment.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.contacts.editor;
+
+import com.android.contacts.R;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.DialogInterface;
+import android.os.Bundle;
+
+/**
+ * Asks the user whether to cancel editing the contact.
+ */
+public class CancelEditDialogFragment extends DialogFragment {
+
+    private static final String TAG = "cancelEditor";
+
+    /**
+     * Shows a {@link CancelEditDialogFragment} after setting the given Fragment as the
+     * target of the dialog.
+     */
+    public static void show(ContactEditorBaseFragment fragment) {
+        final CancelEditDialogFragment dialog = new CancelEditDialogFragment();
+        dialog.setTargetFragment(fragment, 0);
+        dialog.show(fragment.getFragmentManager(), TAG);
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        return new AlertDialog.Builder(getActivity())
+                .setIconAttribute(android.R.attr.alertDialogIcon)
+                .setMessage(R.string.cancel_confirmation_dialog_message)
+                .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialogInterface, int which) {
+                                final Listener targetListener = (Listener) getTargetFragment();
+                                targetListener.onCancelEditConfirmed();
+                            }
+                        }
+                )
+                .setNegativeButton(android.R.string.cancel, null)
+                .create();
+    }
+
+    /**
+     * Callbacks for {@link CancelEditDialogFragment} hosts.
+     */
+    public interface Listener {
+
+        /**
+         * Invoked when the user confirms that they want to cancel editing the contact.
+         */
+        void onCancelEditConfirmed();
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/contacts/editor/CompactContactEditorFragment.java b/src/com/android/contacts/editor/CompactContactEditorFragment.java
new file mode 100644
index 0000000..10efe10
--- /dev/null
+++ b/src/com/android/contacts/editor/CompactContactEditorFragment.java
@@ -0,0 +1,396 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.contacts.editor;
+
+import com.android.contacts.ContactSaveService;
+import com.android.contacts.R;
+import com.android.contacts.activities.CompactContactEditorActivity;
+import com.android.contacts.common.model.AccountTypeManager;
+import com.android.contacts.common.model.RawContactDelta;
+import com.android.contacts.common.model.RawContactDeltaList;
+import com.android.contacts.common.model.ValuesDelta;
+import com.android.contacts.common.model.account.AccountType;
+import com.android.contacts.common.util.ImplicitIntentsUtil;
+import com.android.contacts.detail.PhotoSelectionHandler;
+import com.android.contacts.util.ContactPhotoUtils;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.net.Uri;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
+
+import java.io.FileNotFoundException;
+
+/**
+ * Contact editor with only the most important fields displayed initially.
+ */
+public class CompactContactEditorFragment extends ContactEditorBaseFragment implements
+        CompactRawContactsEditorView.Listener, PhotoSourceDialogFragment.Listener {
+
+    private static final String KEY_PHOTO_URI = "photo_uri";
+    private static final String KEY_PHOTO_RAW_CONTACT_ID = "photo_raw_contact_id";
+
+    /**
+     * Displays a PopupWindow with photo edit options.
+     */
+    final class PhotoHandler extends PhotoSelectionHandler implements View.OnClickListener {
+
+        /**
+         * Receiver of photo edit option callbacks.
+         */
+        private final class PhotoListener extends PhotoActionListener {
+
+            @Override
+            public void onRemovePictureChosen() {
+                getContent().setPhoto(/* bitmap =*/ null);
+                mUpdatedPhotos.remove(String.valueOf(mPhotoRawContactId));
+
+                // Update the mode so the options change if user clicks the photo again
+                mPhotoMode = getPhotoMode();
+            }
+
+            @Override
+            public void onPhotoSelected(Uri uri) throws FileNotFoundException {
+                final Bitmap bitmap = ContactPhotoUtils.getBitmapFromUri(getActivity(), uri);
+                if (bitmap == null || bitmap.getHeight() <= 0 || bitmap.getWidth() <= 0) {
+                    Log.w(TAG, "Invalid photo selected");
+                }
+                getContent().setPhoto(bitmap);
+
+                // Clear any previously saved full resolution photos under negative raw contact IDs
+                // so that we will use the newly selected photo, instead of an old one on rotations.
+                removeNewRawContactPhotos();
+
+                // If a new photo was chosen but not yet saved,
+                // we need to update the UI immediately
+                mUpdatedPhotos.putParcelable(String.valueOf(mPhotoRawContactId), uri);
+                getContent().setFullSizePhoto(uri);
+
+                // Update the mode so the options change if user clicks the photo again
+                mPhotoMode = getPhotoMode();
+
+                // Re-create the photo handler so that any additional photo selections create a
+                // new temp file (and don't hit the one that was just added to the cache).
+                mPhotoHandler = createPhotoHandler();
+            }
+
+            @Override
+            public Uri getCurrentPhotoUri() {
+                return mPhotoUri;
+            }
+
+            @Override
+            public void onPhotoSelectionDismissed() {
+            }
+        }
+
+        private PhotoListener mPhotoListener;
+        private int mPhotoMode;
+
+        public PhotoHandler(Context context, int photoMode, RawContactDeltaList state) {
+            // We pass a null changeAnchorView since we are overriding onClick so that we
+            // can show the photo options in a dialog instead of a ListPopupWindow (which would
+            // be anchored at changeAnchorView).
+            super(context, /* changeAnchorView =*/ null, photoMode, /* isDirectoryContact =*/ false,
+                    state);
+            mPhotoListener = new PhotoListener();
+            mPhotoMode = photoMode;
+        }
+
+        @Override
+        public void onClick(View view) {
+            PhotoSourceDialogFragment.show(CompactContactEditorFragment.this, mPhotoMode);
+        }
+
+        @Override
+        public PhotoActionListener getListener() {
+            return mPhotoListener;
+        }
+
+        @Override
+        protected void startPhotoActivity(Intent intent, int requestCode, Uri photoUri) {
+            mPhotoUri = photoUri;
+            mStatus = Status.SUB_ACTIVITY;
+
+            CompactContactEditorFragment.this.startActivityForResult(intent, requestCode);
+        }
+    }
+
+    private PhotoHandler mPhotoHandler;
+    private Uri mPhotoUri;
+    private long mPhotoRawContactId;
+
+    @Override
+    public void onCreate(Bundle savedState) {
+        super.onCreate(savedState);
+
+        if (savedState != null) {
+            mPhotoUri = savedState.getParcelable(KEY_PHOTO_URI);
+            mPhotoRawContactId = savedState.getLong(KEY_PHOTO_RAW_CONTACT_ID);
+        }
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
+        setHasOptionsMenu(true);
+
+        final View view = inflater.inflate(
+                R.layout.compact_contact_editor_fragment, container, false);
+        mContent = (LinearLayout) view.findViewById(R.id.editors);
+        return view;
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        outState.putParcelable(KEY_PHOTO_URI, mPhotoUri);
+        outState.putLong(KEY_PHOTO_RAW_CONTACT_ID, mPhotoRawContactId);
+        super.onSaveInstanceState(outState);
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (mStatus == Status.SUB_ACTIVITY) {
+            mStatus = Status.EDITING;
+        }
+        if (mPhotoHandler != null
+                && mPhotoHandler.handlePhotoActivityResult(requestCode, resultCode, data)) {
+            return;
+        }
+        super.onActivityResult(requestCode, resultCode, data);
+    }
+
+    @Override
+    public void onStop() {
+        super.onStop();
+
+        // If anything was left unsaved, save it now
+        if (!getActivity().isChangingConfigurations() && mStatus == Status.EDITING) {
+            save(SaveMode.RELOAD, /* backPressed =*/ false);
+        }
+    }
+
+    @Override
+    protected void bindEditors() {
+        if (!isReadyToBindEditors()) {
+            return;
+        }
+
+        // Add input fields for the loaded Contact
+        final CompactRawContactsEditorView editorView = getContent();
+        editorView.setListener(this);
+        editorView.setState(mState, getMaterialPalette(), mViewIdGenerator);
+
+        // Set up the photo widget
+        mPhotoHandler = createPhotoHandler();
+        mPhotoRawContactId = editorView.getPhotoRawContactId();
+        if (mPhotoRawContactId < 0) {
+            // Since the raw contact IDs for new contacts are random negative numbers
+            // we consider any negative key a match
+            for (String key : mUpdatedPhotos.keySet()) {
+                try {
+                    if (Integer.parseInt(key) < 0) {
+                        editorView.setFullSizePhoto((Uri) mUpdatedPhotos.getParcelable(key));
+                        break;
+                    }
+                } catch (NumberFormatException ignored) {
+                }
+            }
+        } else if (mUpdatedPhotos.containsKey(String.valueOf(mPhotoRawContactId))) {
+            editorView.setFullSizePhoto((Uri) mUpdatedPhotos.getParcelable(
+                    String.valueOf(mPhotoRawContactId)));
+        }
+        editorView.setPhotoHandler(mPhotoHandler);
+
+        // The editor is ready now so make it visible
+        editorView.setEnabled(isEnabled());
+        editorView.setVisibility(View.VISIBLE);
+
+        // Refresh the ActionBar as the visibility of the join command
+        // Activity can be null if we have been detached from the Activity.
+        invalidateOptionsMenu();
+    }
+
+    private boolean isReadyToBindEditors() {
+        if (mState.isEmpty()) {
+            if (Log.isLoggable(TAG, Log.VERBOSE)) {
+                Log.v(TAG, "No data to bind editors");
+            }
+            return false;
+        }
+        if (mIsEdit && !mExistingContactDataReady) {
+            if (Log.isLoggable(TAG, Log.VERBOSE)) {
+                Log.v(TAG, "Existing contact data is not ready to bind editors.");
+            }
+            return false;
+        }
+        if (mHasNewContact && !mNewContactDataReady) {
+            if (Log.isLoggable(TAG, Log.VERBOSE)) {
+                Log.v(TAG, "New contact data is not ready to bind editors.");
+            }
+            return false;
+        }
+        return true;
+    }
+
+    private PhotoHandler createPhotoHandler() {
+        return new PhotoHandler(getActivity(), getPhotoMode(), mState);
+    }
+
+    private int getPhotoMode() {
+        // To determine the options that are available to the user to update their photo
+        // (i.e. the photo mode), check if any of the writable raw contacts has a photo set
+        Integer photoMode = null;
+        boolean hasWritableAccountType = false;
+        final AccountTypeManager accountTypes = AccountTypeManager.getInstance(mContext);
+        for (RawContactDelta rawContactDelta : mState) {
+            if (!rawContactDelta.isVisible()) {
+                continue;
+            }
+            final AccountType accountType = rawContactDelta.getAccountType(accountTypes);
+            if (accountType.areContactsWritable()) {
+                hasWritableAccountType = true;
+                if (getContent().isWritablePhotoSet()) {
+                    photoMode = PhotoActionPopup.Modes.MULTIPLE_WRITE_ABLE_PHOTOS;
+                    break;
+                }
+            }
+        }
+        // If the mode was not set, base it on whether we saw a writable contact or not
+        if (photoMode == null) {
+            photoMode = hasWritableAccountType
+                    ? PhotoActionPopup.Modes.NO_PHOTO : PhotoActionPopup.Modes.READ_ONLY_PHOTO;
+        }
+        return photoMode;
+    }
+
+    @Override
+    protected View getAggregationAnchorView(long rawContactId) {
+        return getContent().getAggregationAnchorView();
+    }
+
+    @Override
+    protected void setGroupMetaData() {
+        // The compact editor does not support groups.
+    }
+
+    @Override
+    protected boolean doSaveAction(int saveMode, boolean backPressed) {
+        // Save contact. No need to pass the palette since we are finished editing after the save.
+        final Intent intent = ContactSaveService.createSaveContactIntent(mContext, mState,
+                SAVE_MODE_EXTRA_KEY, saveMode, isEditingUserProfile(),
+                ((Activity) mContext).getClass(),
+                CompactContactEditorActivity.ACTION_SAVE_COMPLETED, mUpdatedPhotos, backPressed);
+        mContext.startService(intent);
+
+        return true;
+    }
+
+    @Override
+    protected void joinAggregate(final long contactId) {
+        final Intent intent = ContactSaveService.createJoinContactsIntent(
+                mContext, mContactIdForJoin, contactId, CompactContactEditorActivity.class,
+                CompactContactEditorActivity.ACTION_JOIN_COMPLETED);
+        mContext.startService(intent);
+    }
+
+    @Override
+    public void onRemovePictureChosen() {
+        if (mPhotoHandler != null) {
+            mPhotoHandler.getListener().onRemovePictureChosen();
+        }
+    }
+
+    @Override
+    public void onTakePhotoChosen() {
+        if (mPhotoHandler != null) {
+            mPhotoHandler.getListener().onTakePhotoChosen();
+        }
+    }
+
+    @Override
+    public void onPickFromGalleryChosen() {
+        if (mPhotoHandler != null) {
+            mPhotoHandler.getListener().onPickFromGalleryChosen();
+        }
+    }
+
+    @Override
+    public void onExpandEditor() {
+        // Determine if this is an insert (new contact) or edit
+        final boolean isInsert = isInsert(getActivity().getIntent());
+
+        if (isInsert) {
+            // For inserts, prevent any changes from being saved when the base fragment is destroyed
+            mStatus = Status.CLOSING;
+        } else {
+            // Prevent a Toast from being displayed as we transition to the full editor
+            mShowToastAfterSave = false;
+
+            // Save whatever is in the form
+            save(SaveMode.RELOAD, /* backPressed =*/ false);
+        }
+
+        // Prepare an Intent to start the expanded editor
+        final Intent intent = isInsert
+                ? EditorIntents.createInsertContactIntent(
+                        mState, getDisplayName(), getPhoneticName(), mUpdatedPhotos)
+                : EditorIntents.createEditContactIntent(mLookupUri, getMaterialPalette());
+        ImplicitIntentsUtil.startActivityInApp(getActivity(), intent);
+
+        getActivity().finish();
+    }
+
+    @Override
+    public void onNameFieldChanged(long rawContactId, ValuesDelta valuesDelta) {
+        final Activity activity = getActivity();
+        if (activity == null || activity.isFinishing()) {
+            return;
+        }
+        if (!mIsUserProfile) {
+            acquireAggregationSuggestions(activity, rawContactId, valuesDelta);
+        }
+    }
+
+    @Override
+    public String getDisplayName() {
+        final StructuredNameEditorView structuredNameEditorView =
+                getContent().getStructuredNameEditorView();
+        return structuredNameEditorView == null
+                ? null : structuredNameEditorView.getDisplayName();
+    }
+
+    @Override
+    public String getPhoneticName() {
+        final PhoneticNameEditorView phoneticNameEditorView =
+                getContent().getFirstPhoneticNameEditorView();
+        return phoneticNameEditorView == null
+                ? null : phoneticNameEditorView.getPhoneticName();
+    }
+
+    private CompactRawContactsEditorView getContent() {
+        return (CompactRawContactsEditorView) mContent;
+    }
+}
diff --git a/src/com/android/contacts/editor/CompactPhotoEditorView.java b/src/com/android/contacts/editor/CompactPhotoEditorView.java
new file mode 100644
index 0000000..0b1cbe8
--- /dev/null
+++ b/src/com/android/contacts/editor/CompactPhotoEditorView.java
@@ -0,0 +1,291 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.contacts.editor;
+
+import com.android.contacts.R;
+import com.android.contacts.common.ContactPhotoManager;
+import com.android.contacts.common.ContactPhotoManager.DefaultImageProvider;
+import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
+import com.android.contacts.common.ContactsUtils;
+import com.android.contacts.common.model.RawContactDelta;
+import com.android.contacts.common.model.ValuesDelta;
+import com.android.contacts.common.model.dataitem.DataKind;
+import com.android.contacts.common.util.MaterialColorMapUtils;
+import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette;
+import com.android.contacts.editor.CompactContactEditorFragment.PhotoHandler;
+import com.android.contacts.util.ContactPhotoUtils;
+import com.android.contacts.util.SchedulingUtils;
+import com.android.contacts.widget.QuickContactImageView;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.drawable.GradientDrawable;
+import android.net.Uri;
+import android.provider.ContactsContract;
+import android.provider.ContactsContract.CommonDataKinds.Photo;
+import android.provider.ContactsContract.DisplayPhoto;
+import android.util.AttributeSet;
+import android.util.DisplayMetrics;
+import android.util.Log;
+import android.util.TypedValue;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+
+/**
+ * Displays the primary photo.
+ */
+public class CompactPhotoEditorView extends RelativeLayout implements View.OnClickListener {
+
+    private static final String TAG = CompactContactEditorFragment.TAG;
+
+    private ContactPhotoManager mContactPhotoManager;
+    private PhotoHandler mPhotoHandler;
+
+    private final float mLandscapePhotoRatio;
+    private final float mPortraitPhotoRatio;
+    private final boolean mIsTwoPanel;
+
+    private final int mActionBarHeight;
+    private final int mStatusBarHeight;
+
+    private ValuesDelta mValuesDelta;
+    private boolean mReadOnly;
+    private boolean mIsPhotoSet;
+    private MaterialPalette mMaterialPalette;
+
+    private QuickContactImageView mPhotoImageView;
+    private View mPhotoIconOverlay;
+
+    public CompactPhotoEditorView(Context context) {
+        this(context, null);
+    }
+
+    public CompactPhotoEditorView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        mLandscapePhotoRatio = getTypedFloat(R.dimen.quickcontact_landscape_photo_ratio);
+        mPortraitPhotoRatio = getTypedFloat(R.dimen.editor_portrait_photo_ratio);
+        mIsTwoPanel = getResources().getBoolean(R.bool.quickcontact_two_panel);
+
+        final TypedArray styledAttributes = getContext().getTheme().obtainStyledAttributes(
+                new int[] { android.R.attr.actionBarSize });
+        mActionBarHeight = (int) styledAttributes.getDimension(0, 0);
+        styledAttributes.recycle();
+
+        final int resourceId = getResources().getIdentifier(
+                "status_bar_height", "dimen", "android");
+        mStatusBarHeight = resourceId > 0 ? getResources().getDimensionPixelSize(resourceId) : 0;
+    }
+
+    private float getTypedFloat(int resourceId) {
+        final TypedValue typedValue = new TypedValue();
+        getResources().getValue(resourceId, typedValue, /* resolveRefs =*/ true);
+        return typedValue.getFloat();
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+        mContactPhotoManager = ContactPhotoManager.getInstance(getContext());
+
+        mPhotoImageView = (QuickContactImageView) findViewById(R.id.photo);
+        mPhotoIconOverlay = findViewById(R.id.photo_icon_overlay);
+        findViewById(R.id.photo_touch_intercept_overlay).setOnClickListener(this);
+    }
+
+    public void setValues(DataKind dataKind, ValuesDelta valuesDelta,
+            RawContactDelta rawContactDelta, boolean readOnly, MaterialPalette materialPalette,
+            ViewIdGenerator viewIdGenerator) {
+        mValuesDelta = valuesDelta;
+        mReadOnly = readOnly;
+        mMaterialPalette = materialPalette;
+
+        setId(viewIdGenerator.getId(rawContactDelta, dataKind, valuesDelta, /* viewIndex =*/ 0));
+
+        if (valuesDelta == null) {
+            setDefaultPhoto();
+        } else {
+            final byte[] bytes = valuesDelta.getAsByteArray(Photo.PHOTO);
+            if (bytes == null) {
+                setDefaultPhoto();
+            } else {
+                final Bitmap bitmap = BitmapFactory.decodeByteArray(
+                        bytes, /* offset =*/ 0, bytes.length);
+                mPhotoImageView.setImageBitmap(bitmap);
+                mIsPhotoSet = true;
+                mValuesDelta.setFromTemplate(false);
+
+                // Check if we can update to the full size photo immediately
+                if (valuesDelta.getAfter() == null
+                        || valuesDelta.getAfter().get(Photo.PHOTO) == null) {
+                    // If the user hasn't updated the PHOTO value, then PHOTO_FILE_ID may contain
+                    // a reference to a larger version of PHOTO that we can bind to the UI.
+                    // Otherwise, we need to wait for a call to #setFullSizedPhoto() to update
+                    // our full sized image.
+                    final Integer fileId = valuesDelta.getAsInteger(Photo.PHOTO_FILE_ID);
+                    if (fileId != null) {
+                        final Uri photoUri = DisplayPhoto.CONTENT_URI.buildUpon()
+                                .appendPath(fileId.toString()).build();
+                        setFullSizedPhoto(photoUri);
+                    }
+                }
+            }
+        }
+
+        if (mIsPhotoSet) {
+            // Add background color behind the white photo icon so that it's visible even
+            // if the contact photo is white.
+            mPhotoIconOverlay.setBackground(new GradientDrawable(
+                    GradientDrawable.Orientation.TOP_BOTTOM, new int[]{0, 0x88000000}));
+        } else {
+            setDefaultPhotoTint();
+        }
+
+        // Adjust the photo dimensions following the same logic as MultiShrinkScroll.initialize
+        SchedulingUtils.doOnPreDraw(this, /* drawNextFrame =*/ false, new Runnable() {
+            @Override
+            public void run() {
+                final int photoHeight, photoWidth;
+                if (mIsTwoPanel) {
+                    photoHeight = getContentViewHeight();
+                    photoWidth = (int) (photoHeight * mLandscapePhotoRatio);
+                } else {
+                    // Make the photo slightly shorter that it is wide
+                    photoWidth = getWidth();
+                    photoHeight = (int) (photoWidth / mPortraitPhotoRatio);
+                }
+                final ViewGroup.LayoutParams layoutParams = getLayoutParams();
+                layoutParams.height = photoHeight;
+                layoutParams.width = photoWidth;
+                setLayoutParams(layoutParams);
+            }
+        });
+    }
+
+    // We're calculating the height the hard way because using the height of the content view
+    // (found using android.view.Window.ID_ANDROID_CONTENT) with the soft keyboard up when
+    // going from portrait to landscape mode results in a very small height value.
+    // See b/20526470
+    private int getContentViewHeight() {
+        final Activity activity = (Activity) getContext();
+        final DisplayMetrics displayMetrics = new DisplayMetrics();
+        activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
+        return displayMetrics.heightPixels - mActionBarHeight - mStatusBarHeight;
+    }
+
+    /**
+     * Set the {@link PhotoHandler} to forward clicks (i.e. requests to edit the photo) to.
+     */
+    public void setPhotoHandler(PhotoHandler photoHandler) {
+        mPhotoHandler = photoHandler;
+    }
+
+    /**
+     * Whether a writable {@link Photo} has been set.
+     */
+    public boolean isWritablePhotoSet() {
+        return mIsPhotoSet && !mReadOnly;
+    }
+
+    /**
+     * Set the given {@link Bitmap} as the photo in the underlying {@link ValuesDelta}
+     * and bind a thumbnail to the UI.
+     */
+    public void setPhoto(Bitmap bitmap) {
+        if (mReadOnly) {
+            Log.w(TAG, "Attempted to set read only photo. Aborting");
+            return;
+        }
+        if (bitmap == null) {
+            mValuesDelta.put(ContactsContract.CommonDataKinds.Photo.PHOTO, (byte[]) null);
+            setDefaultPhoto();
+            return;
+        }
+
+        final int thumbnailSize = ContactsUtils.getThumbnailSize(getContext());
+        final Bitmap scaledBitmap = Bitmap.createScaledBitmap(
+                bitmap, thumbnailSize, thumbnailSize, /* filter =*/ false);
+
+        mPhotoImageView.setImageBitmap(scaledBitmap);
+        mIsPhotoSet = true;
+        mValuesDelta.setFromTemplate(false);
+
+        // When the user chooses a new photo mark it as super primary
+        mValuesDelta.setSuperPrimary(true);
+
+        // Even though high-res photos cannot be saved by passing them via
+        // an EntityDeltaList (since they cause the Bundle size limit to be
+        // exceeded), we still pass a low-res thumbnail. This simplifies
+        // code all over the place, because we don't have to test whether
+        // there is a change in EITHER the delta-list OR a changed photo...
+        // this way, there is always a change in the delta-list.
+        final byte[] compressed = ContactPhotoUtils.compressBitmap(scaledBitmap);
+        if (compressed != null) {
+            mValuesDelta.setPhoto(compressed);
+        }
+    }
+
+    /**
+     * Show the default "add photo" place holder.
+     */
+    private void setDefaultPhoto() {
+        mPhotoImageView.setImageDrawable(ContactPhotoManager.getDefaultAvatarDrawableForContact(
+                getResources(), /* hires =*/ false, /* defaultImageRequest =*/ null));
+        setDefaultPhotoTint();
+        mIsPhotoSet = false;
+        mValuesDelta.setFromTemplate(true);
+    }
+
+    private void setDefaultPhotoTint() {
+        final int color = mMaterialPalette == null
+                ? MaterialColorMapUtils.getDefaultPrimaryAndSecondaryColors(
+                getResources()).mPrimaryColor
+                : mMaterialPalette.mPrimaryColor;
+        mPhotoImageView.setTint(color);
+    }
+
+    /**
+     * Bind the photo at the given Uri to the UI but do not set the photo on the underlying
+     * {@link ValuesDelta}.
+     */
+    public void setFullSizedPhoto(Uri photoUri) {
+        if (photoUri != null) {
+            final DefaultImageProvider fallbackToPreviousImage = new DefaultImageProvider() {
+                @Override
+                public void applyDefaultImage(ImageView view, int extent, boolean darkTheme,
+                        DefaultImageRequest defaultImageRequest) {
+                    // Before we finish setting the full sized image, don't change the current
+                    // image that is set in any way.
+                }
+            };
+            mContactPhotoManager.loadPhoto(mPhotoImageView, photoUri,
+                    mPhotoImageView.getWidth(), /* darkTheme =*/ false, /* isCircular =*/ false,
+                    /* defaultImageRequest =*/ null, fallbackToPreviousImage);
+        }
+    }
+
+    @Override
+    public void onClick(View view) {
+        if (mPhotoHandler != null) {
+            mPhotoHandler.onClick(view);
+        }
+    }
+}
diff --git a/src/com/android/contacts/editor/CompactRawContactsEditorView.java b/src/com/android/contacts/editor/CompactRawContactsEditorView.java
new file mode 100644
index 0000000..88dd969
--- /dev/null
+++ b/src/com/android/contacts/editor/CompactRawContactsEditorView.java
@@ -0,0 +1,614 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.contacts.editor;
+
+import com.android.contacts.R;
+import com.android.contacts.common.model.AccountTypeManager;
+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.account.AccountType.EditField;
+import com.android.contacts.common.model.dataitem.DataKind;
+import com.android.contacts.common.util.MaterialColorMapUtils;
+import com.android.contacts.editor.CompactContactEditorFragment.PhotoHandler;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.net.Uri;
+import android.provider.ContactsContract.CommonDataKinds.Email;
+import android.provider.ContactsContract.CommonDataKinds.GroupMembership;
+import android.provider.ContactsContract.CommonDataKinds.Nickname;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.CommonDataKinds.Photo;
+import android.provider.ContactsContract.CommonDataKinds.StructuredName;
+import android.text.TextUtils;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * View to display information from multiple {@link RawContactDelta}s grouped together
+ * (e.g. all the phone numbers from a {@link com.android.contacts.common.model.Contact} together.
+ */
+public class CompactRawContactsEditorView extends LinearLayout implements View.OnClickListener {
+
+    private static final String TAG = "CompactEditorView";
+
+    /**
+     * Callbacks for hosts of {@link CompactRawContactsEditorView}s.
+     */
+    public interface Listener {
+
+        /**
+         * Invoked when the compact editor should be expanded to show all fields.
+         */
+        public void onExpandEditor();
+
+        /**
+         * Invoked when the structured name editor field has changed.
+         *
+         * @param rawContactId The raw contact ID from the underlying {@link RawContactDelta}.
+         * @param valuesDelta The values from the underlying {@link RawContactDelta}.
+         */
+        public void onNameFieldChanged(long rawContactId, ValuesDelta valuesDelta);
+    }
+
+    /**
+     * Marks a name as super primary when it is changed.
+     *
+     * This is for the case when two or more raw contacts with names are joined where neither is
+     * marked as super primary.  If the user hits back (which causes a save) after changing the
+     * name that was arbitrarily displayed, we want that to be the name that is used.
+     *
+     * Should only be set when a super primary name does not already exist since we only show
+     * one name field.
+     */
+    static final class NameEditorListener implements Editor.EditorListener {
+
+        private final ValuesDelta mValuesDelta;
+        private final long mRawContactId;
+        private final Listener mListener;
+
+        public NameEditorListener(ValuesDelta valuesDelta, long rawContactId,
+                Listener listener) {
+            mValuesDelta = valuesDelta;
+            mRawContactId = rawContactId;
+            mListener = listener;
+        }
+
+        @Override
+        public void onRequest(int request) {
+            if (request == Editor.EditorListener.FIELD_CHANGED) {
+                mValuesDelta.setSuperPrimary(true);
+                if (mListener != null) {
+                    mListener.onNameFieldChanged(mRawContactId, mValuesDelta);
+                }
+            } else if (request == Editor.EditorListener.FIELD_TURNED_EMPTY) {
+                mValuesDelta.setSuperPrimary(false);
+            }
+        }
+
+        @Override
+        public void onDeleteRequested(Editor editor) {
+        }
+    }
+
+    private Listener mListener;
+
+    private AccountTypeManager mAccountTypeManager;
+    private LayoutInflater mLayoutInflater;
+
+    private ViewIdGenerator mViewIdGenerator;
+    private MaterialColorMapUtils.MaterialPalette mMaterialPalette;
+
+    private CompactPhotoEditorView mPhoto;
+    private ViewGroup mNames;
+    private ViewGroup mPhoneticNames;
+    private ViewGroup mNicknames;
+    private ViewGroup mPhoneNumbers;
+    private ViewGroup mEmails;
+    private ViewGroup mOther;
+    private View mMoreFields;
+
+    // The ValuesDelta for the non super primary name that was displayed to the user.
+    private ValuesDelta mNameValuesDelta;
+
+    private long mPhotoRawContactId;
+
+    public CompactRawContactsEditorView(Context context) {
+        super(context);
+    }
+
+    public CompactRawContactsEditorView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    /**
+     * Sets the receiver for {@link CompactRawContactsEditorView} callbacks.
+     */
+    public void setListener(Listener listener) {
+        mListener = listener;
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+
+        mAccountTypeManager = AccountTypeManager.getInstance(getContext());
+        mLayoutInflater = (LayoutInflater)
+                getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+
+        mPhoto = (CompactPhotoEditorView) findViewById(R.id.photo_editor);
+        mNames = (LinearLayout) findViewById(R.id.names);
+        mPhoneticNames = (LinearLayout) findViewById(R.id.phonetic_names);
+        mNicknames = (LinearLayout) findViewById(R.id.nicknames);
+        mPhoneNumbers = (LinearLayout) findViewById(R.id.phone_numbers);
+        mEmails = (LinearLayout) findViewById(R.id.emails);
+        mOther = (LinearLayout) findViewById(R.id.other);
+        mMoreFields = findViewById(R.id.more_fields);
+        mMoreFields.setOnClickListener(this);
+    }
+
+    @Override
+    public void onClick(View view) {
+        if (view.getId() == R.id.more_fields && mListener != null ) {
+            // We mark the name that was displayed as super primary before expanding
+            // so that a save on the expanded editor (without a name change) does not
+            // cause the displayed name to change.
+            if (mNameValuesDelta != null) {
+                mNameValuesDelta.setSuperPrimary(true);
+            }
+
+            mListener.onExpandEditor();
+        }
+    }
+
+    @Override
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        setEnabled(enabled, mNames);
+        setEnabled(enabled, mPhoneticNames);
+        setEnabled(enabled, mNicknames);
+        setEnabled(enabled, mPhoneNumbers);
+        setEnabled(enabled, mEmails);
+        setEnabled(enabled, mOther);
+    }
+
+    private void setEnabled(boolean enabled, ViewGroup viewGroup) {
+        if (viewGroup != null) {
+            final int childCount = viewGroup.getChildCount();
+            for (int i = 0; i < childCount; i++) {
+                viewGroup.getChildAt(i).setEnabled(enabled);
+            }
+        }
+    }
+
+    /**
+     * Pass through to {@link CompactPhotoEditorView#setPhotoHandler}.
+     */
+    public void setPhotoHandler(PhotoHandler photoHandler) {
+        mPhoto.setPhotoHandler(photoHandler);
+    }
+
+    /**
+     * Pass through to {@link CompactPhotoEditorView#setPhoto}.
+     */
+    public void setPhoto(Bitmap bitmap) {
+        mPhoto.setPhoto(bitmap);
+    }
+
+    /**
+     * Pass through to {@link CompactPhotoEditorView#setFullSizedPhoto(Uri)}.
+     */
+    public void setFullSizePhoto(Uri photoUri) {
+        mPhoto.setFullSizedPhoto(photoUri);
+    }
+
+    /**
+     * Pass through to {@link CompactPhotoEditorView#isWritablePhotoSet}.
+     */
+    public boolean isWritablePhotoSet() {
+        return mPhoto.isWritablePhotoSet();
+    }
+
+    /**
+     * Get the raw contact ID for the CompactHeaderView photo.
+     */
+    public long getPhotoRawContactId() {
+        return mPhotoRawContactId;
+    }
+
+    public StructuredNameEditorView getStructuredNameEditorView() {
+        // We only ever show one StructuredName
+        return mNames.getChildCount() == 0
+                ? null : (StructuredNameEditorView) mNames.getChildAt(0);
+    }
+
+    public PhoneticNameEditorView getFirstPhoneticNameEditorView() {
+        // There should only ever be one phonetic name
+        return mPhoneticNames.getChildCount() == 0
+                ? null : (PhoneticNameEditorView) mPhoneticNames.getChildAt(0);
+    }
+
+    public View getAggregationAnchorView() {
+        // Since there is only one structured name we can just return it as the anchor for
+        // the aggregation suggestions popup
+        if (mNames.getChildCount() == 0) {
+            return null;
+        }
+        return mNames.getChildAt(0).findViewById(R.id.anchor_view);
+    }
+
+    public void setState(RawContactDeltaList rawContactDeltas,
+            MaterialColorMapUtils.MaterialPalette materialPalette,
+            ViewIdGenerator viewIdGenerator) {
+        mNames.removeAllViews();
+        mPhoneticNames.removeAllViews();
+        mNicknames.removeAllViews();
+        mPhoneNumbers.removeAllViews();
+        mEmails.removeAllViews();
+        mOther.removeAllViews();
+
+        if (rawContactDeltas == null || rawContactDeltas.isEmpty()) {
+            return;
+        }
+
+        mViewIdGenerator = viewIdGenerator;
+        setId(mViewIdGenerator.getId(rawContactDeltas.get(0), /* dataKind =*/ null,
+                /* valuesDelta =*/ null, ViewIdGenerator.NO_VIEW_INDEX));
+        mMaterialPalette = materialPalette;
+
+        vlog("Setting compact editor state from " + rawContactDeltas);
+        addPhotoView(rawContactDeltas, viewIdGenerator);
+        addStructuredNameView(rawContactDeltas);
+        addEditorViews(rawContactDeltas);
+        removeExtraEmptyTextFields(mPhoneNumbers);
+        removeExtraEmptyTextFields(mEmails);
+    }
+
+    private void addPhotoView(RawContactDeltaList rawContactDeltas,
+            ViewIdGenerator viewIdGenerator) {
+        for (RawContactDelta rawContactDelta : rawContactDeltas) {
+            if (!rawContactDelta.isVisible()) continue;
+            final AccountType accountType = rawContactDelta.getAccountType(mAccountTypeManager);
+
+            // Make sure we have a photo
+            RawContactModifier.ensureKindExists(
+                    rawContactDelta, accountType, Photo.CONTENT_ITEM_TYPE);
+
+            // Look for a non-empty super primary photo
+            final DataKind dataKind = accountType.getKindForMimetype(Photo.CONTENT_ITEM_TYPE);
+            if (dataKind != null) {
+                final ValuesDelta valuesDelta = getNonEmptySuperPrimaryValuesDeltas(
+                        rawContactDelta, Photo.CONTENT_ITEM_TYPE, dataKind);
+                if (valuesDelta != null) {
+                    mPhotoRawContactId = rawContactDelta.getRawContactId();
+                    mPhoto.setValues(dataKind, valuesDelta, rawContactDelta,
+                            /* readOnly =*/ !dataKind.editable, mMaterialPalette,
+                            viewIdGenerator);
+                    return;
+                }
+            }
+        }
+        // We didn't find a non-empty super primary photo, use the first non-empty one
+        for (RawContactDelta rawContactDelta : rawContactDeltas) {
+            if (!rawContactDelta.isVisible()) continue;
+            final AccountType accountType = rawContactDelta.getAccountType(mAccountTypeManager);
+            final DataKind dataKind = accountType.getKindForMimetype(Photo.CONTENT_ITEM_TYPE);
+            if (dataKind != null) {
+                final List<ValuesDelta> valuesDeltas = getNonEmptyValuesDeltas(
+                        rawContactDelta, Photo.CONTENT_ITEM_TYPE, dataKind);
+                if (valuesDeltas != null && !valuesDeltas.isEmpty()) {
+                    mPhotoRawContactId = rawContactDelta.getRawContactId();
+                    mPhoto.setValues(dataKind, valuesDeltas.get(0), rawContactDelta,
+                            /* readOnly =*/ !dataKind.editable, mMaterialPalette,
+                            viewIdGenerator);
+                    return;
+                }
+            }
+        }
+        // No suitable non-empty photo
+        for (RawContactDelta rawContactDelta : rawContactDeltas) {
+            if (!rawContactDelta.isVisible()) continue;
+            final AccountType accountType = rawContactDelta.getAccountType(mAccountTypeManager);
+            final DataKind dataKind = accountType.getKindForMimetype(Photo.CONTENT_ITEM_TYPE);
+            if (dataKind != null) {
+                final ValuesDelta valuesDelta = rawContactDelta.getSuperPrimaryEntry(
+                        dataKind.mimeType, /* forceSelection =*/ true);
+                if (valuesDelta != null) {
+                    mPhotoRawContactId = rawContactDelta.getRawContactId();
+                    mPhoto.setValues(dataKind, valuesDelta, rawContactDelta,
+                            /* readOnly =*/ !dataKind.editable, mMaterialPalette,
+                            viewIdGenerator);
+                    return;
+                }
+            }
+        }
+        // Should not happen since we ensure the kind exists but if we unexpectedly get here
+        // we must remove the photo section so that it does not take up the entire view
+        mPhoto.setVisibility(View.GONE);
+    }
+
+    private void addStructuredNameView(RawContactDeltaList rawContactDeltas) {
+        for (RawContactDelta rawContactDelta : rawContactDeltas) {
+            if (!rawContactDelta.isVisible()) continue;
+            final AccountType accountType = rawContactDelta.getAccountType(mAccountTypeManager);
+
+            // Make sure we have a structured name
+            RawContactModifier.ensureKindExists(
+                    rawContactDelta, accountType, StructuredName.CONTENT_ITEM_TYPE);
+
+            // Note use of pseudo mime type to get the DataKind and StructuredName to get value
+            final DataKind dataKind = accountType.getKindForMimetype(
+                    DataKind.PSEUDO_MIME_TYPE_DISPLAY_NAME);
+            if (dataKind == null || !dataKind.editable) continue;
+
+            final ValuesDelta superPrimaryValuesDelta = getNonEmptySuperPrimaryValuesDeltas(
+                    rawContactDelta, StructuredName.CONTENT_ITEM_TYPE, dataKind);
+            if (superPrimaryValuesDelta != null) {
+                // Our first preference is for a non-empty super primary name
+                final NameEditorListener nameEditorListener = new NameEditorListener(
+                        superPrimaryValuesDelta, rawContactDelta.getRawContactId(), mListener);
+                mNames.addView(inflateStructuredNameEditorView(mNames, accountType,
+                        superPrimaryValuesDelta, rawContactDelta, nameEditorListener));
+                return;
+            }
+        }
+        // We didn't find a super primary name
+        for (RawContactDelta rawContactDelta : rawContactDeltas) {
+            if (!rawContactDelta.isVisible()) continue;
+            final AccountType accountType = rawContactDelta.getAccountType(mAccountTypeManager);
+
+            final DataKind dataKind = accountType.getKindForMimetype(
+                    DataKind.PSEUDO_MIME_TYPE_DISPLAY_NAME);
+            if (dataKind == null || !dataKind.editable) continue;
+
+            final List<ValuesDelta> nonEmptyValuesDeltas = getNonEmptyValuesDeltas(
+                    rawContactDelta, StructuredName.CONTENT_ITEM_TYPE, dataKind);
+            if (nonEmptyValuesDeltas != null && !nonEmptyValuesDeltas.isEmpty()) {
+                // Take the first non-empty name, also make it super primary before expanding to the
+                // full editor (see #onCLick) so that name does not change if the user saves from
+                // the fully expanded editor.
+                mNameValuesDelta = nonEmptyValuesDeltas.get(0);
+                final NameEditorListener nameEditorListener = new NameEditorListener(
+                        mNameValuesDelta, rawContactDelta.getRawContactId(), mListener);
+                mNames.addView(inflateStructuredNameEditorView(mNames, accountType,
+                        mNameValuesDelta, rawContactDelta, nameEditorListener));
+                return;
+            }
+        }
+        for (RawContactDelta rawContactDelta : rawContactDeltas) {
+            if (!rawContactDelta.isVisible()) continue;
+            final AccountType accountType = rawContactDelta.getAccountType(mAccountTypeManager);
+
+            final DataKind dataKind = accountType.getKindForMimetype(
+                    DataKind.PSEUDO_MIME_TYPE_DISPLAY_NAME);
+            if (dataKind == null || !dataKind.editable) continue;
+
+            // Fall back to the first entry
+            final ArrayList<ValuesDelta> valuesDeltas = rawContactDelta.getMimeEntries(
+                    StructuredName.CONTENT_ITEM_TYPE);
+            if (valuesDeltas != null && !valuesDeltas.isEmpty()) {
+                mNameValuesDelta = valuesDeltas.get(0);
+                final NameEditorListener nameEditorListener = new NameEditorListener(
+                        mNameValuesDelta, rawContactDelta.getRawContactId(), mListener);
+                mNames.addView(inflateStructuredNameEditorView(mNames, accountType,
+                        mNameValuesDelta, rawContactDelta, nameEditorListener));
+                return;
+            }
+        }
+    }
+
+    private void addEditorViews(RawContactDeltaList rawContactDeltas) {
+        for (RawContactDelta rawContactDelta : rawContactDeltas) {
+            if (!rawContactDelta.isVisible()) {
+                continue;
+            }
+            final AccountType accountType = rawContactDelta.getAccountType(mAccountTypeManager);
+
+            for (DataKind dataKind : accountType.getSortedDataKinds()) {
+                if (!dataKind.editable) {
+                    continue;
+                }
+                final String mimeType = dataKind.mimeType;
+                vlog(mimeType + " " + dataKind.fieldList.size() + " field(s)");
+                if (Photo.CONTENT_ITEM_TYPE.equals(mimeType)
+                        || StructuredName.CONTENT_ITEM_TYPE.equals(mimeType)
+                        || GroupMembership.CONTENT_ITEM_TYPE.equals(mimeType)) {
+                    // Photos and structured names are handled separately and
+                    // group membership is not supported
+                    continue;
+                } else if (DataKind.PSEUDO_MIME_TYPE_PHONETIC_NAME.equals(mimeType)) {
+                    // Only add phonetic names if there is a non-empty one. Note the use of
+                    // StructuredName mimeType below, even though we matched a pseudo mime type.
+                    final ValuesDelta valuesDelta = rawContactDelta.getSuperPrimaryEntry(
+                            StructuredName.CONTENT_ITEM_TYPE, /* forceSelection =*/ true);
+                    if (hasNonEmptyValue(dataKind, valuesDelta)) {
+                        mPhoneticNames.addView(inflatePhoneticNameEditorView(
+                                mPhoneticNames, accountType, valuesDelta, rawContactDelta));
+                    }
+                } else if (Nickname.CONTENT_ITEM_TYPE.equals(mimeType)) {
+                    // Only add nicknames if there is a non-empty one
+                    if (hasNonEmptyValuesDelta(rawContactDelta, mimeType, dataKind)) {
+                        mNicknames.addView(inflateKindSectionView(
+                                mNicknames, dataKind, rawContactDelta));
+                    }
+                } else if (Phone.CONTENT_ITEM_TYPE.equals(mimeType)) {
+                    mPhoneNumbers.addView(inflateKindSectionView(
+                            mPhoneNumbers, dataKind, rawContactDelta));
+                } else if (Email.CONTENT_ITEM_TYPE.equals(mimeType)) {
+                    mEmails.addView(inflateKindSectionView(
+                            mEmails, dataKind, rawContactDelta));
+                } else if (hasNonEmptyValuesDelta(rawContactDelta, mimeType, dataKind)) {
+                    mOther.addView(inflateKindSectionView(
+                            mOther, dataKind, rawContactDelta));
+                }
+            }
+        }
+    }
+
+    // TODO: avoid inflating extra views and deleting them
+    private void removeExtraEmptyTextFields(ViewGroup viewGroup) {
+        // If there is one (or less) editors, leave it whether it is empty or not
+        if (viewGroup.getChildCount() <= 1) {
+            return;
+        }
+        // Determine if there are any non-empty editors
+        boolean hasAtLeastOneNonEmptyEditorView = false;
+        for (int i = 0; i < viewGroup.getChildCount(); i++) {
+            if (!isEmptyEditorView(viewGroup.getChildAt(i))) {
+                hasAtLeastOneNonEmptyEditorView = true;
+                break;
+            }
+        }
+        if (hasAtLeastOneNonEmptyEditorView) {
+            // There is at least one non-empty editor, remove all the empty ones
+            for (int i = 0; i < viewGroup.getChildCount(); i++) {
+                if (isEmptyEditorView(viewGroup.getChildAt(i))) {
+                    viewGroup.getChildAt(i).setVisibility(View.GONE);
+                }
+            }
+        } else {
+            // There is no non-empty editor, keep the first empty view and remove the rest
+            for (int i = 1; i < viewGroup.getChildCount(); i++) {
+                viewGroup.getChildAt(i).setVisibility(View.GONE);
+            }
+        }
+    }
+
+    private static boolean isEmptyEditorView(View view) {
+        if (view instanceof TextFieldsEditorView) {
+            final TextFieldsEditorView textFieldsEditorView = (TextFieldsEditorView) view;
+            return textFieldsEditorView.isEmpty();
+        }
+        if (view instanceof KindSectionView) {
+            final KindSectionView kindSectionView = (KindSectionView) view;
+            return kindSectionView.hasEmptyEditor();
+        }
+        return false;
+    }
+
+    private static boolean hasNonEmptyValuesDelta(RawContactDelta rawContactDelta,
+            String mimeType, DataKind dataKind) {
+        return !getNonEmptyValuesDeltas(rawContactDelta, mimeType, dataKind).isEmpty();
+    }
+
+    private static ValuesDelta getNonEmptySuperPrimaryValuesDeltas(RawContactDelta rawContactDelta,
+            String mimeType, DataKind dataKind) {
+        for (ValuesDelta valuesDelta : getNonEmptyValuesDeltas(
+                rawContactDelta, mimeType, dataKind)) {
+            if (valuesDelta.isSuperPrimary()) {
+                return valuesDelta;
+            }
+        }
+        return null;
+    }
+
+    static List<ValuesDelta> getNonEmptyValuesDeltas(RawContactDelta rawContactDelta,
+            String mimeType, DataKind dataKind) {
+        final List<ValuesDelta> result = new ArrayList<>();
+        if (rawContactDelta == null) {
+            vlog("Null RawContactDelta");
+            return result;
+        }
+        if (!rawContactDelta.hasMimeEntries(mimeType)) {
+            vlog("No ValueDeltas");
+            return result;
+        }
+        for (ValuesDelta valuesDelta : rawContactDelta.getMimeEntries(mimeType)) {
+            if (hasNonEmptyValue(dataKind, valuesDelta)) {
+                result.add(valuesDelta);
+            }
+        }
+        return result;
+    }
+
+    private static boolean hasNonEmptyValue(DataKind dataKind, ValuesDelta valuesDelta) {
+        if (valuesDelta == null) {
+            vlog("Null valuesDelta");
+            return false;
+        }
+        for (EditField editField : dataKind.fieldList) {
+            final String column = editField.column;
+            final String value = valuesDelta == null ? null : valuesDelta.getAsString(column);
+            vlog("Field " + column + " empty=" + TextUtils.isEmpty(value) + " value=" + value);
+            if (!TextUtils.isEmpty(value)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private StructuredNameEditorView inflateStructuredNameEditorView(ViewGroup viewGroup,
+            AccountType accountType, ValuesDelta valuesDelta, RawContactDelta rawContactDelta,
+            NameEditorListener nameEditorListener) {
+        final StructuredNameEditorView result = (StructuredNameEditorView) mLayoutInflater.inflate(
+                R.layout.structured_name_editor_view, viewGroup, /* attachToRoot =*/ false);
+        if (nameEditorListener != null) {
+            result.setEditorListener(nameEditorListener);
+        }
+        result.setDeletable(false);
+        result.setValues(
+                accountType.getKindForMimetype(DataKind.PSEUDO_MIME_TYPE_DISPLAY_NAME),
+                valuesDelta,
+                rawContactDelta,
+                /* readOnly =*/ false,
+                mViewIdGenerator);
+        return result;
+    }
+
+    private PhoneticNameEditorView inflatePhoneticNameEditorView(ViewGroup viewGroup,
+            AccountType accountType, ValuesDelta valuesDelta, RawContactDelta rawContactDelta) {
+        final PhoneticNameEditorView result = (PhoneticNameEditorView) mLayoutInflater.inflate(
+                R.layout.phonetic_name_editor_view, viewGroup, /* attachToRoot =*/ false);
+        result.setDeletable(false);
+        result.setValues(
+                accountType.getKindForMimetype(DataKind.PSEUDO_MIME_TYPE_PHONETIC_NAME),
+                valuesDelta,
+                rawContactDelta,
+                /* readOnly =*/ false,
+                mViewIdGenerator);
+        return result;
+    }
+
+    private KindSectionView inflateKindSectionView(ViewGroup viewGroup, DataKind dataKind,
+            RawContactDelta rawContactDelta) {
+        final KindSectionView result = (KindSectionView) mLayoutInflater.inflate(
+                R.layout.item_kind_section, viewGroup, /* attachToRoot =*/ false);
+        result.setState(
+                dataKind,
+                rawContactDelta,
+                /* readOnly =*/ false,
+                /* showOneEmptyEditor =*/ false,
+                mViewIdGenerator);
+        return result;
+    }
+
+    private static void vlog(String message) {
+        if (Log.isLoggable(TAG, Log.VERBOSE)) {
+            Log.v(TAG, message);
+        }
+    }
+}
diff --git a/src/com/android/contacts/editor/ContactEditorBaseFragment.java b/src/com/android/contacts/editor/ContactEditorBaseFragment.java
new file mode 100644
index 0000000..52076f7
--- /dev/null
+++ b/src/com/android/contacts/editor/ContactEditorBaseFragment.java
@@ -0,0 +1,1638 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.contacts.editor;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
+
+import com.android.contacts.ContactSaveService;
+import com.android.contacts.GroupMetaDataLoader;
+import com.android.contacts.R;
+import com.android.contacts.activities.ContactEditorAccountsChangedActivity;
+import com.android.contacts.activities.ContactEditorBaseActivity;
+import com.android.contacts.activities.ContactEditorBaseActivity.ContactEditor;
+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.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.account.AccountWithDataSet;
+import com.android.contacts.common.util.ImplicitIntentsUtil;
+import com.android.contacts.common.util.MaterialColorMapUtils;
+import com.android.contacts.editor.AggregationSuggestionEngine.Suggestion;
+import com.android.contacts.list.UiIntentActions;
+import com.android.contacts.quickcontact.QuickContactActivity;
+import com.android.contacts.util.HelpUtils;
+import com.android.contacts.util.PhoneCapabilityTester;
+import com.android.contacts.util.UiClosables;
+
+import android.accounts.Account;
+import android.app.Activity;
+import android.app.Fragment;
+import android.app.LoaderManager;
+import android.content.ActivityNotFoundException;
+import android.content.ContentUris;
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.CursorLoader;
+import android.content.Intent;
+import android.content.Loader;
+import android.database.Cursor;
+import android.media.RingtoneManager;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.SystemClock;
+import android.provider.ContactsContract;
+import android.provider.ContactsContract.CommonDataKinds.Email;
+import android.provider.ContactsContract.CommonDataKinds.Event;
+import android.provider.ContactsContract.CommonDataKinds.Organization;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
+import android.provider.ContactsContract.Contacts;
+import android.provider.ContactsContract.Intents;
+import android.provider.ContactsContract.RawContacts;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.BaseAdapter;
+import android.widget.LinearLayout;
+import android.widget.ListPopupWindow;
+import android.widget.Toast;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Base Fragment for contact editors.
+ */
+abstract public class ContactEditorBaseFragment extends Fragment implements
+        ContactEditor, SplitContactConfirmationDialogFragment.Listener,
+        AggregationSuggestionEngine.Listener, AggregationSuggestionView.Listener,
+        CancelEditDialogFragment.Listener {
+
+    static final String TAG = "ContactEditor";
+
+    protected static final int LOADER_DATA = 1;
+    protected static final int LOADER_GROUPS = 2;
+
+    private static final List<String> VALID_INTENT_ACTIONS = new ArrayList<String>() {{
+        add(Intent.ACTION_EDIT);
+        add(Intent.ACTION_INSERT);
+        add(ContactEditorBaseActivity.ACTION_EDIT);
+        add(ContactEditorBaseActivity.ACTION_INSERT);
+        add(ContactEditorBaseActivity.ACTION_SAVE_COMPLETED);
+    }};
+
+    private static final String KEY_ACTION = "action";
+    private static final String KEY_URI = "uri";
+    private static final String KEY_AUTO_ADD_TO_DEFAULT_GROUP = "autoAddToDefaultGroup";
+    private static final String KEY_DISABLE_DELETE_MENU_OPTION = "disableDeleteMenuOption";
+    private static final String KEY_NEW_LOCAL_PROFILE = "newLocalProfile";
+    private static final String KEY_MATERIAL_PALETTE = "materialPalette";
+
+    private static final String KEY_VIEW_ID_GENERATOR = "viewidgenerator";
+
+    private static final String KEY_RAW_CONTACTS = "rawContacts";
+
+    private static final String KEY_EDIT_STATE = "state";
+    private static final String KEY_STATUS = "status";
+
+    private static final String KEY_HAS_NEW_CONTACT = "hasNewContact";
+    private static final String KEY_NEW_CONTACT_READY = "newContactDataReady";
+
+    private static final String KEY_IS_EDIT = "isEdit";
+    private static final String KEY_EXISTING_CONTACT_READY = "existingContactDataReady";
+
+    // Phone option menus
+    private static final String KEY_SEND_TO_VOICE_MAIL_STATE = "sendToVoicemailState";
+    private static final String KEY_ARE_PHONE_OPTIONS_CHANGEABLE = "arePhoneOptionsChangable";
+    private static final String KEY_CUSTOM_RINGTONE = "customRingtone";
+
+    private static final String KEY_IS_USER_PROFILE = "isUserProfile";
+
+    private static final String KEY_ENABLED = "enabled";
+
+    // Aggregation PopupWindow
+    private static final String KEY_AGGREGATION_SUGGESTIONS_RAW_CONTACT_ID =
+            "aggregationSuggestionsRawContactId";
+
+    // Join Activity
+    private static final String KEY_CONTACT_ID_FOR_JOIN = "contactidforjoin";
+
+    private static final String KEY_UPDATED_PHOTOS = "updatedPhotos";
+
+    protected static final int REQUEST_CODE_JOIN = 0;
+    protected static final int REQUEST_CODE_ACCOUNTS_CHANGED = 1;
+    protected static final int REQUEST_CODE_PICK_RINGTONE = 2;
+
+    /**
+     * An intent extra that forces the editor to add the edited contact
+     * to the default group (e.g. "My Contacts").
+     */
+    public static final String INTENT_EXTRA_ADD_TO_DEFAULT_DIRECTORY = "addToDefaultDirectory";
+
+    public static final String INTENT_EXTRA_NEW_LOCAL_PROFILE = "newLocalProfile";
+
+    public static final String INTENT_EXTRA_DISABLE_DELETE_MENU_OPTION =
+            "disableDeleteMenuOption";
+
+    /**
+     * Intent key to pass the photo palette calculated by
+     * {@link com.android.contacts.quickcontact.QuickContactActivity} to and between the compact
+     * editor and fully expanded editor.
+     */
+    public static final String INTENT_EXTRA_MATERIAL_PALETTE = "material_palette";
+
+    /**
+     * Intent key to pass a Bundle of raw contact IDs to photos URIs between the compact editor
+     * and the fully expanded one.
+     */
+    public static final String INTENT_EXTRA_UPDATED_PHOTOS = "updated_photos";
+
+    /**
+     * Intent extra to specify a {@link ContactEditor.SaveMode}.
+     */
+    public static final String SAVE_MODE_EXTRA_KEY = "saveMode";
+
+    /**
+     * Intent extra to specify whether the save was initiated as a result of a back button press
+     * or because the framework stopped the editor Activity.
+     */
+    public static final String INTENT_EXTRA_SAVE_BACK_PRESSED = "saveBackPressed";
+
+    /**
+     * Callbacks for Activities that host contact editors Fragments.
+     */
+    public interface Listener {
+
+        /**
+         * Contact was not found, so somehow close this fragment. This is raised after a contact
+         * is removed via Menu/Delete
+         */
+        void onContactNotFound();
+
+        /**
+         * Contact was split, so we can close now.
+         *
+         * @param newLookupUri The lookup uri of the new contact that should be shown to the user.
+         *                     The editor tries best to chose the most natural contact here.
+         */
+        void onContactSplit(Uri newLookupUri);
+
+        /**
+         * User has tapped Revert, close the fragment now.
+         */
+        void onReverted();
+
+        /**
+         * Contact was saved and the Fragment can now be closed safely.
+         */
+        void onSaveFinished(Intent resultIntent);
+
+        /**
+         * User switched to editing a different contact (a suggestion from the
+         * aggregation engine).
+         */
+        void onEditOtherContactRequested(Uri contactLookupUri,
+                ArrayList<ContentValues> contentValues);
+
+        /**
+         * Contact is being created for an external account that provides its own
+         * new contact activity.
+         */
+        void onCustomCreateContactActivityRequested(AccountWithDataSet account,
+                Bundle intentExtras);
+
+        /**
+         * The edited raw contact belongs to an external account that provides
+         * its own edit activity.
+         *
+         * @param redirect indicates that the current editor should be closed
+         *                 before the custom editor is shown.
+         */
+        void onCustomEditContactActivityRequested(AccountWithDataSet account, Uri rawContactUri,
+                Bundle intentExtras, boolean redirect);
+
+        /**
+         * User has requested that contact be deleted.
+         */
+        void onDeleteRequested(Uri contactUri);
+    }
+
+    /**
+     * Adapter for aggregation suggestions displayed in a PopupWindow when
+     * editor fields change.
+     */
+    protected static final class AggregationSuggestionAdapter extends BaseAdapter {
+        private final LayoutInflater mLayoutInflater;
+        private final boolean mSetNewContact;
+        private final AggregationSuggestionView.Listener mListener;
+        private final List<AggregationSuggestionEngine.Suggestion> mSuggestions;
+
+        public AggregationSuggestionAdapter(Activity activity, boolean setNewContact,
+                AggregationSuggestionView.Listener listener, List<Suggestion> suggestions) {
+            mLayoutInflater = activity.getLayoutInflater();
+            mSetNewContact = setNewContact;
+            mListener = listener;
+            mSuggestions = suggestions;
+        }
+
+        @Override
+        public View getView(int position, View convertView, ViewGroup parent) {
+            final Suggestion suggestion = (Suggestion) getItem(position);
+            final AggregationSuggestionView suggestionView =
+                    (AggregationSuggestionView) mLayoutInflater.inflate(
+                            R.layout.aggregation_suggestions_item, null);
+            suggestionView.setNewContact(mSetNewContact);
+            suggestionView.setListener(mListener);
+            suggestionView.bindSuggestion(suggestion);
+            return suggestionView;
+        }
+
+        @Override
+        public long getItemId(int position) {
+            return position;
+        }
+
+        @Override
+        public Object getItem(int position) {
+            return mSuggestions.get(position);
+        }
+
+        @Override
+        public int getCount() {
+            return mSuggestions.size();
+        }
+    }
+
+    protected Context mContext;
+    protected Listener mListener;
+
+    //
+    // Views
+    //
+    protected LinearLayout mContent;
+    protected View mAggregationSuggestionView;
+    protected ListPopupWindow mAggregationSuggestionPopup;
+
+    //
+    // Parameters passed in on {@link #load}
+    //
+    protected String mAction;
+    protected Uri mLookupUri;
+    protected Bundle mIntentExtras;
+    protected boolean mAutoAddToDefaultGroup;
+    protected boolean mDisableDeleteMenuOption;
+    protected boolean mNewLocalProfile;
+    protected MaterialColorMapUtils.MaterialPalette mMaterialPalette;
+
+    //
+    // Helpers
+    //
+    protected ContactEditorUtils mEditorUtils;
+    protected RawContactDeltaComparator mComparator;
+    protected ViewIdGenerator mViewIdGenerator;
+    private AggregationSuggestionEngine mAggregationSuggestionEngine;
+
+    //
+    // Loaded data
+    //
+    // Used to store existing contact data so it can be re-applied during a rebind call,
+    // i.e. account switch.  Only used in {@link ContactEditorFragment}.
+    protected ImmutableList<RawContact> mRawContacts;
+    protected Cursor mGroupMetaData;
+
+    //
+    // Editor state
+    //
+    protected RawContactDeltaList mState;
+    protected int mStatus;
+
+    // Whether to show the new contact blank form and if it's corresponding delta is ready.
+    protected boolean mHasNewContact;
+    protected boolean mNewContactDataReady;
+
+    // Whether it's an edit of existing contact and if it's corresponding delta is ready.
+    protected boolean mIsEdit;
+    protected boolean mExistingContactDataReady;
+
+    // Whether we are editing the "me" profile
+    protected boolean mIsUserProfile;
+
+    // Phone specific option menu items
+    private boolean mSendToVoicemailState;
+    private boolean mArePhoneOptionsChangable;
+    private String mCustomRingtone;
+
+    // Whether editor views and options menu items should be enabled
+    private boolean mEnabled = true;
+
+    // Aggregation PopupWindow
+    private long mAggregationSuggestionsRawContactId;
+
+    // Join Activity
+    protected long mContactIdForJoin;
+
+    // Full resolution photo URIs
+    protected Bundle mUpdatedPhotos = new Bundle();
+
+    //
+    // Not saved/restored on rotates
+    //
+
+    // Used to pre-populate the editor with a display name when a user edits a read-only contact.
+    protected String mDefaultDisplayName;
+
+    // Whether the name editor should receive focus after being bound
+    protected boolean mRequestFocus;
+
+    // Whether to show a Toast message after saves have completed.
+    // Does not affect successful toasts shown after joins, which are never displayed.
+    protected boolean mShowToastAfterSave = true;
+
+    /**
+     * The contact data loader listener.
+     */
+    protected final LoaderManager.LoaderCallbacks<Contact> mDataLoaderListener =
+            new LoaderManager.LoaderCallbacks<Contact>() {
+
+                protected long mLoaderStartTime;
+
+                @Override
+                public Loader<Contact> onCreateLoader(int id, Bundle args) {
+                    mLoaderStartTime = SystemClock.elapsedRealtime();
+                    return new ContactLoader(mContext, mLookupUri, true);
+                }
+
+                @Override
+                public void onLoadFinished(Loader<Contact> loader, Contact contact) {
+                    final long loaderCurrentTime = SystemClock.elapsedRealtime();
+                    Log.v(TAG, "Time needed for loading: " + (loaderCurrentTime-mLoaderStartTime));
+                    if (!contact.isLoaded()) {
+                        // Item has been deleted. Close activity without saving again.
+                        Log.i(TAG, "No contact found. Closing activity");
+                        mStatus = Status.CLOSING;
+                        if (mListener != null) mListener.onContactNotFound();
+                        return;
+                    }
+
+                    mStatus = Status.EDITING;
+                    mLookupUri = contact.getLookupUri();
+                    final long setDataStartTime = SystemClock.elapsedRealtime();
+                    setState(contact);
+                    setStateForPhoneMenuItems(contact);
+                    final long setDataEndTime = SystemClock.elapsedRealtime();
+
+                    Log.v(TAG, "Time needed for setting UI: " + (setDataEndTime - setDataStartTime));
+                }
+
+                @Override
+                public void onLoaderReset(Loader<Contact> loader) {
+                }
+            };
+
+    /**
+     * The group meta data loader listener.
+     */
+    protected final LoaderManager.LoaderCallbacks<Cursor> mGroupLoaderListener =
+            new LoaderManager.LoaderCallbacks<Cursor>() {
+
+                @Override
+                public CursorLoader onCreateLoader(int id, Bundle args) {
+                    return new GroupMetaDataLoader(mContext, ContactsContract.Groups.CONTENT_URI);
+                }
+
+                @Override
+                public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
+                    mGroupMetaData = data;
+                    setGroupMetaData();
+                }
+
+                @Override
+                public void onLoaderReset(Loader<Cursor> loader) {
+                }
+            };
+
+    @Override
+    public void onAttach(Activity activity) {
+        super.onAttach(activity);
+        mContext = activity;
+        mEditorUtils = ContactEditorUtils.getInstance(mContext);
+        mComparator = new RawContactDeltaComparator(mContext);
+    }
+
+    @Override
+    public void onCreate(Bundle savedState) {
+        if (savedState != null) {
+            // Restore mUri before calling super.onCreate so that onInitializeLoaders
+            // would already have a uri and an action to work with
+            mAction = savedState.getString(KEY_ACTION);
+            mLookupUri = savedState.getParcelable(KEY_URI);
+        }
+
+        super.onCreate(savedState);
+
+        if (savedState == null) {
+            mViewIdGenerator = new ViewIdGenerator();
+        } else {
+            mViewIdGenerator = savedState.getParcelable(KEY_VIEW_ID_GENERATOR);
+
+            mAutoAddToDefaultGroup = savedState.getBoolean(KEY_AUTO_ADD_TO_DEFAULT_GROUP);
+            mDisableDeleteMenuOption = savedState.getBoolean(KEY_DISABLE_DELETE_MENU_OPTION);
+            mNewLocalProfile = savedState.getBoolean(KEY_NEW_LOCAL_PROFILE);
+            mMaterialPalette = savedState.getParcelable(KEY_MATERIAL_PALETTE);
+
+            mRawContacts = ImmutableList.copyOf(savedState.<RawContact>getParcelableArrayList(
+                    KEY_RAW_CONTACTS));
+            // NOTE: mGroupMetaData is not saved/restored
+
+            // Read state from savedState. No loading involved here
+            mState = savedState.<RawContactDeltaList> getParcelable(KEY_EDIT_STATE);
+            mStatus = savedState.getInt(KEY_STATUS);
+
+            mHasNewContact = savedState.getBoolean(KEY_HAS_NEW_CONTACT);
+            mNewContactDataReady = savedState.getBoolean(KEY_NEW_CONTACT_READY);
+
+            mIsEdit = savedState.getBoolean(KEY_IS_EDIT);
+            mExistingContactDataReady = savedState.getBoolean(KEY_EXISTING_CONTACT_READY);
+
+            mIsUserProfile = savedState.getBoolean(KEY_IS_USER_PROFILE);
+
+            // Phone specific options menus
+            mSendToVoicemailState = savedState.getBoolean(KEY_SEND_TO_VOICE_MAIL_STATE);
+            mArePhoneOptionsChangable = savedState.getBoolean(KEY_ARE_PHONE_OPTIONS_CHANGEABLE);
+            mCustomRingtone = savedState.getString(KEY_CUSTOM_RINGTONE);
+
+            mEnabled = savedState.getBoolean(KEY_ENABLED);
+
+            // Aggregation PopupWindow
+            mAggregationSuggestionsRawContactId = savedState.getLong(
+                    KEY_AGGREGATION_SUGGESTIONS_RAW_CONTACT_ID);
+
+            // Join Activity
+            mContactIdForJoin = savedState.getLong(KEY_CONTACT_ID_FOR_JOIN);
+
+            // Full resolution photo URIs
+            mUpdatedPhotos = savedState.getParcelable(KEY_UPDATED_PHOTOS);
+        }
+
+        // mState can still be null because it may not have have finished loading before
+        // onSaveInstanceState was called.
+        if (mState == null) {
+            mState = new RawContactDeltaList();
+        }
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+
+        validateAction(mAction);
+
+        if (mState.isEmpty()) {
+            // The delta list may not have finished loading before orientation change happens.
+            // In this case, there will be a saved state but deltas will be missing.  Reload from
+            // database.
+            if (Intent.ACTION_EDIT.equals(mAction) ||
+                    ContactEditorBaseActivity.ACTION_EDIT.equals(mAction)) {
+                // Either...
+                // 1) orientation change but load never finished.
+                // or
+                // 2) not an orientation change.  data needs to be loaded for first time.
+                getLoaderManager().initLoader(LOADER_DATA, null, mDataLoaderListener);
+            }
+        } else {
+            // Orientation change, we already have mState, it was loaded by onCreate
+            bindEditors();
+        }
+
+        // Handle initial actions only when existing state missing
+        if (savedInstanceState == null) {
+            if (Intent.ACTION_EDIT.equals(mAction) ||
+                    ContactEditorBaseActivity.ACTION_EDIT.equals(mAction)) {
+                mIsEdit = true;
+            } else if (Intent.ACTION_INSERT.equals(mAction) ||
+                    ContactEditorBaseActivity.ACTION_INSERT.equals(mAction)) {
+                mHasNewContact = true;
+                final Account account = mIntentExtras == null ? null :
+                        (Account) mIntentExtras.getParcelable(Intents.Insert.EXTRA_ACCOUNT);
+                final String dataSet = mIntentExtras == null ? null :
+                        mIntentExtras.getString(Intents.Insert.EXTRA_DATA_SET);
+
+                if (account != null) {
+                    // Account specified in Intent
+                    createContact(new AccountWithDataSet(account.name, account.type, dataSet));
+                } else {
+                    // No Account specified. Let the user choose
+                    // Load Accounts async so that we can present them
+                    selectAccountAndCreateContact();
+                }
+            }
+        }
+    }
+
+    /**
+     * Checks if the requested action is valid.
+     *
+     * @param action The action to test.
+     * @throws IllegalArgumentException when the action is invalid.
+     */
+    private static void validateAction(String action) {
+        if (VALID_INTENT_ACTIONS.contains(action)) {
+            return;
+        }
+        throw new IllegalArgumentException(
+                "Unknown action " + action + "; Supported actions: " + VALID_INTENT_ACTIONS);
+    }
+
+    @Override
+    public void onStart() {
+        getLoaderManager().initLoader(LOADER_GROUPS, null, mGroupLoaderListener);
+        super.onStart();
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        outState.putString(KEY_ACTION, mAction);
+        outState.putParcelable(KEY_URI, mLookupUri);
+        outState.putBoolean(KEY_AUTO_ADD_TO_DEFAULT_GROUP, mAutoAddToDefaultGroup);
+        outState.putBoolean(KEY_DISABLE_DELETE_MENU_OPTION, mDisableDeleteMenuOption);
+        outState.putBoolean(KEY_NEW_LOCAL_PROFILE, mNewLocalProfile);
+        if (mMaterialPalette != null) {
+            outState.putParcelable(KEY_MATERIAL_PALETTE, mMaterialPalette);
+        }
+
+        outState.putParcelable(KEY_VIEW_ID_GENERATOR, mViewIdGenerator);
+
+        outState.putParcelableArrayList(KEY_RAW_CONTACTS, mRawContacts == null ?
+                Lists.<RawContact>newArrayList() : Lists.newArrayList(mRawContacts));
+        // NOTE: mGroupMetaData is not saved
+
+        if (hasValidState()) {
+            // Store entities with modifications
+            outState.putParcelable(KEY_EDIT_STATE, mState);
+        }
+        outState.putInt(KEY_STATUS, mStatus);
+        outState.putBoolean(KEY_HAS_NEW_CONTACT, mHasNewContact);
+        outState.putBoolean(KEY_NEW_CONTACT_READY, mNewContactDataReady);
+        outState.putBoolean(KEY_IS_EDIT, mIsEdit);
+        outState.putBoolean(KEY_EXISTING_CONTACT_READY, mExistingContactDataReady);
+
+        outState.putBoolean(KEY_IS_USER_PROFILE, mIsUserProfile);
+
+        // Phone specific options
+        outState.putBoolean(KEY_SEND_TO_VOICE_MAIL_STATE, mSendToVoicemailState);
+        outState.putBoolean(KEY_ARE_PHONE_OPTIONS_CHANGEABLE, mArePhoneOptionsChangable);
+        outState.putString(KEY_CUSTOM_RINGTONE, mCustomRingtone);
+
+        outState.putBoolean(KEY_ENABLED, mEnabled);
+
+        // Aggregation PopupWindow
+        outState.putLong(KEY_AGGREGATION_SUGGESTIONS_RAW_CONTACT_ID,
+                mAggregationSuggestionsRawContactId);
+
+        // Join Activity
+        outState.putLong(KEY_CONTACT_ID_FOR_JOIN, mContactIdForJoin);
+
+        // Full resolution photo URIs
+        outState.putParcelable(KEY_UPDATED_PHOTOS, mUpdatedPhotos);
+
+        super.onSaveInstanceState(outState);
+    }
+
+    @Override
+    public void onStop() {
+        super.onStop();
+
+        UiClosables.closeQuietly(mAggregationSuggestionPopup);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        if (mAggregationSuggestionEngine != null) {
+            mAggregationSuggestionEngine.quit();
+        }
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        switch (requestCode) {
+            case REQUEST_CODE_JOIN: {
+                // Ignore failed requests
+                if (resultCode != Activity.RESULT_OK) return;
+                if (data != null) {
+                    final long contactId = ContentUris.parseId(data.getData());
+                    joinAggregate(contactId);
+                }
+                break;
+            }
+            case REQUEST_CODE_ACCOUNTS_CHANGED: {
+                // Bail if the account selector was not successful.
+                if (resultCode != Activity.RESULT_OK) {
+                    if (mListener != null) {
+                        mListener.onReverted();
+                    }
+                    return;
+                }
+                // If there's an account specified, use it.
+                if (data != null) {
+                    AccountWithDataSet account = data.getParcelableExtra(
+                            Intents.Insert.EXTRA_ACCOUNT);
+                    if (account != null) {
+                        createContact(account);
+                        return;
+                    }
+                }
+                // If there isn't an account specified, then this is likely a phone-local
+                // contact, so we should continue setting up the editor by automatically selecting
+                // the most appropriate account.
+                createContact();
+                break;
+            }
+            case REQUEST_CODE_PICK_RINGTONE: {
+                if (data != null) {
+                    final Uri pickedUri = data.getParcelableExtra(
+                            RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
+                    onRingtonePicked(pickedUri);
+                }
+                break;
+            }
+        }
+    }
+
+    private void onRingtonePicked(Uri pickedUri) {
+        if (pickedUri == null || RingtoneManager.isDefault(pickedUri)) {
+            mCustomRingtone = null;
+        } else {
+            mCustomRingtone = pickedUri.toString();
+        }
+        Intent intent = ContactSaveService.createSetRingtone(
+                mContext, mLookupUri, mCustomRingtone);
+        mContext.startService(intent);
+    }
+
+    //
+    // Options menu
+    //
+
+    private void setStateForPhoneMenuItems(Contact contact) {
+        if (contact != null) {
+            mSendToVoicemailState = contact.isSendToVoicemail();
+            mCustomRingtone = contact.getCustomRingtone();
+            mArePhoneOptionsChangable = !contact.isDirectoryEntry()
+                    && PhoneCapabilityTester.isPhone(mContext);
+        }
+    }
+
+    /**
+     * Invalidates the options menu if we are still associated with an Activity.
+     */
+    protected void invalidateOptionsMenu() {
+        final Activity activity = getActivity();
+        if (activity != null) {
+            activity.invalidateOptionsMenu();
+        }
+    }
+
+    @Override
+    public void onCreateOptionsMenu(Menu menu, final MenuInflater inflater) {
+        inflater.inflate(R.menu.edit_contact, menu);
+    }
+
+    @Override
+    public void onPrepareOptionsMenu(Menu menu) {
+        // This supports the keyboard shortcut to save changes to a contact but shouldn't be visible
+        // because the custom action bar contains the "save" button now (not the overflow menu).
+        // TODO: Find a better way to handle shortcuts, i.e. onKeyDown()?
+        final MenuItem doneMenu = menu.findItem(R.id.menu_done);
+        final MenuItem splitMenu = menu.findItem(R.id.menu_split);
+        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);
+
+        // 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) ||
+                ContactEditorBaseActivity.ACTION_INSERT.equals(mAction)) {
+            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) ||
+                ContactEditorBaseActivity.ACTION_EDIT.equals(mAction)) {
+            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());
+            deleteMenu.setVisible(!mDisableDeleteMenuOption);
+        } 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);
+        }
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
+            case android.R.id.home:
+            case R.id.menu_done:
+                return save(SaveMode.CLOSE, /* backPressed =*/ true);
+            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;
+    }
+
+    private boolean revert() {
+        if (mState.isEmpty() || !hasPendingChanges()) {
+            onCancelEditConfirmed();
+        } else {
+            CancelEditDialogFragment.show(this);
+        }
+        return true;
+    }
+
+    @Override
+    public void onCancelEditConfirmed() {
+        // When this Fragment is closed we don't want it to auto-save
+        mStatus = Status.CLOSING;
+        if (mListener != null) {
+            mListener.onReverted();
+        }
+    }
+
+    @Override
+    public void onSplitContactConfirmed() {
+        if (mState.isEmpty()) {
+            // This may happen when this Fragment is recreated by the system during users
+            // confirming the split action (and thus this method is called just before onCreate()),
+            // for example.
+            Log.e(TAG, "mState became null during the user's confirming split action. " +
+                    "Cannot perform the save action.");
+            return;
+        }
+
+        mState.markRawContactsForSplitting();
+        save(SaveMode.SPLIT, /* backPressed =*/ false);
+    }
+
+    private boolean doSplitContactAction() {
+        if (!hasValidState()) return false;
+
+        SplitContactConfirmationDialogFragment.show(this);
+        return true;
+    }
+
+    private boolean doJoinContactAction() {
+        if (!hasValidState()) {
+            return false;
+        }
+
+        // If we just started creating a new contact and haven't added any data, it's too
+        // early to do a join
+        if (mState.size() == 1 && mState.get(0).isContactInsert() && !hasPendingChanges()) {
+            Toast.makeText(mContext, R.string.toast_join_with_empty_contact,
+                    Toast.LENGTH_LONG).show();
+            return true;
+        }
+
+        return save(SaveMode.JOIN, /* backPressed =*/ false);
+    }
+
+    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();
+        }
+    }
+
+    @Override
+    public boolean save(int saveMode, boolean backPressed) {
+        if (!hasValidState() || mStatus != Status.EDITING) {
+            return false;
+        }
+
+        // If we are about to close the editor - there is no need to refresh the data
+        if (saveMode == SaveMode.CLOSE || saveMode == SaveMode.COMPACT
+                || saveMode == SaveMode.SPLIT) {
+            getLoaderManager().destroyLoader(LOADER_DATA);
+        }
+
+        mStatus = Status.SAVING;
+
+        if (!hasPendingChanges()) {
+            if (mLookupUri == null && saveMode == SaveMode.RELOAD) {
+                // We don't have anything to save and there isn't even an existing contact yet.
+                // Nothing to do, simply go back to editing mode
+                mStatus = Status.EDITING;
+                return true;
+            }
+            onSaveCompleted(/* hadChanges =*/ false, saveMode,
+                    /* saveSucceeded =*/ mLookupUri != null, mLookupUri,
+                    /* updatedPhotos =*/ null, backPressed);
+            return true;
+        }
+
+        setEnabled(false);
+
+        // Store account as default account, only if this is a new contact
+        saveDefaultAccountIfNecessary();
+
+        if (isInsert(getActivity().getIntent()) && saveMode == SaveMode.COMPACT
+                && mListener != null && backPressed) {
+            // If we're coming back from the fully expanded editor and this is an insert, just
+            // pass any values entered by the user back to the compact editor without doing a save
+            final Intent resultIntent = EditorIntents.createCompactInsertContactIntent(
+                    mState, getDisplayName(), getPhoneticName(), mUpdatedPhotos);
+            resultIntent.putExtra(INTENT_EXTRA_SAVE_BACK_PRESSED, backPressed);
+            mListener.onSaveFinished(resultIntent);
+            return true;
+        }
+        // Otherwise this is an edit or a back press so do an actual save
+        return doSaveAction(saveMode, backPressed);
+    }
+
+    /**
+     * Persist the accumulated editor deltas.
+     */
+    abstract protected boolean doSaveAction(int saveMode, boolean backPressed);
+
+    //
+    // State accessor methods
+    //
+
+    /**
+     * Check if our internal {@link #mState} is valid, usually checked before
+     * performing user actions.
+     */
+    protected boolean hasValidState() {
+        return mState.size() > 0;
+    }
+
+    protected boolean isEditingUserProfile() {
+        return mNewLocalProfile || mIsUserProfile;
+    }
+
+    /**
+     * Return true if there are any edits to the current contact which need to
+     * be saved.
+     */
+    protected boolean hasPendingChanges() {
+        final AccountTypeManager accountTypes = AccountTypeManager.getInstance(mContext);
+        return RawContactModifier.hasChanges(mState, accountTypes);
+    }
+
+    /**
+     * Whether editor inputs and the options menu should be enabled.
+     */
+    protected boolean isEnabled() {
+        return mEnabled;
+    }
+
+    /**
+     * Returns the palette extra that was passed in.
+     */
+    protected MaterialColorMapUtils.MaterialPalette getMaterialPalette() {
+        return mMaterialPalette;
+    }
+
+    /**
+     * Returns the currently displayed displayName;
+     */
+    abstract protected String getDisplayName();
+
+    /**
+     * Returns the currently displayed phonetic name;
+     */
+    abstract protected String getPhoneticName();
+
+    //
+    // Account creation
+    //
+
+    private void selectAccountAndCreateContact() {
+        // If this is a local profile, then skip the logic about showing the accounts changed
+        // activity and create a phone-local contact.
+        if (mNewLocalProfile) {
+            createContact(null);
+            return;
+        }
+
+        // If there is no default account or the accounts have changed such that we need to
+        // prompt the user again, then launch the account prompt.
+        if (mEditorUtils.shouldShowAccountChangedNotification()) {
+            Intent intent = new Intent(mContext, ContactEditorAccountsChangedActivity.class);
+            // Prevent a second instance from being started on rotates
+            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+            mStatus = Status.SUB_ACTIVITY;
+            startActivityForResult(intent, REQUEST_CODE_ACCOUNTS_CHANGED);
+        } else {
+            // Otherwise, there should be a default account. Then either create a local contact
+            // (if default account is null) or create a contact with the specified account.
+            AccountWithDataSet defaultAccount = mEditorUtils.getDefaultAccount();
+            createContact(defaultAccount);
+        }
+    }
+
+    /**
+     * Create a contact by automatically selecting the first account. If there's no available
+     * account, a device-local contact should be created.
+     */
+    protected void createContact() {
+        final List<AccountWithDataSet> accounts =
+                AccountTypeManager.getInstance(mContext).getAccounts(true);
+        // No Accounts available. Create a phone-local contact.
+        if (accounts.isEmpty()) {
+            createContact(null);
+            return;
+        }
+
+        // We have an account switcher in "create-account" screen, so don't need to ask a user to
+        // select an account here.
+        createContact(accounts.get(0));
+    }
+
+    /**
+     * Shows account creation screen associated with a given account.
+     *
+     * @param account may be null to signal a device-local contact should be created.
+     */
+    protected void createContact(AccountWithDataSet account) {
+        final AccountTypeManager accountTypes = AccountTypeManager.getInstance(mContext);
+        final AccountType accountType = accountTypes.getAccountTypeForAccount(account);
+
+        if (accountType.getCreateContactActivityClassName() != null) {
+            if (mListener != null) {
+                mListener.onCustomCreateContactActivityRequested(account, mIntentExtras);
+            }
+        } else {
+            setStateForNewContact(account, accountType);
+        }
+    }
+
+    /**
+     * Saves all writable accounts and the default account, but only for new contacts.
+     */
+    protected void saveDefaultAccountIfNecessary() {
+        // Verify that this is a newly created contact, that the contact is composed of only
+        // 1 raw contact, and that the contact is not a user profile.
+        if (!Intent.ACTION_INSERT.equals(mAction)
+                && !ContactEditorBaseActivity.ACTION_INSERT.equals(mAction)
+                && mState.size() == 1
+                && !isEditingUserProfile()) {
+            return;
+        }
+
+        // Find the associated account for this contact (retrieve it here because there are
+        // multiple paths to creating a contact and this ensures we always have the correct
+        // account).
+        final RawContactDelta rawContactDelta = mState.get(0);
+        String name = rawContactDelta.getAccountName();
+        String type = rawContactDelta.getAccountType();
+        String dataSet = rawContactDelta.getDataSet();
+
+        AccountWithDataSet account = (name == null || type == null) ? null :
+                new AccountWithDataSet(name, type, dataSet);
+        mEditorUtils.saveDefaultAndAllAccounts(account);
+    }
+
+    //
+    // Data binding
+    //
+
+    private void setState(Contact contact) {
+        // If we have already loaded data, we do not want to change it here to not confuse the user
+        if (!mState.isEmpty()) {
+            Log.v(TAG, "Ignoring background change. This will have to be rebased later");
+            return;
+        }
+
+        // See if this edit operation needs to be redirected to a custom editor
+        mRawContacts = contact.getRawContacts();
+        if (mRawContacts.size() == 1) {
+            RawContact rawContact = mRawContacts.get(0);
+            String type = rawContact.getAccountTypeString();
+            String dataSet = rawContact.getDataSet();
+            AccountType accountType = rawContact.getAccountType(mContext);
+            if (accountType.getEditContactActivityClassName() != null &&
+                    !accountType.areContactsWritable()) {
+                if (mListener != null) {
+                    String name = rawContact.getAccountName();
+                    long rawContactId = rawContact.getId();
+                    mListener.onCustomEditContactActivityRequested(
+                            new AccountWithDataSet(name, type, dataSet),
+                            ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId),
+                            mIntentExtras, true);
+                }
+                return;
+            }
+        }
+
+        String displayName = null;
+        // Check for writable raw contacts.  If there are none, then we need to create one so user
+        // can edit.  For the user profile case, there is already an editable contact.
+        if (!contact.isUserProfile() && !contact.isWritableContact(mContext)) {
+            mHasNewContact = true;
+
+            // This is potentially an asynchronous call and will add deltas to list.
+            selectAccountAndCreateContact();
+            displayName = contact.getDisplayName();
+        }
+
+        // This also adds deltas to list
+        // If displayName is null at this point it is simply ignored later on by the editor.
+        setStateForExistingContact(displayName, contact.isUserProfile(), mRawContacts);
+    }
+
+    /**
+     * Prepare {@link #mState} for a newly created phone-local contact.
+     */
+    private void setStateForNewContact(AccountWithDataSet account, AccountType accountType) {
+        setStateForNewContact(account, accountType,
+                /* oldState =*/ null, /* oldAccountType =*/ null);
+    }
+
+    /**
+     * Prepare {@link #mState} for a newly created phone-local contact, migrating the state
+     * specified by oldState and oldAccountType.
+     */
+    protected void setStateForNewContact(AccountWithDataSet account, AccountType accountType,
+            RawContactDelta oldState, AccountType oldAccountType) {
+        mStatus = Status.EDITING;
+        mState.add(createNewRawContactDelta(account, accountType, oldState, oldAccountType));
+        mRequestFocus = true;
+        mNewContactDataReady = true;
+        bindEditors();
+    }
+
+    /**
+     * Returns a {@link RawContactDelta} for a new contact suitable for addition into
+     * {@link #mState}.
+     *
+     * If oldState and oldAccountType are specified, the state specified by those parameters
+     * is migrated to the result {@link RawContactDelta}.
+     */
+    private RawContactDelta createNewRawContactDelta(AccountWithDataSet account,
+            AccountType accountType, RawContactDelta oldState, AccountType oldAccountType) {
+        final RawContact rawContact = new RawContact();
+        if (account != null) {
+            rawContact.setAccount(account);
+        } else {
+            rawContact.setAccountToLocal();
+        }
+
+        final RawContactDelta result = new RawContactDelta(
+                ValuesDelta.fromAfter(rawContact.getValues()));
+        if (oldState == null) {
+            // Parse any values from incoming intent
+            RawContactModifier.parseExtras(mContext, accountType, result, mIntentExtras);
+        } else {
+            RawContactModifier.migrateStateForNewContact(
+                    mContext, oldState, result, oldAccountType, accountType);
+        }
+
+        // Ensure we have some default fields (if the account type does not support a field,
+        // ensureKind will not add it, so it is safe to add e.g. Event)
+        RawContactModifier.ensureKindExists(result, accountType, Phone.CONTENT_ITEM_TYPE);
+        RawContactModifier.ensureKindExists(result, accountType, Email.CONTENT_ITEM_TYPE);
+        RawContactModifier.ensureKindExists(result, accountType, Organization.CONTENT_ITEM_TYPE);
+        RawContactModifier.ensureKindExists(result, accountType, Event.CONTENT_ITEM_TYPE);
+        RawContactModifier.ensureKindExists(result, accountType,
+                StructuredPostal.CONTENT_ITEM_TYPE);
+
+        // Set the correct URI for saving the contact as a profile
+        if (mNewLocalProfile) {
+            result.setProfileQueryUri();
+        }
+
+        return result;
+    }
+
+    /**
+     * Prepare {@link #mState} for an existing contact.
+     */
+    protected void setStateForExistingContact(String displayName, boolean isUserProfile,
+            ImmutableList<RawContact> rawContacts) {
+        setEnabled(true);
+        mDefaultDisplayName = displayName;
+
+        mState.addAll(rawContacts.iterator());
+        setIntentExtras(mIntentExtras);
+        mIntentExtras = null;
+
+        // For user profile, change the contacts query URI
+        mIsUserProfile = isUserProfile;
+        boolean localProfileExists = false;
+
+        if (mIsUserProfile) {
+            for (RawContactDelta rawContactDelta : mState) {
+                // For profile contacts, we need a different query URI
+                rawContactDelta.setProfileQueryUri();
+                // Try to find a local profile contact
+                if (rawContactDelta.getValues().getAsString(RawContacts.ACCOUNT_TYPE) == null) {
+                    localProfileExists = true;
+                }
+            }
+            // Editor should always present a local profile for editing
+            if (!localProfileExists) {
+                mState.add(createLocalRawContactDelta());
+            }
+        }
+        mRequestFocus = true;
+        mExistingContactDataReady = true;
+        bindEditors();
+    }
+
+    /**
+     * Returns a {@link RawContactDelta} for a local contact suitable for addition into
+     * {@link #mState}.
+     */
+    private static RawContactDelta createLocalRawContactDelta() {
+        final RawContact rawContact = new RawContact();
+        rawContact.setAccountToLocal();
+
+        final RawContactDelta result = new RawContactDelta(
+                ValuesDelta.fromAfter(rawContact.getValues()));
+        result.setProfileQueryUri();
+
+        return result;
+    }
+
+    /**
+     * Sets group metadata on all bound editors.
+     */
+    abstract protected void setGroupMetaData();
+
+    /**
+     * Bind editors using {@link #mState} and other members initialized from the loaded (or new)
+     * Contact.
+     */
+    abstract protected void bindEditors();
+
+    /**
+     * Set the enabled state of editors.
+     */
+    private void setEnabled(boolean enabled) {
+        if (mEnabled != enabled) {
+            mEnabled = enabled;
+
+            // Enable/disable editors
+            if (mContent != null) {
+                int count = mContent.getChildCount();
+                for (int i = 0; i < count; i++) {
+                    mContent.getChildAt(i).setEnabled(enabled);
+                }
+            }
+
+            // Enable/disable aggregation suggestion vies
+            if (mAggregationSuggestionView != null) {
+                LinearLayout itemList = (LinearLayout) mAggregationSuggestionView.findViewById(
+                        R.id.aggregation_suggestions);
+                int count = itemList.getChildCount();
+                for (int i = 0; i < count; i++) {
+                    itemList.getChildAt(i).setEnabled(enabled);
+                }
+            }
+
+            // Maybe invalidate the options menu
+            final Activity activity = getActivity();
+            if (activity != null) activity.invalidateOptionsMenu();
+        }
+    }
+
+    //
+    // ContactEditor
+    //
+
+    @Override
+    public void setListener(Listener listener) {
+        mListener = listener;
+    }
+
+    @Override
+    public void load(String action, Uri lookupUri, Bundle intentExtras) {
+        mAction = action;
+        mLookupUri = lookupUri;
+        mIntentExtras = intentExtras;
+
+        if (mIntentExtras != null) {
+            mAutoAddToDefaultGroup =
+                    mIntentExtras.containsKey(INTENT_EXTRA_ADD_TO_DEFAULT_DIRECTORY);
+            mNewLocalProfile =
+                    mIntentExtras.getBoolean(INTENT_EXTRA_NEW_LOCAL_PROFILE);
+            mDisableDeleteMenuOption =
+                    mIntentExtras.getBoolean(INTENT_EXTRA_DISABLE_DELETE_MENU_OPTION);
+            mMaterialPalette = mIntentExtras.getParcelable(INTENT_EXTRA_MATERIAL_PALETTE);
+            if (mIntentExtras.containsKey(INTENT_EXTRA_UPDATED_PHOTOS)) {
+                mUpdatedPhotos = mIntentExtras.getParcelable(INTENT_EXTRA_UPDATED_PHOTOS);
+            }
+        }
+    }
+
+    @Override
+    public void setIntentExtras(Bundle extras) {
+        if (extras == null || extras.size() == 0) {
+            return;
+        }
+
+        final AccountTypeManager accountTypes = AccountTypeManager.getInstance(mContext);
+        for (RawContactDelta state : mState) {
+            final AccountType type = state.getAccountType(accountTypes);
+            if (type.areContactsWritable()) {
+                // Apply extras to the first writable raw contact only
+                RawContactModifier.parseExtras(mContext, type, state, extras);
+                break;
+            }
+        }
+    }
+
+    @Override
+    public void onJoinCompleted(Uri uri) {
+        onSaveCompleted(false, SaveMode.RELOAD, uri != null, uri, /* updatedPhotos =*/ null,
+                /* backPressed =*/ false);
+    }
+
+    @Override
+    public void onSaveCompleted(boolean hadChanges, int saveMode, boolean saveSucceeded,
+            Uri contactLookupUri, Bundle updatedPhotos, boolean backPressed) {
+        if (hadChanges) {
+            if (saveSucceeded) {
+                if (saveMode != SaveMode.JOIN && mShowToastAfterSave) {
+                    Toast.makeText(mContext, R.string.contactSavedToast, Toast.LENGTH_SHORT).show();
+                }
+            } else {
+                Toast.makeText(mContext, R.string.contactSavedErrorToast, Toast.LENGTH_LONG).show();
+            }
+        }
+        switch (saveMode) {
+            case SaveMode.CLOSE: {
+                final Intent resultIntent;
+                if (saveSucceeded && contactLookupUri != null) {
+                    final Uri lookupUri = maybeConvertToLegacyLookupUri(
+                            mContext, contactLookupUri, mLookupUri);
+                    resultIntent = ImplicitIntentsUtil.composeQuickContactIntent(lookupUri,
+                            QuickContactActivity.MODE_FULLY_EXPANDED);
+                    resultIntent.putExtra(INTENT_EXTRA_SAVE_BACK_PRESSED, backPressed);
+                } else {
+                    resultIntent = null;
+                }
+                mStatus = Status.CLOSING;
+                if (mListener != null) mListener.onSaveFinished(resultIntent);
+                break;
+            }
+            case SaveMode.COMPACT: {
+                if (!hadChanges && !backPressed && isInsert(getActivity().getIntent())) {
+                    // Reload the empty editor when the Contacts app is resumed
+                    mStatus = Status.EDITING;
+                } else if (backPressed) {
+                    final Uri lookupUri = maybeConvertToLegacyLookupUri(
+                            mContext, contactLookupUri, mLookupUri);
+                    final Intent resultIntent = isInsert(getActivity().getIntent())
+                            ? EditorIntents.createCompactInsertContactIntent(
+                                    mState, getDisplayName(), getPhoneticName(), updatedPhotos)
+                            : EditorIntents.createCompactEditContactIntent(
+                                    lookupUri, getMaterialPalette(), updatedPhotos);
+                    resultIntent.putExtra(INTENT_EXTRA_SAVE_BACK_PRESSED, true);
+                    mStatus = Status.CLOSING;
+                    if (mListener != null) mListener.onSaveFinished(resultIntent);
+                } else {
+                    reloadFullEditor(contactLookupUri);
+                }
+                break;
+            }
+            case SaveMode.RELOAD:
+            case SaveMode.JOIN:
+                if (saveSucceeded && contactLookupUri != null) {
+                    // If it was a JOIN, we are now ready to bring up the join activity.
+                    if (saveMode == SaveMode.JOIN && hasValidState()) {
+                        showJoinAggregateActivity(contactLookupUri);
+                    }
+                    reloadFullEditor(contactLookupUri);
+                }
+                break;
+
+            case SaveMode.SPLIT:
+                mStatus = Status.CLOSING;
+                if (mListener != null) {
+                    mListener.onContactSplit(contactLookupUri);
+                } else {
+                    Log.d(TAG, "No listener registered, can not call onSplitFinished");
+                }
+                break;
+        }
+    }
+
+    private void reloadFullEditor(Uri contactLookupUri) {
+        mState = new RawContactDeltaList();
+        load(ContactEditorBaseActivity.ACTION_EDIT, contactLookupUri, null);
+        mStatus = Status.LOADING;
+        getLoaderManager().restartLoader(LOADER_DATA, null, mDataLoaderListener);
+    }
+
+    /**
+     * Shows a list of aggregates that can be joined into the currently viewed aggregate.
+     *
+     * @param contactLookupUri the fresh URI for the currently edited contact (after saving it)
+     */
+    private void showJoinAggregateActivity(Uri contactLookupUri) {
+        if (contactLookupUri == null || !isAdded()) {
+            return;
+        }
+
+        mContactIdForJoin = ContentUris.parseId(contactLookupUri);
+        final Intent intent = new Intent(UiIntentActions.PICK_JOIN_CONTACT_ACTION);
+        intent.putExtra(UiIntentActions.TARGET_CONTACT_ID_EXTRA_KEY, mContactIdForJoin);
+        startActivityForResult(intent, REQUEST_CODE_JOIN);
+    }
+
+    //
+    // Aggregation PopupWindow
+    //
+
+    /**
+     * Triggers an asynchronous search for aggregation suggestions.
+     */
+    protected void acquireAggregationSuggestions(Context context,
+            long rawContactId, ValuesDelta valuesDelta) {
+        if (mAggregationSuggestionsRawContactId != rawContactId
+                && mAggregationSuggestionView != null) {
+            mAggregationSuggestionView.setVisibility(View.GONE);
+            mAggregationSuggestionView = null;
+            mAggregationSuggestionEngine.reset();
+        }
+
+        mAggregationSuggestionsRawContactId = rawContactId;
+
+        if (mAggregationSuggestionEngine == null) {
+            mAggregationSuggestionEngine = new AggregationSuggestionEngine(context);
+            mAggregationSuggestionEngine.setListener(this);
+            mAggregationSuggestionEngine.start();
+        }
+
+        mAggregationSuggestionEngine.setContactId(getContactId());
+
+        mAggregationSuggestionEngine.onNameChange(valuesDelta);
+    }
+
+    /**
+     * Returns the contact ID for the currently edited contact or 0 if the contact is new.
+     */
+    private long getContactId() {
+        for (RawContactDelta rawContact : mState) {
+            Long contactId = rawContact.getValues().getAsLong(RawContacts.CONTACT_ID);
+            if (contactId != null) {
+                return contactId;
+            }
+        }
+        return 0;
+    }
+
+    @Override
+    public void onAggregationSuggestionChange() {
+        final Activity activity = getActivity();
+        if ((activity != null && activity.isFinishing())
+                || !isVisible() ||  mState.isEmpty() || mStatus != Status.EDITING) {
+            return;
+        }
+
+        UiClosables.closeQuietly(mAggregationSuggestionPopup);
+
+        if (mAggregationSuggestionEngine.getSuggestedContactCount() == 0) {
+            return;
+        }
+
+        final View anchorView = getAggregationAnchorView(mAggregationSuggestionsRawContactId);
+        if (anchorView == null) {
+            return; // Raw contact deleted?
+        }
+        mAggregationSuggestionPopup = new ListPopupWindow(mContext, null);
+        mAggregationSuggestionPopup.setAnchorView(anchorView);
+        mAggregationSuggestionPopup.setWidth(anchorView.getWidth());
+        mAggregationSuggestionPopup.setInputMethodMode(ListPopupWindow.INPUT_METHOD_NOT_NEEDED);
+        mAggregationSuggestionPopup.setAdapter(
+                new AggregationSuggestionAdapter(
+                        getActivity(),
+                        mState.size() == 1 && mState.get(0).isContactInsert(),
+                        /* listener =*/ this,
+                        mAggregationSuggestionEngine.getSuggestions()));
+        mAggregationSuggestionPopup.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                final AggregationSuggestionView suggestionView = (AggregationSuggestionView) view;
+                suggestionView.handleItemClickEvent();
+                UiClosables.closeQuietly(mAggregationSuggestionPopup);
+                mAggregationSuggestionPopup = null;
+            }
+        });
+        mAggregationSuggestionPopup.show();
+    }
+
+    /**
+     * Returns the raw contact editor view for the given rawContactId that should be used as the
+     * anchor for aggregation suggestions.
+     */
+    abstract protected View getAggregationAnchorView(long rawContactId);
+
+    /**
+     * Whether the given raw contact ID matches the one used to last load aggregation
+     * suggestions.
+     */
+    protected boolean isAggregationSuggestionRawContactId(long rawContactId) {
+        return mAggregationSuggestionsRawContactId == rawContactId;
+    }
+
+    @Override
+    public void onJoinAction(long contactId, List<Long> rawContactIdList) {
+        final long rawContactIds[] = new long[rawContactIdList.size()];
+        for (int i = 0; i < rawContactIds.length; i++) {
+            rawContactIds[i] = rawContactIdList.get(i);
+        }
+        try {
+            JoinSuggestedContactDialogFragment.show(this, rawContactIds);
+        } catch (Exception ignored) {
+            // No problem - the activity is no longer available to display the dialog
+        }
+    }
+
+    /**
+     * Joins the suggested contact (specified by the id's of constituent raw
+     * contacts), save all changes, and stay in the editor.
+     */
+    protected void doJoinSuggestedContact(long[] rawContactIds) {
+        if (!hasValidState() || mStatus != Status.EDITING) {
+            return;
+        }
+
+        mState.setJoinWithRawContacts(rawContactIds);
+        save(SaveMode.RELOAD, /* backPressed =*/ false);
+    }
+
+    @Override
+    public void onEditAction(Uri contactLookupUri) {
+        SuggestionEditConfirmationDialogFragment.show(this, contactLookupUri);
+    }
+
+    /**
+     * Abandons the currently edited contact and switches to editing the suggested
+     * one, transferring all the data there
+     */
+    protected void doEditSuggestedContact(Uri contactUri) {
+        if (mListener != null) {
+            // make sure we don't save this contact when closing down
+            mStatus = Status.CLOSING;
+            mListener.onEditOtherContactRequested(
+                    contactUri, mState.get(0).getContentValues());
+        }
+    }
+
+    //
+    // Join Activity
+    //
+
+    /**
+     * Performs aggregation with the contact selected by the user from suggestions or A-Z list.
+     */
+    abstract protected void joinAggregate(long contactId);
+
+    //
+    // Photos
+    //
+
+    /**
+     * Removes the full resolution photo URIs for new raw contacts (identified by negative raw
+     * contact IDs) from the member Bundle of updated photos.
+     */
+    protected void removeNewRawContactPhotos() {
+        for (String key : mUpdatedPhotos.keySet()) {
+            try {
+                if (Integer.parseInt(key) < 0) {
+                    mUpdatedPhotos.remove(key);
+                }
+            } catch (NumberFormatException ignored) {
+            }
+        }
+    }
+
+    //
+    // Utility methods
+    //
+
+    /**
+     * Returns a legacy version of the given contactLookupUri if a legacy Uri was originally
+     * passed to the contact editor.
+     *
+     * @param contactLookupUri The Uri to possibly convert to legacy format.
+     * @param requestLookupUri The lookup Uri originally passed to the contact editor
+     *                         (via Intent data), may be null.
+     */
+    protected static Uri maybeConvertToLegacyLookupUri(Context context, Uri contactLookupUri,
+            Uri requestLookupUri) {
+        final String legacyAuthority = "contacts";
+        final String requestAuthority = requestLookupUri == null
+                ? null : requestLookupUri.getAuthority();
+        if (legacyAuthority.equals(requestAuthority)) {
+            // Build a legacy Uri if that is what was requested by caller
+            final long contactId = ContentUris.parseId(Contacts.lookupContact(
+                    context.getContentResolver(), contactLookupUri));
+            final Uri legacyContentUri = Uri.parse("content://contacts/people");
+            return ContentUris.withAppendedId(legacyContentUri, contactId);
+        }
+        // Otherwise pass back a lookup-style Uri
+        return contactLookupUri;
+    }
+
+    /**
+     * Whether the argument Intent requested a contact insert action or not.
+     */
+    protected static boolean isInsert(Intent intent) {
+        if (intent == null) return false;
+        final String action = intent.getAction();
+        return Intent.ACTION_INSERT.equals(action)
+                || ContactEditorBaseActivity.ACTION_INSERT.equals(action);
+    }
+}
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index be02952..e9b3715 100644
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -16,211 +16,64 @@
 
 package com.android.contacts.editor;
 
-import android.accounts.Account;
 import android.app.Activity;
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.DialogFragment;
-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;
-import android.content.CursorLoader;
-import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.Loader;
-import android.database.Cursor;
 import android.graphics.Bitmap;
-import android.graphics.Rect;
-import android.media.RingtoneManager;
 import android.net.Uri;
 import android.os.Bundle;
-import android.os.SystemClock;
-import android.provider.ContactsContract.CommonDataKinds.Email;
-import android.provider.ContactsContract.CommonDataKinds.Event;
-import android.provider.ContactsContract.CommonDataKinds.Organization;
-import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.CommonDataKinds.Photo;
-import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
-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;
 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.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.BaseAdapter;
 import android.widget.LinearLayout;
 import android.widget.ListPopupWindow;
-import android.widget.Toast;
 
 import com.android.contacts.ContactSaveService;
-import com.android.contacts.GroupMetaDataLoader;
 import com.android.contacts.R;
-import com.android.contacts.activities.ContactEditorAccountsChangedActivity;
 import com.android.contacts.activities.ContactEditorActivity;
 import com.android.contacts.common.model.AccountTypeManager;
+import com.android.contacts.common.model.RawContactDelta;
+import com.android.contacts.common.model.RawContactDeltaList;
 import com.android.contacts.common.model.ValuesDelta;
 import com.android.contacts.common.model.account.AccountType;
 import com.android.contacts.common.model.account.AccountWithDataSet;
-import com.android.contacts.common.model.account.GoogleAccountType;
 import com.android.contacts.common.util.AccountsListAdapter;
 import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter;
 import com.android.contacts.detail.PhotoSelectionHandler;
-import com.android.contacts.editor.AggregationSuggestionEngine.Suggestion;
 import com.android.contacts.editor.Editor.EditorListener;
-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.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.FileNotFoundException;
-import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 
-public class ContactEditorFragment extends Fragment implements
-        SplitContactConfirmationDialogFragment.Listener,
-        AggregationSuggestionEngine.Listener, AggregationSuggestionView.Listener,
+/**
+ * Contact editor with all fields displayed.
+ */
+public class ContactEditorFragment extends ContactEditorBaseFragment implements
         RawContactReadOnlyEditorView.Listener {
 
-    private static final String TAG = ContactEditorFragment.class.getSimpleName();
-
-    private static final int LOADER_DATA = 1;
-    private static final int LOADER_GROUPS = 2;
-
-    private static final String KEY_URI = "uri";
-    private static final String KEY_ACTION = "action";
-    private static final String KEY_EDIT_STATE = "state";
-    private static final String KEY_RAW_CONTACT_ID_REQUESTING_PHOTO = "photorequester";
-    private static final String KEY_VIEW_ID_GENERATOR = "viewidgenerator";
-    private static final String KEY_CURRENT_PHOTO_URI = "currentphotouri";
-    private static final String KEY_CONTACT_ID_FOR_JOIN = "contactidforjoin";
-    private static final String KEY_CONTACT_WRITABLE_FOR_JOIN = "contactwritableforjoin";
-    private static final String KEY_SHOW_JOIN_SUGGESTIONS = "showJoinSuggestions";
-    private static final String KEY_ENABLED = "enabled";
-    private static final String KEY_STATUS = "status";
-    private static final String KEY_NEW_LOCAL_PROFILE = "newLocalProfile";
-    private static final String KEY_IS_USER_PROFILE = "isUserProfile";
-    private static final String KEY_DISABLE_DELETE_MENU_OPTION = "disableDeleteMenuOption";
-    private static final String KEY_UPDATED_PHOTOS = "updatedPhotos";
-    private static final String KEY_IS_EDIT = "isEdit";
-    private static final String KEY_HAS_NEW_CONTACT = "hasNewContact";
-    private static final String KEY_NEW_CONTACT_READY = "newContactDataReady";
-    private static final String KEY_EXISTING_CONTACT_READY = "existingContactDataReady";
-    private static final String KEY_RAW_CONTACTS = "rawContacts";
-    private static final String KEY_SEND_TO_VOICE_MAIL_STATE = "sendToVoicemailState";
-    private static final String KEY_CUSTOM_RINGTONE = "customRingtone";
-    private static final String KEY_ARE_PHONE_OPTIONS_CHANGEABLE = "arePhoneOptionsChangable";
     private static final String KEY_EXPANDED_EDITORS = "expandedEditors";
 
-    public static final String SAVE_MODE_EXTRA_KEY = "saveMode";
+    private static final String KEY_RAW_CONTACT_ID_REQUESTING_PHOTO = "photorequester";
+    private static final String KEY_CURRENT_PHOTO_URI = "currentphotouri";
 
-
-    /**
-     * An intent extra that forces the editor to add the edited contact
-     * to the default group (e.g. "My Contacts").
-     */
-    public static final String INTENT_EXTRA_ADD_TO_DEFAULT_DIRECTORY = "addToDefaultDirectory";
-
-    public static final String INTENT_EXTRA_NEW_LOCAL_PROFILE = "newLocalProfile";
-
-    public static final String INTENT_EXTRA_DISABLE_DELETE_MENU_OPTION =
-            "disableDeleteMenuOption";
-
-    /**
-     * Modes that specify what the AsyncTask has to perform after saving
-     */
-    public interface SaveMode {
-        /**
-         * Close the editor after saving
-         */
-        public static final int CLOSE = 0;
-
-        /**
-         * Reload the data so that the user can continue editing
-         */
-        public static final int RELOAD = 1;
-
-        /**
-         * Split the contact after saving
-         */
-        public static final int SPLIT = 2;
-
-        /**
-         * Join another contact after saving
-         */
-        public static final int JOIN = 3;
-
-        /**
-         * Navigate to Contacts Home activity after saving.
-         */
-        public static final int HOME = 4;
-    }
-
-    private interface Status {
-        /**
-         * The loader is fetching data
-         */
-        public static final int LOADING = 0;
-
-        /**
-         * Not currently busy. We are waiting for the user to enter data
-         */
-        public static final int EDITING = 1;
-
-        /**
-         * The data is currently being saved. This is used to prevent more
-         * auto-saves (they shouldn't overlap)
-         */
-        public static final int SAVING = 2;
-
-        /**
-         * Prevents any more saves. This is used if in the following cases:
-         * - After Save/Close
-         * - After Revert
-         * - After the user has accepted an edit suggestion
-         */
-        public static final int CLOSING = 3;
-
-        /**
-         * Prevents saving while running a child activity.
-         */
-        public static final int SUB_ACTIVITY = 4;
-    }
-
-    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;
+    // Used to store which raw contact editors have been expanded. Keyed on raw contact ids.
+    private HashMap<Long, Boolean> mExpandedEditors = new HashMap<Long, Boolean>();
 
     /**
      * The raw contact for which we started "take photo" or "choose photo from gallery" most
      * recently.  Used to restore {@link #mCurrentPhotoHandler} after orientation change.
      */
     private long mRawContactIdRequestingPhoto;
+
     /**
      * The {@link PhotoHandler} for the photo editor for the {@link #mRawContactIdRequestingPhoto}
      * raw contact.
@@ -230,170 +83,11 @@
      * one.
      */
     private PhotoHandler mCurrentPhotoHandler;
-
-    private final EntityDeltaComparator mComparator = new EntityDeltaComparator();
-
-    private Cursor mGroupMetaData;
-
     private Uri mCurrentPhotoUri;
-    private Bundle mUpdatedPhotos = new Bundle();
-
-    private Context mContext;
-    private String mAction;
-    private Uri mLookupUri;
-    private Bundle mIntentExtras;
-    private Listener mListener;
-
-    private long mContactIdForJoin;
-    private boolean mContactWritableForJoin;
-
-    private ContactEditorUtils mEditorUtils;
-
-    private LinearLayout mContent;
-    private RawContactDeltaList mState;
-
-    private ViewIdGenerator mViewIdGenerator;
-
-    private long mLoaderStartTime;
-
-    private int mStatus;
-
-    // Whether to show the new contact blank form and if it's corresponding delta is ready.
-    private boolean mHasNewContact = false;
-    private boolean mNewContactDataReady = false;
-
-    // Whether it's an edit of existing contact and if it's corresponding delta is ready.
-    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;
-
-    // Used to temporarily store existing contact data during a rebind call (i.e. account switch)
-    private ImmutableList<RawContact> mRawContacts;
-
-    // Used to store which raw contact editors have been expanded. Keyed on raw contact ids.
-    private HashMap<Long, Boolean> mExpandedEditors = new HashMap<Long, Boolean>();
-
-    private AggregationSuggestionEngine mAggregationSuggestionEngine;
-    private long mAggregationSuggestionsRawContactId;
-    private View mAggregationSuggestionView;
-
-    private ListPopupWindow mAggregationSuggestionPopup;
-
-    private static final class AggregationSuggestionAdapter extends BaseAdapter {
-        private final Activity mActivity;
-        private final boolean mSetNewContact;
-        private final AggregationSuggestionView.Listener mListener;
-        private final List<Suggestion> mSuggestions;
-
-        public AggregationSuggestionAdapter(Activity activity, boolean setNewContact,
-                AggregationSuggestionView.Listener listener, List<Suggestion> suggestions) {
-            mActivity = activity;
-            mSetNewContact = setNewContact;
-            mListener = listener;
-            mSuggestions = suggestions;
-        }
-
-        @Override
-        public View getView(int position, View convertView, ViewGroup parent) {
-            Suggestion suggestion = (Suggestion) getItem(position);
-            LayoutInflater inflater = mActivity.getLayoutInflater();
-            AggregationSuggestionView suggestionView =
-                    (AggregationSuggestionView) inflater.inflate(
-                            R.layout.aggregation_suggestions_item, null);
-            suggestionView.setNewContact(mSetNewContact);
-            suggestionView.setListener(mListener);
-            suggestionView.bindSuggestion(suggestion);
-            return suggestionView;
-        }
-
-        @Override
-        public long getItemId(int position) {
-            return position;
-        }
-
-        @Override
-        public Object getItem(int position) {
-            return mSuggestions.get(position);
-        }
-
-        @Override
-        public int getCount() {
-            return mSuggestions.size();
-        }
-    }
-
-    private OnItemClickListener mAggregationSuggestionItemClickListener =
-            new OnItemClickListener() {
-        @Override
-        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-            final AggregationSuggestionView suggestionView = (AggregationSuggestionView) view;
-            suggestionView.handleItemClickEvent();
-            UiClosables.closeQuietly(mAggregationSuggestionPopup);
-            mAggregationSuggestionPopup = null;
-        }
-    };
-
-    private boolean mAutoAddToDefaultGroup;
-
-    private boolean mEnabled = true;
-    private boolean mRequestFocus;
-    private boolean mNewLocalProfile = false;
-    private boolean mIsUserProfile = false;
-    private boolean mDisableDeleteMenuOption = false;
 
     public ContactEditorFragment() {
     }
 
-    public void setEnabled(boolean enabled) {
-        if (mEnabled != enabled) {
-            mEnabled = enabled;
-            if (mContent != null) {
-                int count = mContent.getChildCount();
-                for (int i = 0; i < count; i++) {
-                    mContent.getChildAt(i).setEnabled(enabled);
-                }
-            }
-            setAggregationSuggestionViewEnabled(enabled);
-            final Activity activity = getActivity();
-            if (activity != null) activity.invalidateOptionsMenu();
-        }
-    }
-
-    @Override
-    public void onAttach(Activity activity) {
-        super.onAttach(activity);
-        mContext = activity;
-        mEditorUtils = ContactEditorUtils.getInstance(mContext);
-    }
-
-    @Override
-    public void onStop() {
-        super.onStop();
-
-        UiClosables.closeQuietly(mAggregationSuggestionPopup);
-
-        // If anything was left unsaved, save it now but keep the editor open.
-        if (!getActivity().isChangingConfigurations() && mStatus == Status.EDITING) {
-            save(SaveMode.RELOAD);
-        }
-    }
-
-    @Override
-    public void onDestroy() {
-        super.onDestroy();
-        if (mAggregationSuggestionEngine != null) {
-            mAggregationSuggestionEngine.quit();
-        }
-    }
-
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
         final View view = inflater.inflate(R.layout.contact_editor_fragment, container, false);
@@ -406,189 +100,42 @@
     }
 
     @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-
-        validateAction(mAction);
-
-        if (mState.isEmpty()) {
-            // The delta list may not have finished loading before orientation change happens.
-            // In this case, there will be a saved state but deltas will be missing.  Reload from
-            // database.
-            if (Intent.ACTION_EDIT.equals(mAction)) {
-                // Either...
-                // 1) orientation change but load never finished.
-                // or
-                // 2) not an orientation change.  data needs to be loaded for first time.
-                getLoaderManager().initLoader(LOADER_DATA, null, mDataLoaderListener);
-            }
-        } else {
-            // Orientation change, we already have mState, it was loaded by onCreate
-            bindEditors();
-        }
-
-        // Handle initial actions only when existing state missing
-        if (savedInstanceState == null) {
-            if (Intent.ACTION_EDIT.equals(mAction)) {
-                mIsEdit = true;
-            } else if (Intent.ACTION_INSERT.equals(mAction)) {
-                mHasNewContact = true;
-                final Account account = mIntentExtras == null ? null :
-                        (Account) mIntentExtras.getParcelable(Intents.Insert.ACCOUNT);
-                final String dataSet = mIntentExtras == null ? null :
-                        mIntentExtras.getString(Intents.Insert.DATA_SET);
-
-                if (account != null) {
-                    // Account specified in Intent
-                    createContact(new AccountWithDataSet(account.name, account.type, dataSet));
-                } else {
-                    // No Account specified. Let the user choose
-                    // Load Accounts async so that we can present them
-                    selectAccountAndCreateContact();
-                }
-            }
-        }
-    }
-
-    /**
-     * Checks if the requested action is valid.
-     *
-     * @param action The action to test.
-     * @throws IllegalArgumentException when the action is invalid.
-     */
-    private void validateAction(String action) {
-        if (Intent.ACTION_EDIT.equals(action) || Intent.ACTION_INSERT.equals(action) ||
-                ContactEditorActivity.ACTION_SAVE_COMPLETED.equals(action)) {
-            return;
-        }
-        throw new IllegalArgumentException("Unknown Action String " + mAction +
-                ". Only support " + Intent.ACTION_EDIT + " or " + Intent.ACTION_INSERT + " or " +
-                ContactEditorActivity.ACTION_SAVE_COMPLETED);
-    }
-
-    @Override
-    public void onStart() {
-        getLoaderManager().initLoader(LOADER_GROUPS, null, mGroupLoaderListener);
-        super.onStart();
-    }
-
-    public void load(String action, Uri lookupUri, Bundle intentExtras) {
-        mAction = action;
-        mLookupUri = lookupUri;
-        mIntentExtras = intentExtras;
-        mAutoAddToDefaultGroup = mIntentExtras != null
-                && mIntentExtras.containsKey(INTENT_EXTRA_ADD_TO_DEFAULT_DIRECTORY);
-        mNewLocalProfile = mIntentExtras != null
-                && mIntentExtras.getBoolean(INTENT_EXTRA_NEW_LOCAL_PROFILE);
-        mDisableDeleteMenuOption = mIntentExtras != null
-                && mIntentExtras.getBoolean(INTENT_EXTRA_DISABLE_DELETE_MENU_OPTION);
-    }
-
-    public void setListener(Listener value) {
-        mListener = value;
-    }
-
-    @Override
     public void onCreate(Bundle savedState) {
-        if (savedState != null) {
-            // Restore mUri before calling super.onCreate so that onInitializeLoaders
-            // would already have a uri and an action to work with
-            mLookupUri = savedState.getParcelable(KEY_URI);
-            mAction = savedState.getString(KEY_ACTION);
-        }
-
         super.onCreate(savedState);
 
-        if (savedState == null) {
-            // If savedState is non-null, onRestoreInstanceState() will restore the generator.
-            mViewIdGenerator = new ViewIdGenerator();
-        } else {
-            // Read state from savedState. No loading involved here
-            mState = savedState.<RawContactDeltaList> getParcelable(KEY_EDIT_STATE);
-            mRawContactIdRequestingPhoto = savedState.getLong(
-                    KEY_RAW_CONTACT_ID_REQUESTING_PHOTO);
-            mViewIdGenerator = savedState.getParcelable(KEY_VIEW_ID_GENERATOR);
-            mCurrentPhotoUri = savedState.getParcelable(KEY_CURRENT_PHOTO_URI);
-            mContactIdForJoin = savedState.getLong(KEY_CONTACT_ID_FOR_JOIN);
-            mContactWritableForJoin = savedState.getBoolean(KEY_CONTACT_WRITABLE_FOR_JOIN);
-            mAggregationSuggestionsRawContactId = savedState.getLong(KEY_SHOW_JOIN_SUGGESTIONS);
-            mEnabled = savedState.getBoolean(KEY_ENABLED);
-            mStatus = savedState.getInt(KEY_STATUS);
-            mNewLocalProfile = savedState.getBoolean(KEY_NEW_LOCAL_PROFILE);
-            mDisableDeleteMenuOption = savedState.getBoolean(KEY_DISABLE_DELETE_MENU_OPTION);
-            mIsUserProfile = savedState.getBoolean(KEY_IS_USER_PROFILE);
-            mUpdatedPhotos = savedState.getParcelable(KEY_UPDATED_PHOTOS);
-            mIsEdit = savedState.getBoolean(KEY_IS_EDIT);
-            mHasNewContact = savedState.getBoolean(KEY_HAS_NEW_CONTACT);
-            mNewContactDataReady = savedState.getBoolean(KEY_NEW_CONTACT_READY);
-            mExistingContactDataReady = savedState.getBoolean(KEY_EXISTING_CONTACT_READY);
-            mRawContacts = ImmutableList.copyOf(savedState.<RawContact>getParcelableArrayList(
-                    KEY_RAW_CONTACTS));
-            mSendToVoicemailState = savedState.getBoolean(KEY_SEND_TO_VOICE_MAIL_STATE);
-            mCustomRingtone =  savedState.getString(KEY_CUSTOM_RINGTONE);
-            mArePhoneOptionsChangable =  savedState.getBoolean(KEY_ARE_PHONE_OPTIONS_CHANGEABLE);
+        if (savedState != null) {
             mExpandedEditors = (HashMap<Long, Boolean>)
                     savedState.getSerializable(KEY_EXPANDED_EDITORS);
-        }
-
-        // mState can still be null because it may not have have finished loading before
-        // onSaveInstanceState was called.
-        if (mState == null) {
-            mState = new RawContactDeltaList();
+            mRawContactIdRequestingPhoto = savedState.getLong(
+                    KEY_RAW_CONTACT_ID_REQUESTING_PHOTO);
+            mCurrentPhotoUri = savedState.getParcelable(KEY_CURRENT_PHOTO_URI);
         }
     }
 
-    public void setData(Contact contact) {
+    @Override
+    public void onStop() {
+        super.onStop();
 
-        // If we have already loaded data, we do not want to change it here to not confuse the user
-        if (!mState.isEmpty()) {
-            Log.v(TAG, "Ignoring background change. This will have to be rebased later");
-            return;
+        // If anything was left unsaved, save it now and return to the compact editor.
+        if (!getActivity().isChangingConfigurations() && mStatus == Status.EDITING) {
+            save(SaveMode.COMPACT, /* backPressed =*/ false);
         }
-
-        // See if this edit operation needs to be redirected to a custom editor
-        mRawContacts = contact.getRawContacts();
-        if (mRawContacts.size() == 1) {
-            RawContact rawContact = mRawContacts.get(0);
-            String type = rawContact.getAccountTypeString();
-            String dataSet = rawContact.getDataSet();
-            AccountType accountType = rawContact.getAccountType(mContext);
-            if (accountType.getEditContactActivityClassName() != null &&
-                    !accountType.areContactsWritable()) {
-                if (mListener != null) {
-                    String name = rawContact.getAccountName();
-                    long rawContactId = rawContact.getId();
-                    mListener.onCustomEditContactActivityRequested(
-                            new AccountWithDataSet(name, type, dataSet),
-                            ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId),
-                            mIntentExtras, true);
-                }
-                return;
-            }
-        }
-
-        String displayName = null;
-        // Check for writable raw contacts.  If there are none, then we need to create one so user
-        // can edit.  For the user profile case, there is already an editable contact.
-        if (!contact.isUserProfile() && !contact.isWritableContact(mContext)) {
-            mHasNewContact = true;
-
-            // This is potentially an asynchronous call and will add deltas to list.
-            selectAccountAndCreateContact();
-            displayName = contact.getDisplayName();
-        }
-
-        // This also adds deltas to list
-        // If displayName is null at this point it is simply ignored later on by the editor.
-        bindEditorsForExistingContact(displayName, contact.isUserProfile(),
-                mRawContacts);
-
-        bindMenuItemsForPhone(contact);
     }
 
     @Override
     public void onExternalEditorRequest(AccountWithDataSet account, Uri uri) {
-        mListener.onCustomEditContactActivityRequested(account, uri, null, false);
+        if (mListener != null) {
+            mListener.onCustomEditContactActivityRequested(account, uri, null, false);
+        }
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        // Override the home/done options to return to the compact editor
+        if (item.getItemId() == android.R.id.home || item.getItemId() == R.id.menu_done) {
+            return save(SaveMode.COMPACT, /* backPressed =*/ true);
+        }
+        return super.onOptionsItemSelected(item);
     }
 
     @Override
@@ -596,138 +143,6 @@
         updatedExpandedEditorsMap();
     }
 
-    private void bindEditorsForExistingContact(String displayName, boolean isUserProfile,
-            ImmutableList<RawContact> rawContacts) {
-        setEnabled(true);
-        mDefaultDisplayName = displayName;
-
-        mState.addAll(rawContacts.iterator());
-        setIntentExtras(mIntentExtras);
-        mIntentExtras = null;
-
-        // For user profile, change the contacts query URI
-        mIsUserProfile = isUserProfile;
-        boolean localProfileExists = false;
-
-        if (mIsUserProfile) {
-            for (RawContactDelta state : mState) {
-                // For profile contacts, we need a different query URI
-                state.setProfileQueryUri();
-                // Try to find a local profile contact
-                if (state.getValues().getAsString(RawContacts.ACCOUNT_TYPE) == null) {
-                    localProfileExists = true;
-                }
-            }
-            // Editor should always present a local profile for editing
-            if (!localProfileExists) {
-                final RawContact rawContact = new RawContact();
-                rawContact.setAccountToLocal();
-
-                RawContactDelta insert = new RawContactDelta(ValuesDelta.fromAfter(
-                        rawContact.getValues()));
-                insert.setProfileQueryUri();
-                mState.add(insert);
-            }
-        }
-        mRequestFocus = true;
-        mExistingContactDataReady = true;
-        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.
-     */
-    public void setIntentExtras(Bundle extras) {
-        if (extras == null || extras.size() == 0) {
-            return;
-        }
-
-        final AccountTypeManager accountTypes = AccountTypeManager.getInstance(mContext);
-        for (RawContactDelta state : mState) {
-            final AccountType type = state.getAccountType(accountTypes);
-            if (type.areContactsWritable()) {
-                // Apply extras to the first writable raw contact only
-                RawContactModifier.parseExtras(mContext, type, state, extras);
-                break;
-            }
-        }
-    }
-
-    private void selectAccountAndCreateContact() {
-        // If this is a local profile, then skip the logic about showing the accounts changed
-        // activity and create a phone-local contact.
-        if (mNewLocalProfile) {
-            createContact(null);
-            return;
-        }
-
-        // If there is no default account or the accounts have changed such that we need to
-        // prompt the user again, then launch the account prompt.
-        if (mEditorUtils.shouldShowAccountChangedNotification()) {
-            Intent intent = new Intent(mContext, ContactEditorAccountsChangedActivity.class);
-            mStatus = Status.SUB_ACTIVITY;
-            startActivityForResult(intent, REQUEST_CODE_ACCOUNTS_CHANGED);
-        } else {
-            // Otherwise, there should be a default account. Then either create a local contact
-            // (if default account is null) or create a contact with the specified account.
-            AccountWithDataSet defaultAccount = mEditorUtils.getDefaultAccount();
-            if (defaultAccount == null) {
-                createContact(null);
-            } else {
-                createContact(defaultAccount);
-            }
-        }
-    }
-
-    /**
-     * Create a contact by automatically selecting the first account. If there's no available
-     * account, a device-local contact should be created.
-     */
-    private void createContact() {
-        final List<AccountWithDataSet> accounts =
-                AccountTypeManager.getInstance(mContext).getAccounts(true);
-        // No Accounts available. Create a phone-local contact.
-        if (accounts.isEmpty()) {
-            createContact(null);
-            return;
-        }
-
-        // We have an account switcher in "create-account" screen, so don't need to ask a user to
-        // select an account here.
-        createContact(accounts.get(0));
-    }
-
-    /**
-     * Shows account creation screen associated with a given account.
-     *
-     * @param account may be null to signal a device-local contact should be created.
-     */
-    private void createContact(AccountWithDataSet account) {
-        final AccountTypeManager accountTypes = AccountTypeManager.getInstance(mContext);
-        final AccountType accountType =
-                accountTypes.getAccountType(account != null ? account.type : null,
-                        account != null ? account.dataSet : null);
-
-        if (accountType.getCreateContactActivityClassName() != null) {
-            if (mListener != null) {
-                mListener.onCustomCreateContactActivityRequested(account, mIntentExtras);
-            }
-        } else {
-            bindEditorsForNewContact(account, accountType);
-        }
-    }
-
     /**
      * Removes a current editor ({@link #mState}) and rebinds new editor for a new account.
      * Some of old data are reused with new restriction enforced by the new account.
@@ -740,10 +155,8 @@
             RawContactDelta oldState, AccountWithDataSet oldAccount,
             AccountWithDataSet newAccount) {
         AccountTypeManager accountTypes = AccountTypeManager.getInstance(mContext);
-        AccountType oldAccountType = accountTypes.getAccountType(
-                oldAccount.type, oldAccount.dataSet);
-        AccountType newAccountType = accountTypes.getAccountType(
-                newAccount.type, newAccount.dataSet);
+        AccountType oldAccountType = accountTypes.getAccountTypeForAccount(oldAccount);
+        AccountType newAccountType = accountTypes.getAccountTypeForAccount(newAccount);
 
         if (newAccountType.getCreateContactActivityClassName() != null) {
             Log.w(TAG, "external activity called in rebind situation");
@@ -754,63 +167,27 @@
             mExistingContactDataReady = false;
             mNewContactDataReady = false;
             mState = new RawContactDeltaList();
-            bindEditorsForNewContact(newAccount, newAccountType, oldState, oldAccountType);
+            setStateForNewContact(newAccount, newAccountType, oldState, oldAccountType);
             if (mIsEdit) {
-                bindEditorsForExistingContact(mDefaultDisplayName, mIsUserProfile, mRawContacts);
+                setStateForExistingContact(mDefaultDisplayName, mIsUserProfile, mRawContacts);
             }
         }
     }
 
-    private void bindEditorsForNewContact(AccountWithDataSet account,
-            final AccountType accountType) {
-        bindEditorsForNewContact(account, accountType, null, null);
+    @Override
+    protected void setGroupMetaData() {
+        if (mGroupMetaData == null) {
+            return;
+        }
+        int editorCount = mContent.getChildCount();
+        for (int i = 0; i < editorCount; i++) {
+            BaseRawContactEditorView editor = (BaseRawContactEditorView) mContent.getChildAt(i);
+            editor.setGroupMetaData(mGroupMetaData);
+        }
     }
 
-    private void bindEditorsForNewContact(AccountWithDataSet newAccount,
-            final AccountType newAccountType, RawContactDelta oldState,
-            AccountType oldAccountType) {
-        mStatus = Status.EDITING;
-
-        final RawContact rawContact = new RawContact();
-        if (newAccount != null) {
-            rawContact.setAccount(newAccount);
-        } else {
-            rawContact.setAccountToLocal();
-        }
-
-        final ValuesDelta valuesDelta = ValuesDelta.fromAfter(rawContact.getValues());
-        final RawContactDelta insert = new RawContactDelta(valuesDelta);
-        if (oldState == null) {
-            // Parse any values from incoming intent
-            RawContactModifier.parseExtras(mContext, newAccountType, insert, mIntentExtras);
-        } else {
-            RawContactModifier.migrateStateForNewContact(mContext, oldState, insert,
-                    oldAccountType, newAccountType);
-        }
-
-        // Ensure we have some default fields (if the account type does not support a field,
-        // ensureKind will not add it, so it is safe to add e.g. Event)
-        RawContactModifier.ensureKindExists(insert, newAccountType, Phone.CONTENT_ITEM_TYPE);
-        RawContactModifier.ensureKindExists(insert, newAccountType, Email.CONTENT_ITEM_TYPE);
-        RawContactModifier.ensureKindExists(insert, newAccountType, Organization.CONTENT_ITEM_TYPE);
-        RawContactModifier.ensureKindExists(insert, newAccountType, Event.CONTENT_ITEM_TYPE);
-        RawContactModifier.ensureKindExists(insert, newAccountType,
-                StructuredPostal.CONTENT_ITEM_TYPE);
-
-        // Set the correct URI for saving the contact as a profile
-        if (mNewLocalProfile) {
-            insert.setProfileQueryUri();
-        }
-
-        mState.add(insert);
-
-        mRequestFocus = true;
-
-        mNewContactDataReady = true;
-        bindEditors();
-    }
-
-    private void bindEditors() {
+    @Override
+    protected void bindEditors() {
         // bindEditors() can only bind views if there is data in mState, so immediately return
         // if mState is null
         if (mState.isEmpty()) {
@@ -858,7 +235,7 @@
                 addAccountSwitcher(mState.get(0), editor);
             }
 
-            editor.setEnabled(mEnabled);
+            editor.setEnabled(isEnabled());
 
             if (mExpandedEditors.containsKey(rawContactId)) {
                 editor.setCollapsed(mExpandedEditors.get(rawContactId));
@@ -883,16 +260,49 @@
             if (editor instanceof RawContactEditorView) {
                 final Activity activity = getActivity();
                 final RawContactEditorView rawContactEditor = (RawContactEditorView) editor;
-                EditorListener listener = new EditorListener() {
+                final ValuesDelta nameValuesDelta = rawContactEditor.getNameEditor().getValues();
+                final EditorListener structuredNameListener = new EditorListener() {
 
                     @Override
                     public void onRequest(int request) {
-                        if (activity.isFinishing()) { // Make sure activity is still running.
+                        // Make sure the activity is running
+                        if (activity.isFinishing()) {
                             return;
                         }
-                        if (request == EditorListener.FIELD_CHANGED && !isEditingUserProfile()) {
-                            acquireAggregationSuggestions(activity, rawContactEditor);
-                        } else if (request == EditorListener.EDITOR_FOCUS_CHANGED) {
+                        if (request == EditorListener.EDITOR_FOCUS_CHANGED) {
+                            adjustNameFieldsHintDarkness(rawContactEditor);
+                            return;
+                        }
+                        if (!isEditingUserProfile()) {
+                            if (request == EditorListener.FIELD_CHANGED) {
+                                if (!nameValuesDelta.isSuperPrimary()) {
+                                    unsetSuperPrimaryForAllNameEditors();
+                                    nameValuesDelta.setSuperPrimary(true);
+                                }
+                                acquireAggregationSuggestions(activity,
+                                        rawContactEditor.getNameEditor().getRawContactId(),
+                                        rawContactEditor.getNameEditor().getValues());
+                            } else if (request == EditorListener.FIELD_TURNED_EMPTY) {
+                                if (nameValuesDelta.isSuperPrimary()) {
+                                    nameValuesDelta.setSuperPrimary(false);
+                                }
+                            }
+                        }
+                    }
+
+                    @Override
+                    public void onDeleteRequested(Editor removedEditor) {
+                    }
+                };
+                final EditorListener otherNamesListener = new EditorListener() {
+
+                    @Override
+                    public void onRequest(int request) {
+                        // Make sure the activity is running
+                        if (activity.isFinishing()) {
+                            return;
+                        }
+                        if (request == EditorListener.EDITOR_FOCUS_CHANGED) {
                             adjustNameFieldsHintDarkness(rawContactEditor);
                         }
                     }
@@ -907,22 +317,24 @@
                     nameEditor.requestFocus();
                     mRequestFocus = false;
                 }
-                nameEditor.setEditorListener(listener);
+                nameEditor.setEditorListener(structuredNameListener);
                 if (!TextUtils.isEmpty(mDefaultDisplayName)) {
                     nameEditor.setDisplayName(mDefaultDisplayName);
                 }
 
                 final TextFieldsEditorView phoneticNameEditor =
                         rawContactEditor.getPhoneticNameEditor();
-                phoneticNameEditor.setEditorListener(listener);
+                phoneticNameEditor.setEditorListener(otherNamesListener);
                 rawContactEditor.setAutoAddToDefaultGroup(mAutoAddToDefaultGroup);
 
                 final TextFieldsEditorView nickNameEditor =
                         rawContactEditor.getNickNameEditor();
-                nickNameEditor.setEditorListener(listener);
+                nickNameEditor.setEditorListener(otherNamesListener);
 
-                if (rawContactId == mAggregationSuggestionsRawContactId) {
-                    acquireAggregationSuggestions(activity, rawContactEditor);
+                if (isAggregationSuggestionRawContactId(rawContactId)) {
+                    acquireAggregationSuggestions(activity,
+                            rawContactEditor.getNameEditor().getRawContactId(),
+                            rawContactEditor.getNameEditor().getValues());
                 }
 
                 adjustNameFieldsHintDarkness(rawContactEditor);
@@ -931,19 +343,89 @@
 
         mRequestFocus = false;
 
-        bindGroupMetaData();
+        setGroupMetaData();
 
         // Show editor now that we've loaded state
         mContent.setVisibility(View.VISIBLE);
 
         // Refresh Action Bar as the visibility of the join command
         // Activity can be null if we have been detached from the Activity
-        final Activity activity = getActivity();
-        if (activity != null) activity.invalidateOptionsMenu();
+        invalidateOptionsMenu();
 
         updatedExpandedEditorsMap();
     }
 
+    private void unsetSuperPrimaryForAllNameEditors() {
+        for (int i = 0; i < mContent.getChildCount(); i++) {
+            final View view = mContent.getChildAt(i);
+            if (view instanceof RawContactEditorView) {
+                final RawContactEditorView rawContactEditorView = (RawContactEditorView) view;
+                final StructuredNameEditorView nameEditorView =
+                        rawContactEditorView.getNameEditor();
+                if (nameEditorView != null) {
+                    final ValuesDelta valuesDelta = nameEditorView.getValues();
+                    if (valuesDelta != null) {
+                        valuesDelta.setSuperPrimary(false);
+                    }
+                }
+            }
+        }
+    }
+
+    @Override
+    public String getDisplayName() {
+        // Return the super primary name if it is non-empty
+        for (int i = 0; i < mContent.getChildCount(); i++) {
+            final View view = mContent.getChildAt(i);
+            if (view instanceof RawContactEditorView) {
+                final RawContactEditorView rawContactEditorView = (RawContactEditorView) view;
+                final StructuredNameEditorView nameEditorView =
+                        rawContactEditorView.getNameEditor();
+                if (nameEditorView != null) {
+                    final String displayName = nameEditorView.getDisplayName();
+                    if (!TextUtils.isEmpty(displayName)) {
+                        return displayName;
+                    }
+                }
+            }
+        }
+        // Return the first non-empty name
+        for (int i = 0; i < mContent.getChildCount(); i++) {
+            final View view = mContent.getChildAt(i);
+            if (view instanceof RawContactEditorView) {
+                final RawContactEditorView rawContactEditorView = (RawContactEditorView) view;
+                final StructuredNameEditorView nameEditorView =
+                        rawContactEditorView.getNameEditor();
+                if (nameEditorView != null) {
+                    final String displayName = nameEditorView.getDisplayName();
+                    if (!TextUtils.isEmpty(displayName)) {
+                        return displayName;
+                    }
+                }
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public String getPhoneticName() {
+        for (int i = 0; i < mContent.getChildCount(); i++) {
+            final View view = mContent.getChildAt(i);
+            if (view instanceof RawContactEditorView) {
+                final RawContactEditorView rawContactEditorView = (RawContactEditorView) view;
+                final PhoneticNameEditorView phoneticNameEditorView =
+                        (PhoneticNameEditorView) rawContactEditorView.getPhoneticNameEditor();
+                if (phoneticNameEditorView != null) {
+                    final String phoneticName = phoneticNameEditorView.getPhoneticName();
+                    if (!TextUtils.isEmpty(phoneticName)) {
+                        return phoneticName;
+                    }
+                }
+            }
+        }
+        return null;
+    }
+
     /**
      * Adjust how dark the hint text should be on all the names' text fields.
      *
@@ -1016,39 +498,6 @@
         }
     }
 
-    private void bindGroupMetaData() {
-        if (mGroupMetaData == null) {
-            return;
-        }
-
-        int editorCount = mContent.getChildCount();
-        for (int i = 0; i < editorCount; i++) {
-            BaseRawContactEditorView editor = (BaseRawContactEditorView) mContent.getChildAt(i);
-            editor.setGroupMetaData(mGroupMetaData);
-        }
-    }
-
-    private void saveDefaultAccountIfNecessary() {
-        // Verify that this is a newly created contact, that the contact is composed of only
-        // 1 raw contact, and that the contact is not a user profile.
-        if (!Intent.ACTION_INSERT.equals(mAction) && mState.size() == 1 &&
-                !isEditingUserProfile()) {
-            return;
-        }
-
-        // Find the associated account for this contact (retrieve it here because there are
-        // multiple paths to creating a contact and this ensures we always have the correct
-        // account).
-        final RawContactDelta rawContactDelta = mState.get(0);
-        String name = rawContactDelta.getAccountName();
-        String type = rawContactDelta.getAccountType();
-        String dataSet = rawContactDelta.getDataSet();
-
-        AccountWithDataSet account = (name == null || type == null) ? null :
-                new AccountWithDataSet(name, type, dataSet);
-        mEditorUtils.saveDefaultAndAllAccounts(account);
-    }
-
     private void addAccountSwitcher(
             final RawContactDelta currentState, BaseRawContactEditorView editor) {
         final AccountWithDataSet currentAccount = new AccountWithDataSet(
@@ -1090,174 +539,16 @@
     }
 
     @Override
-    public void onCreateOptionsMenu(Menu menu, final MenuInflater inflater) {
-        inflater.inflate(R.menu.edit_contact, menu);
-    }
-
-    @Override
-    public void onPrepareOptionsMenu(Menu menu) {
-        // This supports the keyboard shortcut to save changes to a contact but shouldn't be visible
-        // because the custom action bar contains the "save" button now (not the overflow menu).
-        // TODO: Find a better way to handle shortcuts, i.e. onKeyDown()?
-        final MenuItem doneMenu = menu.findItem(R.id.menu_done);
-        final MenuItem splitMenu = menu.findItem(R.id.menu_split);
-        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);
-        deleteMenu.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
-        deleteMenu.setIcon(R.drawable.ic_delete_white_24dp);
-
-        // Set visibility of menus
-        doneMenu.setVisible(false);
-
-        // 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)) {
-            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)) {
-            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());
-            deleteMenu.setVisible(!mDisableDeleteMenuOption);
-        } 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);
-        }
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case android.R.id.home:
-            case R.id.menu_done:
-                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;
-    }
-
-    private boolean doSplitContactAction() {
-        if (!hasValidState()) return false;
-
-        final SplitContactConfirmationDialogFragment dialog =
-                new SplitContactConfirmationDialogFragment();
-        dialog.setTargetFragment(this, 0);
-        dialog.show(getFragmentManager(), SplitContactConfirmationDialogFragment.TAG);
-        return true;
-    }
-
-    private boolean doJoinContactAction() {
-        if (!hasValidState()) {
-            return false;
-        }
-
-        // If we just started creating a new contact and haven't added any data, it's too
-        // early to do a join
-        if (mState.size() == 1 && mState.get(0).isContactInsert() && !hasPendingChanges()) {
-            Toast.makeText(mContext, R.string.toast_join_with_empty_contact,
-                            Toast.LENGTH_LONG).show();
-            return true;
-        }
-
-        return save(SaveMode.JOIN);
-    }
-
-    /**
-     * Check if our internal {@link #mState} is valid, usually checked before
-     * performing user actions.
-     */
-    private boolean hasValidState() {
-        return mState.size() > 0;
-    }
-
-    /**
-     * Return true if there are any edits to the current contact which need to
-     * be saved.
-     */
-    private boolean hasPendingChanges() {
-        final AccountTypeManager accountTypes = AccountTypeManager.getInstance(mContext);
-        return RawContactModifier.hasChanges(mState, accountTypes);
-    }
-
-    /**
-     * Saves or creates the contact based on the mode, and if successful
-     * finishes the activity.
-     */
-    public boolean save(int saveMode) {
-        if (!hasValidState() || mStatus != Status.EDITING) {
-            return false;
-        }
-
-        // If we are about to close the editor - there is no need to refresh the data
-        if (saveMode == SaveMode.CLOSE || saveMode == SaveMode.SPLIT) {
-            getLoaderManager().destroyLoader(LOADER_DATA);
-        }
-
-        mStatus = Status.SAVING;
-
-        if (!hasPendingChanges()) {
-            if (mLookupUri == null && saveMode == SaveMode.RELOAD) {
-                // We don't have anything to save and there isn't even an existing contact yet.
-                // Nothing to do, simply go back to editing mode
-                mStatus = Status.EDITING;
-                return true;
-            }
-            onSaveCompleted(false, saveMode, mLookupUri != null, mLookupUri);
-            return true;
-        }
-
-        setEnabled(false);
-
-        // Store account as default account, only if this is a new contact
-        saveDefaultAccountIfNecessary();
-
-        // Save contact
+    protected boolean doSaveAction(int saveMode, boolean backPressed) {
+        // Save contact and reload the compact editor after saving.
+        // Note, the full resolution photos Bundle must be passed to the ContactSaveService
+        // and then passed along in the result Intent in order for the compact editor to
+        // receive it, instead of mUpdatedPhotos being accessed directly in onSaveCompleted,
+        // because we clear mUpdatedPhotos after starting the save service below.
         Intent intent = ContactSaveService.createSaveContactIntent(mContext, mState,
                 SAVE_MODE_EXTRA_KEY, saveMode, isEditingUserProfile(),
-                ((Activity)mContext).getClass(), ContactEditorActivity.ACTION_SAVE_COMPLETED,
-                mUpdatedPhotos);
+                ((Activity) mContext).getClass(), ContactEditorActivity.ACTION_SAVE_COMPLETED,
+                mUpdatedPhotos, backPressed);
         mContext.startService(intent);
 
         // Don't try to save the same photos twice.
@@ -1266,582 +557,11 @@
         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) {
-            CancelEditDialogFragment dialog = new CancelEditDialogFragment();
-            dialog.setTargetFragment(fragment, 0);
-            dialog.show(fragment.getFragmentManager(), "cancelEditor");
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            AlertDialog dialog = new AlertDialog.Builder(getActivity())
-                    .setIconAttribute(android.R.attr.alertDialogIcon)
-                    .setMessage(R.string.cancel_confirmation_dialog_message)
-                    .setPositiveButton(android.R.string.ok,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialogInterface, int whichButton) {
-                                ((ContactEditorFragment)getTargetFragment()).doRevertAction();
-                            }
-                        }
-                    )
-                    .setNegativeButton(android.R.string.cancel, null)
-                    .create();
-            return dialog;
-        }
-    }
-
-    private boolean revert() {
-        if (mState.isEmpty() || !hasPendingChanges()) {
-            doRevertAction();
-        } else {
-            CancelEditDialogFragment.show(this);
-        }
-        return true;
-    }
-
-    private void doRevertAction() {
-        // When this Fragment is closed we don't want it to auto-save
-        mStatus = Status.CLOSING;
-        if (mListener != null) mListener.onReverted();
-    }
-
-    public void doSaveAction() {
-        save(SaveMode.CLOSE);
-    }
-
-    public void onJoinCompleted(Uri uri) {
-        onSaveCompleted(false, SaveMode.RELOAD, uri != null, uri);
-    }
-
-    public void onSaveCompleted(boolean hadChanges, int saveMode, boolean saveSucceeded,
-            Uri contactLookupUri) {
-        if (hadChanges) {
-            if (saveSucceeded) {
-                if (saveMode != SaveMode.JOIN) {
-                    Toast.makeText(mContext, R.string.contactSavedToast, Toast.LENGTH_SHORT).show();
-                }
-            } else {
-                Toast.makeText(mContext, R.string.contactSavedErrorToast, Toast.LENGTH_LONG).show();
-            }
-        }
-        switch (saveMode) {
-            case SaveMode.CLOSE:
-            case SaveMode.HOME:
-                final Intent resultIntent;
-                if (saveSucceeded && contactLookupUri != null) {
-                    final String requestAuthority =
-                            mLookupUri == null ? null : mLookupUri.getAuthority();
-
-                    final String legacyAuthority = "contacts";
-                    final Uri lookupUri;
-                    if (legacyAuthority.equals(requestAuthority)) {
-                        // Build legacy Uri when requested by caller
-                        final long contactId = ContentUris.parseId(Contacts.lookupContact(
-                                mContext.getContentResolver(), contactLookupUri));
-                        final Uri legacyContentUri = Uri.parse("content://contacts/people");
-                        final Uri legacyUri = ContentUris.withAppendedId(
-                                legacyContentUri, contactId);
-                        lookupUri = legacyUri;
-                    } else {
-                        // Otherwise pass back a lookup-style Uri
-                        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;
-                }
-                // It is already saved, so prevent that it is saved again
-                mStatus = Status.CLOSING;
-                if (mListener != null) mListener.onSaveFinished(resultIntent);
-                break;
-
-            case SaveMode.RELOAD:
-            case SaveMode.JOIN:
-                if (saveSucceeded && contactLookupUri != null) {
-                    // If it was a JOIN, we are now ready to bring up the join activity.
-                    if (saveMode == SaveMode.JOIN && hasValidState()) {
-                        showJoinAggregateActivity(contactLookupUri);
-                    }
-
-                    // If this was in INSERT, we are changing into an EDIT now.
-                    // If it already was an EDIT, we are changing to the new Uri now
-                    mState = new RawContactDeltaList();
-                    load(Intent.ACTION_EDIT, contactLookupUri, null);
-                    mStatus = Status.LOADING;
-                    getLoaderManager().restartLoader(LOADER_DATA, null, mDataLoaderListener);
-                }
-                break;
-
-            case SaveMode.SPLIT:
-                mStatus = Status.CLOSING;
-                if (mListener != null) {
-                    mListener.onContactSplit(contactLookupUri);
-                } else {
-                    Log.d(TAG, "No listener registered, can not call onSplitFinished");
-                }
-                break;
-        }
-    }
-
-    /**
-     * Shows a list of aggregates that can be joined into the currently viewed aggregate.
-     *
-     * @param contactLookupUri the fresh URI for the currently edited contact (after saving it)
-     */
-    private void showJoinAggregateActivity(Uri contactLookupUri) {
-        if (contactLookupUri == null || !isAdded()) {
-            return;
-        }
-
-        mContactIdForJoin = ContentUris.parseId(contactLookupUri);
-        mContactWritableForJoin = isContactWritable();
-        final Intent intent = new Intent(UI.PICK_JOIN_CONTACT_ACTION);
-        intent.putExtra(UI.TARGET_CONTACT_ID_EXTRA_KEY, mContactIdForJoin);
-        startActivityForResult(intent, REQUEST_CODE_JOIN);
-    }
-
-    /**
-     * Performs aggregation with the contact selected by the user from suggestions or A-Z list.
-     */
-    private void joinAggregate(final long contactId) {
-        Intent intent = ContactSaveService.createJoinContactsIntent(mContext, mContactIdForJoin,
-                contactId, mContactWritableForJoin,
-                ContactEditorActivity.class, ContactEditorActivity.ACTION_JOIN_COMPLETED);
-        mContext.startService(intent);
-    }
-
-    /**
-     * Returns true if there is at least one writable raw contact in the current contact.
-     */
-    private boolean isContactWritable() {
-        final AccountTypeManager accountTypes = AccountTypeManager.getInstance(mContext);
-        int size = mState.size();
-        for (int i = 0; i < size; i++) {
-            RawContactDelta entity = mState.get(i);
-            final AccountType type = entity.getAccountType(accountTypes);
-            if (type.areContactsWritable()) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private boolean isEditingUserProfile() {
-        return mNewLocalProfile || mIsUserProfile;
-    }
-
-    public static interface Listener {
-        /**
-         * Contact was not found, so somehow close this fragment. This is raised after a contact
-         * is removed via Menu/Delete
-         */
-        void onContactNotFound();
-
-        /**
-         * Contact was split, so we can close now.
-         * @param newLookupUri The lookup uri of the new contact that should be shown to the user.
-         * The editor tries best to chose the most natural contact here.
-         */
-        void onContactSplit(Uri newLookupUri);
-
-        /**
-         * User has tapped Revert, close the fragment now.
-         */
-        void onReverted();
-
-        /**
-         * Contact was saved and the Fragment can now be closed safely.
-         */
-        void onSaveFinished(Intent resultIntent);
-
-        /**
-         * User switched to editing a different contact (a suggestion from the
-         * aggregation engine).
-         */
-        void onEditOtherContactRequested(
-                Uri contactLookupUri, ArrayList<ContentValues> contentValues);
-
-        /**
-         * Contact is being created for an external account that provides its own
-         * new contact activity.
-         */
-        void onCustomCreateContactActivityRequested(AccountWithDataSet account,
-                Bundle intentExtras);
-
-        /**
-         * The edited raw contact belongs to an external account that provides
-         * its own edit activity.
-         *
-         * @param redirect indicates that the current editor should be closed
-         *            before the custom editor is shown.
-         */
-        void onCustomEditContactActivityRequested(AccountWithDataSet account, Uri rawContactUri,
-                Bundle intentExtras, boolean redirect);
-
-        void onDeleteRequested(Uri contactUri);
-    }
-
-    private class EntityDeltaComparator implements Comparator<RawContactDelta> {
-        /**
-         * Compare EntityDeltas for sorting the stack of editors.
-         */
-        @Override
-        public int compare(RawContactDelta one, RawContactDelta two) {
-            // Check direct equality
-            if (one.equals(two)) {
-                return 0;
-            }
-
-            final AccountTypeManager accountTypes = AccountTypeManager.getInstance(mContext);
-            String accountType1 = one.getValues().getAsString(RawContacts.ACCOUNT_TYPE);
-            String dataSet1 = one.getValues().getAsString(RawContacts.DATA_SET);
-            final AccountType type1 = accountTypes.getAccountType(accountType1, dataSet1);
-            String accountType2 = two.getValues().getAsString(RawContacts.ACCOUNT_TYPE);
-            String dataSet2 = two.getValues().getAsString(RawContacts.DATA_SET);
-            final AccountType type2 = accountTypes.getAccountType(accountType2, dataSet2);
-
-            // Check read-only. Sort read/write before read-only.
-            if (!type1.areContactsWritable() && type2.areContactsWritable()) {
-                return 1;
-            } else if (type1.areContactsWritable() && !type2.areContactsWritable()) {
-                return -1;
-            }
-
-            // Check account type. Sort Google before non-Google.
-            boolean skipAccountTypeCheck = false;
-            boolean isGoogleAccount1 = type1 instanceof GoogleAccountType;
-            boolean isGoogleAccount2 = type2 instanceof GoogleAccountType;
-            if (isGoogleAccount1 && !isGoogleAccount2) {
-                return -1;
-            } else if (!isGoogleAccount1 && isGoogleAccount2) {
-                return 1;
-            } else if (isGoogleAccount1 && isGoogleAccount2){
-                skipAccountTypeCheck = true;
-            }
-
-            int value;
-            if (!skipAccountTypeCheck) {
-                // Sort accounts with type before accounts without types.
-                if (type1.accountType != null && type2.accountType == null) {
-                    return -1;
-                } else if (type1.accountType == null && type2.accountType != null) {
-                    return 1;
-                }
-
-                if (type1.accountType != null && type2.accountType != null) {
-                    value = type1.accountType.compareTo(type2.accountType);
-                    if (value != 0) {
-                        return value;
-                    }
-                }
-
-                // Fall back to data set. Sort accounts with data sets before
-                // those without.
-                if (type1.dataSet != null && type2.dataSet == null) {
-                    return -1;
-                } else if (type1.dataSet == null && type2.dataSet != null) {
-                    return 1;
-                }
-
-                if (type1.dataSet != null && type2.dataSet != null) {
-                    value = type1.dataSet.compareTo(type2.dataSet);
-                    if (value != 0) {
-                        return value;
-                    }
-                }
-            }
-
-            // Check account name
-            String oneAccount = one.getAccountName();
-            if (oneAccount == null) oneAccount = "";
-            String twoAccount = two.getAccountName();
-            if (twoAccount == null) twoAccount = "";
-            value = oneAccount.compareTo(twoAccount);
-            if (value != 0) {
-                return value;
-            }
-
-            // Both are in the same account, fall back to contact ID
-            Long oneId = one.getRawContactId();
-            Long twoId = two.getRawContactId();
-            if (oneId == null) {
-                return -1;
-            } else if (twoId == null) {
-                return 1;
-            }
-
-            return (int)(oneId - twoId);
-        }
-    }
-
-    /**
-     * Returns the contact ID for the currently edited contact or 0 if the contact is new.
-     */
-    protected long getContactId() {
-        for (RawContactDelta rawContact : mState) {
-            Long contactId = rawContact.getValues().getAsLong(RawContacts.CONTACT_ID);
-            if (contactId != null) {
-                return contactId;
-            }
-        }
-        return 0;
-    }
-
-    /**
-     * Triggers an asynchronous search for aggregation suggestions.
-     */
-    private void acquireAggregationSuggestions(Context context,
-            RawContactEditorView rawContactEditor) {
-        long rawContactId = rawContactEditor.getRawContactId();
-        if (mAggregationSuggestionsRawContactId != rawContactId
-                && mAggregationSuggestionView != null) {
-            mAggregationSuggestionView.setVisibility(View.GONE);
-            mAggregationSuggestionView = null;
-            mAggregationSuggestionEngine.reset();
-        }
-
-        mAggregationSuggestionsRawContactId = rawContactId;
-
-        if (mAggregationSuggestionEngine == null) {
-            mAggregationSuggestionEngine = new AggregationSuggestionEngine(context);
-            mAggregationSuggestionEngine.setListener(this);
-            mAggregationSuggestionEngine.start();
-        }
-
-        mAggregationSuggestionEngine.setContactId(getContactId());
-
-        LabeledEditorView nameEditor = rawContactEditor.getNameEditor();
-        mAggregationSuggestionEngine.onNameChange(nameEditor.getValues());
-    }
-
-    @Override
-    public void onAggregationSuggestionChange() {
-        Activity activity = getActivity();
-        if ((activity != null && activity.isFinishing())
-                || !isVisible() ||  mState.isEmpty() || mStatus != Status.EDITING) {
-            return;
-        }
-
-        UiClosables.closeQuietly(mAggregationSuggestionPopup);
-
-        if (mAggregationSuggestionEngine.getSuggestedContactCount() == 0) {
-            return;
-        }
-
-        final RawContactEditorView rawContactView =
-                (RawContactEditorView)getRawContactEditorView(mAggregationSuggestionsRawContactId);
-        if (rawContactView == null) {
-            return; // Raw contact deleted?
-        }
-        final View anchorView = rawContactView.findViewById(R.id.anchor_view);
-        mAggregationSuggestionPopup = new ListPopupWindow(mContext, null);
-        mAggregationSuggestionPopup.setAnchorView(anchorView);
-        mAggregationSuggestionPopup.setWidth(anchorView.getWidth());
-        mAggregationSuggestionPopup.setInputMethodMode(ListPopupWindow.INPUT_METHOD_NOT_NEEDED);
-        mAggregationSuggestionPopup.setAdapter(
-                new AggregationSuggestionAdapter(getActivity(),
-                        mState.size() == 1 && mState.get(0).isContactInsert(),
-                        this, mAggregationSuggestionEngine.getSuggestions()));
-        mAggregationSuggestionPopup.setOnItemClickListener(mAggregationSuggestionItemClickListener);
-        mAggregationSuggestionPopup.show();
-    }
-
-    @Override
-    public void onJoinAction(long contactId, List<Long> rawContactIdList) {
-        long rawContactIds[] = new long[rawContactIdList.size()];
-        for (int i = 0; i < rawContactIds.length; i++) {
-            rawContactIds[i] = rawContactIdList.get(i);
-        }
-        JoinSuggestedContactDialogFragment dialog =
-                new JoinSuggestedContactDialogFragment();
-        Bundle args = new Bundle();
-        args.putLongArray("rawContactIds", rawContactIds);
-        dialog.setArguments(args);
-        dialog.setTargetFragment(this, 0);
-        try {
-            dialog.show(getFragmentManager(), "join");
-        } catch (Exception ex) {
-            // No problem - the activity is no longer available to display the dialog
-        }
-    }
-
-    public static class JoinSuggestedContactDialogFragment extends DialogFragment {
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            return new AlertDialog.Builder(getActivity())
-                    .setIconAttribute(android.R.attr.alertDialogIcon)
-                    .setMessage(R.string.aggregation_suggestion_join_dialog_message)
-                    .setPositiveButton(android.R.string.yes,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog, int whichButton) {
-                                ContactEditorFragment targetFragment =
-                                        (ContactEditorFragment) getTargetFragment();
-                                long rawContactIds[] =
-                                        getArguments().getLongArray("rawContactIds");
-                                targetFragment.doJoinSuggestedContact(rawContactIds);
-                            }
-                        }
-                    )
-                    .setNegativeButton(android.R.string.no, null)
-                    .create();
-        }
-    }
-
-    /**
-     * Joins the suggested contact (specified by the id's of constituent raw
-     * contacts), save all changes, and stay in the editor.
-     */
-    protected void doJoinSuggestedContact(long[] rawContactIds) {
-        if (!hasValidState() || mStatus != Status.EDITING) {
-            return;
-        }
-
-        mState.setJoinWithRawContacts(rawContactIds);
-        save(SaveMode.RELOAD);
-    }
-
-    @Override
-    public void onEditAction(Uri contactLookupUri) {
-        SuggestionEditConfirmationDialogFragment dialog =
-                new SuggestionEditConfirmationDialogFragment();
-        Bundle args = new Bundle();
-        args.putParcelable("contactUri", contactLookupUri);
-        dialog.setArguments(args);
-        dialog.setTargetFragment(this, 0);
-        dialog.show(getFragmentManager(), "edit");
-    }
-
-    public static class SuggestionEditConfirmationDialogFragment extends DialogFragment {
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            return new AlertDialog.Builder(getActivity())
-                    .setIconAttribute(android.R.attr.alertDialogIcon)
-                    .setMessage(R.string.aggregation_suggestion_edit_dialog_message)
-                    .setPositiveButton(android.R.string.yes,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog, int whichButton) {
-                                ContactEditorFragment targetFragment =
-                                        (ContactEditorFragment) getTargetFragment();
-                                Uri contactUri =
-                                        getArguments().getParcelable("contactUri");
-                                targetFragment.doEditSuggestedContact(contactUri);
-                            }
-                        }
-                    )
-                    .setNegativeButton(android.R.string.no, null)
-                    .create();
-        }
-    }
-
-    /**
-     * Abandons the currently edited contact and switches to editing the suggested
-     * one, transferring all the data there
-     */
-    protected void doEditSuggestedContact(Uri contactUri) {
-        if (mListener != null) {
-            // make sure we don't save this contact when closing down
-            mStatus = Status.CLOSING;
-            mListener.onEditOtherContactRequested(
-                    contactUri, mState.get(0).getContentValues());
-        }
-    }
-
-    public void setAggregationSuggestionViewEnabled(boolean enabled) {
-        if (mAggregationSuggestionView == null) {
-            return;
-        }
-
-        LinearLayout itemList = (LinearLayout) mAggregationSuggestionView.findViewById(
-                R.id.aggregation_suggestions);
-        int count = itemList.getChildCount();
-        for (int i = 0; i < count; i++) {
-            itemList.getChildAt(i).setEnabled(enabled);
-        }
-    }
-
     @Override
     public void onSaveInstanceState(Bundle outState) {
-        outState.putParcelable(KEY_URI, mLookupUri);
-        outState.putString(KEY_ACTION, mAction);
-
-        if (hasValidState()) {
-            // Store entities with modifications
-            outState.putParcelable(KEY_EDIT_STATE, mState);
-        }
-        outState.putLong(KEY_RAW_CONTACT_ID_REQUESTING_PHOTO, mRawContactIdRequestingPhoto);
-        outState.putParcelable(KEY_VIEW_ID_GENERATOR, mViewIdGenerator);
-        outState.putParcelable(KEY_CURRENT_PHOTO_URI, mCurrentPhotoUri);
-        outState.putLong(KEY_CONTACT_ID_FOR_JOIN, mContactIdForJoin);
-        outState.putBoolean(KEY_CONTACT_WRITABLE_FOR_JOIN, mContactWritableForJoin);
-        outState.putLong(KEY_SHOW_JOIN_SUGGESTIONS, mAggregationSuggestionsRawContactId);
-        outState.putBoolean(KEY_ENABLED, mEnabled);
-        outState.putBoolean(KEY_NEW_LOCAL_PROFILE, mNewLocalProfile);
-        outState.putBoolean(KEY_DISABLE_DELETE_MENU_OPTION, mDisableDeleteMenuOption);
-        outState.putBoolean(KEY_IS_USER_PROFILE, mIsUserProfile);
-        outState.putInt(KEY_STATUS, mStatus);
-        outState.putParcelable(KEY_UPDATED_PHOTOS, mUpdatedPhotos);
-        outState.putBoolean(KEY_HAS_NEW_CONTACT, mHasNewContact);
-        outState.putBoolean(KEY_IS_EDIT, mIsEdit);
-        outState.putBoolean(KEY_NEW_CONTACT_READY, mNewContactDataReady);
-        outState.putBoolean(KEY_EXISTING_CONTACT_READY, mExistingContactDataReady);
-        outState.putParcelableArrayList(KEY_RAW_CONTACTS,
-                mRawContacts == null ?
-                Lists.<RawContact>newArrayList() : Lists.newArrayList(mRawContacts));
-        outState.putBoolean(KEY_SEND_TO_VOICE_MAIL_STATE, mSendToVoicemailState);
-        outState.putString(KEY_CUSTOM_RINGTONE, mCustomRingtone);
-        outState.putBoolean(KEY_ARE_PHONE_OPTIONS_CHANGEABLE, mArePhoneOptionsChangable);
         outState.putSerializable(KEY_EXPANDED_EDITORS, mExpandedEditors);
-
+        outState.putLong(KEY_RAW_CONTACT_ID_REQUESTING_PHOTO, mRawContactIdRequestingPhoto);
+        outState.putParcelable(KEY_CURRENT_PHOTO_URI, mCurrentPhotoUri);
         super.onSaveInstanceState(outState);
     }
 
@@ -1857,45 +577,15 @@
             return;
         }
 
-        switch (requestCode) {
-            case REQUEST_CODE_JOIN: {
-                // Ignore failed requests
-                if (resultCode != Activity.RESULT_OK) return;
-                if (data != null) {
-                    final long contactId = ContentUris.parseId(data.getData());
-                    joinAggregate(contactId);
-                }
-                break;
-            }
-            case REQUEST_CODE_ACCOUNTS_CHANGED: {
-                // Bail if the account selector was not successful.
-                if (resultCode != Activity.RESULT_OK) {
-                    mListener.onReverted();
-                    return;
-                }
-                // If there's an account specified, use it.
-                if (data != null) {
-                    AccountWithDataSet account = data.getParcelableExtra(Intents.Insert.ACCOUNT);
-                    if (account != null) {
-                        createContact(account);
-                        return;
-                    }
-                }
-                // If there isn't an account specified, then this is likely a phone-local
-                // contact, so we should continue setting up the editor by automatically selecting
-                // the most appropriate account.
-                createContact();
-                break;
-            }
-            case REQUEST_CODE_PICK_RINGTONE: {
-                if (data != null) {
-                    final Uri pickedUri = data.getParcelableExtra(
-                            RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
-                    handleRingtonePicked(pickedUri);
-                }
-                break;
-            }
-        }
+        super.onActivityResult(requestCode, resultCode, data);
+    }
+
+    @Override
+    protected void joinAggregate(final long contactId) {
+        final Intent intent = ContactSaveService.createJoinContactsIntent(
+                mContext, mContactIdForJoin, contactId, ContactEditorActivity.class,
+                ContactEditorActivity.ACTION_JOIN_COMPLETED);
+        mContext.startService(intent);
     }
 
     /**
@@ -1904,7 +594,7 @@
     private void setPhoto(long rawContact, Bitmap photo, Uri photoUri) {
         BaseRawContactEditorView requestingEditor = getRawContactEditorView(rawContact);
 
-        if (photo == null || photo.getHeight() < 0 || photo.getWidth() < 0) {
+        if (photo == null || photo.getHeight() <= 0 || photo.getWidth() <= 0) {
             // This is unexpected.
             Log.w(TAG, "Invalid bitmap passed to setPhoto()");
         }
@@ -1926,12 +616,24 @@
             Log.w(TAG, "The contact that requested the photo is no longer present.");
         }
 
+        // For inserts where the raw contact ID is a negative number, we must clear any previously
+        // saved full resolution photos under negative raw contact IDs so that the compact editor
+        // will use the newly selected photo, instead of an old one.
+        if (isInsert(getActivity().getIntent()) && rawContact < 0) {
+            removeNewRawContactPhotos();
+        }
         mUpdatedPhotos.putParcelable(String.valueOf(rawContact), photoUri);
     }
 
     /**
      * Finds raw contact editor view for the given rawContactId.
      */
+    @Override
+    protected View getAggregationAnchorView(long rawContactId) {
+        BaseRawContactEditorView editorView = getRawContactEditorView(rawContactId);
+        return editorView == null ? null : editorView.findViewById(R.id.anchor_view);
+    }
+
     public BaseRawContactEditorView getRawContactEditorView(long rawContactId) {
         for (int i = 0; i < mContent.getChildCount(); i++) {
             final View childView = mContent.getChildAt(i);
@@ -1978,80 +680,6 @@
     }
 
     /**
-     * The listener for the data loader
-     */
-    private final LoaderManager.LoaderCallbacks<Contact> mDataLoaderListener =
-            new LoaderCallbacks<Contact>() {
-        @Override
-        public Loader<Contact> onCreateLoader(int id, Bundle args) {
-            mLoaderStartTime = SystemClock.elapsedRealtime();
-            return new ContactLoader(mContext, mLookupUri, true);
-        }
-
-        @Override
-        public void onLoadFinished(Loader<Contact> loader, Contact data) {
-            final long loaderCurrentTime = SystemClock.elapsedRealtime();
-            Log.v(TAG, "Time needed for loading: " + (loaderCurrentTime-mLoaderStartTime));
-            if (!data.isLoaded()) {
-                // Item has been deleted. Close activity without saving again.
-                Log.i(TAG, "No contact found. Closing activity");
-                mStatus = Status.CLOSING;
-                if (mListener != null) mListener.onContactNotFound();
-                return;
-            }
-
-            mStatus = Status.EDITING;
-            mLookupUri = data.getLookupUri();
-            final long setDataStartTime = SystemClock.elapsedRealtime();
-            setData(data);
-            final long setDataEndTime = SystemClock.elapsedRealtime();
-
-            Log.v(TAG, "Time needed for setting UI: " + (setDataEndTime-setDataStartTime));
-        }
-
-        @Override
-        public void onLoaderReset(Loader<Contact> loader) {
-        }
-    };
-
-    /**
-     * The listener for the group meta data loader for all groups.
-     */
-    private final LoaderManager.LoaderCallbacks<Cursor> mGroupLoaderListener =
-            new LoaderCallbacks<Cursor>() {
-
-        @Override
-        public CursorLoader onCreateLoader(int id, Bundle args) {
-            return new GroupMetaDataLoader(mContext, Groups.CONTENT_URI);
-        }
-
-        @Override
-        public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
-            mGroupMetaData = data;
-            bindGroupMetaData();
-        }
-
-        @Override
-        public void onLoaderReset(Loader<Cursor> loader) {
-        }
-    };
-
-    @Override
-    public void onSplitContactConfirmed() {
-        if (mState.isEmpty()) {
-            // This may happen when this Fragment is recreated by the system during users
-            // confirming the split action (and thus this method is called just before onCreate()),
-            // for example.
-            Log.e(TAG, "mState became null during the user's confirming split action. " +
-                    "Cannot perform the save action.");
-            return;
-        }
-
-        mState.markRawContactsForSplitting();
-        save(SaveMode.SPLIT);
-    }
-
-    /**
      * Custom photo handler for the editor.  The inner listener that this creates also has a
      * reference to the editor and acts as an {@link EditorListener}, and uses that editor to hold
      * state information in several of the listener methods.
diff --git a/src/com/android/contacts/editor/ContactEditorUtils.java b/src/com/android/contacts/editor/ContactEditorUtils.java
index b132217..105b885 100644
--- a/src/com/android/contacts/editor/ContactEditorUtils.java
+++ b/src/com/android/contacts/editor/ContactEditorUtils.java
@@ -119,7 +119,7 @@
         final SharedPreferences.Editor editor = mPrefs.edit()
                 .putBoolean(KEY_ANYTHING_SAVED, true);
 
-        if (defaultAccount == null) {
+        if (defaultAccount == null || defaultAccount.isLocalAccount()) {
             // If the default is "local only", there should be no writable accounts.
             // This should always be the case with our spec, but because we load the account list
             // asynchronously using a worker thread, it is possible that there are accounts at this
@@ -165,7 +165,7 @@
      */
     @VisibleForTesting
     boolean isValidAccount(AccountWithDataSet account) {
-        if (account == null) {
+        if (account == null || account.isLocalAccount()) {
             return true; // It's "local only" account, which is valid.
         }
         return getWritableAccounts().contains(account);
@@ -227,7 +227,8 @@
         // ("local" account) while there are multiple accounts, then show the notification dialog.
         // This shouldn't ever happen, but this should allow the user can get back into a normal
         // state after they respond to the notification.
-        if (defaultAccount == null && currentWritableAccounts.size() > 0) {
+        if ((defaultAccount == null || defaultAccount.isLocalAccount())
+                && currentWritableAccounts.size() > 0) {
             Log.e(TAG, "Preferences file in an inconsistent state, request that the default account"
                     + " and current writable accounts be saved again");
             return true;
diff --git a/src/com/android/contacts/editor/EditorAnimator.java b/src/com/android/contacts/editor/EditorAnimator.java
index 2e17e23..251357a 100644
--- a/src/com/android/contacts/editor/EditorAnimator.java
+++ b/src/com/android/contacts/editor/EditorAnimator.java
@@ -47,7 +47,15 @@
 
     private AnimatorRunner mRunner = new AnimatorRunner();
 
+    public void hideEditorView(final View victim) {
+        removeEditorView(victim, /* removeVictimFromParent =*/ false);
+    }
+
     public void removeEditorView(final View victim) {
+        removeEditorView(victim, /* removeVictimFromParent =*/ true);
+    }
+
+    private void removeEditorView(final View victim, final boolean removeVictimFromParent) {
         mRunner.endOldAnimation();
         final int offset = victim.getHeight();
 
@@ -71,11 +79,15 @@
                     final View view = viewsToMove.get(i);
                     view.setTranslationY(0.0f);
                 }
-                // Remove our target view (if parent is null, we were run several times by quick
-                // fingers. Just ignore)
-                final ViewGroup victimParent = (ViewGroup) victim.getParent();
-                if (victimParent != null) {
-                    victimParent.removeView(victim);
+                if (removeVictimFromParent) {
+                    // Remove our target view (if parent is null, we were run several times by quick
+                    // fingers. Just ignore)
+                    final ViewGroup victimParent = (ViewGroup) victim.getParent();
+                    if (victimParent != null) {
+                        victimParent.removeView(victim);
+                    }
+                } else {
+                    victim.setVisibility(View.GONE);
                 }
             }
         });
diff --git a/src/com/android/contacts/editor/EditorIntents.java b/src/com/android/contacts/editor/EditorIntents.java
new file mode 100644
index 0000000..5d7edd3
--- /dev/null
+++ b/src/com/android/contacts/editor/EditorIntents.java
@@ -0,0 +1,157 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.contacts.editor;
+
+import com.android.contacts.activities.CompactContactEditorActivity;
+import com.android.contacts.activities.ContactEditorActivity;
+import com.android.contacts.activities.ContactEditorBaseActivity;
+import com.android.contacts.common.model.RawContactDeltaList;
+import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette;
+
+import android.content.ContentValues;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.provider.ContactsContract;
+import android.provider.ContactsContract.Contacts;
+import android.text.TextUtils;
+
+import java.util.ArrayList;
+
+/**
+ * Creates Intents to edit contacts.
+ */
+public class EditorIntents {
+
+    private EditorIntents() {
+    }
+
+    /**
+     * Returns an Intent to start the {@link CompactContactEditorActivity} for an
+     * existing contact.
+     */
+    public static Intent createCompactEditContactIntent(Uri contactLookupUri,
+            MaterialPalette materialPalette, Bundle updatedPhotos) {
+        final Intent intent = new Intent(Intent.ACTION_EDIT, contactLookupUri);
+        putMaterialPalette(intent, materialPalette);
+        putUpdatedPhotos(intent, updatedPhotos);
+        return intent;
+    }
+
+    /**
+     * Returns an Intent to start the {@link CompactContactEditorActivity} for a new contact.
+     */
+    public static Intent createCompactInsertContactIntent() {
+        return createCompactInsertContactIntent(/* rawContactDeltaList =*/ null,
+                /* displayName =*/ null, /* phoneticName =*/ null, /* updatedPhotos =*/ null);
+    }
+
+    /**
+     * Returns an Intent to start the {@link CompactContactEditorActivity} for a new contact with
+     * the field values specified by rawContactDeltaList pre-populate in the form.
+     */
+    public static Intent createCompactInsertContactIntent(RawContactDeltaList rawContactDeltaList,
+            String displayName, String phoneticName, Bundle updatedPhotos) {
+        final Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
+        if (rawContactDeltaList != null || displayName != null || phoneticName != null) {
+            putRawContactDeltaValues(intent, rawContactDeltaList, displayName, phoneticName);
+        }
+        putUpdatedPhotos(intent, updatedPhotos);
+        return intent;
+    }
+
+    /**
+     * Returns an Intent to edit a different contact (in the fully expaned editor) with whatever
+     * values were already entered on the currently displayed contact editor.
+     */
+    public static Intent createEditOtherContactIntent(Uri contactLookupUri,
+            ArrayList<ContentValues> contentValues) {
+        final Intent intent = new Intent(Intent.ACTION_EDIT, contactLookupUri);
+        intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
+                | Intent.FLAG_ACTIVITY_FORWARD_RESULT);
+        intent.putExtra(ContactEditorFragment.INTENT_EXTRA_ADD_TO_DEFAULT_DIRECTORY, "");
+
+        // Pass on all the data that has been entered so far
+        if (contentValues != null && contentValues.size() != 0) {
+            intent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, contentValues);
+        }
+        return intent;
+    }
+
+    /**
+     * Returns an Intent to start the fully expanded {@link ContactEditorActivity} for a
+     * new contact.
+     */
+    public static Intent createEditContactIntent(Uri contactLookupUri,
+            MaterialPalette materialPalette) {
+        final Intent intent = new Intent(ContactEditorBaseActivity.ACTION_EDIT, contactLookupUri);
+        addContactIntentFlags(intent);
+        putMaterialPalette(intent, materialPalette);
+        return intent;
+    }
+
+    /**
+     * Returns an Intent to start the fully expanded {@link ContactEditorActivity} for an
+     * existing contact.
+     */
+    public static Intent createInsertContactIntent(RawContactDeltaList rawContactDeltaList,
+            String displayName, String phoneticName, Bundle updatedPhotos) {
+        final Intent intent = new Intent(ContactEditorBaseActivity.ACTION_INSERT,
+                Contacts.CONTENT_URI);
+        addContactIntentFlags(intent);
+        putRawContactDeltaValues(intent, rawContactDeltaList, displayName, phoneticName);
+        putUpdatedPhotos(intent, updatedPhotos);
+        return intent;
+    }
+
+
+    private static void addContactIntentFlags(Intent intent) {
+        intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
+                | Intent.FLAG_ACTIVITY_FORWARD_RESULT);
+    }
+
+    private static void putMaterialPalette(Intent intent, MaterialPalette materialPalette) {
+        if (materialPalette != null) {
+            intent.putExtra(ContactEditorBaseFragment.INTENT_EXTRA_MATERIAL_PALETTE,
+                    materialPalette);
+        }
+    }
+
+    private static void putUpdatedPhotos(Intent intent, Bundle updatedPhotos) {
+        if (updatedPhotos != null && !updatedPhotos.isEmpty()) {
+            intent.putExtra(ContactEditorBaseFragment.INTENT_EXTRA_UPDATED_PHOTOS, updatedPhotos);
+        }
+    }
+
+    private static void putRawContactDeltaValues(Intent intent,
+            RawContactDeltaList rawContactDeltaList, String displayName, String phoneticName) {
+        // Pass on all the data that has been entered so far
+        if (rawContactDeltaList != null && !rawContactDeltaList.isEmpty()) {
+            ArrayList<ContentValues> contentValues = rawContactDeltaList.get(0).getContentValues();
+            if (contentValues != null && contentValues.size() != 0) {
+                intent.putParcelableArrayListExtra(
+                        ContactsContract.Intents.Insert.DATA, contentValues);
+            }
+        }
+        // Names must be passed separately since they are skipped in RawContactModifier.parseValues
+        if (!TextUtils.isEmpty(displayName)) {
+            intent.putExtra(ContactsContract.Intents.Insert.NAME, displayName);
+        }
+        if (!TextUtils.isEmpty(phoneticName)) {
+            intent.putExtra(ContactsContract.Intents.Insert.PHONETIC_NAME, phoneticName);
+        }
+    }
+}
diff --git a/src/com/android/contacts/editor/EventFieldEditorView.java b/src/com/android/contacts/editor/EventFieldEditorView.java
index 246ee9c..17e52a7 100644
--- a/src/com/android/contacts/editor/EventFieldEditorView.java
+++ b/src/com/android/contacts/editor/EventFieldEditorView.java
@@ -73,15 +73,18 @@
     protected void onFinishInflate() {
         super.onFinishInflate();
 
-        Resources resources = mContext.getResources();
+        Resources resources = getContext().getResources();
         mPrimaryTextColor = resources.getColor(R.color.primary_text_color);
         mHintTextColor = resources.getColor(R.color.editor_disabled_text_color);
-        mNoDateString = mContext.getString(R.string.event_edit_field_hint_text);
+        mNoDateString = getContext().getString(R.string.event_edit_field_hint_text);
 
         mDateView = (Button) findViewById(R.id.date_view);
         mDateView.setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View v) {
+                if (!isTypeVisible()) {
+                    showType();
+                }
                 showDialog(R.id.dialog_event_date_picker);
             }
         });
@@ -129,6 +132,9 @@
             mDateView.setText(data);
             mDateView.setTextColor(mPrimaryTextColor);
             setDeleteButtonVisible(true);
+            if (!isTypeVisible()) {
+                showType();
+            }
         }
     }
 
@@ -167,7 +173,7 @@
         final int defaultYear = calendar.get(Calendar.YEAR);
 
         // Check whether the year is optional
-        final boolean isYearOptional = getType().isYearOptional();
+        final boolean isYearOptional = getType() != null && getType().isYearOptional();
 
         if (!isYearOptional && !TextUtils.isEmpty(oldValue)) {
             final ParsePosition position = new ParsePosition(0);
diff --git a/src/com/android/contacts/editor/GroupMembershipView.java b/src/com/android/contacts/editor/GroupMembershipView.java
index e0d78b5..f1d9db9 100644
--- a/src/com/android/contacts/editor/GroupMembershipView.java
+++ b/src/com/android/contacts/editor/GroupMembershipView.java
@@ -162,10 +162,10 @@
     @Override
     protected void onFinishInflate() {
         super.onFinishInflate();
-        Resources resources = mContext.getResources();
+        Resources resources = getContext().getResources();
         mPrimaryTextColor = resources.getColor(R.color.primary_text_color);
         mHintTextColor = resources.getColor(R.color.editor_disabled_text_color);
-        mNoGroupString = mContext.getString(R.string.group_edit_field_hint_text);
+        mNoGroupString = getContext().getString(R.string.group_edit_field_hint_text);
     }
 
     @Override
diff --git a/src/com/android/contacts/editor/JoinSuggestedContactDialogFragment.java b/src/com/android/contacts/editor/JoinSuggestedContactDialogFragment.java
new file mode 100644
index 0000000..4d35332
--- /dev/null
+++ b/src/com/android/contacts/editor/JoinSuggestedContactDialogFragment.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.contacts.editor;
+
+import com.android.contacts.R;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.DialogInterface;
+import android.os.Bundle;
+
+public class JoinSuggestedContactDialogFragment extends DialogFragment {
+
+    private static final String ARG_RAW_CONTACT_IDS = "rawContactIds";
+
+    public static void show(ContactEditorBaseFragment fragment, long[] rawContactIds) {
+        final Bundle args = new Bundle();
+        args.putLongArray(ARG_RAW_CONTACT_IDS, rawContactIds);
+
+        final JoinSuggestedContactDialogFragment dialog = new JoinSuggestedContactDialogFragment();
+        dialog.setArguments(args);
+        dialog.setTargetFragment(fragment, 0);
+        dialog.show(fragment.getFragmentManager(), "join");
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        return new AlertDialog.Builder(getActivity())
+                .setIconAttribute(android.R.attr.alertDialogIcon)
+                .setMessage(R.string.aggregation_suggestion_join_dialog_message)
+                .setPositiveButton(android.R.string.yes,
+                        new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog, int whichButton) {
+                                ContactEditorBaseFragment targetFragment =
+                                        (ContactEditorBaseFragment) getTargetFragment();
+                                long rawContactIds[] =
+                                        getArguments().getLongArray(ARG_RAW_CONTACT_IDS);
+                                targetFragment.doJoinSuggestedContact(rawContactIds);
+                            }
+                        }
+                )
+                .setNegativeButton(android.R.string.no, null)
+                .create();
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/contacts/editor/KindSectionView.java b/src/com/android/contacts/editor/KindSectionView.java
index 3b10fe4..adf2a73 100644
--- a/src/com/android/contacts/editor/KindSectionView.java
+++ b/src/com/android/contacts/editor/KindSectionView.java
@@ -55,7 +55,6 @@
  * section header and a trigger for adding new {@link Data} rows.
  */
 public class KindSectionView extends LinearLayout implements EditorListener {
-    private static final String TAG = "KindSectionView";
 
     private ViewGroup mEditors;
     private ImageView mIcon;
@@ -63,6 +62,7 @@
     private DataKind mKind;
     private RawContactDelta mState;
     private boolean mReadOnly;
+    private boolean mShowOneEmptyEditor;
 
     private ViewIdGenerator mViewIdGenerator;
 
@@ -99,7 +99,7 @@
         setDrawingCacheEnabled(true);
         setAlwaysDrawnWithCacheEnabled(true);
 
-        mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+        mInflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 
         mEditors = (ViewGroup) findViewById(R.id.kind_editors);
         mIcon = (ImageView) findViewById(R.id.kind_icon);
@@ -126,10 +126,16 @@
         }
     }
 
-    public void setState(DataKind kind, RawContactDelta state, boolean readOnly, ViewIdGenerator vig) {
+    /**
+     * @param showOneEmptyEditor If true, one empty input will always be displayed,
+     *         otherwise an empty input will only be displayed if there is no non-empty value.
+     */
+    public void setState(DataKind kind, RawContactDelta state, boolean readOnly,
+            boolean showOneEmptyEditor, ViewIdGenerator vig) {
         mKind = kind;
         mState = state;
         mReadOnly = readOnly;
+        mShowOneEmptyEditor = showOneEmptyEditor;
         mViewIdGenerator = vig;
 
         setId(mViewIdGenerator.getId(state, kind, null, ViewIdGenerator.NO_VIEW_INDEX));
@@ -187,6 +193,10 @@
                     layoutResId + " for MIME type " + mKind.mimeType +
                     " with error " + e.toString());
         }
+        // Hide the types drop downs until the associated edit field is focused
+        if (view instanceof LabeledEditorView) {
+            ((LabeledEditorView) view).setHideTypeInitially(true);
+        }
 
         view.setEnabled(isEnabled());
 
@@ -250,7 +260,7 @@
         } else if (emptyEditors.size() == 1) {
             // We have already reached the maximum number of empty editors. Lets not add any more.
             return;
-        } else {
+        } else if (mShowOneEmptyEditor || !hasNonEmptyEditor()) {
             final ValuesDelta values = RawContactModifier.insertChild(mState, mKind);
             final View newField = createEditorView(values);
             if (shouldAnimate) {
@@ -261,6 +271,26 @@
     }
 
     /**
+     * Whether there is at least one non-empty editor.
+     */
+    private boolean hasNonEmptyEditor() {
+        for (int i = 0; i < mEditors.getChildCount(); i++) {
+            View view = mEditors.getChildAt(i);
+            if (!((Editor) view).isEmpty()) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Whether this section has any empty editors.
+     */
+    public boolean hasEmptyEditor() {
+        return !getEmptyEditors().isEmpty();
+    }
+
+    /**
      * Returns a list of empty editor views in this section.
      */
     private List<View> getEmptyEditors() {
diff --git a/src/com/android/contacts/editor/LabeledEditorView.java b/src/com/android/contacts/editor/LabeledEditorView.java
index caf02b1..cf94d8f 100644
--- a/src/com/android/contacts/editor/LabeledEditorView.java
+++ b/src/com/android/contacts/editor/LabeledEditorView.java
@@ -79,6 +79,8 @@
     private boolean mWasEmpty = true;
     private boolean mIsDeletable = true;
     private boolean mIsAttachedToWindow;
+    private boolean mHideTypeInitially;
+    private boolean mHasTypes;
 
     private EditType mType;
 
@@ -120,6 +122,10 @@
         init(context);
     }
 
+    public Long getRawContactId() {
+        return mState == null ? null : mState.getRawContactId();
+    }
+
     private void init(Context context) {
         mMinLineItemHeight = context.getResources().getDimensionPixelSize(
                 R.dimen.editor_min_line_item_height);
@@ -228,6 +234,39 @@
         }
     }
 
+    /**
+     * Whether to hide the type dropdown after values have been set.
+     * By default the drop down is always displayed if there are types to display.
+     */
+    public void setHideTypeInitially(boolean hideTypeInitially) {
+        mHideTypeInitially = hideTypeInitially;
+    }
+
+    /**
+     * Whether the type drop down is visible.
+     */
+    public boolean isTypeVisible() {
+        return mLabel == null ? false : mLabel.getVisibility() == View.VISIBLE;
+    }
+
+    /**
+     * Makes the type drop down visible if it is not already so, and there are types to display.
+     */
+    public void showType() {
+        if (mHasTypes && mLabel != null && mLabel.getVisibility() != View.VISIBLE) {
+            EditorAnimator.getInstance().slideAndFadeIn(mLabel, mLabel.getHeight());
+        }
+    }
+
+    /**
+     * Hides the type drop down if there are types to display and it is not already hidden.
+     */
+    public void hideType() {
+        if (mHasTypes && mLabel != null && mLabel.getVisibility() != View.GONE) {
+            EditorAnimator.getInstance().hideEditorView(mLabel);
+        }
+    }
+
     protected void onOptionalFieldVisibilityChange() {
         if (mListener != null) {
             mListener.onRequest(EditorListener.EDITOR_FORM_CHANGED);
@@ -281,7 +320,7 @@
      * possible custom label string.
      */
     public void rebuildLabel() {
-        mEditTypeAdapter = new EditTypeAdapter(mContext);
+        mEditTypeAdapter = new EditTypeAdapter(getContext());
         mLabel.setAdapter(mEditTypeAdapter);
         if (mEditTypeAdapter.hasCustomSelection()) {
             mLabel.setSelection(mEditTypeAdapter.getPosition(CUSTOM_SELECTION));
@@ -375,12 +414,15 @@
         setVisibility(View.VISIBLE);
 
         // Display label selector if multiple types available
-        final boolean hasTypes = RawContactModifier.hasEditTypes(kind);
-        setupLabelButton(hasTypes);
+        mHasTypes = RawContactModifier.hasEditTypes(kind);
+        setupLabelButton(mHasTypes);
         mLabel.setEnabled(!readOnly && isEnabled());
-        if (hasTypes) {
+        if (mHasTypes) {
             mType = RawContactModifier.getCurrentType(entry, kind);
             rebuildLabel();
+            if (mHideTypeInitially) {
+                mLabel.setVisibility(View.GONE);
+            }
         }
     }
 
@@ -396,7 +438,7 @@
      * no empty text is allowed in any custom label.
      */
     private Dialog createCustomDialog() {
-        final AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
+        final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
         final LayoutInflater layoutInflater = LayoutInflater.from(builder.getContext());
         builder.setTitle(R.string.customLabelPickerTitle);
 
diff --git a/src/com/android/contacts/editor/PhoneticNameEditorView.java b/src/com/android/contacts/editor/PhoneticNameEditorView.java
index e645687..f094d55 100644
--- a/src/com/android/contacts/editor/PhoneticNameEditorView.java
+++ b/src/com/android/contacts/editor/PhoneticNameEditorView.java
@@ -152,11 +152,7 @@
                 || !TextUtils.isEmpty(given);
     }
 
-    /** {@inheritDoc} */
-    @Override
-    protected void onFinishInflate() {
-        super.onFinishInflate();
-        // Remove padding below this view.
-        setPadding(getPaddingLeft(), getPaddingTop(), getPaddingRight(), 0);
+    public String getPhoneticName() {
+        return getEntry().getAsString(DataKind.PSEUDO_COLUMN_PHONETIC_NAME);
     }
 }
diff --git a/src/com/android/contacts/editor/PhotoActionPopup.java b/src/com/android/contacts/editor/PhotoActionPopup.java
index 14b195b..4f958f4 100644
--- a/src/com/android/contacts/editor/PhotoActionPopup.java
+++ b/src/com/android/contacts/editor/PhotoActionPopup.java
@@ -62,10 +62,15 @@
                 Flags.REMOVE_PHOTO |
                 Flags.TAKE_OR_PICK_PHOTO |
                 Flags.TAKE_OR_PICK_PHOTO_REPLACE_WORDING;
+        // When the popup represents multiple photos, the REMOVE_PHOTO option doesn't make sense.
+        // The REMOVE_PHOTO option would have to remove all photos. And sometimes some of the
+        // photos are readonly.
+        public static final int MULTIPLE_WRITE_ABLE_PHOTOS =
+                Flags.TAKE_OR_PICK_PHOTO |
+                Flags.TAKE_OR_PICK_PHOTO_REPLACE_WORDING;
     }
 
-    public static ListPopupWindow createPopupMenu(Context context, View anchorView,
-            final Listener listener, int mode) {
+    public static ArrayList<ChoiceListItem> getChoices(Context context, int mode) {
         // Build choices, depending on the current mode. We assume this Dialog is never called
         // if there are NO choices (e.g. a read-only picture is already super-primary)
         final ArrayList<ChoiceListItem> choices = new ArrayList<ChoiceListItem>(4);
@@ -86,6 +91,12 @@
             }
             choices.add(new ChoiceListItem(ChoiceListItem.ID_PICK_PHOTO, pickPhotoString));
         }
+        return choices;
+    }
+
+    public static ListPopupWindow createPopupMenu(Context context, View anchorView,
+            final Listener listener, int mode) {
+        final ArrayList<ChoiceListItem> choices = getChoices(context, mode);
 
         final ListAdapter adapter = new ArrayAdapter<ChoiceListItem>(context,
                 R.layout.select_dialog_item, choices);
@@ -124,7 +135,7 @@
         return listPopupWindow;
     }
 
-    private static final class ChoiceListItem {
+    public static final class ChoiceListItem {
         private final int mId;
         private final String mCaption;
 
diff --git a/src/com/android/contacts/editor/PhotoEditorView.java b/src/com/android/contacts/editor/PhotoEditorView.java
index 7c7cf66..40f4f82 100644
--- a/src/com/android/contacts/editor/PhotoEditorView.java
+++ b/src/com/android/contacts/editor/PhotoEditorView.java
@@ -53,7 +53,6 @@
     private ContactPhotoManager mContactPhotoManager;
 
     private boolean mHasSetPhoto = false;
-    private boolean mReadOnly;
 
     public PhotoEditorView(Context context) {
         super(context);
@@ -78,7 +77,7 @@
     @Override
     protected void onFinishInflate() {
         super.onFinishInflate();
-        mContactPhotoManager = ContactPhotoManager.getInstance(mContext);
+        mContactPhotoManager = ContactPhotoManager.getInstance(getContext());
         mPhotoImageView = (ImageView) findViewById(R.id.photo);
         mPrimaryCheckBox = (RadioButton) findViewById(R.id.primary_checkbox);
         mChangeButton = (Button) findViewById(R.id.change_button);
@@ -116,7 +115,6 @@
     public void setValues(DataKind kind, ValuesDelta values, RawContactDelta state, boolean readOnly,
             ViewIdGenerator vig) {
         mEntry = values;
-        mReadOnly = readOnly;
 
         setId(vig.getId(state, kind, values, 0));
 
diff --git a/src/com/android/contacts/editor/PhotoSourceDialogFragment.java b/src/com/android/contacts/editor/PhotoSourceDialogFragment.java
new file mode 100644
index 0000000..e16fdae
--- /dev/null
+++ b/src/com/android/contacts/editor/PhotoSourceDialogFragment.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.contacts.editor;
+
+import com.android.contacts.R;
+import com.android.contacts.editor.PhotoActionPopup.ChoiceListItem;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnClickListener;
+import android.os.Bundle;
+
+import java.util.ArrayList;
+
+/**
+ * Displays the options for changing the contact photo.
+ */
+public class PhotoSourceDialogFragment extends DialogFragment {
+
+    private static final String ARG_PHOTO_MODE = "photoMode";
+
+    /**
+     * Callbacks for the host of the {@link PhotoSourceDialogFragment}.
+     */
+    public interface Listener {
+        void onRemovePictureChosen();
+        void onTakePhotoChosen();
+        void onPickFromGalleryChosen();
+    }
+
+    public static void show(CompactContactEditorFragment fragment, int photoMode) {
+        final Bundle args = new Bundle();
+        args.putInt(ARG_PHOTO_MODE, photoMode);
+
+        PhotoSourceDialogFragment dialog = new PhotoSourceDialogFragment();
+        dialog.setTargetFragment(fragment, 0);
+        dialog.setArguments(args);
+        dialog.show(fragment.getFragmentManager(), "photoSource");
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        // Get the available options for changing the photo
+        final int photoMode = getArguments().getInt(ARG_PHOTO_MODE);
+        final ArrayList<ChoiceListItem> choices =
+                PhotoActionPopup.getChoices(getActivity(), photoMode);
+
+        // Prepare the AlertDialog items and click listener
+        final CharSequence[] items = new CharSequence[choices.size()];
+        for (int i = 0; i < items.length; i++) {
+            items[i] = choices.get(i).toString();
+        }
+        final OnClickListener clickListener = new OnClickListener() {
+            @Override
+            public void onClick(DialogInterface dialogInterface, int which) {
+                final Listener listener = (Listener) getTargetFragment();
+                final ChoiceListItem choice = choices.get(which);
+                switch (choice.getId()) {
+                    case ChoiceListItem.ID_REMOVE:
+                        listener.onRemovePictureChosen();
+                        break;
+                    case ChoiceListItem.ID_TAKE_PHOTO:
+                        listener.onTakePhotoChosen();
+                        break;
+                    case ChoiceListItem.ID_PICK_PHOTO:
+                        listener.onPickFromGalleryChosen();
+                        break;
+                }
+                dismiss();
+            }
+        };
+
+        // Build the AlertDialog
+        final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+        builder.setTitle(R.string.menu_change_photo);
+        builder.setItems(items, clickListener);
+        builder.setNegativeButton(android.R.string.cancel, /* listener =*/ null);
+        return builder.create();
+    }
+}
diff --git a/src/com/android/contacts/editor/RawContactDeltaComparator.java b/src/com/android/contacts/editor/RawContactDeltaComparator.java
new file mode 100644
index 0000000..17a4dda
--- /dev/null
+++ b/src/com/android/contacts/editor/RawContactDeltaComparator.java
@@ -0,0 +1,131 @@
+/*
+ * 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.editor;
+
+import com.android.contacts.common.model.AccountTypeManager;
+import com.android.contacts.common.model.RawContactDelta;
+import com.android.contacts.common.model.account.AccountType;
+import com.android.contacts.common.model.account.GoogleAccountType;
+
+import android.content.Context;
+import android.provider.ContactsContract.RawContacts;
+
+import java.util.Comparator;
+
+/**
+ * Compares {@link RawContactDelta}s
+ */
+class RawContactDeltaComparator implements Comparator<RawContactDelta> {
+
+    private Context mContext;
+
+    public RawContactDeltaComparator(Context context) {
+        mContext = context;
+    }
+
+    @Override
+    public int compare(RawContactDelta one, RawContactDelta two) {
+        // Check direct equality
+        if (one.equals(two)) {
+            return 0;
+        }
+
+        final AccountTypeManager accountTypes = AccountTypeManager.getInstance(mContext);
+        String accountType1 = one.getValues().getAsString(RawContacts.ACCOUNT_TYPE);
+        String dataSet1 = one.getValues().getAsString(RawContacts.DATA_SET);
+        final AccountType type1 = accountTypes.getAccountType(accountType1, dataSet1);
+        String accountType2 = two.getValues().getAsString(RawContacts.ACCOUNT_TYPE);
+        String dataSet2 = two.getValues().getAsString(RawContacts.DATA_SET);
+        final AccountType type2 = accountTypes.getAccountType(accountType2, dataSet2);
+
+        // Check read-only. Sort read/write before read-only.
+        if (!type1.areContactsWritable() && type2.areContactsWritable()) {
+            return 1;
+        } else if (type1.areContactsWritable() && !type2.areContactsWritable()) {
+            return -1;
+        }
+
+        // Check account type. Sort Google before non-Google.
+        boolean skipAccountTypeCheck = false;
+        boolean isGoogleAccount1 = type1 instanceof GoogleAccountType;
+        boolean isGoogleAccount2 = type2 instanceof GoogleAccountType;
+        if (isGoogleAccount1 && !isGoogleAccount2) {
+            return -1;
+        } else if (!isGoogleAccount1 && isGoogleAccount2) {
+            return 1;
+        } else if (isGoogleAccount1 && isGoogleAccount2) {
+            skipAccountTypeCheck = true;
+        }
+
+        int value;
+        if (!skipAccountTypeCheck) {
+            // Sort accounts with type before accounts without types.
+            if (type1.accountType != null && type2.accountType == null) {
+                return -1;
+            } else if (type1.accountType == null && type2.accountType != null) {
+                return 1;
+            }
+
+            if (type1.accountType != null && type2.accountType != null) {
+                value = type1.accountType.compareTo(type2.accountType);
+                if (value != 0) {
+                    return value;
+                }
+            }
+
+            // Fall back to data set. Sort accounts with data sets before
+            // those without.
+            if (type1.dataSet != null && type2.dataSet == null) {
+                return -1;
+            } else if (type1.dataSet == null && type2.dataSet != null) {
+                return 1;
+            }
+
+            if (type1.dataSet != null && type2.dataSet != null) {
+                value = type1.dataSet.compareTo(type2.dataSet);
+                if (value != 0) {
+                    return value;
+                }
+            }
+        }
+
+        // Check account name
+        String oneAccount = one.getAccountName();
+        if (oneAccount == null) {
+            oneAccount = "";
+        }
+        String twoAccount = two.getAccountName();
+        if (twoAccount == null) {
+            twoAccount = "";
+        }
+        value = oneAccount.compareTo(twoAccount);
+        if (value != 0) {
+            return value;
+        }
+
+        // Both are in the same account, fall back to contact ID
+        Long oneId = one.getRawContactId();
+        Long twoId = two.getRawContactId();
+        if (oneId == null) {
+            return -1;
+        } else if (twoId == null) {
+            return 1;
+        }
+
+        return (int) (oneId - twoId);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/contacts/editor/RawContactEditorView.java b/src/com/android/contacts/editor/RawContactEditorView.java
index ca15bfa..ee61857 100644
--- a/src/com/android/contacts/editor/RawContactEditorView.java
+++ b/src/com/android/contacts/editor/RawContactEditorView.java
@@ -195,27 +195,28 @@
                 mAccountHeaderNameTextView.setVisibility(View.GONE);
                 mAccountHeaderTypeTextView.setText(R.string.local_profile_title);
             } else {
-                CharSequence accountType = type.getDisplayLabel(mContext);
-                mAccountHeaderTypeTextView.setText(mContext.getString(R.string.external_profile_title,
+                CharSequence accountType = type.getDisplayLabel(getContext());
+                mAccountHeaderTypeTextView.setText(getContext().getString(
+                        R.string.external_profile_title,
                         accountType));
                 mAccountHeaderNameTextView.setText(accountName);
             }
         } else {
             String accountName = state.getAccountName();
-            CharSequence accountType = type.getDisplayLabel(mContext);
+            CharSequence accountType = type.getDisplayLabel(getContext());
             if (TextUtils.isEmpty(accountType)) {
-                accountType = mContext.getString(R.string.account_phone);
+                accountType = getContext().getString(R.string.account_phone);
             }
             if (!TextUtils.isEmpty(accountName)) {
                 mAccountHeaderNameTextView.setVisibility(View.VISIBLE);
                 mAccountHeaderNameTextView.setText(
-                        mContext.getString(R.string.from_account_format, accountName));
+                        getContext().getString(R.string.from_account_format, accountName));
             } else {
                 // Hide this view so the other text view will be centered vertically
                 mAccountHeaderNameTextView.setVisibility(View.GONE);
             }
             mAccountHeaderTypeTextView.setText(
-                    mContext.getString(R.string.account_type_format, accountType));
+                    getContext().getString(R.string.account_type_format, accountType));
         }
         updateAccountHeaderContentDescription();
 
@@ -301,7 +302,8 @@
                 final KindSectionView section = (KindSectionView)mInflater.inflate(
                         R.layout.item_kind_section, mFields, false);
                 section.setEnabled(isEnabled());
-                section.setState(kind, state, false, vig);
+                section.setState(kind, state, /* readOnly =*/ false,
+                        /* showOneEmptyEditor =*/ true, vig);
                 mFields.addView(section);
             }
         }
diff --git a/src/com/android/contacts/editor/RawContactReadOnlyEditorView.java b/src/com/android/contacts/editor/RawContactReadOnlyEditorView.java
index 477cbd3..7ae6aa7 100644
--- a/src/com/android/contacts/editor/RawContactReadOnlyEditorView.java
+++ b/src/com/android/contacts/editor/RawContactReadOnlyEditorView.java
@@ -119,25 +119,26 @@
                 mAccountHeaderNameTextView.setVisibility(View.GONE);
                 mAccountHeaderTypeTextView.setText(R.string.local_profile_title);
             } else {
-                CharSequence accountType = type.getDisplayLabel(mContext);
-                mAccountHeaderTypeTextView.setText(mContext.getString(R.string.external_profile_title,
+                CharSequence accountType = type.getDisplayLabel(getContext());
+                mAccountHeaderTypeTextView.setText(getContext().getString(
+                        R.string.external_profile_title,
                         accountType));
                 mAccountHeaderNameTextView.setText(mAccountName);
             }
         } else {
-            CharSequence accountType = type.getDisplayLabel(mContext);
+            CharSequence accountType = type.getDisplayLabel(getContext());
             if (TextUtils.isEmpty(accountType)) {
-                accountType = mContext.getString(R.string.account_phone);
+                accountType = getContext().getString(R.string.account_phone);
             }
             if (!TextUtils.isEmpty(mAccountName)) {
                 mAccountHeaderNameTextView.setVisibility(View.VISIBLE);
                 mAccountHeaderNameTextView.setText(
-                        mContext.getString(R.string.from_account_format, mAccountName));
+                        getContext().getString(R.string.from_account_format, mAccountName));
             } else {
                 // Hide this view so the other text view will be centered vertically
                 mAccountHeaderNameTextView.setVisibility(View.GONE);
             }
-            mAccountHeaderTypeTextView.setText(mContext.getString(R.string.account_type_format,
+            mAccountHeaderTypeTextView.setText(getContext().getString(R.string.account_type_format,
                     accountType));
         }
         updateAccountHeaderContentDescription();
@@ -161,7 +162,7 @@
         // Name
         primary = state.getPrimaryEntry(StructuredName.CONTENT_ITEM_TYPE);
         mName.setText(primary != null ? primary.getAsString(StructuredName.DISPLAY_NAME) :
-                mContext.getString(R.string.missing_name));
+                getContext().getString(R.string.missing_name));
 
         if (type.getEditContactActivityClassName() != null) {
             mEditExternallyButton.setVisibility(View.VISIBLE);
@@ -169,7 +170,7 @@
             mEditExternallyButton.setVisibility(View.GONE);
         }
 
-        final Resources res = mContext.getResources();
+        final Resources res = getContext().getResources();
         // Phones
         final ArrayList<ValuesDelta> phones = state.getMimeEntries(Phone.CONTENT_ITEM_TYPE);
         final Drawable phoneDrawable = getResources().getDrawable(R.drawable.ic_phone_24dp);
diff --git a/src/com/android/contacts/editor/SplitContactConfirmationDialogFragment.java b/src/com/android/contacts/editor/SplitContactConfirmationDialogFragment.java
index c790e0b..b4181b8 100644
--- a/src/com/android/contacts/editor/SplitContactConfirmationDialogFragment.java
+++ b/src/com/android/contacts/editor/SplitContactConfirmationDialogFragment.java
@@ -34,7 +34,11 @@
 public class SplitContactConfirmationDialogFragment extends DialogFragment {
     public static final String TAG = "SplitContactConfirmationDialog";
 
-    public SplitContactConfirmationDialogFragment() {
+    public static void show(ContactEditorBaseFragment fragment) {
+        SplitContactConfirmationDialogFragment dialog = new
+                SplitContactConfirmationDialogFragment();
+        dialog.setTargetFragment(fragment, 0);
+        dialog.show(fragment.getFragmentManager(), "splitContact");
     }
 
     @Override
diff --git a/src/com/android/contacts/editor/StructuredNameEditorView.java b/src/com/android/contacts/editor/StructuredNameEditorView.java
index b24f7f1..5f764f9 100644
--- a/src/com/android/contacts/editor/StructuredNameEditorView.java
+++ b/src/com/android/contacts/editor/StructuredNameEditorView.java
@@ -18,7 +18,6 @@
 
 import android.content.ContentValues;
 import android.content.Context;
-import android.net.Uri;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.provider.ContactsContract.CommonDataKinds.StructuredName;
@@ -196,12 +195,6 @@
         }
     }
 
-    private static void appendQueryParameter(Uri.Builder builder, String field, String value) {
-        if (!TextUtils.isEmpty(value)) {
-            builder.appendQueryParameter(field, value);
-        }
-    }
-
     /**
      * Set the display name onto the text field directly.  This does not affect the underlying
      * data structure so it is similar to the user typing the value in on the field directly.
@@ -214,6 +207,28 @@
         super.setValue(0, name);
     }
 
+    /**
+     * Returns the display name currently displayed in the editor.
+     */
+    public String getDisplayName() {
+        final ValuesDelta valuesDelta = getValues();
+        if (hasShortAndLongForms() && areOptionalFieldsVisible()) {
+            final String displayName = valuesDelta.getDisplayName();
+            if (!TextUtils.isEmpty(displayName)) {
+                return displayName;
+            }
+        }
+        final Map<String, String> structuredNameMap = valuesToStructuredNameMap(valuesDelta);
+        final String displayName = NameConverter.structuredNameToDisplayName(
+                getContext(), structuredNameMap);
+        if (!TextUtils.isEmpty(displayName)) {
+            return displayName;
+        }
+        // The name may have been passed to the compact editor and not written to the underlying
+        // data structure.
+        return valuesDelta.getDisplayName();
+    }
+
     @Override
     protected Parcelable onSaveInstanceState() {
         SavedState state = new SavedState(super.onSaveInstanceState());
@@ -275,12 +290,4 @@
             return 0;
         }
     }
-
-    /** {@inheritDoc} */
-    @Override
-    protected void onFinishInflate() {
-        super.onFinishInflate();
-        // Remove padding below this view.
-        setPadding(getPaddingLeft(), getPaddingTop(), getPaddingRight(), 0);
-    }
 }
diff --git a/src/com/android/contacts/editor/SuggestionEditConfirmationDialogFragment.java b/src/com/android/contacts/editor/SuggestionEditConfirmationDialogFragment.java
new file mode 100644
index 0000000..c13d5ea
--- /dev/null
+++ b/src/com/android/contacts/editor/SuggestionEditConfirmationDialogFragment.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.contacts.editor;
+
+import com.android.contacts.R;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.DialogInterface;
+import android.net.Uri;
+import android.os.Bundle;
+
+public class SuggestionEditConfirmationDialogFragment extends DialogFragment {
+
+    private static final String ARG_CONTACT_URI = "contactUri";
+
+    public static void show(ContactEditorBaseFragment fragment, Uri contactUri) {
+        final Bundle args = new Bundle();
+        args.putParcelable(ARG_CONTACT_URI, contactUri);
+
+        final SuggestionEditConfirmationDialogFragment dialog = new
+                SuggestionEditConfirmationDialogFragment();
+        dialog.setArguments(args);
+        dialog.setTargetFragment(fragment, 0);
+        dialog.show(fragment.getFragmentManager(), "edit");
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        return new AlertDialog.Builder(getActivity())
+                .setIconAttribute(android.R.attr.alertDialogIcon)
+                .setMessage(R.string.aggregation_suggestion_edit_dialog_message)
+                .setPositiveButton(android.R.string.yes,
+                        new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog, int whichButton) {
+                                final ContactEditorBaseFragment targetFragment =
+                                        (ContactEditorBaseFragment) getTargetFragment();
+                                final Uri contactUri =
+                                        getArguments().getParcelable(ARG_CONTACT_URI);
+                                targetFragment.doEditSuggestedContact(contactUri);
+                            }
+                        }
+                )
+                .setNegativeButton(android.R.string.no, null)
+                .create();
+    }
+}
diff --git a/src/com/android/contacts/editor/TextFieldsEditorView.java b/src/com/android/contacts/editor/TextFieldsEditorView.java
index bb5210a..9345434 100644
--- a/src/com/android/contacts/editor/TextFieldsEditorView.java
+++ b/src/com/android/contacts/editor/TextFieldsEditorView.java
@@ -82,7 +82,7 @@
         setDrawingCacheEnabled(true);
         setAlwaysDrawnWithCacheEnabled(true);
 
-        mMinFieldHeight = mContext.getResources().getDimensionPixelSize(
+        mMinFieldHeight = getContext().getResources().getDimensionPixelSize(
                 R.dimen.editor_min_line_item_height);
         mFields = (ViewGroup) findViewById(R.id.editors);
         mHintTextColor = getResources().getColor(R.color.secondary_text_color);
@@ -153,10 +153,18 @@
         public void onFocusChange(View v, boolean hasFocus) {
             // Check whether this field contains focus by calling findFocus() instead of
             // hasFocus(). The hasFocus() value is not necessarily up to date.
-            setHintColorDark(TextFieldsEditorView.this.findFocus() != null);
+            final boolean foundFocus = TextFieldsEditorView.this.findFocus() != null;
+            setHintColorDark(foundFocus);
             if (getEditorListener() != null) {
                 getEditorListener().onRequest(EditorListener.EDITOR_FOCUS_CHANGED);
             }
+            if (foundFocus && !isTypeVisible()) {
+                // We just got focus and the types are not visible
+                showType();
+            } else if (isEmpty()) {
+                // We just lost focus and the field is empty
+                hideType();
+            }
             // Rebuild the label spinner using the new colors.
             rebuildLabel();
         }
@@ -182,14 +190,10 @@
      * Creates or removes the type/label button. Doesn't do anything if already correctly configured
      */
     private void setupExpansionView(boolean shouldExist, boolean collapsed) {
-        if (shouldExist) {
-            mExpansionViewContainer.setVisibility(View.VISIBLE);
-            mExpansionView.setImageResource(collapsed
-                    ? R.drawable.ic_menu_expander_minimized_holo_light
-                    : R.drawable.ic_menu_expander_maximized_holo_light);
-        } else {
-            mExpansionViewContainer.setVisibility(View.GONE);
-        }
+        mExpansionView.setImageResource(collapsed
+                ? R.drawable.ic_menu_expander_minimized_holo_light
+                : R.drawable.ic_menu_expander_maximized_holo_light);
+        mExpansionViewContainer.setVisibility(shouldExist ? View.VISIBLE : View.INVISIBLE);
     }
 
     @Override
@@ -232,7 +236,7 @@
         mFieldEditTexts = new EditText[fieldCount];
         for (int index = 0; index < fieldCount; index++) {
             final EditField field = kind.fieldList.get(index);
-            final EditText fieldView = new EditText(mContext);
+            final EditText fieldView = new EditText(getContext());
             fieldView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
                     LayoutParams.WRAP_CONTENT));
             fieldView.setTextSize(TypedValue.COMPLEX_UNIT_PX,
@@ -246,7 +250,7 @@
             int inputType = field.inputType;
             fieldView.setInputType(inputType);
             if (inputType == InputType.TYPE_CLASS_PHONE) {
-                PhoneNumberFormatter.setPhoneNumberFormattingTextWatcher(mContext, fieldView);
+                PhoneNumberFormatter.setPhoneNumberFormattingTextWatcher(getContext(), fieldView);
                 fieldView.setTextDirection(View.TEXT_DIRECTION_LTR);
             }
 
@@ -270,6 +274,11 @@
             final String value = entry.getAsString(column);
             fieldView.setText(value);
 
+            // Show the type drop down if we have a non-empty value.
+            if (!isTypeVisible() && !TextUtils.isEmpty(value)) {
+                showType();
+            }
+
             // Show the delete button if we have a non-null value
             setDeleteButtonVisible(value != null);
 
@@ -387,7 +396,8 @@
 
         mHideOptional = ss.mHideOptional;
 
-        int numChildren = Math.min(mFieldEditTexts.length, ss.mVisibilities.length);
+        int numChildren = Math.min(mFieldEditTexts == null ? 0 : mFieldEditTexts.length,
+                ss.mVisibilities == null ? 0 : ss.mVisibilities.length);
         for (int i = 0; i < numChildren; i++) {
             mFieldEditTexts[i].setVisibility(ss.mVisibilities[i]);
         }
diff --git a/src/com/android/contacts/group/GroupBrowseListFragment.java b/src/com/android/contacts/group/GroupBrowseListFragment.java
index 81cc28c..d39501a 100644
--- a/src/com/android/contacts/group/GroupBrowseListFragment.java
+++ b/src/com/android/contacts/group/GroupBrowseListFragment.java
@@ -44,6 +44,7 @@
 
 import com.android.contacts.GroupListLoader;
 import com.android.contacts.R;
+import com.android.contacts.common.util.ImplicitIntentsUtil;
 import com.android.contacts.group.GroupBrowseListAdapter.GroupListItemViewCache;
 import com.android.contacts.common.ContactsUtils;
 import com.android.contacts.common.list.AutoScrollListView;
@@ -141,7 +142,7 @@
                 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
                 intent.putExtra(Settings.EXTRA_AUTHORITIES,
                         new String[] { ContactsContract.AUTHORITY });
-                startActivity(intent);
+                ImplicitIntentsUtil.startActivityOutsideApp(getActivity(), intent);
             }
         });
         setAddAccountsVisibility(!ContactsUtils.areGroupWritableAccountsAvailable(mContext));
diff --git a/src/com/android/contacts/group/GroupDetailFragment.java b/src/com/android/contacts/group/GroupDetailFragment.java
index c12595d..c9cf6bd 100644
--- a/src/com/android/contacts/group/GroupDetailFragment.java
+++ b/src/com/android/contacts/group/GroupDetailFragment.java
@@ -51,6 +51,7 @@
 import com.android.contacts.GroupMetaDataLoader;
 import com.android.contacts.R;
 import com.android.contacts.common.ContactPhotoManager;
+import com.android.contacts.common.util.ImplicitIntentsUtil;
 import com.android.contacts.interactions.GroupDeletionDialogFragment;
 import com.android.contacts.common.list.ContactTileAdapter;
 import com.android.contacts.common.list.ContactTileView;
@@ -398,7 +399,7 @@
                     intent.setClassName(accountType.syncAdapterPackageName,
                             accountType.getViewGroupActivity());
                     try {
-                        startActivity(intent);
+                        ImplicitIntentsUtil.startActivityInApp(getActivity(), intent);
                     } catch (ActivityNotFoundException e) {
                         Log.e(TAG, "startActivity() failed: " + e);
                         Toast.makeText(getActivity(), R.string.missing_app,
diff --git a/src/com/android/contacts/group/GroupEditorFragment.java b/src/com/android/contacts/group/GroupEditorFragment.java
index 3d13bdd..eda5d4f 100644
--- a/src/com/android/contacts/group/GroupEditorFragment.java
+++ b/src/com/android/contacts/group/GroupEditorFragment.java
@@ -239,9 +239,9 @@
             startGroupMetaDataLoader();
         } else if (Intent.ACTION_INSERT.equals(mAction)) {
             final Account account = mIntentExtras == null ? null :
-                    (Account) mIntentExtras.getParcelable(Intents.Insert.ACCOUNT);
+                    (Account) mIntentExtras.getParcelable(Intents.Insert.EXTRA_ACCOUNT);
             final String dataSet = mIntentExtras == null ? null :
-                    mIntentExtras.getString(Intents.Insert.DATA_SET);
+                    mIntentExtras.getString(Intents.Insert.EXTRA_DATA_SET);
 
             if (account != null) {
                 // Account specified in Intent - no data set can be specified in this manner.
diff --git a/src/com/android/contacts/interactions/CallLogInteractionsLoader.java b/src/com/android/contacts/interactions/CallLogInteractionsLoader.java
index c8e26e9..46cd315 100644
--- a/src/com/android/contacts/interactions/CallLogInteractionsLoader.java
+++ b/src/com/android/contacts/interactions/CallLogInteractionsLoader.java
@@ -26,7 +26,7 @@
 import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
 
-import com.android.internal.annotations.VisibleForTesting;
+import com.google.common.annotations.VisibleForTesting;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/src/com/android/contacts/interactions/ContactDeletionInteraction.java b/src/com/android/contacts/interactions/ContactDeletionInteraction.java
index 458556e..b05cbab 100644
--- a/src/com/android/contacts/interactions/ContactDeletionInteraction.java
+++ b/src/com/android/contacts/interactions/ContactDeletionInteraction.java
@@ -32,6 +32,8 @@
 import android.os.Bundle;
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Contacts.Entity;
+import android.text.TextUtils;
+import android.util.Log;
 
 import com.android.contacts.ContactSaveService;
 import com.android.contacts.R;
@@ -48,6 +50,7 @@
 public class ContactDeletionInteraction extends Fragment
         implements LoaderCallbacks<Cursor>, OnDismissListener {
 
+    private static final String TAG = "ContactDeletionInteraction";
     private static final String FRAGMENT_TAG = "deleteContact";
 
     private static final String KEY_ACTIVE = "active";
@@ -77,7 +80,7 @@
     private AlertDialog mDialog;
 
     /** This is a wrapper around the fragment's loader manager to be used only during testing. */
-    private TestLoaderManager mTestLoaderManager;
+    private TestLoaderManagerBase mTestLoaderManager;
 
     @VisibleForTesting
     int mMessageId;
@@ -97,20 +100,20 @@
     }
 
     /**
-     * Starts the interaction and optionally set up a {@link TestLoaderManager}.
+     * Starts the interaction and optionally set up a {@link TestLoaderManagerBase}.
      *
      * @param activity the activity within which to start the interaction
      * @param contactUri the URI of the contact to delete
      * @param finishActivityWhenDone whether to finish the activity upon completion of the
      *        interaction
-     * @param testLoaderManager the {@link TestLoaderManager} to use to load the data, may be null
+     * @param testLoaderManager the {@link TestLoaderManagerBase} to use to load the data, may be null
      *        in which case the default {@link LoaderManager} is used
      * @return the newly created interaction
      */
     @VisibleForTesting
     static ContactDeletionInteraction startWithTestLoaderManager(
             Activity activity, Uri contactUri, boolean finishActivityWhenDone,
-            TestLoaderManager testLoaderManager) {
+            TestLoaderManagerBase testLoaderManager) {
         if (contactUri == null) {
             return null;
         }
@@ -147,7 +150,7 @@
     }
 
     /** Sets the TestLoaderManager that is used to wrap the actual LoaderManager in tests. */
-    private void setTestLoaderManager(TestLoaderManager mockLoaderManager) {
+    private void setTestLoaderManager(TestLoaderManagerBase mockLoaderManager) {
         mTestLoaderManager = mockLoaderManager;
     }
 
@@ -224,6 +227,11 @@
             return;
         }
 
+        if (cursor == null || cursor.isClosed()) {
+            Log.e(TAG, "Failed to load contacts");
+            return;
+        }
+
         long contactId = 0;
         String lookupKey = null;
 
@@ -247,6 +255,11 @@
                 readOnlyRawContacts.add(rawContactId);
             }
         }
+        if (TextUtils.isEmpty(lookupKey)) {
+            Log.e(TAG, "Failed to find contact lookup key");
+            getActivity().finish();
+            return;
+        }
 
         int readOnlyCount = readOnlyRawContacts.size();
         int writableCount = writableRawContacts.size();
diff --git a/src/com/android/contacts/interactions/ContactMultiDeletionInteraction.java b/src/com/android/contacts/interactions/ContactMultiDeletionInteraction.java
new file mode 100644
index 0000000..7c13178
--- /dev/null
+++ b/src/com/android/contacts/interactions/ContactMultiDeletionInteraction.java
@@ -0,0 +1,297 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.contacts.interactions;
+
+import com.google.common.collect.Sets;
+
+import com.android.contacts.ContactSaveService;
+import com.android.contacts.R;
+import com.android.contacts.common.model.AccountTypeManager;
+import com.android.contacts.common.model.account.AccountType;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Fragment;
+import android.app.FragmentManager;
+import android.app.LoaderManager.LoaderCallbacks;
+import android.content.Context;
+import android.content.CursorLoader;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnDismissListener;
+import android.content.Loader;
+import android.database.Cursor;
+import android.os.Bundle;
+import android.provider.ContactsContract.RawContacts;
+import android.util.Log;
+
+import java.util.HashSet;
+import java.util.TreeSet;
+
+/**
+ * An interaction invoked to delete multiple contacts.
+ *
+ * This class is very similar to {@link ContactDeletionInteraction}.
+ */
+public class ContactMultiDeletionInteraction extends Fragment
+        implements LoaderCallbacks<Cursor> {
+
+    public interface MultiContactDeleteListener {
+        void onDeletionFinished();
+    }
+
+    private static final String FRAGMENT_TAG = "deleteMultipleContacts";
+    private static final String TAG = "ContactMultiDeletionInteraction";
+    private static final String KEY_ACTIVE = "active";
+    private static final String KEY_CONTACTS_IDS = "contactIds";
+    public static final String ARG_CONTACT_IDS = "contactIds";
+
+    private static final String[] RAW_CONTACT_PROJECTION = new String[] {
+            RawContacts._ID,
+            RawContacts.ACCOUNT_TYPE,
+            RawContacts.DATA_SET,
+            RawContacts.CONTACT_ID,
+    };
+
+    private static final int COLUMN_INDEX_RAW_CONTACT_ID = 0;
+    private static final int COLUMN_INDEX_ACCOUNT_TYPE = 1;
+    private static final int COLUMN_INDEX_DATA_SET = 2;
+    private static final int COLUMN_INDEX_CONTACT_ID = 3;
+
+    private boolean mIsLoaderActive;
+    private TreeSet<Long> mContactIds;
+    private Context mContext;
+    private AlertDialog mDialog;
+
+    /**
+     * Starts the interaction.
+     *
+     * @param activity the activity within which to start the interaction
+     * @param contactIds the IDs of contacts to be deleted
+     * @return the newly created interaction
+     */
+    public static ContactMultiDeletionInteraction start(
+            Activity activity, TreeSet<Long> contactIds) {
+        if (contactIds == null) {
+            return null;
+        }
+
+        final FragmentManager fragmentManager = activity.getFragmentManager();
+        ContactMultiDeletionInteraction fragment =
+                (ContactMultiDeletionInteraction) fragmentManager.findFragmentByTag(FRAGMENT_TAG);
+        if (fragment == null) {
+            fragment = new ContactMultiDeletionInteraction();
+            fragment.setContactIds(contactIds);
+            fragmentManager.beginTransaction().add(fragment, FRAGMENT_TAG)
+                    .commitAllowingStateLoss();
+        } else {
+            fragment.setContactIds(contactIds);
+        }
+        return fragment;
+    }
+
+    @Override
+    public void onAttach(Activity activity) {
+        super.onAttach(activity);
+        mContext = activity;
+    }
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+        if (mDialog != null && mDialog.isShowing()) {
+            mDialog.setOnDismissListener(null);
+            mDialog.dismiss();
+            mDialog = null;
+        }
+    }
+
+    public void setContactIds(TreeSet<Long> contactIds) {
+        mContactIds = contactIds;
+        mIsLoaderActive = true;
+        if (isStarted()) {
+            Bundle args = new Bundle();
+            args.putSerializable(ARG_CONTACT_IDS, mContactIds);
+            getLoaderManager().restartLoader(R.id.dialog_delete_multiple_contact_loader_id,
+                    args, this);
+        }
+    }
+
+    private boolean isStarted() {
+        return isAdded();
+    }
+
+    @Override
+    public void onStart() {
+        if (mIsLoaderActive) {
+            Bundle args = new Bundle();
+            args.putSerializable(ARG_CONTACT_IDS, mContactIds);
+            getLoaderManager().initLoader(
+                    R.id.dialog_delete_multiple_contact_loader_id, args, this);
+        }
+        super.onStart();
+    }
+
+    @Override
+    public void onStop() {
+        super.onStop();
+        if (mDialog != null) {
+            mDialog.hide();
+        }
+    }
+
+    @Override
+    public Loader<Cursor> onCreateLoader(int id, Bundle args) {
+        final TreeSet<Long> contactIds = (TreeSet<Long>) args.getSerializable(ARG_CONTACT_IDS);
+        final Object[] parameterObject = contactIds.toArray();
+        final String[] parameters = new String[contactIds.size()];
+
+        final StringBuilder builder = new StringBuilder();
+        for (int i = 0; i < contactIds.size(); i++) {
+            parameters[i] = String.valueOf(parameterObject[i]);
+            builder.append(RawContacts.CONTACT_ID + " =?");
+            if (i == contactIds.size() -1) {
+                break;
+            }
+            builder.append(" OR ");
+        }
+        return new CursorLoader(mContext, RawContacts.CONTENT_URI, RAW_CONTACT_PROJECTION,
+                builder.toString(), parameters, null);
+    }
+
+    @Override
+    public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
+        if (mDialog != null) {
+            mDialog.dismiss();
+            mDialog = null;
+        }
+
+        if (!mIsLoaderActive) {
+            return;
+        }
+
+        if (cursor == null || cursor.isClosed()) {
+            Log.e(TAG, "Failed to load contacts");
+            return;
+        }
+
+        // This cursor may contain duplicate raw contacts, so we need to de-dupe them first
+        final HashSet<Long> readOnlyRawContacts = Sets.newHashSet();
+        final HashSet<Long> writableRawContacts = Sets.newHashSet();
+        final HashSet<Long> contactIds = Sets.newHashSet();
+
+        AccountTypeManager accountTypes = AccountTypeManager.getInstance(getActivity());
+        cursor.moveToPosition(-1);
+        while (cursor.moveToNext()) {
+            final long rawContactId = cursor.getLong(COLUMN_INDEX_RAW_CONTACT_ID);
+            final String accountType = cursor.getString(COLUMN_INDEX_ACCOUNT_TYPE);
+            final String dataSet = cursor.getString(COLUMN_INDEX_DATA_SET);
+            final long contactId = cursor.getLong(COLUMN_INDEX_CONTACT_ID);
+            contactIds.add(contactId);
+            final AccountType type = accountTypes.getAccountType(accountType, dataSet);
+            boolean writable = type == null || type.areContactsWritable();
+            if (writable) {
+                writableRawContacts.add(rawContactId);
+            } else {
+                readOnlyRawContacts.add(rawContactId);
+            }
+        }
+
+        final int readOnlyCount = readOnlyRawContacts.size();
+        final int writableCount = writableRawContacts.size();
+
+        final int messageId;
+        if (readOnlyCount > 0 && writableCount > 0) {
+            messageId = R.string.batch_delete_multiple_accounts_confirmation;
+        } else if (readOnlyCount > 0 && writableCount == 0) {
+            messageId = R.string.batch_delete_read_only_contact_confirmation;
+        } else {
+            messageId = R.string.batch_delete_confirmation;
+        }
+
+        // Convert set of contact ids into a format that is easily parcellable and iterated upon
+        // for the sake of ContactSaveService.
+        final Long[] contactIdObjectArray = contactIds.toArray(new Long[contactIds.size()]);
+        final long[] contactIdArray = new long[contactIds.size()];
+        for (int i = 0; i < contactIds.size(); i++) {
+            contactIdArray[i] = contactIdObjectArray[i];
+        }
+
+        showDialog(messageId, contactIdArray);
+
+        // We don't want onLoadFinished() calls any more, which may come when the database is
+        // updating.
+        getLoaderManager().destroyLoader(R.id.dialog_delete_multiple_contact_loader_id);
+    }
+
+    @Override
+    public void onLoaderReset(Loader<Cursor> loader) {
+    }
+
+    private void showDialog(int messageId, final long[] contactIds) {
+        mDialog = new AlertDialog.Builder(getActivity())
+                .setIconAttribute(android.R.attr.alertDialogIcon)
+                .setMessage(messageId)
+                .setNegativeButton(android.R.string.cancel, null)
+                .setPositiveButton(android.R.string.ok,
+                    new DialogInterface.OnClickListener() {
+                        @Override
+                        public void onClick(DialogInterface dialog, int whichButton) {
+                            doDeleteContact(contactIds);
+                        }
+                    }
+                )
+                .create();
+
+        mDialog.setOnDismissListener(new OnDismissListener() {
+            @Override
+            public void onDismiss(DialogInterface dialog) {
+                mIsLoaderActive = false;
+                mDialog = null;
+            }
+        });
+        mDialog.show();
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putBoolean(KEY_ACTIVE, mIsLoaderActive);
+        outState.putSerializable(KEY_CONTACTS_IDS, mContactIds);
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        if (savedInstanceState != null) {
+            mIsLoaderActive = savedInstanceState.getBoolean(KEY_ACTIVE);
+            mContactIds = (TreeSet<Long>) savedInstanceState.getSerializable(KEY_CONTACTS_IDS);
+        }
+    }
+
+    protected void doDeleteContact(long[] contactIds) {
+        mContext.startService(ContactSaveService.createDeleteMultipleContactsIntent(mContext,
+                contactIds));
+        notifyListenerActivity();
+    }
+
+    private void notifyListenerActivity() {
+        if (getActivity() instanceof MultiContactDeleteListener) {
+            final MultiContactDeleteListener listener = (MultiContactDeleteListener) getActivity();
+            listener.onDeletionFinished();
+        }
+    }
+}
diff --git a/src/com/android/contacts/interactions/GroupCreationDialogFragment.java b/src/com/android/contacts/interactions/GroupCreationDialogFragment.java
index b2860ea..e998688 100644
--- a/src/com/android/contacts/interactions/GroupCreationDialogFragment.java
+++ b/src/com/android/contacts/interactions/GroupCreationDialogFragment.java
@@ -23,6 +23,7 @@
 
 import com.android.contacts.ContactSaveService;
 import com.android.contacts.R;
+import com.android.contacts.activities.ContactEditorBaseActivity;
 import com.android.contacts.common.model.account.AccountWithDataSet;
 
 /**
@@ -94,6 +95,6 @@
         activity.startService(ContactSaveService.createNewGroupIntent(activity,
                 new AccountWithDataSet(accountName, accountType, dataSet), groupLabel,
                 null /* no new members to add */,
-                activity.getClass(), Intent.ACTION_EDIT));
+                activity.getClass(), ContactEditorBaseActivity.ACTION_EDIT));
     }
 }
diff --git a/src/com/android/contacts/interactions/JoinContactsDialogFragment.java b/src/com/android/contacts/interactions/JoinContactsDialogFragment.java
new file mode 100644
index 0000000..a9a1aa9
--- /dev/null
+++ b/src/com/android/contacts/interactions/JoinContactsDialogFragment.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.contacts.interactions;
+
+
+import com.android.contacts.ContactSaveService;
+import com.android.contacts.R;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.app.FragmentTransaction;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+
+import java.util.TreeSet;
+
+/**
+ * An interaction invoked to join multiple contacts together.
+ */
+public class JoinContactsDialogFragment extends DialogFragment {
+
+    private static final String FRAGMENT_TAG = "joinDialog";
+    private static final String KEY_CONTACT_IDS = "contactIds";
+
+    public interface JoinContactsListener {
+        void onContactsJoined();
+    }
+
+    public static void start(Activity activity, TreeSet<Long> contactIds) {
+        final FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
+        final JoinContactsDialogFragment newFragment
+                = JoinContactsDialogFragment.newInstance(contactIds);
+        newFragment.show(ft, FRAGMENT_TAG);
+    }
+
+    private static JoinContactsDialogFragment newInstance(TreeSet<Long> contactIds) {
+        final JoinContactsDialogFragment fragment = new JoinContactsDialogFragment();
+        Bundle arguments = new Bundle();
+        arguments.putSerializable(KEY_CONTACT_IDS, contactIds);
+        fragment.setArguments(arguments);
+        return fragment;
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        final TreeSet<Long> contactIds =
+                (TreeSet<Long>) getArguments().getSerializable(KEY_CONTACT_IDS);
+        if (contactIds.size() <= 1) {
+            return new AlertDialog.Builder(getActivity())
+                    .setIconAttribute(android.R.attr.alertDialogIcon)
+                    .setMessage(R.string.batch_merge_single_contact_warning)
+                    .setPositiveButton(android.R.string.ok, null)
+                    .create();
+        }
+        return new AlertDialog.Builder(getActivity())
+                .setIconAttribute(android.R.attr.alertDialogIcon)
+                .setMessage(R.string.batch_merge_confirmation)
+                .setNegativeButton(android.R.string.cancel, null)
+                .setPositiveButton(android.R.string.ok,
+                        new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog, int whichButton) {
+                                joinContacts(contactIds);
+                            }
+                        }
+                )
+                .create();
+    }
+
+    private void joinContacts(TreeSet<Long> contactIds) {
+        final Long[] contactIdsArray = contactIds.toArray(new Long[contactIds.size()]);
+        final long[] contactIdsArray2 = new long[contactIdsArray.length];
+        for (int i = 0; i < contactIds.size(); i++) {
+            contactIdsArray2[i] = contactIdsArray[i];
+        }
+
+        final Intent intent = ContactSaveService.createJoinSeveralContactsIntent(getActivity(),
+                contactIdsArray2);
+        getActivity().startService(intent);
+
+        notifyListener();
+    }
+
+    private void notifyListener() {
+        if (getActivity() instanceof JoinContactsListener) {
+            ((JoinContactsListener) getActivity()).onContactsJoined();
+        }
+    }
+
+}
diff --git a/src/com/android/contacts/interactions/TestLoaderManagerBase.java b/src/com/android/contacts/interactions/TestLoaderManagerBase.java
new file mode 100644
index 0000000..92ae3b9
--- /dev/null
+++ b/src/com/android/contacts/interactions/TestLoaderManagerBase.java
@@ -0,0 +1,89 @@
+/*
+ * 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.app.LoaderManager;
+
+/**
+ * A {@link LoaderManager} that records which loaders have been completed.
+ * <p>
+ * You should wrap the existing LoaderManager with an instance of this class, which will then
+ * delegate to the original object.
+ * <p>
+ * Typically, one would override {@link android.app.Activity#getLoaderManager()} to return the
+ * TestLoaderManager and ensuring it wraps the {@link LoaderManager} for this object, e.g.:
+ * <pre>
+ *   private TestLoaderManager mTestLoaderManager;
+ *
+ *   public LoaderManager getLoaderManager() {
+ *     LoaderManager loaderManager = super.getLoaderManager();
+ *     if (mTestLoaderManager != null) {
+ *       mTestLoaderManager.setDelegate(loaderManager);
+ *       return mTestLoaderManager;
+ *     } else {
+ *       return loaderManager;
+ *     }
+ *   }
+ *
+ *   void setTestLoaderManager(TestLoaderManager testLoaderManager) {
+ *     mTestLoaderManager = testLoaderManager;
+ *   }
+ * </pre>
+ * In the tests, one would set the TestLoaderManager upon creating the activity, and then wait for
+ * the loader to complete.
+ * <pre>
+ *   public void testLoadedCorrect() {
+ *     TestLoaderManager testLoaderManager = new TestLoaderManager();
+ *     getActivity().setTestLoaderManager(testLoaderManager);
+ *     runOnUiThread(new Runnable() { public void run() { getActivity().startLoading(); } });
+ *     testLoaderManager.waitForLoader(R.id.test_loader_id);
+ *   }
+ * </pre>
+ * If the loader completes before the call to {@link #waitForLoaders(int...)}, the TestLoaderManager
+ * will have stored the fact that the loader has completed and correctly terminate immediately.
+ * <p>
+ * It one needs to wait for the same loader multiple times, call {@link #reset()} between the them
+ * as in:
+ * <pre>
+ *   public void testLoadedCorrect() {
+ *     TestLoaderManager testLoaderManager = new TestLoaderManager();
+ *     getActivity().setTestLoaderManager(testLoaderManager);
+ *     runOnUiThread(new Runnable() { public void run() { getActivity().startLoading(); } });
+ *     testLoaderManager.waitForLoader(R.id.test_loader_id);
+ *     testLoaderManager.reset();
+ *     // Load and wait again.
+ *     runOnUiThread(new Runnable() { public void run() { getActivity().startLoading(); } });
+ *     testLoaderManager.waitForLoader(R.id.test_loader_id);
+ *   }
+ * </pre>
+ */
+abstract class TestLoaderManagerBase extends LoaderManager {
+
+    /**
+     * Waits for the specified loaders to complete loading.
+     */
+    public abstract void waitForLoaders(int... loaderIds);
+
+    /**
+     * Sets the object to which we delegate the actual work.
+     * <p>
+     * It can not be set to null. Once set, it cannot be changed (but it allows setting it to the
+     * same value again).
+     */
+    public abstract void setDelegate(LoaderManager delegate);
+
+}
diff --git a/src/com/android/contacts/list/ContactPickerFragment.java b/src/com/android/contacts/list/ContactPickerFragment.java
index 0503d33..4e81389 100644
--- a/src/com/android/contacts/list/ContactPickerFragment.java
+++ b/src/com/android/contacts/list/ContactPickerFragment.java
@@ -113,7 +113,7 @@
 
     @Override
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-        if (position == 0 && mCreateContactEnabled) {
+        if (position == 0 && mCreateContactEnabled && mListener != null) {
             mListener.onCreateNewContactAction();
         } else {
             super.onItemClick(parent, view, position, id);
@@ -142,15 +142,21 @@
     }
 
     public void createNewContact() {
-        mListener.onCreateNewContactAction();
+        if (mListener != null) {
+            mListener.onCreateNewContactAction();
+        }
     }
 
     public void editContact(Uri contactUri) {
-        mListener.onEditContactAction(contactUri);
+        if (mListener != null) {
+            mListener.onEditContactAction(contactUri);
+        }
     }
 
     public void pickContact(Uri uri) {
-        mListener.onPickContactAction(uri);
+        if (mListener != null) {
+            mListener.onPickContactAction(uri);
+        }
     }
 
     @Override
@@ -190,11 +196,15 @@
 
     @Override
     public void onShortcutIntentCreated(Uri uri, Intent shortcutIntent) {
-        mListener.onShortcutIntentCreated(shortcutIntent);
+        if (mListener != null) {
+            mListener.onShortcutIntentCreated(shortcutIntent);
+        }
     }
 
     @Override
     public void onPickerResult(Intent data) {
-        mListener.onPickContactAction(data.getData());
+        if (mListener != null) {
+            mListener.onPickContactAction(data.getData());
+        }
     }
 }
diff --git a/src/com/android/contacts/list/ContactsIntentResolver.java b/src/com/android/contacts/list/ContactsIntentResolver.java
index b4416be..259e0c7 100644
--- a/src/com/android/contacts/list/ContactsIntentResolver.java
+++ b/src/com/android/contacts/list/ContactsIntentResolver.java
@@ -16,13 +16,10 @@
 
 package com.android.contacts.list;
 
-import com.android.contacts.ContactsSearchManager;
-
 import android.app.Activity;
 import android.app.SearchManager;
 import android.content.Intent;
 import android.net.Uri;
-import android.os.Bundle;
 import android.provider.Contacts.ContactMethods;
 import android.provider.Contacts.People;
 import android.provider.Contacts.Phones;
@@ -33,7 +30,6 @@
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Intents;
 import android.provider.ContactsContract.Intents.Insert;
-import android.provider.ContactsContract.Intents.UI;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -59,21 +55,21 @@
 
         Log.i(TAG, "Called with action: " + action);
 
-        if (UI.LIST_DEFAULT.equals(action) ) {
+        if (UiIntentActions.LIST_DEFAULT.equals(action) ) {
             request.setActionCode(ContactsRequest.ACTION_DEFAULT);
-        } else if (UI.LIST_ALL_CONTACTS_ACTION.equals(action)) {
+        } else if (UiIntentActions.LIST_ALL_CONTACTS_ACTION.equals(action)) {
             request.setActionCode(ContactsRequest.ACTION_ALL_CONTACTS);
-        } else if (UI.LIST_CONTACTS_WITH_PHONES_ACTION.equals(action)) {
+        } else if (UiIntentActions.LIST_CONTACTS_WITH_PHONES_ACTION.equals(action)) {
             request.setActionCode(ContactsRequest.ACTION_CONTACTS_WITH_PHONES);
-        } else if (UI.LIST_STARRED_ACTION.equals(action)) {
+        } else if (UiIntentActions.LIST_STARRED_ACTION.equals(action)) {
             request.setActionCode(ContactsRequest.ACTION_STARRED);
-        } else if (UI.LIST_FREQUENT_ACTION.equals(action)) {
+        } else if (UiIntentActions.LIST_FREQUENT_ACTION.equals(action)) {
             request.setActionCode(ContactsRequest.ACTION_FREQUENT);
-        } else if (UI.LIST_STREQUENT_ACTION.equals(action)) {
+        } else if (UiIntentActions.LIST_STREQUENT_ACTION.equals(action)) {
             request.setActionCode(ContactsRequest.ACTION_STREQUENT);
-        } else if (UI.LIST_GROUP_ACTION.equals(action)) {
+        } else if (UiIntentActions.LIST_GROUP_ACTION.equals(action)) {
             request.setActionCode(ContactsRequest.ACTION_GROUP);
-            // We no longer support UI.GROUP_NAME_EXTRA_KEY
+            // We no longer support UiIntentActions.GROUP_NAME_EXTRA_KEY
         } else if (Intent.ACTION_PICK.equals(action)) {
             final String resolvedType = intent.resolveType(mContext);
             if (Contacts.CONTENT_TYPE.equals(resolvedType)) {
@@ -146,24 +142,6 @@
                 intent.setAction(Intent.ACTION_DEFAULT);
                 intent.setData(null);
             }
-        } else if (UI.FILTER_CONTACTS_ACTION.equals(action)) {
-            // When we get a FILTER_CONTACTS_ACTION, it represents search in the context
-            // of some other action. Let's retrieve the original action to provide proper
-            // context for the search queries.
-            request.setActionCode(ContactsRequest.ACTION_DEFAULT);
-            Bundle extras = intent.getExtras();
-            if (extras != null) {
-                request.setQueryString(extras.getString(UI.FILTER_TEXT_EXTRA_KEY));
-
-                ContactsRequest originalRequest =
-                        (ContactsRequest)extras.get(ContactsSearchManager.ORIGINAL_REQUEST_KEY);
-                if (originalRequest != null) {
-                    request.copyFrom(originalRequest);
-                }
-            }
-
-            request.setSearchMode(true);
-
         // Since this is the filter activity it receives all intents
         // dispatched from the SearchManager for security reasons
         // so we need to re-dispatch from here to the intended target.
@@ -173,11 +151,11 @@
             request.setContactUri(data);
             intent.setAction(Intent.ACTION_DEFAULT);
             intent.setData(null);
-        } else if (UI.PICK_JOIN_CONTACT_ACTION.equals(action)) {
+        } else if (UiIntentActions.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);
+        String title = intent.getStringExtra(UiIntentActions.TITLE_EXTRA_KEY);
         if (title != null) {
             request.setActivityTitle(title);
         }
diff --git a/src/com/android/contacts/list/ContactsRequest.java b/src/com/android/contacts/list/ContactsRequest.java
index 7955fde..636fe58 100644
--- a/src/com/android/contacts/list/ContactsRequest.java
+++ b/src/com/android/contacts/list/ContactsRequest.java
@@ -24,7 +24,7 @@
 /**
  * Parsed form of the intent sent to the Contacts application.
  */
-public class ContactsRequest implements Parcelable {
+public class ContactsRequest {
 
     /** Default mode: browse contacts */
     public static final int ACTION_DEFAULT = 10;
@@ -82,7 +82,6 @@
 
     private boolean mValid = true;
     private int mActionCode = ACTION_DEFAULT;
-    private Intent mRedirectIntent;
     private CharSequence mTitle;
     private boolean mSearchMode;
     private String mQueryString;
@@ -95,7 +94,6 @@
     public String toString() {
         return "{ContactsRequest:mValid=" + mValid
                 + " mActionCode=" + mActionCode
-                + " mRedirectIntent=" + mRedirectIntent
                 + " mTitle=" + mTitle
                 + " mSearchMode=" + mSearchMode
                 + " mQueryString=" + mQueryString
@@ -106,62 +104,6 @@
                 + "}";
     }
 
-    /**
-     * Copies all fields.
-     */
-    public void copyFrom(ContactsRequest request) {
-        mValid = request.mValid;
-        mActionCode = request.mActionCode;
-        mRedirectIntent = request.mRedirectIntent;
-        mTitle = request.mTitle;
-        mSearchMode = request.mSearchMode;
-        mQueryString = request.mQueryString;
-        mIncludeProfile = request.mIncludeProfile;
-        mLegacyCompatibilityMode = request.mLegacyCompatibilityMode;
-        mDirectorySearchEnabled = request.mDirectorySearchEnabled;
-        mContactUri = request.mContactUri;
-    }
-
-    public static Parcelable.Creator<ContactsRequest> CREATOR = new Creator<ContactsRequest>() {
-
-        public ContactsRequest[] newArray(int size) {
-            return new ContactsRequest[size];
-        }
-
-        public ContactsRequest createFromParcel(Parcel source) {
-            ClassLoader classLoader = this.getClass().getClassLoader();
-            ContactsRequest request = new ContactsRequest();
-            request.mValid = source.readInt() != 0;
-            request.mActionCode = source.readInt();
-            request.mRedirectIntent = source.readParcelable(classLoader);
-            request.mTitle = source.readCharSequence();
-            request.mSearchMode = source.readInt() != 0;
-            request.mQueryString = source.readString();
-            request.mIncludeProfile = source.readInt() != 0;
-            request.mLegacyCompatibilityMode  = source.readInt() != 0;
-            request.mDirectorySearchEnabled = source.readInt() != 0;
-            request.mContactUri = source.readParcelable(classLoader);
-            return request;
-        }
-    };
-
-    public void writeToParcel(Parcel dest, int flags) {
-        dest.writeInt(mValid ? 1 : 0);
-        dest.writeInt(mActionCode);
-        dest.writeParcelable(mRedirectIntent, 0);
-        dest.writeCharSequence(mTitle);
-        dest.writeInt(mSearchMode ? 1 : 0);
-        dest.writeString(mQueryString);
-        dest.writeInt(mIncludeProfile ? 1 : 0);
-        dest.writeInt(mLegacyCompatibilityMode ? 1 : 0);
-        dest.writeInt(mDirectorySearchEnabled ? 1 : 0);
-        dest.writeParcelable(mContactUri, 0);
-    }
-
-    public int describeContents() {
-        return 0;
-    }
-
     public boolean isValid() {
         return mValid;
     }
@@ -170,14 +112,6 @@
         mValid = flag;
     }
 
-    public Intent getRedirectIntent() {
-        return mRedirectIntent;
-    }
-
-    public void setRedirectIntent(Intent intent) {
-        mRedirectIntent = intent;
-    }
-
     public void setActivityTitle(CharSequence title) {
         mTitle = title;
     }
diff --git a/src/com/android/contacts/list/ContactsUnavailableFragment.java b/src/com/android/contacts/list/ContactsUnavailableFragment.java
index 70d224a..48c4e9e 100644
--- a/src/com/android/contacts/list/ContactsUnavailableFragment.java
+++ b/src/com/android/contacts/list/ContactsUnavailableFragment.java
@@ -42,15 +42,13 @@
     private Button mCreateContactButton;
     private Button mAddAccountButton;
     private Button mImportContactsButton;
-    private Button mUninstallAppsButton;
-    private Button mRetryUpgradeButton;
     private ProgressBar mProgress;
     private int mNoContactsMsgResId = -1;
     private int mNSecNoContactsMsgResId = -1;
 
     private OnContactsUnavailableActionListener mListener;
 
-    private ProviderStatusWatcher.Status mProviderStatus;
+    private Integer mProviderStatus;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -69,10 +67,6 @@
         mAddAccountButton.setOnClickListener(this);
         mImportContactsButton = (Button) mView.findViewById(R.id.import_contacts_button);
         mImportContactsButton.setOnClickListener(this);
-        mUninstallAppsButton = (Button) mView.findViewById(R.id.import_failure_uninstall_button);
-        mUninstallAppsButton.setOnClickListener(this);
-        mRetryUpgradeButton = (Button) mView.findViewById(R.id.import_failure_retry_button);
-        mRetryUpgradeButton.setOnClickListener(this);
         mProgress = (ProgressBar) mView.findViewById(R.id.progress);
 
         if (mProviderStatus != null) {
@@ -87,20 +81,18 @@
         mListener = listener;
     }
 
-    public void updateStatus(ProviderStatusWatcher.Status providerStatus) {
+    public void updateStatus(int providerStatus) {
         mProviderStatus = providerStatus;
         if (mView == null) {
             // The view hasn't been inflated yet.
             return;
         }
-        switch (providerStatus.status) {
+        switch (providerStatus) {
             case ProviderStatus.STATUS_NO_ACCOUNTS_NO_CONTACTS:
                 setMessageText(mNoContactsMsgResId, mNSecNoContactsMsgResId);
                 mCreateContactButton.setVisibility(View.VISIBLE);
                 mAddAccountButton.setVisibility(View.VISIBLE);
                 mImportContactsButton.setVisibility(View.VISIBLE);
-                mUninstallAppsButton.setVisibility(View.GONE);
-                mRetryUpgradeButton.setVisibility(View.GONE);
                 mProgress.setVisibility(View.GONE);
                 break;
 
@@ -111,8 +103,6 @@
                 mCreateContactButton.setVisibility(View.GONE);
                 mAddAccountButton.setVisibility(View.GONE);
                 mImportContactsButton.setVisibility(View.GONE);
-                mUninstallAppsButton.setVisibility(View.GONE);
-                mRetryUpgradeButton.setVisibility(View.GONE);
                 mProgress.setVisibility(View.VISIBLE);
                 break;
 
@@ -123,24 +113,8 @@
                 mCreateContactButton.setVisibility(View.GONE);
                 mAddAccountButton.setVisibility(View.GONE);
                 mImportContactsButton.setVisibility(View.GONE);
-                mUninstallAppsButton.setVisibility(View.GONE);
-                mRetryUpgradeButton.setVisibility(View.GONE);
                 mProgress.setVisibility(View.VISIBLE);
                 break;
-
-            case ProviderStatus.STATUS_UPGRADE_OUT_OF_MEMORY:
-                String message = getResources().getString(R.string.upgrade_out_of_memory,
-                        new Object[] { providerStatus.data});
-                mMessageView.setText(message);
-                mMessageView.setGravity(Gravity.START);
-                mMessageView.setVisibility(View.VISIBLE);
-                mCreateContactButton.setVisibility(View.GONE);
-                mAddAccountButton.setVisibility(View.GONE);
-                mImportContactsButton.setVisibility(View.GONE);
-                mUninstallAppsButton.setVisibility(View.VISIBLE);
-                mRetryUpgradeButton.setVisibility(View.VISIBLE);
-                mProgress.setVisibility(View.GONE);
-                break;
         }
     }
 
@@ -159,15 +133,6 @@
             case R.id.import_contacts_button:
                 mListener.onImportContactsFromFileAction();
                 break;
-            case R.id.import_failure_uninstall_button:
-                mListener.onFreeInternalStorageAction();
-                break;
-            case R.id.import_failure_retry_button:
-                final Context context = getActivity();
-                if (context != null) { // Just in case.
-                    ProviderStatusWatcher.retryUpgrade(context);
-                }
-                break;
         }
     }
     /**
@@ -179,7 +144,7 @@
         mNoContactsMsgResId = resId;
         mNSecNoContactsMsgResId = secResId;
         if ((mMessageView != null) && (mProviderStatus != null) &&
-                (mProviderStatus.status == ProviderStatus.STATUS_NO_ACCOUNTS_NO_CONTACTS)) {
+                (mProviderStatus.equals(ProviderStatus.STATUS_NO_ACCOUNTS_NO_CONTACTS))) {
             if (resId != -1) {
                 mMessageView.setText(mNoContactsMsgResId);
                 mMessageView.setGravity(Gravity.CENTER_HORIZONTAL);
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index 4630202..fefe28b 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -39,6 +39,7 @@
 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.ImplicitIntentsUtil;
 import com.android.contacts.editor.ContactEditorFragment;
 import com.android.contacts.common.util.AccountFilterUtil;
 
@@ -251,7 +252,7 @@
             public void onClick(View v) {
                 Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
                 intent.putExtra(ContactEditorFragment.INTENT_EXTRA_NEW_LOCAL_PROFILE, true);
-                startActivity(intent);
+                ImplicitIntentsUtil.startActivityInApp(getActivity(), intent);
             }
         });
     }
diff --git a/src/com/android/contacts/list/HeaderEntryContactListAdapter.java b/src/com/android/contacts/list/HeaderEntryContactListAdapter.java
index a76a4a1..9822b79 100644
--- a/src/com/android/contacts/list/HeaderEntryContactListAdapter.java
+++ b/src/com/android/contacts/list/HeaderEntryContactListAdapter.java
@@ -64,10 +64,9 @@
                 // Pass the cursor down. Don't worry, it isn't used.
                 itemView = newView(getContext(), 0, getCursor(0), 0, parent);
             } else {
-                itemView = (ContactListItemView ) convertView;
+                itemView = (ContactListItemView) convertView;
             }
-            itemView.setDrawableResource(R.drawable.search_shortcut_background,
-                    R.drawable.ic_search_add_contact);
+            itemView.setDrawableResource(R.drawable.ic_search_add_contact);
             itemView.setDisplayName(getContext().getResources().getString(
                     R.string.header_entry_contact_list_adapter_header_title));
             return itemView;
diff --git a/src/com/android/contacts/list/LegacyPhoneNumberPickerFragment.java b/src/com/android/contacts/list/LegacyPhoneNumberPickerFragment.java
index b88fa71..d62c730 100644
--- a/src/com/android/contacts/list/LegacyPhoneNumberPickerFragment.java
+++ b/src/com/android/contacts/list/LegacyPhoneNumberPickerFragment.java
@@ -42,6 +42,12 @@
     }
 
     @Override
+    protected String getLookupKey(int position) {
+        // There is no lookup key for the legacy adapter.
+        return null;
+    }
+
+    @Override
     protected ContactEntryListAdapter createListAdapter() {
         LegacyPhoneNumberListAdapter adapter = new LegacyPhoneNumberListAdapter(getActivity());
         adapter.setDisplayPhotos(true);
diff --git a/src/com/android/contacts/list/MultiSelectContactsListFragment.java b/src/com/android/contacts/list/MultiSelectContactsListFragment.java
new file mode 100644
index 0000000..a58a8ee
--- /dev/null
+++ b/src/com/android/contacts/list/MultiSelectContactsListFragment.java
@@ -0,0 +1,164 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.contacts.list;
+
+import com.android.contacts.common.list.ContactListAdapter;
+import com.android.contacts.common.list.ContactListItemView;
+import com.android.contacts.common.list.DefaultContactListAdapter;
+import com.android.contacts.list.MultiSelectEntryContactListAdapter.SelectedContactsListener;
+
+import android.net.Uri;
+import android.os.Bundle;
+import android.text.TextUtils;
+
+import java.util.TreeSet;
+
+/**
+ * Fragment containing a contact list used for browsing contacts and optionally selecting
+ * multiple contacts via checkboxes.
+ */
+public class MultiSelectContactsListFragment extends DefaultContactBrowseListFragment
+        implements SelectedContactsListener {
+
+    public interface OnCheckBoxListActionListener {
+        void onStartDisplayingCheckBoxes();
+        void onSelectedContactIdsChanged();
+        void onStopDisplayingCheckBoxes();
+    }
+
+    private static final String EXTRA_KEY_SELECTED_CONTACTS = "selected_contacts";
+
+    private OnCheckBoxListActionListener mCheckBoxListListener;
+
+    public void setCheckBoxListListener(OnCheckBoxListActionListener checkBoxListListener) {
+        mCheckBoxListListener = checkBoxListListener;
+    }
+
+    @Override
+    public void onSelectedContactsChanged() {
+        if (mCheckBoxListListener != null) {
+            mCheckBoxListListener.onSelectedContactIdsChanged();
+        }
+    }
+
+    @Override
+    public void onSelectedContactsChangedViaCheckBox() {
+        if (getAdapter().getSelectedContactIds().size() == 0) {
+            // Last checkbox has been unchecked. So we should stop displaying checkboxes.
+            mCheckBoxListListener.onStopDisplayingCheckBoxes();
+        } else {
+            onSelectedContactsChanged();
+        }
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        if (savedInstanceState != null) {
+            final TreeSet<Long> selectedContactIds = (TreeSet<Long>)
+                    savedInstanceState.getSerializable(EXTRA_KEY_SELECTED_CONTACTS);
+            getAdapter().setSelectedContactIds(selectedContactIds);
+            if (mCheckBoxListListener != null) {
+                mCheckBoxListListener.onSelectedContactIdsChanged();
+            }
+        }
+    }
+
+    public TreeSet<Long> getSelectedContactIds() {
+        final MultiSelectEntryContactListAdapter adapter = getAdapter();
+        return adapter.getSelectedContactIds();
+    }
+
+    @Override
+    public MultiSelectEntryContactListAdapter getAdapter() {
+        return (MultiSelectEntryContactListAdapter) super.getAdapter();
+    }
+
+    @Override
+    protected void configureAdapter() {
+        super.configureAdapter();
+        getAdapter().setSelectedContactsListener(this);
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putSerializable(EXTRA_KEY_SELECTED_CONTACTS, getSelectedContactIds());
+    }
+
+    public void displayCheckBoxes(boolean displayCheckBoxes) {
+        getAdapter().setDisplayCheckBoxes(displayCheckBoxes);
+        if (!displayCheckBoxes) {
+            clearCheckBoxes();
+        }
+    }
+
+    public void clearCheckBoxes() {
+        getAdapter().setSelectedContactIds(new TreeSet<Long>());
+    }
+
+    @Override
+    protected boolean onItemLongClick(int position, long id) {
+        final int previouslySelectedCount = getAdapter().getSelectedContactIds().size();
+        final Uri uri = getAdapter().getContactUri(position);
+        if (uri != null && (position > 0 || !getAdapter().hasProfile())) {
+            final String contactId = uri.getLastPathSegment();
+            if (!TextUtils.isEmpty(contactId)) {
+                if (mCheckBoxListListener != null) {
+                    mCheckBoxListListener.onStartDisplayingCheckBoxes();
+                }
+                getAdapter().toggleSelectionOfContactId(Long.valueOf(contactId));
+            }
+        }
+        final int nowSelectedCount = getAdapter().getSelectedContactIds().size();
+        if (mCheckBoxListListener != null
+                && previouslySelectedCount != 0 && nowSelectedCount == 0) {
+            // Last checkbox has been unchecked. So we should stop displaying checkboxes.
+            mCheckBoxListListener.onStopDisplayingCheckBoxes();
+        }
+        return true;
+    }
+
+    @Override
+    protected void onItemClick(int position, long id) {
+        final Uri uri = getAdapter().getContactUri(position);
+        if (uri == null) {
+            return;
+        }
+        if (getAdapter().isDisplayingCheckBoxes()) {
+            final String contactId = uri.getLastPathSegment();
+            if (!TextUtils.isEmpty(contactId)) {
+                getAdapter().toggleSelectionOfContactId(Long.valueOf(contactId));
+            }
+        } else {
+            super.onItemClick(position, id);
+        }
+        if (mCheckBoxListListener != null && getAdapter().getSelectedContactIds().size() == 0) {
+            mCheckBoxListListener.onStopDisplayingCheckBoxes();
+        }
+    }
+
+    @Override
+    protected ContactListAdapter createListAdapter() {
+        DefaultContactListAdapter adapter = new MultiSelectEntryContactListAdapter(getContext());
+        adapter.setSectionHeaderDisplayEnabled(isSectionHeaderDisplayEnabled());
+        adapter.setDisplayPhotos(true);
+        adapter.setPhotoPosition(
+                ContactListItemView.getDefaultPhotoPosition(/* opposite = */ false));
+        return adapter;
+    }
+}
diff --git a/src/com/android/contacts/list/MultiSelectEntryContactListAdapter.java b/src/com/android/contacts/list/MultiSelectEntryContactListAdapter.java
new file mode 100644
index 0000000..7c6f7bc
--- /dev/null
+++ b/src/com/android/contacts/list/MultiSelectEntryContactListAdapter.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.contacts.list;
+
+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.View.OnClickListener;
+import android.widget.CheckBox;
+
+import java.util.TreeSet;
+
+/**
+ * An extension of the default contact adapter that adds checkboxes and the ability
+ * to select multiple contacts.
+ */
+public class MultiSelectEntryContactListAdapter extends DefaultContactListAdapter {
+
+    private SelectedContactsListener mSelectedContactsListener;
+    private TreeSet<Long> mSelectedContactIds = new TreeSet<Long>();
+    private boolean mDisplayCheckBoxes;
+
+    public interface SelectedContactsListener {
+        void onSelectedContactsChanged();
+        void onSelectedContactsChangedViaCheckBox();
+    }
+
+    public MultiSelectEntryContactListAdapter(Context context) {
+        super(context);
+    }
+
+    public void setSelectedContactsListener(SelectedContactsListener listener) {
+        mSelectedContactsListener = listener;
+    }
+
+    /**
+     * Returns set of selected contacts.
+     */
+    public TreeSet<Long> getSelectedContactIds() {
+        return mSelectedContactIds;
+    }
+
+    /**
+     * Update set of selected contacts. This changes which checkboxes are set.
+     */
+    public void setSelectedContactIds(TreeSet<Long> selectedContactIds) {
+        this.mSelectedContactIds = selectedContactIds;
+        notifyDataSetChanged();
+        if (mSelectedContactsListener != null) {
+            mSelectedContactsListener.onSelectedContactsChanged();
+        }
+    }
+
+    /**
+     * Shows checkboxes beside contacts if {@param displayCheckBoxes} is {@code TRUE}.
+     * Not guaranteed to work with all configurations of this adapter.
+     */
+    public void setDisplayCheckBoxes(boolean showCheckBoxes) {
+        if (!mDisplayCheckBoxes && showCheckBoxes) {
+            setSelectedContactIds(new TreeSet<Long>());
+        }
+        mDisplayCheckBoxes = showCheckBoxes;
+        notifyDataSetChanged();
+        if (mSelectedContactsListener != null) {
+            mSelectedContactsListener.onSelectedContactsChanged();
+        }
+    }
+
+    /**
+     * Checkboxes are being displayed beside contacts.
+     */
+    public boolean isDisplayingCheckBoxes() {
+        return mDisplayCheckBoxes;
+    }
+
+    /**
+     * Toggle the checkbox beside the contact for {@param contactId}.
+     */
+    public void toggleSelectionOfContactId(long contactId) {
+        if (mSelectedContactIds.contains(contactId)) {
+            mSelectedContactIds.remove(contactId);
+        } else {
+            mSelectedContactIds.add(contactId);
+        }
+        notifyDataSetChanged();
+        if (mSelectedContactsListener != null) {
+            mSelectedContactsListener.onSelectedContactsChanged();
+        }
+    }
+
+    @Override
+    protected void bindView(View itemView, int partition, Cursor cursor, int position) {
+        super.bindView(itemView, partition, cursor, position);
+        final ContactListItemView view = (ContactListItemView)itemView;
+        bindCheckBox(view, cursor, position);
+    }
+
+    private void bindCheckBox(ContactListItemView view, Cursor cursor, int position) {
+        // Disable clicking on the first entry when showing check boxes. We do this by
+        // telling the view to handle clicking itself.
+        view.setClickable(position == 0 && hasProfile() && mDisplayCheckBoxes);
+        // Only show checkboxes if mDisplayCheckBoxes is enabled. Also, never show the
+        // checkbox for the Me profile entry.
+        if (position == 0 && hasProfile() || !mDisplayCheckBoxes) {
+            view.hideCheckBox();
+            return;
+        }
+        final CheckBox checkBox = view.getCheckBox();
+        final long contactId = cursor.getLong(ContactQuery.CONTACT_ID);
+        checkBox.setChecked(mSelectedContactIds.contains(contactId));
+        checkBox.setTag(contactId);
+        checkBox.setOnClickListener(mCheckBoxClickListener);
+    }
+
+    private final OnClickListener mCheckBoxClickListener = new OnClickListener() {
+        @Override
+        public void onClick(View v) {
+            final CheckBox checkBox = (CheckBox) v;
+            final Long contactId = (Long) checkBox.getTag();
+            if (checkBox.isChecked()) {
+                mSelectedContactIds.add(contactId);
+            } else {
+                mSelectedContactIds.remove(contactId);
+            }
+            if (mSelectedContactsListener != null) {
+                mSelectedContactsListener.onSelectedContactsChangedViaCheckBox();
+            }
+        }
+    };
+}
diff --git a/src/com/android/contacts/list/OnContactsUnavailableActionListener.java b/src/com/android/contacts/list/OnContactsUnavailableActionListener.java
index e8edea8..cc381e4 100644
--- a/src/com/android/contacts/list/OnContactsUnavailableActionListener.java
+++ b/src/com/android/contacts/list/OnContactsUnavailableActionListener.java
@@ -34,10 +34,4 @@
      * Initiates contact import from a file.
      */
     void onImportContactsFromFileAction();
-
-    /**
-     * Initiates an interaction that frees up some internal storage for the purposes
-     * of a database upgrade.
-     */
-    void onFreeInternalStorageAction();
 }
diff --git a/src/com/android/contacts/list/ProviderStatusWatcher.java b/src/com/android/contacts/list/ProviderStatusWatcher.java
index 3e8d3f5..23ae4d5 100644
--- a/src/com/android/contacts/list/ProviderStatusWatcher.java
+++ b/src/com/android/contacts/list/ProviderStatusWatcher.java
@@ -47,22 +47,8 @@
         public void onProviderStatusChange();
     }
 
-    public static class Status {
-        /** See {@link ProviderStatus#STATUS} */
-        public final int status;
-
-        /** See {@link ProviderStatus#DATA1} */
-        public final String data;
-
-        public Status(int status, String data) {
-            this.status = status;
-            this.data = data;
-        }
-    }
-
     private static final String[] PROJECTION = new String[] {
-        ProviderStatus.STATUS,
-        ProviderStatus.DATA1
+        ProviderStatus.STATUS
     };
 
     /**
@@ -81,8 +67,9 @@
 
     private LoaderTask mLoaderTask;
 
-    /** Last known provider status.  This can be changed on a worker thread. */
-    private Status mProviderStatus;
+    /** Last known provider status.  This can be changed on a worker thread.
+     *  See {@link ProviderStatus#STATUS} */
+    private Integer mProviderStatus;
 
     private final ArrayList<ProviderStatusListener> mListeners = Lists.newArrayList();
 
@@ -185,11 +172,11 @@
      * (If {@link ProviderStatus#STATUS_UPGRADING} is returned, the app (should) shows an according
      * message, like "contacts are being updated".)
      */
-    public Status getProviderStatus() {
+    public int getProviderStatus() {
         waitForLoaded();
 
         if (mProviderStatus == null) {
-            return new Status(ProviderStatus.STATUS_UPGRADING, null);
+            return ProviderStatus.STATUS_UPGRADING;
         }
 
         return mProviderStatus;
@@ -234,8 +221,7 @@
                         if (cursor.moveToFirst()) {
                             // Note here we can't just say "Status", as AsyncTask has the "Status"
                             // enum too.
-                            mProviderStatus = new ProviderStatusWatcher.Status(
-                                    cursor.getInt(0), cursor.getString(1));
+                            mProviderStatus = cursor.getInt(0);
                             return true;
                         }
                     } finally {
@@ -283,22 +269,4 @@
         mHandler.removeCallbacks(mStartLoadingRunnable); // Remove one in the queue, if any.
         mHandler.post(mStartLoadingRunnable);
     }
-
-    /**
-     * Sends a provider status update, which will trigger a retry of database upgrade
-     */
-    public static void retryUpgrade(final Context context) {
-        Log.i(TAG, "retryUpgrade");
-        final AsyncTask<Void, Void, Void> task = new AsyncTask<Void, Void, Void>() {
-            @Override
-            protected Void doInBackground(Void... params) {
-                ContentValues values = new ContentValues();
-                values.put(ProviderStatus.STATUS, ProviderStatus.STATUS_UPGRADING);
-                context.getContentResolver().update(ProviderStatus.CONTENT_URI, values,
-                        null, null);
-                return null;
-            }
-        };
-        task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
-    }
 }
diff --git a/src/com/android/contacts/list/UiIntentActions.java b/src/com/android/contacts/list/UiIntentActions.java
new file mode 100644
index 0000000..5539635
--- /dev/null
+++ b/src/com/android/contacts/list/UiIntentActions.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.contacts.list;
+
+/**
+ * Intent actions related to the Contacts app UI. In the past we decided to store these in a single
+ * location in order to easily expose them via ContactsContract. We eventually decided
+ * this wasn't useful.
+ */
+public class UiIntentActions {
+    /**
+     * The action for the default contacts list tab.
+     */
+    public static final String LIST_DEFAULT =
+            "com.android.contacts.action.LIST_DEFAULT";
+
+    /**
+     * The action for the contacts list tab.
+     */
+    public static final String LIST_GROUP_ACTION =
+            "com.android.contacts.action.LIST_GROUP";
+
+    /**
+     * When in LIST_GROUP_ACTION mode, this is the group to display.
+     */
+    public static final String GROUP_NAME_EXTRA_KEY = "com.android.contacts.extra.GROUP";
+
+    /**
+     * The action for the all contacts list tab.
+     */
+    public static final String LIST_ALL_CONTACTS_ACTION =
+            "com.android.contacts.action.LIST_ALL_CONTACTS";
+
+    /**
+     * The action for the contacts with phone numbers list tab.
+     */
+    public static final String LIST_CONTACTS_WITH_PHONES_ACTION =
+            "com.android.contacts.action.LIST_CONTACTS_WITH_PHONES";
+
+    /**
+     * The action for the starred contacts list tab.
+     */
+    public static final String LIST_STARRED_ACTION =
+            "com.android.contacts.action.LIST_STARRED";
+
+    /**
+     * The action for the frequent contacts list tab.
+     */
+    public static final String LIST_FREQUENT_ACTION =
+            "com.android.contacts.action.LIST_FREQUENT";
+
+    /**
+     * The action for the "Join Contact" picker.
+     */
+    public static final String PICK_JOIN_CONTACT_ACTION =
+            "com.android.contacts.action.JOIN_CONTACT";
+
+    /**
+     * The action for the "strequent" contacts list tab. It first lists the starred
+     * contacts in alphabetical order and then the frequent contacts in descending
+     * order of the number of times they have been contacted.
+     */
+    public static final String LIST_STREQUENT_ACTION =
+            "com.android.contacts.action.LIST_STREQUENT";
+
+    /**
+     * A key for to be used as an intent extra to set the activity
+     * title to a custom String value.
+     */
+    public static final String TITLE_EXTRA_KEY =
+            "com.android.contacts.extra.TITLE_EXTRA";
+
+    /**
+     * Used as an int extra field in {@link #FILTER_CONTACTS_ACTION}
+     * intents to supply the text on which to filter.
+     */
+    public static final String FILTER_TEXT_EXTRA_KEY =
+            "com.android.contacts.extra.FILTER_TEXT";
+
+    /**
+     * Used with JOIN_CONTACT action to set the target for aggregation. This action type
+     * uses contact ids instead of contact uris for the sake of backwards compatibility.
+     * <p>
+     * Type: LONG
+     */
+    public static final String TARGET_CONTACT_ID_EXTRA_KEY
+            = "com.android.contacts.action.CONTACT_ID";
+}
\ No newline at end of file
diff --git a/src/com/android/contacts/quickcontact/DataAction.java b/src/com/android/contacts/quickcontact/DataAction.java
index a41cf77..5a49c77 100644
--- a/src/com/android/contacts/quickcontact/DataAction.java
+++ b/src/com/android/contacts/quickcontact/DataAction.java
@@ -23,7 +23,6 @@
 import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
-import android.net.WebAddress;
 import android.provider.ContactsContract.CommonDataKinds.Im;
 import android.provider.ContactsContract.Data;
 import android.telecom.PhoneAccount;
@@ -43,6 +42,7 @@
 import com.android.contacts.common.model.dataitem.SipAddressDataItem;
 import com.android.contacts.common.model.dataitem.StructuredPostalDataItem;
 import com.android.contacts.common.model.dataitem.WebsiteDataItem;
+import com.android.contacts.quickcontact.WebAddress.ParseException;
 import com.android.contacts.util.PhoneCapabilityTester;
 import com.android.contacts.util.StructuredPostalUtils;
 
@@ -169,8 +169,12 @@
             final WebsiteDataItem website = (WebsiteDataItem) item;
             final String url = website.getUrl();
             if (!TextUtils.isEmpty(url)) {
-                WebAddress webAddress = new WebAddress(url);
-                mIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(webAddress.toString()));
+                try {
+                    final WebAddress webAddress = new WebAddress(url);
+                    mIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(webAddress.toString()));
+                } catch (ParseException e) {
+                    mIntent = null;
+                }
             }
 
         } else if (item instanceof ImDataItem) {
diff --git a/src/com/android/contacts/quickcontact/DirectoryContactUtil.java b/src/com/android/contacts/quickcontact/DirectoryContactUtil.java
index 1571b0a..c4969cc 100644
--- a/src/com/android/contacts/quickcontact/DirectoryContactUtil.java
+++ b/src/com/android/contacts/quickcontact/DirectoryContactUtil.java
@@ -1,15 +1,26 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 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;
@@ -17,7 +28,6 @@
 import android.widget.Toast;
 
 import java.util.ArrayList;
-import java.util.List;
 
 /**
  * Utility class to support adding directory contacts.
diff --git a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
index b912a3d..10b2898 100644
--- a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
+++ b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
@@ -15,6 +15,9 @@
  */
 package com.android.contacts.quickcontact;
 
+import android.animation.Animator;
+import android.animation.Animator.AnimatorListener;
+import android.animation.AnimatorSet;
 import android.animation.ObjectAnimator;
 import android.content.Context;
 import android.content.Intent;
@@ -26,7 +29,6 @@
 import android.text.Spannable;
 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;
@@ -34,6 +36,7 @@
 import android.transition.TransitionSet;
 import android.util.AttributeSet;
 import android.util.Log;
+import android.util.Property;
 import android.view.ContextMenu.ContextMenuInfo;
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
@@ -42,6 +45,7 @@
 import android.view.ViewGroup;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
+import android.widget.LinearLayout.LayoutParams;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
@@ -57,11 +61,28 @@
 
     private static final String TAG = "ExpandingEntryCardView";
     private static final int DURATION_EXPAND_ANIMATION_FADE_IN = 200;
+    private static final int DURATION_COLLAPSE_ANIMATION_FADE_OUT = 75;
     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;
 
+    private static final Property<View, Integer> VIEW_LAYOUT_HEIGHT_PROPERTY =
+            new Property<View, Integer>(Integer.class, "height") {
+                @Override
+                public void set(View view, Integer height) {
+                    LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)
+                            view.getLayoutParams();
+                    params.height = height;
+                    view.setLayoutParams(params);
+                }
+
+                @Override
+                public Integer get(View view) {
+                    return view.getLayoutParams().height;
+                }
+            };
+
     /**
      * Entry data.
      */
@@ -194,7 +215,8 @@
 
     public interface ExpandingEntryCardViewListener {
         void onCollapse(int heightDelta);
-        void onExpand(int heightDelta);
+        void onExpand();
+        void onExpandDone();
     }
 
     private View mExpandCollapseButton;
@@ -219,12 +241,18 @@
     private final ImageView mExpandCollapseArrow;
     private int mThemeColor;
     private ColorFilter mThemeColorFilter;
+    /**
+     * Whether to prioritize the first entry type. If prioritized, we should show at least two
+     * of this entry type.
+     */
+    private boolean mShowFirstEntryTypeTwice;
     private boolean mIsAlwaysExpanded;
     /** The ViewGroup to run the expand/collapse animation on */
     private ViewGroup mAnimationViewGroup;
     private LinearLayout mBadgeContainer;
     private final List<ImageView> mBadges;
     private final List<Integer> mBadgeIds;
+    private final int mDividerLineHeightPixels;
     /**
      * List to hold the separators. This saves us from reconstructing every expand/collapse and
      * provides a smoother animation.
@@ -262,11 +290,20 @@
         mExpandCollapseArrow = (ImageView) mExpandCollapseButton.findViewById(R.id.arrow);
         mExpandCollapseButton.setOnClickListener(mExpandCollapseButtonListener);
         mBadgeContainer = (LinearLayout) mExpandCollapseButton.findViewById(R.id.badge_container);
+        mDividerLineHeightPixels = getResources()
+                .getDimensionPixelSize(R.dimen.divider_line_height);
 
         mBadges = new ArrayList<ImageView>();
         mBadgeIds = new ArrayList<Integer>();
     }
 
+    public void initialize(List<List<Entry>> entries, int numInitialVisibleEntries,
+            boolean isExpanded, boolean isAlwaysExpanded, ExpandingEntryCardViewListener listener,
+            ViewGroup animationViewGroup) {
+        initialize(entries, numInitialVisibleEntries, isExpanded, isAlwaysExpanded,
+                listener, animationViewGroup, /* showFirstEntryTypeTwice = */ false);
+    }
+
     /**
      * Sets the Entry list to display.
      *
@@ -274,7 +311,8 @@
      */
     public void initialize(List<List<Entry>> entries, int numInitialVisibleEntries,
             boolean isExpanded, boolean isAlwaysExpanded,
-            ExpandingEntryCardViewListener listener, ViewGroup animationViewGroup) {
+            ExpandingEntryCardViewListener listener, ViewGroup animationViewGroup,
+            boolean showFirstEntryTypeTwice) {
         LayoutInflater layoutInflater = LayoutInflater.from(getContext());
         mIsExpanded = isExpanded;
         mIsAlwaysExpanded = isAlwaysExpanded;
@@ -284,6 +322,7 @@
         mEntries = entries;
         mNumEntries = 0;
         mAllEntriesInflated = false;
+        mShowFirstEntryTypeTwice = showFirstEntryTypeTwice;
         for (List<Entry> entryList : mEntries) {
             mNumEntries += entryList.size();
             mEntryViews.add(new ArrayList<View>());
@@ -341,10 +380,34 @@
         mOnCreateContextMenuListener = listener;
     }
 
+    private List<View> calculateEntriesToRemoveDuringCollapse() {
+        final List<View> viewsToRemove = getViewsToDisplay(true);
+        final List<View> viewsCollapsed = getViewsToDisplay(false);
+        viewsToRemove.removeAll(viewsCollapsed);
+        return viewsToRemove;
+    }
+
     private void insertEntriesIntoViewGroup() {
         mEntriesViewGroup.removeAllViews();
 
-        if (mIsExpanded) {
+        for (View view : getViewsToDisplay(mIsExpanded)) {
+            mEntriesViewGroup.addView(view);
+        }
+
+        removeView(mExpandCollapseButton);
+        if (mCollapsedEntriesCount < mNumEntries
+                && mExpandCollapseButton.getParent() == null && !mIsAlwaysExpanded) {
+            mContainer.addView(mExpandCollapseButton, -1);
+        }
+    }
+
+    /**
+     * Returns the list of views that should be displayed. This changes depending on whether
+     * the card is expanded or collapsed.
+     */
+    private List<View> getViewsToDisplay(boolean isExpanded) {
+        final List<View> viewsToDisplay = new ArrayList<View>();
+        if (isExpanded) {
             for (int i = 0; i < mEntryViews.size(); i++) {
                 List<View> viewList = mEntryViews.get(i);
                 if (i > 0) {
@@ -355,10 +418,10 @@
                     } else {
                         separator = mSeparators.get(i - 1);
                     }
-                    mEntriesViewGroup.addView(separator);
+                    viewsToDisplay.add(separator);
                 }
                 for (View view : viewList) {
-                    addEntry(view);
+                    viewsToDisplay.add(view);
                 }
             }
         } else {
@@ -378,33 +441,40 @@
                     } else {
                         separator = mSeparators.get(i - 1);
                     }
-                    mEntriesViewGroup.addView(separator);
+                    viewsToDisplay.add(separator);
                 }
-                addEntry(entryViewList.get(0));
+                viewsToDisplay.add(entryViewList.get(0));
                 numInViewGroup++;
+
+                int indexInEntryViewList = 1;
+                if (mShowFirstEntryTypeTwice && i == 0 && entryViewList.size() > 1) {
+                    viewsToDisplay.add(entryViewList.get(1));
+                    numInViewGroup++;
+                    extraEntries--;
+                    indexInEntryViewList++;
+                }
+
                 // Insert entries in this list to hit mCollapsedEntriesCount.
-                for (int j = 1;
+                for (int j = indexInEntryViewList;
                         j < entryViewList.size() && numInViewGroup < mCollapsedEntriesCount &&
                         extraEntries > 0;
                         j++) {
-                    addEntry(entryViewList.get(j));
+                    viewsToDisplay.add(entryViewList.get(j));
                     numInViewGroup++;
                     extraEntries--;
                 }
             }
         }
 
-        removeView(mExpandCollapseButton);
-        if (mCollapsedEntriesCount < mNumEntries
-                && mExpandCollapseButton.getParent() == null && !mIsAlwaysExpanded) {
-            mContainer.addView(mExpandCollapseButton, -1);
-        }
+        formatEntryIfFirst(viewsToDisplay);
+        return viewsToDisplay;
     }
 
-    private void addEntry(View entry) {
+    private void formatEntryIfFirst(List<View> entriesViewGroup) {
         // If no title and the first entry in the group, add extra padding
         if (TextUtils.isEmpty(mTitleTextView.getText()) &&
-                mEntriesViewGroup.getChildCount() == 0) {
+                entriesViewGroup.size() > 0) {
+            final View entry = entriesViewGroup.get(0);
             entry.setPadding(entry.getPaddingLeft(),
                     getResources().getDimensionPixelSize(
                             R.dimen.expanding_entry_card_item_padding_top) +
@@ -413,7 +483,6 @@
                     entry.getPaddingRight(),
                     entry.getPaddingBottom());
         }
-        mEntriesViewGroup.addView(entry);
     }
 
     private View generateSeparator(View entry) {
@@ -423,8 +492,7 @@
         separator.setBackgroundColor(res.getColor(
                 R.color.divider_line_color_light));
         LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                res.getDimensionPixelSize(R.dimen.divider_line_height));
+                ViewGroup.LayoutParams.MATCH_PARENT, mDividerLineHeightPixels);
         // 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(
@@ -478,9 +546,20 @@
                 entryViewList.add(createEntryView(layoutInflater, entryList.get(0),
                         /* showIcon = */ View.VISIBLE));
                 numInflated++;
+
+                int indexInEntryViewList = 1;
+                if (mShowFirstEntryTypeTwice && i == 0 && entryList.size() > 1) {
+                    entryViewList.add(createEntryView(layoutInflater, entryList.get(1),
+                        /* showIcon = */ View.INVISIBLE));
+                    numInflated++;
+                    extraEntries--;
+                    indexInEntryViewList++;
+                }
+
                 // Inflate entries in this list to hit mCollapsedEntriesCount.
-                for (int j = 1; j < entryList.size() && numInflated < mCollapsedEntriesCount &&
-                        extraEntries > 0; j++) {
+                for (int j = indexInEntryViewList; j < entryList.size()
+                        && numInflated < mCollapsedEntriesCount
+                        && extraEntries > 0; j++) {
                     entryViewList.add(createEntryView(layoutInflater, entryList.get(j),
                             /* showIcon = */ View.INVISIBLE));
                     numInflated++;
@@ -718,9 +797,14 @@
         if (mIsExpanded) {
             mBadgeContainer.removeAllViews();
         } else {
+            int numberOfMimeTypesShown = mCollapsedEntriesCount;
+            if (mShowFirstEntryTypeTwice && mEntries.size() > 0
+                    && mEntries.get(0).size() > 1) {
+                numberOfMimeTypesShown--;
+            }
             // Inflate badges if not yet created
-            if (mBadges.size() < mEntries.size() - mCollapsedEntriesCount) {
-                for (int i = mCollapsedEntriesCount; i < mEntries.size(); i++) {
+            if (mBadges.size() < mEntries.size() - numberOfMimeTypesShown) {
+                for (int i = numberOfMimeTypesShown; i < mEntries.size(); i++) {
                     Drawable badgeDrawable = mEntries.get(i).get(0).getIcon();
                     int badgeResourceId = mEntries.get(i).get(0).getIconResourceId();
                     // Do not add the same badge twice
@@ -770,12 +854,12 @@
         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);
+                mListener.onExpand();
             }
 
             @Override
             public void onTransitionEnd(Transition transition) {
+                mListener.onExpandDone();
             }
 
             @Override
@@ -802,57 +886,62 @@
     }
 
     private void collapse() {
-        final int startingHeight = mEntriesViewGroup.getMeasuredHeight();
-        mIsExpanded = false;
-        updateExpandCollapseButton(getExpandButtonText(),
-                DURATION_COLLAPSE_ANIMATION_CHANGE_BOUNDS);
+        final List<View> views = calculateEntriesToRemoveDuringCollapse();
 
-        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);
-
-        transitionSet.excludeTarget(R.id.text, /* exclude = */ true);
-
-        final ViewGroup transitionViewContainer = mAnimationViewGroup == null ?
-                this : mAnimationViewGroup;
-
-        boundsTransition.addListener(new TransitionListener() {
+        // This animation requires layout changes, unlike the expand() animation: the action bar
+        // might get scrolled open in order to fill empty space. As a result, we can't use
+        // ChangeBounds here. Instead manually animate view height and alpha. This isn't as
+        // efficient as the bounds and translation changes performed by ChangeBounds. Nonetheless, a
+        // reasonable frame-rate is achieved collapsing a dozen elements on a user Svelte N4. So the
+        // performance hit doesn't justify writing a less maintainable animation.
+        final AnimatorSet set = new AnimatorSet();
+        final List<Animator> animators = new ArrayList<Animator>(views.size());
+        int totalSizeChange = 0;
+        for (View viewToRemove : views) {
+            final ObjectAnimator animator = ObjectAnimator.ofObject(viewToRemove,
+                    VIEW_LAYOUT_HEIGHT_PROPERTY, null, viewToRemove.getHeight(), 0);
+            totalSizeChange += viewToRemove.getHeight();
+            animator.setDuration(DURATION_COLLAPSE_ANIMATION_CHANGE_BOUNDS);
+            animators.add(animator);
+            viewToRemove.animate().alpha(0).setDuration(DURATION_COLLAPSE_ANIMATION_FADE_OUT);
+        }
+        set.playTogether(animators);
+        set.start();
+        set.addListener(new AnimatorListener() {
             @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);
+            public void onAnimationStart(Animator animation) {
             }
 
             @Override
-            public void onTransitionEnd(Transition transition) {
+            public void onAnimationEnd(Animator animation) {
+                // Now that the views have been animated away, actually remove them from the view
+                // hierarchy. Reset their appearance so that they look appropriate when they
+                // get added back later.
+                insertEntriesIntoViewGroup();
+                for (View view : views) {
+                    if (view instanceof EntryView) {
+                        VIEW_LAYOUT_HEIGHT_PROPERTY.set(view, LayoutParams.WRAP_CONTENT);
+                    } else {
+                        VIEW_LAYOUT_HEIGHT_PROPERTY.set(view, mDividerLineHeightPixels);
+                    }
+                    view.animate().cancel();
+                    view.setAlpha(1);
+                }
             }
 
             @Override
-            public void onTransitionCancel(Transition transition) {
+            public void onAnimationCancel(Animator animation) {
             }
 
             @Override
-            public void onTransitionPause(Transition transition) {
-            }
-
-            @Override
-            public void onTransitionResume(Transition transition) {
+            public void onAnimationRepeat(Animator animation) {
             }
         });
 
-        TransitionManager.beginDelayedTransition(transitionViewContainer, transitionSet);
-
-        insertEntriesIntoViewGroup();
+        mListener.onCollapse(totalSizeChange);
+        mIsExpanded = false;
+        updateExpandCollapseButton(getExpandButtonText(),
+                DURATION_COLLAPSE_ANIMATION_CHANGE_BOUNDS);
     }
 
     /**
@@ -1049,7 +1138,7 @@
         }
 
         private boolean hitThirdIcon(MotionEvent event) {
-            if (mEntry.isLayoutRtl()) {
+            if (mEntry.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
                 return mThirdIcon.getVisibility() == View.VISIBLE &&
                         event.getX() < mThirdIcon.getRight();
             } else {
@@ -1065,7 +1154,7 @@
             // LayoutParams used to add the start margin to the touch area
             final RelativeLayout.LayoutParams alternateIconParams =
                     (RelativeLayout.LayoutParams) mAlternateIcon.getLayoutParams();
-            if (mEntry.isLayoutRtl()) {
+            if (mEntry.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
                 return mAlternateIcon.getVisibility() == View.VISIBLE &&
                         event.getX() < mAlternateIcon.getRight() + alternateIconParams.rightMargin;
             } else {
diff --git a/src/com/android/contacts/quickcontact/InvisibleContactUtil.java b/src/com/android/contacts/quickcontact/InvisibleContactUtil.java
index 3609fbc..de70424 100644
--- a/src/com/android/contacts/quickcontact/InvisibleContactUtil.java
+++ b/src/com/android/contacts/quickcontact/InvisibleContactUtil.java
@@ -94,7 +94,7 @@
         final Intent intent = ContactSaveService.createSaveContactIntent(
                 context,
                 contactDeltaList, "", 0, false, QuickContactActivity.class,
-                Intent.ACTION_VIEW, null);
+                Intent.ACTION_VIEW, null, /* backPressed =*/ false);
         context.startService(intent);
     }
 
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index c9e093a..405d8f0 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -40,9 +40,7 @@
 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.Trace;
@@ -98,6 +96,7 @@
 import com.android.contacts.common.ClipboardUtils;
 import com.android.contacts.common.Collapser;
 import com.android.contacts.common.ContactsUtils;
+import com.android.contacts.common.activity.RequestPermissionsActivity;
 import com.android.contacts.common.editor.SelectAccountDialogFragment;
 import com.android.contacts.common.interactions.TouchPointManager;
 import com.android.contacts.common.lettertiles.LetterTileDrawable;
@@ -123,12 +122,14 @@
 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.ImplicitIntentsUtil;
 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.editor.ContactEditorFragment;
+import com.android.contacts.editor.EditorIntents;
 import com.android.contacts.interactions.CalendarInteractionsLoader;
 import com.android.contacts.interactions.CallLogInteractionsLoader;
 import com.android.contacts.interactions.ContactDeletionInteraction;
@@ -138,6 +139,7 @@
 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.quickcontact.WebAddress.ParseException;
 import com.android.contacts.util.ImageViewDrawableSetter;
 import com.android.contacts.util.PhoneCapabilityTester;
 import com.android.contacts.util.SchedulingUtils;
@@ -145,6 +147,8 @@
 import com.android.contacts.widget.MultiShrinkScroller;
 import com.android.contacts.widget.MultiShrinkScroller.MultiShrinkScrollerListener;
 import com.android.contacts.widget.QuickContactImageView;
+import com.android.contactsbind.HelpUtils;
+
 import com.google.common.collect.Lists;
 
 import java.lang.SecurityException;
@@ -208,6 +212,7 @@
     private Uri mLookupUri;
     private String[] mExcludeMimes;
     private int mExtraMode;
+    private String mExtraPrioritizedMimeType;
     private int mStatusBarColor;
     private boolean mHasAlreadyBeenOpened;
     private boolean mOnlyOnePhoneNumber;
@@ -247,6 +252,7 @@
     private Contact mContactData;
     private ContactLoader mContactLoader;
     private PorterDuffColorFilter mColorFilter;
+    private int mColorFilterColor;
 
     private final ImageViewDrawableSetter mPhotoSetter = new ImageViewDrawableSetter();
 
@@ -335,6 +341,31 @@
                 return;
             }
 
+            // Pass the touch point through the intent for use in the InCallUI
+            if (Intent.ACTION_CALL.equals(intent.getAction())) {
+                if (TouchPointManager.getInstance().hasValidPoint()) {
+                    Bundle extras = new Bundle();
+                    extras.putParcelable(TouchPointManager.TOUCH_POINT,
+                            TouchPointManager.getInstance().getPoint());
+                    intent.putExtra(TelecomManager.EXTRA_OUTGOING_CALL_EXTRAS, extras);
+                }
+            }
+
+            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+
+            mHasIntentLaunched = true;
+            try {
+                startActivity(intent);
+            } catch (SecurityException ex) {
+                Toast.makeText(QuickContactActivity.this, R.string.missing_app,
+                        Toast.LENGTH_SHORT).show();
+                Log.e(TAG, "QuickContacts does not have permission to launch "
+                        + intent);
+            } catch (ActivityNotFoundException ex) {
+                Toast.makeText(QuickContactActivity.this, R.string.missing_app,
+                        Toast.LENGTH_SHORT).show();
+            }
+
             // 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;
@@ -375,7 +406,7 @@
 
             mHasIntentLaunched = true;
             try {
-                startActivity(intent);
+                ImplicitIntentsUtil.startActivityInAppIfPossible(QuickContactActivity.this, intent);
             } catch (SecurityException ex) {
                 Toast.makeText(QuickContactActivity.this, R.string.missing_app,
                         Toast.LENGTH_SHORT).show();
@@ -396,8 +427,13 @@
         }
 
         @Override
-        public void onExpand(int heightDelta) {
-            mScroller.prepareForExpandingScrollChild();
+        public void onExpand() {
+            mScroller.setDisableTouchesForSuppressLayout(/* areTouchesDisabled = */ true);
+        }
+
+        @Override
+        public void onExpandDone() {
+            mScroller.setDisableTouchesForSuppressLayout(/* areTouchesDisabled = */ false);
         }
     };
 
@@ -580,16 +616,31 @@
 
     /**
      * Sorts among different mimetypes based off:
-     * 1. Times used
-     * 2. Last time used
-     * 3. Statically defined
+     * 1. Whether one of the mimetypes is the prioritized mimetype
+     * 2. Number of times used
+     * 3. Last time used
+     * 4. 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 DataItem lhs = lhsList.get(0);
+            final DataItem rhs = rhsList.get(0);
+            final String lhsMimeType = lhs.getMimeType();
+            final String rhsMimeType = rhs.getMimeType();
+
+            // 1. Whether one of the mimetypes is the prioritized mimetype
+            if (!TextUtils.isEmpty(mExtraPrioritizedMimeType) && !lhsMimeType.equals(rhsMimeType)) {
+                if (rhsMimeType.equals(mExtraPrioritizedMimeType)) {
+                    return 1;
+                }
+                if (lhsMimeType.equals(mExtraPrioritizedMimeType)) {
+                    return -1;
+                }
+            }
+
+            // 2. Number of times used
             final int lhsTimesUsed = lhs.getTimesUsed() == null ? 0 : lhs.getTimesUsed();
             final int rhsTimesUsed = rhs.getTimesUsed() == null ? 0 : rhs.getTimesUsed();
             final int timesUsedDifference = rhsTimesUsed - lhsTimesUsed;
@@ -597,6 +648,7 @@
                 return timesUsedDifference;
             }
 
+            // 3. Last time used
             final long lhsLastTimeUsed =
                     lhs.getLastTimeUsed() == null ? 0 : lhs.getLastTimeUsed();
             final long rhsLastTimeUsed =
@@ -608,14 +660,14 @@
                 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;
+            // 4. Resort to a statically defined mimetype order.
+            if (!lhsMimeType.equals(rhsMimeType)) {
+                for (String mimeType : LEADING_MIMETYPES) {
+                    if (lhsMimeType.equals(mimeType)) {
+                        return -1;
+                    } else if (rhsMimeType.equals(mimeType)) {
+                        return 1;
+                    }
                 }
             }
             return 0;
@@ -635,6 +687,10 @@
         Trace.beginSection("onCreate()");
         super.onCreate(savedInstanceState);
 
+        if (RequestPermissionsActivity.startPermissionActivity(this)) {
+            return;
+        }
+
         getWindow().setStatusBarColor(Color.TRANSPARENT);
 
         processIntent(getIntent());
@@ -781,7 +837,7 @@
     public void onSaveInstanceState(Bundle savedInstanceState) {
         super.onSaveInstanceState(savedInstanceState);
         if (mColorFilter != null) {
-            savedInstanceState.putInt(KEY_THEME_COLOR, mColorFilter.getColor());
+            savedInstanceState.putInt(KEY_THEME_COLOR, mColorFilterColor);
         }
     }
 
@@ -798,8 +854,8 @@
             lookupUri = RawContacts.getContactLookupUri(getContentResolver(),
                     ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId));
         }
-        mExtraMode = getIntent().getIntExtra(QuickContact.EXTRA_MODE,
-                QuickContact.MODE_LARGE);
+        mExtraMode = getIntent().getIntExtra(QuickContact.EXTRA_MODE, QuickContact.MODE_LARGE);
+        mExtraPrioritizedMimeType = getIntent().getStringExtra(QuickContact.EXTRA_PRIORITIZED_MIMETYPE);
         final Uri oldLookupUri = mLookupUri;
 
         if (lookupUri == null) {
@@ -1026,12 +1082,17 @@
         final String customAboutCardName = cp2DataCardModel.customAboutCardName;
 
         if (contactCardEntries.size() > 0) {
+            final boolean firstEntriesArePrioritizedMimeType =
+                    !TextUtils.isEmpty(mExtraPrioritizedMimeType) &&
+                    mCachedCp2DataCardModel.dataItemsMap.containsKey(mExtraPrioritizedMimeType) &&
+                    mCachedCp2DataCardModel.dataItemsMap.get(mExtraPrioritizedMimeType).size() != 0;
             mContactCard.initialize(contactCardEntries,
                     /* numInitialVisibleEntries = */ MIN_NUM_CONTACT_ENTRIES_SHOWN,
                     /* isExpanded = */ mContactCard.isExpanded(),
                     /* isAlwaysExpanded = */ false,
                     mExpandingEntryCardViewListener,
-                    mScroller);
+                    mScroller,
+                    firstEntriesArePrioritizedMimeType);
             mContactCard.setVisibility(View.VISIBLE);
         } else {
             mContactCard.setVisibility(View.GONE);
@@ -1360,15 +1421,16 @@
             entryContextMenuInfo = new EntryContextMenuInfo(subHeader, header,
                     dataItem.getMimeType(), dataItem.getId(), dataItem.isSuperPrimary());
             try {
-                final WebAddress webAddress = new WebAddress(website.buildDataString(context,
-                        kind));
+                final WebAddress webAddress = new WebAddress(website.buildDataStringForDisplay
+                        (context, kind));
                 intent = new Intent(Intent.ACTION_VIEW, Uri.parse(webAddress.toString()));
             } catch (final ParseException e) {
-                Log.e(TAG, "Couldn't parse website: " + website.buildDataString(context, kind));
+                Log.e(TAG, "Couldn't parse website: " + website.buildDataStringForDisplay(
+                        context, kind));
             }
         } else if (dataItem instanceof EventDataItem) {
             final EventDataItem event = (EventDataItem) dataItem;
-            final String dataString = event.buildDataString(context, kind);
+            final String dataString = event.buildDataStringForDisplay(context, kind);
             final Calendar cal = DateUtils.parseDate(dataString, false);
             if (cal != null) {
                 final Date nextAnniversary =
@@ -1388,7 +1450,7 @@
                     dataItem.getMimeType(), dataItem.getId(), dataItem.isSuperPrimary());
         } else if (dataItem instanceof RelationDataItem) {
             final RelationDataItem relation = (RelationDataItem) dataItem;
-            final String dataString = relation.buildDataString(context, kind);
+            final String dataString = relation.buildDataStringForDisplay(context, kind);
             if (!TextUtils.isEmpty(dataString)) {
                 intent = new Intent(Intent.ACTION_SEARCH);
                 intent.putExtra(SearchManager.QUERY, dataString);
@@ -1407,7 +1469,7 @@
             final PhoneDataItem phone = (PhoneDataItem) dataItem;
             if (!TextUtils.isEmpty(phone.getNumber())) {
                 primaryContentDescription.append(res.getString(R.string.call_other)).append(" ");
-                header = sBidiFormatter.unicodeWrap(phone.buildDataString(context, kind),
+                header = sBidiFormatter.unicodeWrap(phone.buildDataStringForDisplay(context, kind),
                         TextDirectionHeuristics.LTR);
                 entryContextMenuInfo = new EntryContextMenuInfo(header,
                         res.getString(R.string.phoneLabelsGroup), dataItem.getMimeType(),
@@ -1506,12 +1568,17 @@
                 iconResourceId = R.drawable.ic_dialer_sip_black_24dp;
             }
         } else if (dataItem instanceof StructuredNameDataItem) {
-            final String givenName = ((StructuredNameDataItem) dataItem).getGivenName();
-            if (!TextUtils.isEmpty(givenName)) {
-                aboutCardName.value = res.getString(R.string.about_card_title) +
-                        " " + givenName;
-            } else {
-                aboutCardName.value = res.getString(R.string.about_card_title);
+            // If the name is already set and this is not the super primary value then leave the
+            // current value. This way we show the super primary value when we are able to.
+            if (dataItem.isSuperPrimary() || aboutCardName.value == null
+                    || aboutCardName.value.isEmpty()) {
+                final String givenName = ((StructuredNameDataItem) dataItem).getGivenName();
+                if (!TextUtils.isEmpty(givenName)) {
+                    aboutCardName.value = res.getString(R.string.about_card_title) +
+                            " " + givenName;
+                } else {
+                    aboutCardName.value = res.getString(R.string.about_card_title);
+                }
             }
         } else {
             // Custom DataItem
@@ -1830,16 +1897,16 @@
 
     private void setThemeColor(MaterialPalette palette) {
         // If the color is invalid, use the predefined default
-        final int primaryColor = palette.mPrimaryColor;
-        mScroller.setHeaderTintColor(primaryColor);
+        mColorFilterColor = palette.mPrimaryColor;
+        mScroller.setHeaderTintColor(mColorFilterColor);
         mStatusBarColor = palette.mSecondaryColor;
         updateStatusBarColor();
 
         mColorFilter =
-                new PorterDuffColorFilter(primaryColor, PorterDuff.Mode.SRC_ATOP);
-        mContactCard.setColorAndFilter(primaryColor, mColorFilter);
-        mRecentCard.setColorAndFilter(primaryColor, mColorFilter);
-        mAboutCard.setColorAndFilter(primaryColor, mColorFilter);
+                new PorterDuffColorFilter(mColorFilterColor, PorterDuff.Mode.SRC_ATOP);
+        mContactCard.setColorAndFilter(mColorFilterColor, mColorFilter);
+        mRecentCard.setColorAndFilter(mColorFilterColor, mColorFilter);
+        mAboutCard.setColorAndFilter(mColorFilterColor, mColorFilter);
     }
 
     private void updateStatusBarColor() {
@@ -2139,9 +2206,11 @@
     }
 
     private Intent getEditContactIntent() {
-        final Intent intent = new Intent(Intent.ACTION_EDIT, mContactData.getLookupUri());
-        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
-        return intent;
+        return EditorIntents.createCompactEditContactIntent(
+                mContactData.getLookupUri(),
+                mHasComputedThemeColor
+                        ? new MaterialPalette(mColorFilterColor, mStatusBarColor) : null,
+                /* updatedPhotos =*/ null);
     }
 
     private void editContact() {
@@ -2182,38 +2251,17 @@
         }
     }
 
-    /**
-     * 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);
-        }
-
+        final Uri shareUri = Uri.withAppendedPath(Contacts.CONTENT_VCARD_URI, lookupKey);
         final Intent intent = new Intent(Intent.ACTION_SEND);
         intent.setType(Contacts.CONTENT_VCARD_TYPE);
         intent.putExtra(Intent.EXTRA_STREAM, shareUri);
+        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+
+        // Even though the data doesn't need to be set for ACTION_SEND, it does need
+        // to be set so that FLAG_GRANT_READ_URI_PERMISSION can create a URI permission grant.
+        intent.setData(shareUri);
 
         // Launch chooser to share contact via
         final CharSequence chooseTitle = getText(R.string.share_via);
@@ -2221,7 +2269,7 @@
 
         try {
             mHasIntentLaunched = true;
-            this.startActivity(chooseIntent);
+            ImplicitIntentsUtil.startActivityOutsideApp(this, chooseIntent);
         } catch (final ActivityNotFoundException ex) {
             Toast.makeText(this, R.string.share_error, Toast.LENGTH_SHORT).show();
         }
@@ -2253,7 +2301,8 @@
     }
 
     private boolean isShortcutCreatable() {
-        if (mContactData == null || mContactData.isUserProfile()) {
+        if (mContactData == null || mContactData.isUserProfile() ||
+                mContactData.isDirectoryEntry()) {
             return false;
         }
         final Intent createShortcutIntent = new Intent();
@@ -2301,6 +2350,9 @@
             final MenuItem shortcutMenuItem = menu.findItem(R.id.menu_create_contact_shortcut);
             shortcutMenuItem.setVisible(isShortcutCreatable());
 
+            final MenuItem helpMenu = menu.findItem(R.id.menu_help);
+            helpMenu.setVisible(HelpUtils.isHelpAndFeedbackAvailable());
+
             return true;
         }
         return false;
@@ -2353,10 +2405,10 @@
                     // account.
                     if (mContactData.getDirectoryExportSupport() ==
                             Directory.EXPORT_SUPPORT_SAME_ACCOUNT_ONLY) {
-                        intent.putExtra(Intents.Insert.ACCOUNT,
+                        intent.putExtra(Intents.Insert.EXTRA_ACCOUNT,
                                 new Account(mContactData.getDirectoryAccountName(),
                                         mContactData.getDirectoryAccountType()));
-                        intent.putExtra(Intents.Insert.DATA_SET,
+                        intent.putExtra(Intents.Insert.EXTRA_DATA_SET,
                                 mContactData.getRawContacts().get(0).getDataSet());
                     }
 
@@ -2373,7 +2425,9 @@
                 }
                 return true;
             case R.id.menu_delete:
-                deleteContact();
+                if (isContactEditable()) {
+                    deleteContact();
+                }
                 return true;
             case R.id.menu_share:
                 if (isContactShareable()) {
@@ -2381,7 +2435,12 @@
                 }
                 return true;
             case R.id.menu_create_contact_shortcut:
-                createLauncherShortcutWithContact();
+                if (isShortcutCreatable()) {
+                    createLauncherShortcutWithContact();
+                }
+                return true;
+            case R.id.menu_help:
+                HelpUtils.launchHelpAndFeedbackForContactScreen(this);
                 return true;
             default:
                 return super.onOptionsItemSelected(item);
diff --git a/src/com/android/contacts/quickcontact/QuickContactBroadcastReceiver.java b/src/com/android/contacts/quickcontact/QuickContactBroadcastReceiver.java
index e0850d7..dae10af 100644
--- a/src/com/android/contacts/quickcontact/QuickContactBroadcastReceiver.java
+++ b/src/com/android/contacts/quickcontact/QuickContactBroadcastReceiver.java
@@ -16,6 +16,8 @@
 
 package com.android.contacts.quickcontact;
 
+import com.android.contacts.common.util.ImplicitIntentsUtil;
+
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -35,6 +37,6 @@
         newIntent.setSourceBounds(intent.getSourceBounds());
         newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
         newIntent.setData(dataUri);
-        context.startActivity(newIntent);
+        ImplicitIntentsUtil.startActivityInApp(context, newIntent);
     }
 }
diff --git a/src/com/android/contacts/quickcontact/WebAddress.java b/src/com/android/contacts/quickcontact/WebAddress.java
new file mode 100644
index 0000000..d55a874
--- /dev/null
+++ b/src/com/android/contacts/quickcontact/WebAddress.java
@@ -0,0 +1,147 @@
+/*
+ * 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 java.util.Locale;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static android.util.Patterns.GOOD_IRI_CHAR;
+
+/**
+ * Below is a partial copy of {@link android.net.WebAddress}. The original author doesn't
+ * believe this API is suitable for making public. He recommends we copy it.
+ *
+ * Web Address Parser
+ *
+ * This is called WebAddress, rather than URL or URI, because it
+ * attempts to parse the stuff that a user will actually type into a
+ * browser address widget.
+ *
+ * Unlike java.net.uri, this parser will not choke on URIs missing
+ * schemes.  It will only throw a ParseException if the input is
+ * really hosed.
+ *
+ * If given an https scheme but no port, fills in port
+ *
+ */
+public class WebAddress {
+
+    private String mScheme;
+    private String mHost;
+    private int mPort;
+    private String mPath;
+    private String mAuthInfo;
+
+    static final int MATCH_GROUP_SCHEME = 1;
+    static final int MATCH_GROUP_AUTHORITY = 2;
+    static final int MATCH_GROUP_HOST = 3;
+    static final int MATCH_GROUP_PORT = 4;
+    static final int MATCH_GROUP_PATH = 5;
+
+    static Pattern sAddressPattern = Pattern.compile(
+            /* scheme    */ "(?:(http|https|file)\\:\\/\\/)?" +
+            /* authority */ "(?:([-A-Za-z0-9$_.+!*'(),;?&=]+(?:\\:[-A-Za-z0-9$_.+!*'(),;?&=]+)?)@)?" +
+            /* host      */ "([" + GOOD_IRI_CHAR + "%_-][" + GOOD_IRI_CHAR + "%_\\.-]*|\\[[0-9a-fA-F:\\.]+\\])?" +
+            /* port      */ "(?:\\:([0-9]*))?" +
+            /* path      */ "(\\/?[^#]*)?" +
+            /* anchor    */ ".*", Pattern.CASE_INSENSITIVE);
+
+    /** parses given uriString. */
+    public WebAddress(String address) throws ParseException {
+        if (address == null) {
+            throw new NullPointerException();
+        }
+
+        // android.util.Log.d(LOGTAG, "WebAddress: " + address);
+
+        mScheme = "";
+        mHost = "";
+        mPort = -1;
+        mPath = "/";
+        mAuthInfo = "";
+
+        Matcher m = sAddressPattern.matcher(address);
+        String t;
+        if (m.matches()) {
+            t = m.group(MATCH_GROUP_SCHEME);
+            if (t != null) mScheme = t.toLowerCase(Locale.ROOT);
+            t = m.group(MATCH_GROUP_AUTHORITY);
+            if (t != null) mAuthInfo = t;
+            t = m.group(MATCH_GROUP_HOST);
+            if (t != null) mHost = t;
+            t = m.group(MATCH_GROUP_PORT);
+            if (t != null && t.length() > 0) {
+                // The ':' character is not returned by the regex.
+                try {
+                    mPort = Integer.parseInt(t);
+                } catch (NumberFormatException ex) {
+                    throw new ParseException("Bad port");
+                }
+            }
+            t = m.group(MATCH_GROUP_PATH);
+            if (t != null && t.length() > 0) {
+                /* handle busted myspace frontpage redirect with
+                   missing initial "/" */
+                if (t.charAt(0) == '/') {
+                    mPath = t;
+                } else {
+                    mPath = "/" + t;
+                }
+            }
+
+        } else {
+            // nothing found... outa here
+            throw new ParseException("Bad address");
+        }
+
+        /* Get port from scheme or scheme from port, if necessary and
+           possible */
+        if (mPort == 443 && mScheme.equals("")) {
+            mScheme = "https";
+        } else if (mPort == -1) {
+            if (mScheme.equals("https"))
+                mPort = 443;
+            else
+                mPort = 80; // default
+        }
+        if (mScheme.equals("")) mScheme = "http";
+    }
+
+    @Override
+    public String toString() {
+        String port = "";
+        if ((mPort != 443 && mScheme.equals("https")) ||
+                (mPort != 80 && mScheme.equals("http"))) {
+            port = ":" + Integer.toString(mPort);
+        }
+        String authInfo = "";
+        if (mAuthInfo.length() > 0) {
+            authInfo = mAuthInfo + "@";
+        }
+
+        return mScheme + "://" + authInfo + mHost + port + mPath;
+    }
+
+    public class ParseException extends Exception {
+        public String response;
+
+        ParseException(String response) {
+            this.response = response;
+        }
+    }
+}
diff --git a/src/com/android/contacts/util/AccountPromptUtils.java b/src/com/android/contacts/util/AccountPromptUtils.java
index 979176b..172d274 100644
--- a/src/com/android/contacts/util/AccountPromptUtils.java
+++ b/src/com/android/contacts/util/AccountPromptUtils.java
@@ -107,7 +107,6 @@
             public void run(AccountManagerFuture<Bundle> future) {
                 if (future.isCancelled()) {
                     // The account creation process was canceled
-                    activity.finish();
                     return;
                 }
                 try {
diff --git a/src/com/android/contacts/util/ContactPhotoUtils.java b/src/com/android/contacts/util/ContactPhotoUtils.java
index a86600f..01f8267 100644
--- a/src/com/android/contacts/util/ContactPhotoUtils.java
+++ b/src/com/android/contacts/util/ContactPhotoUtils.java
@@ -148,9 +148,16 @@
      */
     public static boolean savePhotoFromUriToUri(Context context, Uri inputUri, Uri outputUri,
             boolean deleteAfterSave) {
-        try (FileOutputStream outputStream = context.getContentResolver()
-                 .openAssetFileDescriptor(outputUri, "rw").createOutputStream();
-             InputStream inputStream = context.getContentResolver().openInputStream(inputUri)) {
+        if (inputUri == null || outputUri == null) {
+            return false;
+        }
+        FileOutputStream outputStream = null;
+        InputStream inputStream = null;
+        try {
+            outputStream = context.getContentResolver()
+                    .openAssetFileDescriptor(outputUri, "rw").createOutputStream();
+            inputStream = context.getContentResolver().openInputStream(
+                    inputUri);
 
             final byte[] buffer = new byte[16 * 1024];
             int length;
@@ -160,10 +167,12 @@
                 totalLength += length;
             }
             Log.v(TAG, "Wrote " + totalLength + " bytes for photo " + inputUri.toString());
-        } catch (IOException e) {
+        } catch (IOException | NullPointerException e) {
             Log.e(TAG, "Failed to write photo: " + inputUri.toString() + " because: " + e);
             return false;
         } finally {
+            Closeables.closeQuietly(inputStream);
+            Closeables.closeQuietly(outputStream);
             if (deleteAfterSave) {
                 context.getContentResolver().delete(inputUri, null, null);
             }
@@ -171,5 +180,3 @@
         return true;
     }
 }
-
-
diff --git a/src/com/android/contacts/util/PhoneCapabilityTester.java b/src/com/android/contacts/util/PhoneCapabilityTester.java
index b2d10be..a510b76 100644
--- a/src/com/android/contacts/util/PhoneCapabilityTester.java
+++ b/src/com/android/contacts/util/PhoneCapabilityTester.java
@@ -28,7 +28,6 @@
 import android.telephony.TelephonyManager;
 
 import com.android.contacts.common.ContactsUtils;
-import com.android.contacts.R;
 
 import java.util.List;
 
@@ -62,7 +61,8 @@
     }
 
     private static void initialize(Context context) {
-        final TelephonyManager telephonyManager = new TelephonyManager(context);
+        final TelephonyManager telephonyManager
+                = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
         sIsPhone = telephonyManager.isVoiceCapable();
         sIsSipPhone = sIsPhone && SipManager.isVoipSupported(context);
         sIsInitialized = true;
diff --git a/src/com/android/contacts/widget/MultiShrinkScroller.java b/src/com/android/contacts/widget/MultiShrinkScroller.java
index 095198a..7c46a86 100644
--- a/src/com/android/contacts/widget/MultiShrinkScroller.java
+++ b/src/com/android/contacts/widget/MultiShrinkScroller.java
@@ -17,14 +17,12 @@
 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.hardware.display.DisplayManager;
 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;
@@ -141,6 +139,7 @@
      */
     private boolean mHasEverTouchedTheTop;
     private boolean mIsTouchDisabledForDismissAnimation;
+    private boolean mIsTouchDisabledForSuppressLayout;
 
     private final Scroller mScroller;
     private final EdgeEffect mEdgeGlowBottom;
@@ -406,7 +405,8 @@
     }
 
     private boolean shouldStartDrag(MotionEvent event) {
-        if (mIsTouchDisabledForDismissAnimation) return false;
+        if (mIsTouchDisabledForDismissAnimation || mIsTouchDisabledForSuppressLayout) return false;
+
 
         if (mIsBeingDragged) {
             mIsBeingDragged = false;
@@ -442,7 +442,7 @@
 
     @Override
     public boolean onTouchEvent(MotionEvent event) {
-        if (mIsTouchDisabledForDismissAnimation) return true;
+        if (mIsTouchDisabledForDismissAnimation || mIsTouchDisabledForSuppressLayout) return true;
 
         final int action = event.getAction();
 
@@ -842,7 +842,7 @@
             if (mIsTwoPanel) {
                 // Only show the EdgeEffect on the bottom of the ScrollView.
                 mEdgeGlowBottom.setSize(mScrollView.getWidth(), height);
-                if (isLayoutRtl()) {
+                if (getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
                     canvas.translate(mPhotoViewContainer.getWidth(), 0);
                 }
             } else {
@@ -858,7 +858,7 @@
             final int restoreCount = canvas.save();
             if (mIsTwoPanel) {
                 mEdgeGlowTop.setSize(mScrollView.getWidth(), height);
-                if (!isLayoutRtl()) {
+                if (getLayoutDirection() != View.LAYOUT_DIRECTION_RTL) {
                     canvas.translate(mPhotoViewContainer.getWidth(), 0);
                 }
             } else {
@@ -992,7 +992,7 @@
         }
 
         // The pivot point for scaling should be middle of the starting side.
-        if (isLayoutRtl()) {
+        if (getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
             mLargeTextView.setPivotX(mLargeTextView.getWidth());
         } else {
             mLargeTextView.setPivotX(0);
@@ -1032,14 +1032,14 @@
      * finishes moving into its target location/size.
      */
     private void calculateCollapsedLargeTitlePadding() {
-        final Rect largeTextViewRect = new Rect();
-        mToolbar.getBoundsOnScreen(largeTextViewRect);
-        final Rect invisiblePlaceholderTextViewRect = new Rect();
-        mInvisiblePlaceholderTextView.getBoundsOnScreen(invisiblePlaceholderTextViewRect);
+        int invisiblePlaceHolderLocation[] = new int[2];
+        int largeTextViewRectLocation[] = new int[2];
+        mInvisiblePlaceholderTextView.getLocationOnScreen(invisiblePlaceHolderLocation);
+        mToolbar.getLocationOnScreen(largeTextViewRectLocation);
         // Distance between top of toolbar to the center of the target rectangle.
-        final int desiredTopToCenter = (
-                invisiblePlaceholderTextViewRect.top + invisiblePlaceholderTextViewRect.bottom)
-                / 2 - largeTextViewRect.top;
+        final int desiredTopToCenter = invisiblePlaceHolderLocation[1]
+                + mInvisiblePlaceholderTextView.getHeight() / 2
+                - largeTextViewRectLocation[1];
         // Padding needed on the mLargeTextView so that it has the same amount of
         // padding as the target rectangle.
         mCollapsedTitleBottomMargin = desiredTopToCenter - mLargeTextView.getHeight() / 2;
@@ -1239,7 +1239,7 @@
      * Similar to a {@link android.view.animation.AccelerateInterpolator} in the sense that
      * getInterpolation() is a quadratic function.
      */
-    private static class AcceleratingFlingInterpolator implements Interpolator {
+    private class AcceleratingFlingInterpolator implements Interpolator {
 
         private final float mStartingSpeedPixelsPerFrame;
         private final float mDurationMs;
@@ -1271,9 +1271,9 @@
         }
 
         private float getRefreshRate() {
-            DisplayInfo di = DisplayManagerGlobal.getInstance().getDisplayInfo(
-                    Display.DEFAULT_DISPLAY);
-            return di.refreshRate;
+            final DisplayManager displayManager = (DisplayManager) MultiShrinkScroller
+                    .this.getContext().getSystemService(Context.DISPLAY_SERVICE);
+            return displayManager.getDisplay(Display.DEFAULT_DISPLAY).getRefreshRate();
         }
 
         public long getFrameIntervalMs() {
@@ -1286,12 +1286,6 @@
      * 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()
@@ -1301,11 +1295,13 @@
         }
     }
 
-    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);
+    /**
+     * If {@param areTouchesDisabled} is TRUE, ignore all of the user's touches.
+     */
+    public void setDisableTouchesForSuppressLayout(boolean areTouchesDisabled) {
+        // The card expansion animation uses the Transition framework's ChangeBounds API. This
+        // invokes suppressLayout(true) on the MultiShrinkScroller. As a result, we need to avoid
+        // all layout changes during expansion in order to avoid weird layout artifacts.
+        mIsTouchDisabledForSuppressLayout = areTouchesDisabled;
     }
 }
diff --git a/src/com/android/contacts/widget/PinnedHeaderListDemoActivity.java b/src/com/android/contacts/widget/PinnedHeaderListDemoActivity.java
index 027cc9d..bc9f07e 100644
--- a/src/com/android/contacts/widget/PinnedHeaderListDemoActivity.java
+++ b/src/com/android/contacts/widget/PinnedHeaderListDemoActivity.java
@@ -28,6 +28,7 @@
 import android.widget.TextView;
 
 import com.android.contacts.R;
+import com.android.contacts.common.activity.RequestPermissionsActivity;
 import com.android.contacts.common.list.PinnedHeaderListAdapter;
 
 /**
@@ -98,6 +99,9 @@
     @Override
     protected void onCreate(Bundle bundle) {
         super.onCreate(bundle);
+        if (RequestPermissionsActivity.startPermissionActivity(this)) {
+            return;
+        }
 
         setContentView(R.layout.pinned_header_list_demo);
 
diff --git a/src/com/android/contactsbind/HelpUtils.java b/src/com/android/contactsbind/HelpUtils.java
new file mode 100644
index 0000000..edec35a
--- /dev/null
+++ b/src/com/android/contactsbind/HelpUtils.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.contactsbind;
+
+import android.app.Activity;
+
+/**
+ * Utility for starting help and feedback activity. This stub class is designed to be overwritten
+ * by an overlay.
+ */
+public class HelpUtils {
+
+    /**
+     * Returns {@code TRUE} if {@link @launchHelpAndFeedbackForMainScreen} and
+     * {@link @launchHelpAndFeedbackForContactScreen} are implemented to start help and feedback
+     * activities.
+     */
+    public static boolean isHelpAndFeedbackAvailable() {
+        return false;
+    }
+
+    public static void launchHelpAndFeedbackForMainScreen(Activity activity) { }
+
+    public static void launchHelpAndFeedbackForContactScreen(Activity activity) { }
+
+}
diff --git a/tests/Android.mk b/tests/Android.mk
index 241ff5e..880f62f 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -6,10 +6,12 @@
 LOCAL_CERTIFICATE := shared
 
 LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := com.android.contacts.common.test
+
+src_dirs := src \
+    ../../ContactsCommon/TestCommon/src 
 
 # Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
+LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
 
 LOCAL_PACKAGE_NAME := ContactsTests
 
diff --git a/tests/res/values/donottranslate_strings.xml b/tests/res/values/donottranslate_strings.xml
index 52ccc92..c1d4626 100644
--- a/tests/res/values/donottranslate_strings.xml
+++ b/tests/res/values/donottranslate_strings.xml
@@ -20,13 +20,6 @@
 
     <string-array name="allIntents">
         <!-- List modes -->
-        <item>LIST_DEFAULT</item>
-        <item>LIST_ALL_CONTACTS_ACTION</item>
-        <item>LIST_CONTACTS_WITH_PHONES_ACTION (deprecated)</item>
-        <item>LIST_STARRED_ACTION</item>
-        <item>LIST_FREQUENT_ACTION</item>
-        <item>LIST_STREQUENT_ACTION</item>
-        <item>LIST_GROUP_ACTION</item>
         <item>VIEW (content uri without any id)</item>
         <item>ACTION_PICK: contact</item>
         <item>ACTION_PICK: contact (legacy)</item>
diff --git a/tests/src/com/android/contacts/activities/PeopleActivityTest.java b/tests/src/com/android/contacts/activities/PeopleActivityTest.java
index 0fbd312..bb463e8 100644
--- a/tests/src/com/android/contacts/activities/PeopleActivityTest.java
+++ b/tests/src/com/android/contacts/activities/PeopleActivityTest.java
@@ -90,8 +90,7 @@
         InjectedServices services = new InjectedServices();
         services.setContentResolver(mContext.getContentResolver());
         services.setSharedPreferences(new MockSharedPreferences());
-        services.setSystemService(ContactPhotoManager.CONTACT_PHOTO_SERVICE,
-                new MockContactPhotoManager());
+        ContactPhotoManager.injectContactPhotoManagerForTesting(new MockContactPhotoManager());
         AccountType accountType = new BaseAccountType() {
             @Override
             public boolean areContactsWritable() {
@@ -117,8 +116,8 @@
     private void expectProviderStatusQueryAndReturnNormal() {
         mContactsProvider
                 .expectQuery(ProviderStatus.CONTENT_URI)
-                .withProjection(ProviderStatus.STATUS, ProviderStatus.DATA1)
-                .returnRow(ProviderStatus.STATUS_NORMAL, null)
+                .withProjection(ProviderStatus.STATUS)
+                .returnRow(ProviderStatus.STATUS_NORMAL)
                 .anyNumberOfTimes();
     }
 
diff --git a/src/com/android/contacts/interactions/TestLoaderManager.java b/tests/src/com/android/contacts/interactions/TestLoaderManager.java
similarity index 69%
rename from src/com/android/contacts/interactions/TestLoaderManager.java
rename to tests/src/com/android/contacts/interactions/TestLoaderManager.java
index a85bf8f..3e0db63 100644
--- a/src/com/android/contacts/interactions/TestLoaderManager.java
+++ b/tests/src/com/android/contacts/interactions/TestLoaderManager.java
@@ -16,7 +16,6 @@
 
 package com.android.contacts.interactions;
 
-import android.app.Activity;
 import android.app.LoaderManager;
 import android.content.AsyncTaskLoader;
 import android.content.Loader;
@@ -34,59 +33,10 @@
 import java.util.List;
 
 /**
- * A {@link LoaderManager} that records which loaders have been completed.
- * <p>
- * You should wrap the existing LoaderManager with an instance of this class, which will then
- * delegate to the original object.
- * <p>
- * Typically, one would override {@link Activity#getLoaderManager()} to return the
- * TestLoaderManager and ensuring it wraps the {@link LoaderManager} for this object, e.g.:
- * <pre>
- *   private TestLoaderManager mTestLoaderManager;
- *
- *   public LoaderManager getLoaderManager() {
- *     LoaderManager loaderManager = super.getLoaderManager();
- *     if (mTestLoaderManager != null) {
- *       mTestLoaderManager.setDelegate(loaderManager);
- *       return mTestLoaderManager;
- *     } else {
- *       return loaderManager;
- *     }
- *   }
- *
- *   void setTestLoaderManager(TestLoaderManager testLoaderManager) {
- *     mTestLoaderManager = testLoaderManager;
- *   }
- * </pre>
- * In the tests, one would set the TestLoaderManager upon creating the activity, and then wait for
- * the loader to complete.
- * <pre>
- *   public void testLoadedCorrect() {
- *     TestLoaderManager testLoaderManager = new TestLoaderManager();
- *     getActivity().setTestLoaderManager(testLoaderManager);
- *     runOnUiThread(new Runnable() { public void run() { getActivity().startLoading(); } });
- *     testLoaderManager.waitForLoader(R.id.test_loader_id);
- *   }
- * </pre>
- * If the loader completes before the call to {@link #waitForLoaders(int...)}, the TestLoaderManager
- * will have stored the fact that the loader has completed and correctly terminate immediately.
- * <p>
- * It one needs to wait for the same loader multiple times, call {@link #reset()} between the them
- * as in:
- * <pre>
- *   public void testLoadedCorrect() {
- *     TestLoaderManager testLoaderManager = new TestLoaderManager();
- *     getActivity().setTestLoaderManager(testLoaderManager);
- *     runOnUiThread(new Runnable() { public void run() { getActivity().startLoading(); } });
- *     testLoaderManager.waitForLoader(R.id.test_loader_id);
- *     testLoaderManager.reset();
- *     // Load and wait again.
- *     runOnUiThread(new Runnable() { public void run() { getActivity().startLoading(); } });
- *     testLoaderManager.waitForLoader(R.id.test_loader_id);
- *   }
- * </pre>
+ * This implementation of TestLoaderManagerBase uses hidden APIs and must therefore
+ * be kept outside of the main Contacts apk.
  */
-public class TestLoaderManager extends LoaderManager {
+public class TestLoaderManager extends TestLoaderManagerBase {
     private static final String TAG = "TestLoaderManager";
 
     private final HashSet<Integer> mFinishedLoaders;
@@ -127,7 +77,7 @@
      * not wait for it to complete again.
      */
     @VisibleForTesting
-    /*package*/ synchronized void waitForLoaders(int... loaderIds) {
+    public synchronized void waitForLoaders(int... loaderIds) {
         List<Loader<?>> loaders = new ArrayList<Loader<?>>(loaderIds.length);
         for (int loaderId : loaderIds) {
             if (mFinishedLoaders.contains(loaderId)) {
diff --git a/tests/src/com/android/contacts/tests/allintents/AllIntentsActivity.java b/tests/src/com/android/contacts/tests/allintents/AllIntentsActivity.java
index 910fb5c..fcd3e8b 100644
--- a/tests/src/com/android/contacts/tests/allintents/AllIntentsActivity.java
+++ b/tests/src/com/android/contacts/tests/allintents/AllIntentsActivity.java
@@ -39,7 +39,6 @@
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.Intents;
 import android.provider.ContactsContract.Intents.Insert;
-import android.provider.ContactsContract.Intents.UI;
 import android.provider.ContactsContract.RawContacts;
 import android.view.View;
 import android.widget.ArrayAdapter;
@@ -67,13 +66,6 @@
             "com.android.contacts.activities.PeopleActivity";
 
     public enum ContactsIntent {
-        LIST_DEFAULT,
-        LIST_ALL_CONTACTS_ACTION,
-        LIST_CONTACTS_WITH_PHONES_ACTION,
-        LIST_STARRED_ACTION,
-        LIST_FREQUENT_ACTION,
-        LIST_STREQUENT_ACTION,
-        LIST_GROUP_ACTION,
         VIEW_CONTACT_WITHOUT_ID,
         ACTION_PICK_CONTACT,
         ACTION_PICK_CONTACT_LEGACY,
@@ -149,41 +141,6 @@
         super.onListItemClick(l, v, position, id);
 
         switch (ContactsIntent.get(position)) {
-            case LIST_DEFAULT: {
-                startContactListActivity(
-                        new Intent(UI.LIST_DEFAULT, Contacts.CONTENT_URI));
-                break;
-            }
-            case LIST_ALL_CONTACTS_ACTION: {
-                startContactListActivity(
-                        new Intent(UI.LIST_ALL_CONTACTS_ACTION, Contacts.CONTENT_URI));
-                break;
-            }
-            case LIST_CONTACTS_WITH_PHONES_ACTION: {
-                startContactListActivity(
-                        new Intent(UI.LIST_CONTACTS_WITH_PHONES_ACTION, Contacts.CONTENT_URI));
-                break;
-            }
-            case LIST_STARRED_ACTION: {
-                startContactListActivity(
-                        new Intent(UI.LIST_STARRED_ACTION, Contacts.CONTENT_URI));
-                break;
-            }
-            case LIST_FREQUENT_ACTION: {
-                startContactListActivity(
-                        new Intent(UI.LIST_FREQUENT_ACTION, Contacts.CONTENT_URI));
-                break;
-            }
-            case LIST_STREQUENT_ACTION: {
-                startContactListActivity(
-                        new Intent(UI.LIST_STREQUENT_ACTION, Contacts.CONTENT_URI));
-                break;
-            }
-            case LIST_GROUP_ACTION: {
-                startContactListActivity(
-                        new Intent(UI.LIST_GROUP_ACTION, Contacts.CONTENT_URI));
-                break;
-            }
             case ACTION_PICK_CONTACT: {
                 startContactSelectionActivityForResult(
                         new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI));
@@ -566,15 +523,6 @@
         return intent;
     }
 
-    private Intent buildFilterIntent(int actionCode, boolean legacy) {
-        Intent intent = new Intent(UI.FILTER_CONTACTS_ACTION);
-        intent.putExtra(UI.FILTER_TEXT_EXTRA_KEY, "A");
-//        ContactsRequest request = new ContactsRequest();
-//        request.setActionCode(actionCode);
-//        intent.putExtra("originalRequest", request);
-        return intent;
-    }
-
     private void startContactListActivity(Intent intent) {
         bindIntentToClass(intent, CONTACT_LIST_ACTIVITY_CLASS_NAME);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
@@ -652,16 +600,16 @@
         switch (ContactsIntent.get(tag)) {
             case EDIT_NEW_CONTACT_FOR_ACCOUNT: {
                 final Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
-                intent.putExtra(Insert.ACCOUNT, account);
-                intent.putExtra(Insert.DATA_SET, dataSet);
+                intent.putExtra(Insert.EXTRA_ACCOUNT, account);
+                intent.putExtra(Insert.EXTRA_DATA_SET, dataSet);
                 startActivity(intent);
                 break;
             }
             case EDIT_NEW_CONTACT_FOR_ACCOUNT_WITH_DATA: {
                 final Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
 
-                intent.putExtra(Insert.ACCOUNT, account);
-                intent.putExtra(Insert.DATA_SET, dataSet);
+                intent.putExtra(Insert.EXTRA_ACCOUNT, account);
+                intent.putExtra(Insert.EXTRA_DATA_SET, dataSet);
                 putDataExtra(intent);
 
                 startActivity(intent);
